Wysokonapięciowy sterownik silnika PWM - wybuchają mosfety


12

Przeszukałem każdy post w poszukiwaniu odpowiedzi na ten problem. Zbudowałem obwód sterownika silnika, jak pokazano na tym schemacie. Uczyniłem schemat tak dokładnym, jak to możliwe. Diody w mosfetach zostały dodane, aby symbol mosfetu wyglądał tak jak symbol w karcie danych. Jak widać, jest to bardzo prosty obwód PWM wykorzystujący płytkę Arduino UNO. Pedał nożny potencjometru jest przymocowany do jednego z wejść analogowych i służy do określania cyklu pracy wyjścia PWM na styku 6 wyjścia cyfrowego.Łącze obwodu

Silnik to najmniejszy silnik 48 V tego typu, który produkuje motenergy, ale jest to bardzo duży silnik w porównaniu do innych obwodów, które widziałem w ten sposób. Podczas uruchamiania może z łatwością pobrać około 200 amperów.

Obwód działa - gdy pojazd jest podnoszony, aby koła nie dotykały ziemi. W tym stanie silnik bardzo łatwo się obraca i nie pobiera tak dużej ilości prądu. Kiedy koła są na ziemi, mosfety eksplodują w momencie, gdy zaczniesz naciskać na pedał. Zbudowałem ten obwód około 4 razy. Użyłem nawet 18 mosfetów równolegle w jednej wersji i wszystkie 18 eksplodowało natychmiast. (200/18 = około 7 A / mosfet) Każdy mosfet powinien obsługiwać 32 A.

W końcu właśnie kupiliśmy sterownik silnika od alltrax, a pojazd działa dobrze, ale jestem zdeterminowany, aby dowiedzieć się, dlaczego mój własny sterownik silnika nie działa. Kocham elektronikę i przez lata zbudowałem wiele trudnych obwodów. Nie będę mógł spać dobrze, dopóki nie dowiem się, co robię źle.

Rozmawiałem z technikiem z Alltrax, który powiedział, że ich kontrolery to nic innego jak wiązka mosfetów i kondensatorów. Powiedział, że kondensatory zapobiegają eksplozji mosfetów, ale nie miał pojęcia, jak są podłączone do obwodu. Myślę, że ma fragment mojej brakującej informacji.

Czy ktoś może mi powiedzieć, co robię źle? Jak dodać kondensatory, aby to naprawić? Czy to może być częstotliwość? Zmodyfikowaliśmy zegar w Arduino, więc nasza częstotliwość PWM wynosiła około 8000 herców, ale kontroler Alltrax pracuje z oszałamiającą prędkością 18 000 herców. Wiem, że 18k jest małe jak kontrolery silnika, ale myślałem, że gigantyczny silnik chciałby mniejszej częstotliwości.

Ponadto, zanim powiesz, że mosfetów nie można połączyć równolegle ze względu na niewielkie różnice między nimi, użyłem dokładnie 7 cali drutu o grubości 18, aby połączyć je równolegle. Mały drut działałby jak maleńki rezystor i zapewniał, że każdy z nich dzieli prąd obciążenia.

Wielkie dzięki za odpowiedzi.


2
Mówisz o jakimś kontrolerze Alltrax, ale nie jest to widoczne na schemacie.
Harry Svensson,

1
Czy numer części tranzystorów MOSFET na schemacie jest dokładny / poprawny?
ThreePhaseEel

2
Naprawdę nie jestem ekspertem - ale mam złe przeczucia związane z pewnym doświadczeniem. Silnik ten ma moc 13 koni. Poważnie próbujesz przyspieszyć sterowanie za pomocą Arduino, 3 tranzystorów FET i 2 rezystorów? Zastanów się, ile kosztowałby kontroler przemysłowy, aby osiągnąć to samo - bezpiecznie ...
Paul Uszak

3
Jakiej diody używasz na silniku - lepiej, żeby była duża.
Andy aka

1
13 KM / 48 V = 210 A. Wow, to dużo prądu. Chyba 500 amperów, gdy silnik gaśnie? Mógłbyś napisać książkę o diodach flyback i tłumikach dla tak wysokiego prądu.
Oskar Skog

