Mój obwód elektromagnetyczny obsługiwany przez MOSFET niszczy moje wejścia Arduino

14

Zrobiłem szereg płytek drukowanych do zasilania niektórych elektrozaworów, które wykorzystują zewnętrzny zasilacz. Przełączyć je BS170 MOSFET przy użyciu Arduino jako sygnał bramy. Oparłem to rozwiązanie przez Jason S .

Oto ilustracja mojego obwodu: Obwód zaworu sterowany MOSFET

Podczas testowania PCB zauważyłem, że większość z nich działa dobrze, ale niektóre nie. Nie ma problemu, prawdopodobnie coś lutowniczego.

Jednak tym wadliwym udało się zniszczyć dwa cyfrowe piny Arduino! Na jednym otrzymuję stałe napięcie 5 V, a na drugim wysyła 0,2 V, gdy wysyłam do niego sygnał WYSOKI, i 0,5 V, gdy wysyłam sygnał NISKI. Dziwne rzeczy.

Sądzę więc, że wadliwe obwody w jakiś sposób spowodowały (część) 16 V przepływających przez Arduino, niszcząc je.

Jak chronić Arduino w tym scenariuszu przed zbyt wysokim prądem?

Wiem o diodach Zenera , ale nie mam pojęcia, jak je umieścić, aby chronić wejścia.

Specyfikacja:

Dyte
źródło
Jakiego oprogramowania użyłeś do stworzenia tego rysunku? Wygląda naprawdę dobrze!
mjh2007
3
Fritzing. Darmowy i bardzo przydatny do tego rodzaju rzeczy, również do projektowania pcb :)
Dyte
Źródło zenera dioda zenera powiedzmy 12V (> Vgate_drive) jest bardzo dobrym pomysłem we wszystkich obwodach z obciążeniem indukcyjnym. Zamontuj Zenera blisko MOSFET. Anoda do źródła i Katoda do bramki, więc Zener zwykle nie przewodzi. || Zdecydowanie o wiele lepsze MOSFET-y w Digikey 26c / 10 to np. IRLML6346 SOT23. Lub ołowiu NDT3055 48c / 10 TO251 lub RFD14N05 71c / 10 TO220.
Russell McMahon,
...When MOSFETs fail they often go short-circuit drain to gate...Cytowany stąd .
abdullah kahraman
Zastosowanie 16 V może zabić porty Arduino.
abdullah kahraman

Odpowiedzi:

7

Obwód jest w porządku.
Konieczna jest poprawa w praktyce.

Dodanie diody Zenera typu brama-źródło, powiedzmy 12V (> Vgate_drive), jest naprawdę bardzo dobrym pomysłem we wszystkich obwodach z obciążeniem indukcyjnym. To powstrzymuje bramę przed niszczącym wzrostem przez sprzężenie „pojemności Millera” z drenem podczas nieoczekiwanych lub ekstremalnych zmian napięcia drenu.

Zamontuj zenera blisko MOSFET.
Podłącz Anodę do źródła i Katodę do bramki, aby Zener zwykle nie przewodził.

10k rezystor bramkowy (jak pokazano) jest duży i spowoduje powolne wyłączanie i włączanie oraz większe rozproszenie mocy w MOSFET. To chyba nie jest problem.

Wybrany MOSFET jest w tym zastosowaniu bardzo marginalny.
Zdecydowanie o wiele lepsze MOSFET dostępne z magazynu Digikey obejmują:

Dla 26c / 10 Digikey IRLML6346 SOT23 pkg, 30 V, 3,4 A, 0,06 Ohm, Vgsth = 1,1 V = napięcie progowe bramki.

NDT3055 48c / 10 TO251 ołowiany 60 V, 12 A, 0,1 oma, Vgsth = 2 V

RFD14N05 71c / 10 TO220 50 V, 14 A, 0,1 oma, 2 V Vgsth.


DODANY

ODPOWIEDNIE MOSFETY DO NAPĘDU BRAMOWEGO 3V:

