awaryjna ochrona multipleksowanej diody led

Oct 04, 2010 10 Replies

Witam,



Jest taka sytuacja: Mam diode led sterowana przez PWM z wypelnieniem 1/10. W momencie stanu wysokiego PWM'a przez diode przeplywa prad 100mA. Dioda ma maxymalny prad ciagly na poziomie 30mA. Jak zabezpieczyc diode na wypadek zatrzymania PWM'a w stanie wysokim? Potrzebuje ukladu ktory na wejsciu przyjmuje sygnal pwm i zeruje wszystkie stany wysokie trwajace dluzej niz powiedzmy 1ms. Tzn stan wysoki jednorazowo nie moze trwac dluzej niz 1ms. Dobieranie dlugosci przerwy jaka musi nastapic miedzy impulsami nie jest mi potrzebne.



W dniu 04.10.2010 17:48, sikurasaka pisze:

A co to za dziwny układ, że może zajść taka sytuacja?

Proste rozwiązanie, ale wymaga pewnie dopracowania - przed/za diodą MOS, podciągnięty "dużym" rezystorem do stanu "otwartego" z kondensatorem na bramie ładowanym/rozładowanym (zależnie jaką masz logikę) "mniejszym" rezystorem z tego PWM. Rezystory i kondensator musisz policzyć tak, żeby pojedynczy impuls nie zaczął jeszcze zamykać MOSa a jednocześnie przez resztę cyklu wrócił do stanu "w pełni otwartego".

Kiepskie rozwi±zanie bo powoli bêdzie siê tranzystor w³±cza³. Lepiej przyjrzeæ siê ¼ród³owi sygna³u PWM, i je¶li to jest np. procesor, to tak dobraæ polaryzacjê sterowania diod± LED aby w czasie resetu i programowania proca dioda by³a zgaszona.

W dniu 2010-10-04 19:19, Pszemol pisze:

Generalnie to mi wygląda na jazdę na krawędzi. Ja to bym pomyślał o takim rozwiązaniu, żeby odcinał całkowicie zasilanie PWM-a dopóki procek nie będzie gotowy, a dodatkowo jakiś watchdog na wypadek zwisu procesora.

W dniu 2010-10-04 19:19, Pszemol pisze:

No tak zrobie ale chyba itak procek moze utknac w jakims niechcianym stanie, lub co gorsza programista moze sie pomylic ...;)

A jak sie to zabezpiecza w profesjonalnych matrycach ledowych? Czy moze sie nie zabezpiecza bo multipleksowaniem steruja same asic'i...

Znalazlem uklad 74LS123 (Retriggerable One-Shot). Mozna by na nim zrobic taki uklad ochronny, tylko nie wiem czy gra i dodatkowe komplikacje warte sa swieczki :P

Generalnie chodzi tutaj o ochrone wierszy matrycy led przed uszkodzeniem poprzez zwieche procka lub 'blad' programisty - np celowe zatrzymanie multipleksowania na jednym wierszu na np 10 sekund przy pelnej mocy z driverow.. ;)

sikurasaka przemówił ludzkim głosem:

układ różniczkujący przed driverem ledów powinien wystarczyć.

Moim zdaniem to nadmierna zapobiegliwo¶æ - porty zwykle startuj± po resecie z warto¶ci± wyj¶æ 0, wiêc wystarczy daæ rezystor pull-down aby ¶ci±gn±³ w dó³ do zera takie wyj¶cie na czas programowania proca, gdy wyj¶cia s± w stanie wysokiej impedancji. Ale oczywi¶cie watchdog z odpowiednio dobranym czasem resetu te¿ by siê przyda³ gdy program trochê wiêcej skomplikowany ni¿ to samo miganie diod±.

U¿ytkownik "Pszemol" snipped-for-privacy@PolBox.com napisa³ w wiadomo¶ci news: snipped-for-privacy@poczta.onet.pl... (...)

Tak, ale... je¿eli debugujesz program (JTAG) to wtedy zatrzymanie procka mo¿e nast±piæ w dowolnm miejscu i nie jest to "stan wyj±tkowy". Po kilkudziesi±ciu godzinach spêdzonych na uruchamianiu mo¿na z powodzeniem zar¿n±æ ka¿dy wyswietlacz.

Maciek

Na czas debugu mo¿esz sobie zmniejszyæ pr±dy...

U¿ytkownik "Pszemol" snipped-for-privacy@PolBox.com napisa³ w wiadomo¶ci news: snipped-for-privacy@poczta.onet.pl...

U mnie jeden segment wy¶wietlacza tworz± 2 LEDy po³±czone szeregowo. ¯eby wydusiæ w impulsie przyzwoity pr±d popêdzam go bezpo¶rednio z 5V, bez rezystorów szeregowych. Wiêc nie mam ju¿ czym ograniczaæ.

Maciek

Miałem kiedyś podobny problem jak musiałem wysterować matrycę małych żarówek. Chcąc uzyskać wystarczającą jasność świecenia goniłem 2V żarówki z 12V więc nie było opcji pomyłki. Zastosowałem dokładnie taki układ watchdoga z podtrzymaniem jak powyżej i to rozwiązanie sprawdziło się w 100%. Układ całkowicie niezależny od procesora i można spać spokojnie :)

Pozdrawiam,

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required