Odpowiedzi:


29

Oto arkusz danych, który należy połączyć z pytaniem. Nie powinnam tego szukać.

Każdy mosfet powinien obsługiwać 32 amperów

Tak jest z V.VGS=10


Ustawić do , naprawdę chcesz tu tyle napięcia, jak można (5V wydaje się być maksymalna). Na twoim miejscu zmieniłbym na 10 ~ 50Ω i na 100k ~ 1MΩ. Ponieważ jeśli nie otworzysz MOSFETU całkowicie, będzie on miał zbyt duży opór i .... wybuchnie. 5 V × R 2VGSR1R25V×R2R1+R2=4.54VR1R2

Przy , wynosi maksymalnie 35 mΩR D S ( o n )VGS=10VRDS(on)

P=I2×R=(32A)2×0.035Ω=35.84W , oznacza to, że ~ 36 W to oczekiwane rozproszenie mocy, gdyVGS=10V

Przy , wynosi maksymalnie 45 mΩ zgodnie z arkuszem danych.VGS=5VRDS(on)

35.84W=I2×0.045Ω , a jeśli przesuniemy I, otrzymamy: , więc możesz spodziewać się, że bezpiecznie przepuścisz 28 A przez MOSFET IF naprawiasz wartości rezystora. Zdecydowanie powinieneś dostać radiator do MOSFETÓW. Może nawet aktywne chłodzenie za pomocą wentylatora.I=35.840.045=28.2A

Zmodyfikowaliśmy zegar w Arduino, więc nasza częstotliwość PWM wynosiła około 8000 Hz

Nie potrzebujesz tak wysokiej wartości, 800 Hz byłoby do przyjęcia, właśnie to przełączają zwykłe sterowniki BLDC (ESC). (Jeśli się nie mylę).


To, co próbujesz zrobić, to ładowanie bramki szeregowym rezystorem, wygląda to tak jak na poniższym obrazku i możemy użyć tego modelu do dalszych równań.

Pojemność bramki ( ) ma maksymalną wartośćCiss1040pF

Rezystory i MOSFET tworzą ten obwód:

Obwód RC

C=Ciss×3=3120pF ponieważ masz 3 równolegle.

R=R1||R2=909Ω

Vs=4.54V

Napięcie na kondensatorze Wynika to równanie: gdzie jest napięcie na kondensatorze i co karmisz go w naszym przypadku jest to .

Vc=Ve×(1etRC)
VcVeVs=4.54V

Wysyłasz PWM, a ja przygotuję dla ciebie absolutnie najgorszy scenariusz. To jest, gdy próbujesz wykonać analogWrite (1) , to jest cykl pracy . Tak więc czas, w którym sygnał zaczyna rosnąć, aż zakończy się ten cykl roboczy i 8 kHz, wynosi 488,3 nanosekund.12561256×18000=

Podłączmy liczby do powyższego równania, aby zobaczyć, jakie napięcie będzie na bramce.

Vc=4.54V×(1e488.3×109(909)×(3120×1012))=0.71V

MOSFET zaczyna się otwierać przy minimum 1 V i maksimum 2,5 V. Więc w tym najgorszym przypadku nie można nawet otworzyć bramy. Więc był zamknięty przez cały czas.


Kolejną rzeczą, którą naprawdę muszę podkreślić, jest najbardziej prawdopodobnym powodem, dla którego łamią się MOSFETY, ponieważ po przełączeniu robisz to tak powoli z powodu gigantycznych rezystorów i tak dużej pojemności bramek. Oznacza to, że gdy tranzystory MOSFET już się przełączają, przepuszczają dużo prądu, a jednocześnie mają nad sobą wysokie napięcie. I => naprawdę naprawdę bardzo dużo ciepła.P=I×V

Zobacz ten obraz:

straty przełączania

Jak możesz zrozumieć, nie chcesz być tam, gdzie krzyżują się niebieska linia i czerwona linia. Szerokość tego przejścia jest taka sama bez względu na częstotliwość przełączania, więc im częściej się przełączasz, tym więcej czasu poświęcasz na to bolesne przejście. To się nazywa straty przełączania. I skaluje się liniowo z częstotliwością przełączania. A twoje wysokie rezystory, wysoka pojemność, przełączanie wysokich częstotliwości, najprawdopodobniej sprawia, że ​​pozostajesz w tej fazie przejściowej przez cały czas. A to równa się eksplozji lub zerwaniu MOSFETÓW.