System właśnie zgasił moją dłuższą odpowiedź :-(. Więc - MOSFET MUSI mieć Vth (napięcie progowe) nie większe niż 2V, aby działać poprawnie z kontrolerami zasilania 3V3.
Żaden z sugerowanych tranzystorów FETS nie spełnia tego wymogu.
Mogą działać po pewnym czasie na obecne obciążenie, ale są niedostateczne i nadmiernie stratne, a rozwiązanie nie rozciąga się dobrze na większe obciążenia.
Wydaje się, że FET-y IRF w danym przedziale wielkości, które mają Vth (Vgsth) <= 2 wolty, WSZYSTKIE mają 4-cyfrowe kody numeryczne zaczynające się od 7 oprócz IRF3708 .

OK FET obejmują IRFxxxx, gdzie xxxx = 3708 6607 7201 6321 7326 7342 7353 7403 7406 7416 7455 7463 7468 7470

Będą inne, ale wszystkie sugerowane wydają się mieć Vth = 4V lub 5V i są marginalne lub gorsze w tym zastosowaniu.

Vgsth lub Vth musi być co najmniej o jeden wolt mniejszy, a najlepiej o kilka woltów mniejszy niż faktyczne napięcie napędu bramy.

Russell McMahon
źródło
Tak, idę w bezpieczny sposób i użyję innego mosfetu. To i dioda Zenera prawdopodobnie powinny załatwić sprawę. W sklepie elektronicznym w pobliżu miejsca, w którym mieszkam, nie mają proponowanych przez ciebie mosfetów, ale mają: IRF520, IRF530, IRL530, IRF540, IIRF730, IRF740, IRF830, IRF840, IRF9140, IRF9530, IRF9540, IRF9610, IRF620, IRFDD110, IRFD9120, IRFP50, IRFP054, IRFP140, IRFP150, IRFP450, IRFP520, IRFP9140, IRFZ44, IRFZ46. Przypuszczam, że mógłbym na przykład wybrać IRF520? ciągły prąd drenowy wynosi 6,5 do 9,2 A. Min. Vgs wynosi 2 V, a maksymalne wynosi 4 V, czy to w porządku dla arduino?
Dyte
IRF520 nadaje się do prowadzenia Arduino. Min Vgs i „Max Vgs” nie są dokładnie tym, co myślisz, to napięcie „progowe”, w którym MOSFET zaczyna przewodzić. Maksymalne Vgs jest znacznie wyższe (powyżej 5 V, wyjście Arduino). Przekrocz tę wyższą ocenę (20 V?), A przegrasz FET.
Bryan Boettcher
Działa przy użyciu MOSFET-a IRF520 i diody Zenera 5.1 V. Prawdopodobnie nadal będzie działać tym razem :) Bardzo dziękuję za pomoc. Wszystkie odpowiedzi pomogły mi, ale opracowałeś diody Zenera i określone typy mosfetów, więc przyjmuję twoje jako odpowiedź.
Dyte
@Russell McMahon: Napięcie wyjściowe mojego arduino wynosi (trochę mniej niż) 5 V, a nie 3 V3. Czy to nie zmienia sytuacji?
Dyte
10

Twój zawór ma moc 500 mA przy 12 V. Jeśli podasz 16 V, pobierze nieco ponad 500 mA. Zakładając, że jest to opór, pobierze 667mA.

Maksymalny maksymalny prąd zastosowanego MOSFET-u wynosi 500mA ciągły. Wszystko powyżej absolutnych maksymalnych wartości znamionowych może zniszczyć urządzenie. Prawdopodobnie dlatego występują problemy z niezawodnością.

Nie ma gwarantowanego trybu awarii dla tranzystorów MOSFET, więc nie jestem zaskoczony, że zawiodłby w taki sposób, aby uszkodzić wyjścia Arduino.

Jak Jason wspomniał w powiązanej odpowiedzi, BS170 to zły wybór MOSFET. Potrzebujesz lepszego. Wybierz jeden w obudowie TO-220, który jest oceniany na kilka wzmacniaczy. Musisz także upewnić się, że Vgs jest przystosowany do napędu na poziomie logiki 5 V.

Jakiej diody używasz?

markrages
źródło
Cześć Mark, Używam diody 1N4001: fairchildsemi.com/ds/BS/BS170.pdf
Dyte
5

Twój zawór jest przystosowany do ~ 500 mA. BS170 jest również przystosowany do 500 mA, ale jest to wartość sprzedaży. Użyłbym tutaj (znacznie) wyższej oceny FET, 500mA przez TO92 denerwuje mnie. I masz rezystor bramkowy 1k, co jest dobrym pomysłem w większości przypadków, ale może powodować, że słaby FET przełącza się zbyt wolno, aby przetrwać 0,5A.

