Elektroda.pl
Elektroda.pl
X
Arrow Multisolution Day
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

atmega8 - sterownik RGB, brak reakcji na kod

cloudpol7 09 Mar 2013 23:11 1806 9
  • #1 09 Mar 2013 23:11
    cloudpol7
    Poziom 16  

    Mam problem z prostym sterowaniem diody RGB.
    Robiłem dużo bardziej złożony układ z LCD, Irdą ale na płytce stykowej i z atmegą8 w obudowie DIP i nie było żadnych problemów. Robiąc wersje ekonomiczna już na PCB z atmegą8 w TQFP męczę się cały dzień i nie mogę znaleźć przyczyny dziwnego zachowania układu a mianowicie po wgraniu sprawdzonego programu na układzie w DIP lampka nie bardzo działała. Diody się ledwo tliły bez względu na to że program płynnie zmienia każdą barwę. Testy na nowym programie typu on/off dają ten sam efekt. Bez względu na stan na wyjściach z uC jest ok. 0,5V.
    PCB sprawdzałem już wiele razy szukając przebić, przerwań bezcelowo.
    Z dziwnych rzeczy jest jeszcze to ze programować mogę jedynie na zasilaniu z programatora bo jak zasilanie jest z zewnątrz to programator nie widzi uC (napięcie do niego dochodzi, sprawdzałem), ale na zasilaniu z programatora układ dalej zachowuje się tak samo.
    Gdzie mogę szukać przyczyny? bo już skończyły mi się pomysły.
    Na płytce nie ma jeszcze zamontowanej Irdy.
    atmega8 - sterownik RGB, brak reakcji na kod atmega8 - sterownik RGB, brak reakcji na kod

    Dla jasności najprostszy kod na którym sprawdzałem:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 9
  • Arrow Multisolution Day
  • Pomocny post
    #2 10 Mar 2013 08:55
    tmf
    Moderator Mikrokontrolery Projektowanie

    Jeżeli sterujesz tranzystorem NPN, to na bazie powinien być potencjał wyższy niż na emiterze. A ty masz wszystkie wyjścia w stanie zero, czyli tranzystor powinien być zablokowany. Poza tym tranzystory BD to tranzystory średniem mocy, mające nie za wielki współczynnik wzmocnienia prądowego. No i rezystory powinny być raczej na kolektorze. Na rezystorze masz pewien spadek napięcia, w efekcie potencjał emitera rośnie, a napięcie i prąd BE maleją.

    0
  • Arrow Multisolution Day
  • Pomocny post
    #3 10 Mar 2013 09:39
    BlueDraco
    Specjalista - Mikrokontrolery

    Schemat jest całkowicie błędny - w bazach tranzystorów brak obowiązkowych rezystorów, a rezystory redukujące prąd masz w emiterach, co daje ujemne sprzężenie zwrotne.

    Wbrew pozorom taka konfiguracja, jaką masz obecnie, też ma zastosowanie (stabilizacja prądu), ale łatwo jest przy niej uszkodzić procesor. W każdym razie nie stosowałbym jej przy ciągłym prądzie wyjściowym 0.8A, a taki masz stabilizowany obecnie. No i przy tej konfiguracji musiałbyś zasilać diody z napięcia wyższego niż 5 V, bo teoretycznie przy stabilizacji prądu napięcie kolektora będzie wynosiło nie mniej niż. 4.5..5 V.

    Jeśli nie chcesz ciąć płytki i dokładać rezystorów w bazach - wymień tranzystory na nieduże NMOS, zewrzyj rezystory w emiterach (źródłach) i dodaj na zewnątrz rezystory przy wyjściach do LED.

    Jaki ma być prąd wyjściowy dla LED?

    0
  • #4 10 Mar 2013 10:18
    cloudpol7
    Poziom 16  

    Każdy kolor to ok.300mA. Rezystory służą jako ograniczenie prądowe dla led. Zasilanie =5,6Vmax (nieobciążone przez led).
    Wiem ze nie jest to idealny układ (np. brak rezystorów na bramkach) ale zależało mi na prostocie i minimalizacji płytki a dokładnie taki układ na tych samych częściach i tym samym zasilaczu mam na płytce stykowej i przepracował on juz wiele h na atmedze8 DIP.
    I dziwne jest to że tutaj z wyjść atmegi nawet nie podawane są odpowiednie wartości bez względu na kod.

    0
  • #6 10 Mar 2013 10:27
    cloudpol7
    Poziom 16  

    To proszę o wytłumaczenie bo chciałbym to zrozumieć a do tej pory nie widziałem różnicy czy dam R ograniczające prąd od strony kolektora czy emitera, no i na identycznym układzie nie było żadnych problemów na wcześniej wspomnianej płytce stykowej.
    Czyli jeżeli dam rezystory na bazy lub rezystory ograniczające prąd dam na kolektor to problem zniknie?

    0
  • #8 10 Mar 2013 11:20
    cloudpol7
    Poziom 16  

    Tą lekturę już dawno czytałem ale widocznie za mało się zagłębiłem (takie szczegóły nie były mi potrzebne w praktyce).
    Wstawienie rezystorów od strony kolektora rozwiązało problem nawet programowania przy zasilaniu zewnętrznym.
    Dzięki za pomoc.
    Zastanawia mnie jednak dlaczego na płytce stykowej identyczny układ działał bezbłędnie.

    0
  • #9 10 Mar 2013 11:51
    BlueDraco
    Specjalista - Mikrokontrolery

    Taki układ nie miał prawa działać dobrze. To grozi uszkodzeniem mikrokontrolera, bo prakytcznie zwierasz jego wyjścia do masy.
    Złącze baza-emiter jest diodą o napięciu przewodzenia ok. 0.7 V. Mikrokontroler próbuje podać na bazę napięcie ok. 5V, to znaczy, że albo przez emiter płynie prąd z kolektora o natężeniu ok. 0.8 A i wtedy napięcie emitera wynosi jakieś 4..4.3 V, albo z wyjścia mikrokontrolera wysysasz maksymalny prąd zwarciowy.

    0
  • #10 29 Cze 2014 13:28
    cloudpol7
    Poziom 16  

    Wstawienie rezystorów od strony kolektora rozwiązało problem nawet programowania przy zasilaniu zewnętrznym.

    0