Naprawdę nie mam czasu na więcej obliczeń, ale wierzę, że rozumiesz. Oto link do schematu, jeśli chcesz się pobawić. Które powinieneś! .


Moja ostatnia rada dla ciebie to zdobycie sterownika MOSFET, abyś mógł wpompować kilka AMPS do bramki, teraz pompujesz miliamper.


Btw Doctor Circuit, jeśli chodzi o twój ostatni akapit, to tylko problem z tranzystorami BJT, dostarczają one więcej prądu im cieplej są, MOSFET jednak dostarczają mniej prądu im są cieplejsze, więc nie potrzebują żadnego specjalnego równoważenia, będą równoważy się automatycznie.


KONTYNUACJA, czas narastania i czas opadania.

Byłem dość podły w powyższym przykładzie, przełączanie 8 kHz i cykl pracy 1/256. Będę bardziej uprzejmy i spojrzę na cykl pracy 50% = 128/256. Chcę wiedzieć i powiedzieć, ile czasu spędzasz w swoim bolesnym przejściu.

Mamy więc następujące parametry istotne dla bolesnego przejścia:

td(on) = czas opóźnienia = czas = czas opóźnienia wyłączenia = czas opóźnienia wyłączenia
tr
td(off)
tf

Dokonam nieprzyjemnych przybliżeń, założę, że płaskowyż Millera nie istnieje, założę, że napięcie na MOSFET-ie maleje liniowo przy włączaniu i rośnie liniowo przy wyłączaniu. Zakładam, że prąd płynący przez MOSFET wzrasta liniowo przy włączaniu i maleje liniowo przy wyłączaniu. Zakładam, że twój silnik pobiera 200 A podczas ustalonego cyklu pracy 50% przy pewnym obciążeniu, powiedzmy, twoje ciało. Więc 200A, kiedy jesteś na to i przyspieszasz. (Im większy jest moment obrotowy silnika, tym proporcjonalnie większy pobór prądu).

Teraz do liczb. Z arkusza danych znamy następujące maksymalne wartości:

td(on) = 40ns = 430ns = 130ns = 230ns
tr
td(off)
tf

Więc dobrze, najpierw chcę wiedzieć, ile okresu 8 kHz zajmuje powyższe przejście. Przejście odbywa się raz na każdy okres. Opóźnienia tak naprawdę nie wpływają na przejście (chyba, że ​​przełączamy się na naprawdę naprawdę wysokich częstotliwościach, takich jak 1MHz).

czas przejścia z 50% cyklem pracy i fs przy 8 kHz = Myślałem, że zobaczę znacznie większą wartość, to ignoruje płaskowyż młyński i pasożytnicze rzeczy, ignorując powolne ładowanie bramy. Pomija to również fakt, że czas narastania i opadania wynosi w rzeczywistości od 10% do 90% sygnału, a nie od 0% do 100%, co zakładam w moich obliczeniach. Pomnożę więc 0,528 przez 2, aby moje przybliżenie było bliższe rzeczywistości. Więc 1%.tr+tf18000=0.00528=0.528%

Teraz wiemy, jak często spędzamy czas w tym bolesnym przejściu. Zobaczmy, jak bardzo jest to bolesne.

P=1T0TP(t)dt

Vr(t)=48V(1t430ns)
Ir(t)=200A430nst

Vf(t)=48V230nst
If(t)=200A(1t230ns)

P=Pr+Pf
Pr=1tr0trVr(t)×Ir(t)dt
Pf=1tf0tfVf(t)×If(t)dt

Pr=1600W LOL! Ta sama odpowiedź, dziwne
Pf=1600W
P=Pr+Pf=3200W

Teraz wróćmy do tego, jak często spędziłeś to przejście o mocy 3200 W. To było około 1%, gdy rzeczywistość się zaczęła. (I myślałem, że będzie to znacznie częściej).

Pavg=3200W×1%=32W Hmm, znowu pomyślałem, że zobaczę coś znacznie ... większego.


I ... obliczmy pozostałe 99% czasu! O czym całkowicie zapomniałem. Oto główna eksplozja! Wiedziałem, że coś zapomniałem.

P=I2×R=(200A)2×(0.045Ω)=1800W A I spędzasz 49,5% czasu w tym trybie przewodzenia. Więc twoje całkowiteP50%@8kHz=32W+1800W×49.5%=923W

Przy 3 równoległych jest to na MOSFET. To wciąż ... EX-PU-LOSIVE!32W+1800W×49.5%3=329W

No to jedziemy. Jest bomba, której szukasz. EX-PU-LOSION

To moja ostatnia edycja.


4
Myślę, że wyraźnie pokazujesz, jak trudno jest bezpiecznie i niezawodnie prowadzić 13 koni. A co z podejrzanymi szkicami? Co robi silnik, gdy OP ładuje nowy szkic, a kołki są pływające / niezdefiniowane? I być może zwarcie źródła 48V - to będzie interesujące. Jest wiele do zrobienia, aby uniknąć rozczarowania / pożaru ...
Paul Uszak

7
Cóż, cieszmy się, że zadziera z napięciem 48 V, a nie 480 V. Możesz przetrwać oparzenia i uczyć się na całe życie, ale ciężko jest uczyć się od śmierci z powodu niewydolności serca.
Harry Svensson,

3
@DoctorCircuit 1 nF to pojemność bramki, . Nie możesz ich usunąć. Są częścią MOSFETU . Twoje Arduino może przepchnąć około 20 mA przez tranzystory. To wciąż miliamper . Musisz przesunąć kilka AMPS, aby zbliżyć się nawet do czegoś, co działa. Potrzebujesz kolejnego etapu między Arduino i MOSFET-ami, które napędzają obciążenie. Falownik może być w stanie wykonać to zadanie. Ale to jest to, czego naprawdę potrzebujesz, aby wcisnąć kilka AMPS. Ciss
Harry Svensson,

2
@DoctorCircuit To będzie mój ostatni komentarz. Spójrz na ten film . Oglądaj całość dla zabawy. Około 5:12 pokazuje używane MOSFETY. To jest około 1/3 twojego. I jest przeznaczony do znacznie mniej wymagającego silnika. Czas narastania (który jest częścią bolesnego przejścia) wynosi 430ns dla MOSFET i 110ns dla ATP206. Czas opadania, który jest również częścią bolesnego przejścia, wynosi 230ns dla twojego i 73ns dla ATP206. Więc spędza około 3-4 razy mniej na bolesnym przejściu. Tak więc znacznie słabszy silnik ma znacznie lepszy MOSFET. RDS(ON)
Harry Svensson,

3
@DoctorCircuit Skłamałem, to mój ostatni komentarz. Jeśli zrobisz falownik logiczny sam, zamiast kupować sterownik mosfet. W takim razie naprawdę musisz upewnić się, że nie zwrócisz mosfetu podczas ich przejścia. Oto jak to robisz.
Harry Svensson,

8

Nowoczesne MOSFETY wymagają szybkiego przełączania, aby uniknąć pozostawania w niebezpiecznym regionie, w którym pozytywne sprzężenie zwrotne (wewnętrzne dla krzemu) powoduje zniszczenie. Przeczytaj ostatnie akapity tej odpowiedzi, aby uzyskać wyjaśnienie papierowe NASA.

SZYBKIE PODSUMOWANIE: Rezystor bramkowy ----- 1Kohm ------ jest zdecydowanie za duży. Użyj układu scalonego Power Driver z przykrywką obejściową 0,1UF na VDD 12/15/18 V, aby bramę MOSFET można szybko naładować w celu szybkiego uruchomienia.

MOSFETY same się zniszczą ze względu na bezpieczne wartości SOA dla obszaru działania, gdzie Napięcie * Prąd * PulseWidth określa rozproszenie mocy.

Zakładając, że złącza FET mają głębokość 10U (SWAG), masz 1,14 mikrosekundowej TAU dla czasowej stałej czasowej obszaru aktywnego FET. Dzięki Miller Multiplication czas włączenia znacznie przekroczy ten czas, przy 48 woltach w tranzystorach polowych i przy braku ograniczenia prądu.

===================================

edytuj 18 marca 2018 r

NASA zdiagnozowało awarie MOSFET w kilku trwających projektach, jak ze względu na zastosowanie NOWOCZESNYCH MOSFETÓW (zapis NASA pojawił się w 2010 r .; przemysł motoryzacyjny znalazł ten mechanizm awarii w 1997 r.). Wcześniejsze zachowanie współczynnika ujemnej temperatury starszych MOSFETS zostało wepchnięte do regionów o wyższych prądach, a nowy region niebezpieczny istnieje teraz w regionie umiarkowanym. NASA kazała tym projektom wrócić do OLD TECHNOLOGY, aby można było zbudować niezawodne systemy.

Co to dzisiaj znaczy? Całkiem proste

--- Nie pozostawiaj więcej niż 1 mikrosekundę w regionie przełączania. ---

--- Szybko naładuj pojemność bramki, w tym pojemność odpływu. ---

Artykuł NASA [opublikowany w 2010 r.] Brzmi

„Wsparcie charakterystyki operacji stabilizacji cieplnej Power MOSFET” i cytowane tutaj kluczowe zdanie „produkowane obecnie projekty pozwalają, aby region zdominowany przez nośnik ładunku (kiedyś mały i poza obszarem zainteresowań) stał się ważny i znajdował się w bezpiecznym obszarze operacyjnym ( SOA) ”.

Jeśli chodzi o starsze (solidne MOSFET) projekty, wyodrębniam to zdanie:

„Wcześniej tranzystory MOSFET działały przede wszystkim w regionie zdominowanym przez ładunek ruchowy. Przy zachowaniu tego samego napięcia bramki region zdominowany przez ładunek ruchowy ogranicza prąd w miarę wzrostu temperatury, zmniejszając z kolei prąd, umożliwiając systemowi uzyskanie ujemnego sprzężenia zwrotnego z dala od ucieczki termicznej. Rzeczywiście, kiedy nowe MOSFET-y mocy mają wysokie napięcie bramki, części są mobilizowane-dominują. Niewymowną intencją producentów było utrzymanie MOSFET-ów w obszarze zdominowanym przez ruchliwość, tak jak wtedy, gdy są używane jako przełącznik dużej prędkości. Starsze części mają obszar zdominowany przez nośniki ładunku. Obszar ten znajduje się jednak poza normalnym SOA i awarie występują z innych powodów. ”


7

Najpierw wybrałeś niewłaściwe FET.

FQP30N06 ma 40 mOhm RdsON przy Vgs = 10 V. Przy Vgs = 5 V nie jest określony, co oznacza, że ​​nie będzie działać.

Wybór MOSFET-a to kompromis: duże MOSFET-y z dużymi silikonowymi matrycami i niskim RdsON mają dużą pojemność i przełączają się powoli. Mniejsze tranzystory MOSFET przełączają się szybciej, ale mają wyższy RdsON.

Zamierzasz jednak zmienić częstotliwość na 500-1000 Hz, a twój prąd jest ogromny, więc RdsON ma znacznie większe znaczenie niż prędkość.

Dlatego powinieneś wybrać To-220 MOSFET (do chłodzenia) z bardzo niskim RdsON (jak kilka mOhm), określonym przy Vgs ... czytaj dalej.

Po drugie, używasz napędu bramkowego 5 V na FET, który jest określony dla napędu bramkowego 10 V, więc nie jest w pełni włączony. W ten sposób nagrzewa się i wybucha. Każdy może to zobaczyć, patrząc na arkusz danych.

Biorąc pod uwagę prąd, wybrałbym napęd bramkowy 12V, aby RdsON był jak najniższy. Możesz więc wybrać FET 5 V lub 10 V VGs, nie ma problemu.

OK. Teraz masz kilka FET i musisz je napędzać 12V. Oczywiście potrzebujesz sterownika, który wyśle ​​kilka wzmacniaczy do bramki, aby szybko ją włączyć i wyłączyć. Sprawdź kategorię „Sterownik MOSFET” na mouser / digikey, jest mnóstwo odpowiednich produktów, które zaakceptują 5 V z twojego arduino i prawidłowo napędzą FET.

