Witam Atmega8 steruje tranzystorem polowym w trybie PWM .Niestety po włączeniu następuje krotki impuls do bramki FET . Bramka jest podłączona bezpośrednio do pinu bez opornika podciągającego . Jak zapobiec takiemu stanowi nieustalonemu ?
Amega8 i reset
Feb 20, 2009
5 Replies
Marek S pisze:
Źródła tego impulsu mogą być co najmniej dwa:
1) zakłócenia lub prądy wyjściowe w stanie Hi-Z 2) zła kolejność instrukcji w programieAD1 Proc po i w trakcie resetu ustawia wszystkie porty w stanie Hi-Z. Wówczas jakieś prądy upływu z tego wyjścia (zawsze jakieś są) lub zakłócenia mogą powodować pojawienie się napięcia bramka-źródło i włączenie tranzystora. W takiej sytuacji jedynym wyjściem jest zastosowanie rezystora bocznikującego między bramkę a źródło. Nie da się tego zrobić inaczej. Proc po włączeniu resetuje się z pewnym opóźnieniem, tzn. jest utrzymywany w czasie resetu pewien czas. To ni są nanosekundy, a raczej milisekundy. I w tym czasie bramka Twojego tranzystora wisi albo dostaje jakieś nA z wyjścia :/...
AD2 Jeśli winny jest jednak nie stan Hi-Z tylko kolejność rozkazów, to ja zasugerowałbym taką kolejność:
1) ustaw ten pin na stan nieaktywny (nie wiem, czy włączasz tranzystor 0 czy 1, ale masz go wyłączyć) 2) ustaw pin jako wyjście (te 2 instrukcje są może zbędne, ale wymuszą wyłączenie tranzystora na starcie!!) 3) skonfiguruj timera z PWMem, wpisz wartość startową dla PWMa 4) TU KONIECZNA JEST PEWNA ZWŁOKA CZASOWA!!!!!!! chodzi o to, że jeśli timer po starcie "minie" wartość, do jakiej miał zliczać być może będzie się musiał "przekręcić" żeby zacząć poprawnie pracować!! Można ewentualnie go wyzerować, ale i tak chyba lepiej odczekać 1 pełny cykl timera ;)... 5) na samym końcu ustaw sterowanie pinem wyjściowym z PWMaDzięki temu tranzystor najpierw będzie wyłączony, a potem będzie sterowany w poprawny sposób - nie będzie żadnych stanów przejściowych w postaci sterowania z nieskonfigurowanego PWMa ;)...
Swoją drogą na Twoim miejscu przemyślałbym dokładnie punkt 1!! NAwet jeśli brak rezystora nie odpowiada za Twoje obecne problemy z układem - zauważ, że w bardziej zakłóconym środowisku przy innym egzemplarzu procesora - mogą być jaja!! Ten rezystor nie jest chyba ani zbyt drogi ani zbyt duży, żeby go tam dodać, prawda??
Pozdrawiam! Konop
Rozbraja mnie zawsze odpowiedz, ¿e wszystkiemu s± winne zak³ócenia. A co to w³a¶ciwie s± te zak³ócenia?? Albo pr±dy wyj¶ciowe? A co maj± pr±dy wyj¶ciowe do sterowania FETa?
AMarek S pisze:
Jak napisał Konop załóż rezystor między bramkę, a źródło. A przyczyną nie są zakłócenia, czy prądy wytwarzane przez procesor, ale bramka jest ładowana przez upływności samego tranzystora. MOSFET czy FET z odłączoną bramką sam zaczyna przewodzić.
Prady wyjsciowe to akurat maja. Plywanie/prowadzenie masy i/lub Miller.
Bogdan G pisze:
Zrobiłem wg wskazówek i: tranzystor nadal " miga "
- tranzystor bramkę ma podłączona do masy , czyli otwarty jest 1 zamknięty 0
- probowałem dać opornik do masy i do Vcc jako podciągający i nic sie nie zmieniło, opornik w szereg tez nie zmienił niczego . stan na stracie okładu powinien być zawsze 0 a jednak stan przechodzi podczas statu programu poprzez 1
- w programie ustawiłem pin na 0 , PWM na 0 , też bez efektów Natomiast zmiana jest wyraźna na diodzie sygnalizacyjne sterowanej 0 nie mam stanu 0
- czyli dioda podłączona do Vcc poprze opornik nie błyska
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required