Jakiej diody używasz? Musi być oceniony dla 0,5A, więc 1n4148 nie da rady. Nie jestem pewien, ale w rzeczywistości może uzyskać więcej niż 0,5, ponieważ ruchoma część wartości może spowodować nawet większy skok niż zwykła cewka.

Na zdjęciu masz wartość prądu powrotnego przepływającego przez uziemienie Arduino. Chciałbym połączyć to z gwiazdą: podłączyć masę arduino bezpośrednio do zasilacza. Lub znacznie lepiej: użyj optopary do izolacji obwodu wysokoprądowego od Arduino (i użyj dwóch oddzielnych zasilaczy).

Wouter van Ooijen
źródło
Używam diody 1N4001. diodes.com/datasheets/ds28002.pdf Nie pomyślałem o łączniku optycznym. To dobry scenariusz do zbadania :)
Dyte
5

Powinieneś mieć rezystor źródłowy bramki w MOSFET-ie, aby brama nie mogła unosić się, jeśli wyjście Arduino ma wysoką impedancję. Ponieważ elektrozawór i zasilacz Arduino są osobne, taki scenariusz może się zdarzyć (chyba że z założenia zagwarantujesz, że Arduino jest zawsze pierwszy).

Czy MOSFET faktycznie jest tak daleko od elektromagnesu? Jeśli tak, należy przenieść go znacznie bliżej. Przenieś go tak, aby odpływ wtykał się bezpośrednio w pasek protoboardowy, gdzie czerwony drut przechodzi do elektrozaworu i diody. Następnie wykonaj krótkie połączenie źródła do paska GND. Lepiej mieć dłuższą pętlę bramkową (przy niskiej mocy) niż długą pętlę przenoszącą moc. Możesz również przenieść Arduino bliżej elektrozaworu, utrzymując wszystkie te pętle krótkie.

Adam Lawrence
źródło
Czy przez rezystor źródło-brama masz na myśli rezystor pomiędzy bramą a źródłem mosfetu? Przepraszam, jeśli to głupie pytanie :). Jaką wartość sugerujesz? Jeśli chodzi o odległości, nie, wszystkie elementy są blisko siebie, mam ten obwód lutowany na samoprzylepnej płytce drukowanej. Tylko przewody do arduino są dłuższe. Muszę jednak powiedzieć, że nie miałem pojęcia, że ​​to coś zmieniło. Myślałem, że różnica w czasie, w którym prąd płynie kilka cm dalej, jest znikoma.
Dyte
@Dyte Tak, rezystor między bramą a źródłem.
Adam Lawrence
@Dyte, wyobrażam sobie, że 10k rezystor bramkowy będzie w porządku. Celem jest po prostu upewnienie się, że brama MOSFET-a nie unosi się. Chcesz czegoś wystarczająco niskiego, co może „wygrać” przeciwko pasożytniczym elementom obwodu, ale wystarczająco wysokiego, aby wyjście Arduino mogło „wygrać”, kiedy trzeba włączyć MOSFET.
ajs410
3

Obwód, jak pokazano, wygląda dobrze, pod warunkiem, że jedynym połączeniem uziemienia między płytką Arduino a ujemnym zaciskiem zasilania +16 jest krótki niebieski przewód. Z drugiej strony możliwe jest, że przypadkowe szorty mogą spowodować złe rzeczy. Trudno zgadnąć, co mogło się stać, nie widząc, jak układane są rzeczywiste problematyczne tablice.

Jeśli przesuwasz specyfikacje swojego MOSFET-a, może on łatwo zawieść w taki sposób, że wyśle ​​+16 z bramki, ale jeśli rezystory są takie, jak pokazano, oczekiwałbym, że Arduino powinno być całkiem dobrze chronione.

supercat
źródło
1

Przede wszystkim potrzebujesz ultraszybkich diod przełączających, a nie tych tanich diod 2n4001-4, gdy używasz silników lub cewek. Im szybsze przełączanie, tym większy BEMF jest tworzony. Użyj również diody przełączającej 914 do bramki mosfet od arduino i 10k rezystora opuszczającego od bramki do ziemi.

Tommey Reed
źródło