Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 13 cze 2025, o 01:46


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 
    Autor Wiadomość
    PostNapisane: 26 wrz 2012, o 21:22 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 13 paź 2011
    Posty: 582
    Pomógł: 17

    Witam,
    Mam diodę podpiętą do PD6. (steruje nią tranzystor 2n2222)

    Teraz tak jeśli:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    To świeci pełną mocną

    A tak:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    To nie świeci w ogóle

    Cacy..
    Przechodzimy do PWM i tu zonk:

    PWM mam skonfigurowane tak:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Nie wiem jak skonfigurować ten tryb FAST PWM (są 2?)
    Obrazek

    No i jak wpiszę
    OCR0A=255; to świeci maksymalnie
    natomiast:
    OCR0A=0; to świeci lekko(a chcę żeby w ogóle nie świeciła)

    Co robię źle?



    Ostatnio edytowano 26 wrz 2012, o 21:39 przez xamrex, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2012, o 21:35 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 lut 2012
    Posty: 243
    Lokalizacja: wlkp
    Pomógł: 2

    Podłącz na odwrót diodę (pamiętając oczywiście o zachowaniu odpowiedniej biegunowości zasilania względem odwrotnej polaryzacji diody) do tego pinu i wtedy gdy OCRx=0 będzie dioda świecić max, a gdy OCRx=255, dioda nie będzie świecić.
    Przyczyną są tutaj szpilki glitch.



    Ostatnio edytowano 26 wrz 2012, o 21:38 przez Wrangler, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2012, o 21:37 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 13 paź 2011
    Posty: 582
    Pomógł: 17

    Odłączenie diody na odwrót można zrobić przez rejestry..
    Problemem jest to, że przy wartości 0 dalej świeci słabo, a nie powinien w ogóle!



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2012, o 21:39 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 lut 2012
    Posty: 243
    Lokalizacja: wlkp
    Pomógł: 2

    Zrób to, co napisałem i sprawdź efekt.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2012, o 21:40 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 13 paź 2011
    Posty: 582
    Pomógł: 17

    Diody na odwrót nie połączę bo już jest na płytce.
    I jest sterowana przez tranzystor

    Schemat:
    Obrazek

    ------------------------ [ Dodano po: 3 minutach ]

    Zmiana z trybu FAST PWM na Phase corcet dała efekt.
    Przy 0 dioda nie świeci.

    Mam tylko pytanko, czym różni się tryb Phase corect ten 1sze od piątego??
    Tym TOP, ale co to jest?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2012, o 21:48 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 lut 2012
    Posty: 243
    Lokalizacja: wlkp
    Pomógł: 2

    Dziwne, że zamiana fazy przy pomocy bitów nie dała efektu.. a powinna..



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2012, o 22:00 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 13 paź 2011
    Posty: 582
    Pomógł: 17

    Ale o czym ty piszesz??

    Przy fastPwm nie chciało działać (Dioda nadal świeciła przy OCR0A=0;

    Natomiast jak zmieniłem na tryb PWM Phase corect, to działa elegencko..

    Mam prośbę gdyby ktoś mógł mi tylko wytłumaczyć czym się różnią te 2 tryby Phase corect (tryb 1 i 5) z obrazka



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2012, o 22:39 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 14 lut 2012
    Posty: 598
    Lokalizacja: Warszawa
    Pomógł: 13

    Przy fastPWM zmień tryb z 7-ego na 3-ci i będzię ok.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2012, o 22:49 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 lut 2012
    Posty: 243
    Lokalizacja: wlkp
    Pomógł: 2

    Czym się różnią tryby? A no wartością kończącą zliczanie timera. Masz jak byk w tabelce wartość TOP dla jednego trybu jest to wartość stała - 255, a dla drugiego trybu - wartość pobierana z rejestru..



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2012, o 22:52 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 13 paź 2011
    Posty: 582
    Pomógł: 17

    Malutki_27 napisał(a):
    Przy fastPWM zmień tryb z 7-ego na 3-ci i będzię ok.

    Próbowałem ale bez skutku.
    Musi być pwm with phase



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2012, o 23:00 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 lut 2012
    Posty: 243
    Lokalizacja: wlkp
    Pomógł: 2

    Pokaż cały fragment kodu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2012, o 23:33 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27409
    Lokalizacja: Szczecin
    Pomógł: 1043

    Malutki_27 napisał(a):
    Przy fastPWM zmień tryb z 7-ego na 3-ci i będzię ok.


    Ja na prawdę się zastanawiam jak to jest? ;)

    Ktoś zaczyna pierwszą przygodę z PWM. Ma do wyboru po kolei jakieś możliwości .... Okazuje się, że są dwa tryby Fast PWM. Ja tam zwykle wybrałbym (nawet nie wiedząc o co chodzi) pierwszy z brzegu. Ale niektórzy wybierają (nie wiem dlaczego) ten drugi. Co gorsze nawet nie próbują sprawdzić tego pierwszego a przez to poznać różnic pomiędzy jednym a drugim. Dlaczego ? .... zawsze sobie zadaję to pytanie

    sorki za to filozofowanie że tak powiem, ale spójrz xarmex na dalsze kolumny tej tabeli i spróbuj dostrzec różnice pomiędzy trybem nr.7 i trybem nr.3 .... Jak znajdziesz różnicę to jeszcze raz pomyśl jak działa PWM, od czego zależy jego regulacja (od jakiego rejestru dokładniej) .... i spróbuj sobie na początek odpowiedzieć dlaczego jeden z tych trybów tobie działa a drugi nie (bo jak zechcesz sprawdzić obydwa to okaże się że jeden będzie działał jak pisze ci wyżej kolega Malutki_27.

    ------------------------ [ Dodano po: kilkunastu sekundach ]

    xamrex napisał(a):
    Musi być pwm with phase


    Może - panie kochany - może....

    ale nie musi.

    ------------------------ [ Dodano po: 36 minutach ]

    Podpowiem na wszelki wypadek, że tryb nr.7 ma więcej wspólnego z CTC niż PWM (ale o tym jest wzmianka w nocie PDF) ....


    Cytuj:
    Setting the OCR2A equal to MAX will result in a constantly high or low output (depending on the polarity of the output set by the COM2A1:0 bits.)

    A frequency (with 50% duty cycle) waveform output in fast PWM mode can be achieved by setting
    OC2x to toggle its logical level on each compare match (COM2x1:0 = 1). The waveform
    generated will have a maximum frequency of foc2 = fclk_I/O/2 when OCR2A is set to zero. This feature
    is similar to the OC2A toggle in CTC mode, except the double buffer feature of the Output
    Compare unit is enabled in the fast PWM mode.


    czyli wynika z tego (i z opisu pod tabelką bitów COMxn dla Fast PWM, że w tym przypadku porównywanie nie jest wykonywane - mamy zatem czysty jakby tryb CTC, ale ....

    .... ale jest zmiana w OCRxA jest podwójnie buforowana, czyli np w CTC jeśli zmienisz OCRx to od razu zmieni się okres - a zatem jeden przejściowy okres w trakcie przestawiania może być że tak powiem wadliwy

    za to w tym MODE 7 mamy taką sytuację, że jeśli zmienimy OCRx to nie ma to od razu wpływu na stan wyjścia OCx i przebiegu na nim a kiedy ? Dopiero wtedy gdy następuje UPDATE w tabelce - w naszym przypadku widać tam BOTTOM, czyli dopiero przy zmianie (zakończeniu okresu) .... dzięki czemu dopiero ładnie kolejny okres będzie równy ...

    jakie może być tego zastosowanie praktyczne ? kiedy użyć takiego "sztucznego" CTC ? zamiast typowego CTC ? - no nie podam teraz tak z głowy - bo sam jeszcze nie trafiłem na specjalną potrzebę aby z tej właściwości skorzystać. Ale warto wiedzieć że taka jest.

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 wrz 2012, o 10:14 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 13 paź 2011
    Posty: 582
    Pomógł: 17

    Przy ustawieniu trybu trzeciego
    TCCR0A |=(1<<WGM01)|(1<<WGM00);

    I wartości OCR0A=0; dioda dalej świeci lekko :/

    Problemu nie ma tak jak pisałem w trybie Phase corect (niezależnie czy wybiorę piąty, czy pierwszy tryb)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 wrz 2012, o 10:22 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27409
    Lokalizacja: Szczecin
    Pomógł: 1043

    xamrex napisał(a):
    Przy ustawieniu trybu trzeciego
    TCCR0A |=(1<<WGM01)|(1<<WGM00);

    I wartości OCR0A=0; dioda dalej świeci lekko :/



    Przecież w książce to dokładnie opisuję - dlaczego dioda dalej lekko świeci. Warto przeczytać skąd to się bierze dla lepszego zrozumienia trybów PWM i umiejętności poradzenia sobie z takimi zjawiskami. W PDF też jest to dokładnie opisane.

    W PDF jest i w mojej książce wspominam o czymś takim jak GLITCH ... (szpilki) które powstają gdy timer się przepełnia, wywołane jest do przez (single slope) czyli przez operację na jednym zboczu narastającym timera w przeciwieństwie do Phase correcet, gdzie w PWM bierze udział i narastające zbocze gdy wartość timera rośnie i opadające gdy maleje od 255 do 0

    czy to oznacza że przy Fast PWM nie można się pozbyć przy diodzie LED tego efektu pomimo że są te Glitch'e (szpilki)
    ???

    eeeeh szkoda że nie doczytasz dokładniej w książce - a piszę tam że nawet bez przelutowywania diody odwrotnie wystarczy zmienić fazę przebiegu PWM za pomocą bitów COMxn .... I wtedy szpilki (glitche) nadal będą ale nie w momencie gdy dioda ma być wygaszona lecz w momencie gdy jest zapalona na maxa. Efekt końcowy będzie taki że oko w ogóle nie zauważy tych szpilek - w żaden sposób - podczas gdy świeci na maxa. Sprawdź ;)

    zrozumiesz lepiej działanie PWM i poznasz co to jest (inverting mode) oraz (non inverting mode) ustawiany za pomocą bitów COMxn

    ale oczywiście nic nie stoi na przeszkodzie aby korzystać z Phase correct PWM - jedyne o co mi chodzi to fakt że nie prawdą jest iż nie da się tego samego efektu uzyskać z Fast PWM.

    ------------------------ [ Dodano po: 1 minucie ]

    xamrex napisał(a):
    Problemu nie ma tak jak pisałem w trybie Phase corect (niezależnie czy wybiorę piąty, czy pierwszy tryb)


    reasumując problemu też nie ma w trybie Fast PWM ale dzięki temu byś zrozumiał jednak różnicę pomiędzy trybem 3 i 7

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 wrz 2012, o 10:33 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 13 paź 2011
    Posty: 582
    Pomógł: 17

    Dzięki za pomoc :)

    Książkę przeczytałem, ale to było dawno.. bardzo dawno temu i już zapomniałem rozdział o PWM, a wczoraj nie miałem książki 'na stanie' i nie byłem w stanie w nią zerknąć ;)

    Tak czy siak, dzięki za pomoc :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO