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 ?
1) zakłócenia lub prądy wyjściowe w stanie Hi-Z
2) zła kolejność instrukcji w programie
AD1 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 PWMa
Dzię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??
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ć.
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
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.