Będziesz potrzebował zasilania 12 V, ale to nie jest problem, ponieważ masz jakieś 48 V, użyj konwertera DC-DC.

Po trzecie, musisz porzucić arduino.

Ten rodzaj kontrolera wymaga aktualnego limitu, który musi działać, zanim MOSFET wybuchną (nie później).

Sposób ten jest bardzo prosty. Umieszczasz czujnik prądu (najprawdopodobniej tutaj efekt Halla) i komparator. Gdy prąd przekroczy próg, PWM jest resetowany, czeka chwilę, a następnie wznawia. Gdy prąd przekroczy znacznie większy próg, oznacza to, że ktoś wetknął śrubokręt w zaciski wyjściowe, więc PWM zatrzymuje się na dobre i nie wznawia.

Musi się to odbywać z prędkością niezgodną z oprogramowaniem.

Większość mikrokontrolerów sprzedawanych do sterowania silnikami obejmuje komparatory analogowe podłączone do jednostki PWM, w tym konkretnym celu. Mikro na arduino nie jest jednym z nich.


4

Brak wykrywania prądu, a zatem brak ograniczenia prądu w napędzie silnikowym. Spodziewany prąd silnika przy zerowej prędkości obrotowej może wynosić tysiące amperów, ponieważ rezystancja uzwojenia dużych silników prądu stałego może wynosić miliohm. Powinieneś zastosować jakąś formę ograniczenia prądu, chyba że chcesz użyć ogromnej ilości mosfetów i nadal ryzykować ich wysadzenie. napęd bramkowy powinien być sprawdzony na lunecie. Prawdopodobnie będzie on zbyt wolny, powodując nadmierne nagrzewanie się mosfetu. Zastanów się nad układem sterownika lub jakimś dyskretnym obwodem sterownika. Twój napęd silnikowy jak większość jest trudny do przełączania, a zatem ma straty przełączania proporcjonalne do częstotliwości . Spróbuj zredukować testowanie częstotliwości PWM dla obiektywnych szumów audio. Możesz być w stanie znacznie zmniejszyć F bez nadmiernego marudzenia. To ochłodzi fety.


2

Jeśli masz dokładny model wszystkich komponentów LTSpice, możesz przeanalizować, dlaczego zawodzi.

Dokładny model wyładowania Q podczas przełączania prądu prowadzi do zrozumienia, że ​​potrzebna jest ostrożnie wybrana gm każdego etapu lub jej odwrotny stosunek RdsOn.

Jeśli ktoś zna stosunek przełączników elektromechanicznych jako przekaźniki, przekaźniki mocy, elektromagnesy i styczniki dużej mocy, stosunek prądu udarowego do prądu cewki stopniowo spada z> 3k do 100: 1 Główną różnicą jest to, że prąd bramki FET po przełączeniu.

Sprawdź arkusz danych i sprawdź napięcie bramki RdsOn3, którego zamierzasz użyć. Powinno to wynosić co najmniej 3-krotność napięcia progowego Vgs (th) dla skutecznego przełączania.

Sugestie podsumowujące

  • 1) Zastosuj kaskadowe stopnie RdsOn jak kaskadowe BJT ze współczynnikiem hFe wynoszącym 100

    • np. jeśli RdsOn wynosi 1 mΩ, należy użyć sterownika 100 mΩ, który użyje sterownika 10 Ω (w przeciwnym razie szybkość narastania ulegnie pogorszeniu, utrata mocy wzrośnie, a następnie nastąpi samozagrzewanie, co spowoduje stopienie lub wybuch FET)
  • 2) Użyj Vgs> = 3x Vgs (th) BEZ WZGLĘDU NA JAKĄ ocenę Vgs (th). (i <Vgs max)

  • ps

    • Zapomniałem wspomnieć wraz z 1) Rdson zmienionego współczynnika FETS / DCR stosunku silnika powinien wynosić około 1: 100 lub 1% (dać lub wziąć), aby zminimalizować straty przewodzenia. Chociaż kilka% często potrzebuje wymuszonego chłodzenia powietrzem i wyższych prowadzi do katastrofy.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.