logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Sterownik silnika trójfazowego ATtiny2313 - problemy z PWM i MOSFET IRFZ34N

WWektor 26 Cze 2009 21:00 2660 7
REKLAMA
  • #1 6707606
    WWektor
    Poziom 12  
    Posty: 100
    Ocena: 57
    Zamierzam wykorzystać silniki BLDC dużej mocy w pracy synchronicznej krokowej, zbudowałem w tym celu w miarę nieskomplikowany sterownik na 6 MOSFETach IRFZ34N i ATtiny2313 (schemat dołączam w PDFie).
    Problem jest następujący: W trakcie testów (bez podłączonego silnika) na sztucznym obciążeniu (3 oporniki połączone w gwiazdę) przebiegi są niemal książkowe i wszystko działa bez najmniejszych zarzutów. Wszystko zaczyna się gdy podłącze do układu silnik. Procesor zaczyna absolutnie świrować, np. co ciekawe zwalnia - wyraźnie widać, że zegar zaczyna wolniej pracować (nawet 2x), zacina się kompletnie, lub nie startuje w ogóle. Silnik wysterowany jest PWMem, żeby ograniczyć prąd, a jak procek zaczyna wariować to MOSFETy na pęczki można wymieniać (przepalają się tak jakby bramki, powstaje zwarcie między G i D).

    Silnik powinien pracować przy 12V - ani razu nie udało mi się uruchomić
    Przy 5V - Czasem się uruchamia, czasem pali mosfety, ale zawsze świruje:/

    Mierzyłem zasilanie procka, napięcie nawet nie drgnie - stabilne od początku do końca:/.

    Zastanawiam się, może chodzi o jakieś zakłócenia elektromagnetyczne.
    Macie jakieś pomysły?
    Załączniki:
    • Motor_Driver.pdf (14.87 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #2 6711904
    Xweldog
    Poziom 31  
    Posty: 1202
    Pomógł: 165
    Ocena: 106
    Witam
    Oglądałem Twój temat i schemat kilka razy i nie bardzo rozumiem, jak ma działać. Domyślam się, że Motor Power to 12V ale ile ma to UP MOS Vcc ? Bo to bardzo istotne dla wysterowania MOS-ów "górnych". Piszesz "silniki BLDC dużej mocy" to warto by użyć MOS-ów o mniejszych Rds. Np. IRF3205. Cena praktycznie ta sam co IRFZ34. Ale przede wszystkim - skorygować schemat i sterowanie i za "górne" dać chanel P np. IRF4905.
    Co do wzbudzań ect. Bramki 2N7002 można dawać wprost do uPC ale "dolne" mają za dużą Ciss. W linie L1 ect. daj ok. 100Ω. I zbocznikuj diodami najlepiej Shotky ( np. BAT46 ) katodą do uPC by zapewnić szybkie zbocza fall.
  • REKLAMA
  • #3 6712092
    yego666
    Poziom 33  
    Posty: 2175
    Pomógł: 239
    Ocena: 564
    Dokladnie tak jak napisal Kolega powyzej.
    Ponadto nalezy bardzo dobrze zblokowac zasilanie procka elementami C oraz L. Uwazne prowadzenie masy tez raczej pomoze uniknac pikow od silnika.
    Sa specjalne uklady scalone do pedzenia silnikow 3-fazowych.
    Moze lepiej taki zastosowac a prockiem sterowac inne ciekawe funkcje ?
    Troche szkoda czasu na wywazanie otwartych drzwi.
  • REKLAMA
  • #4 6712171
    WWektor
    Poziom 12  
    Posty: 100
    Ocena: 57
    Każde zasilanie jest z osobnego źródła 5V - osobny zasilacz, 12V zasilanie silników osobny,i 18V do otwierania górnych mosfetów też osobny. Górnych nie mogę otwierać bezpośrednio z uC bo 18V to trochę za dużo. Potencjał na fazie jest +12V więc żeby się górne dobrze otwierały to musi być więcej przynajmniej o jakieś 3V więc 18V jest ok. IRFZ34N akurat miałem i nie musiałem kupować specjalnie innych. Bramki 2N7002 są bezpośrednio do uC. Rezystory 1k przy 2N7002 są tylko zabezpieczeniem gdyby procek nie ruszył z jakiegoś powodu, żeby nie występowały stany zabronione (zwarcie - na jednej fazie oba mosfety otwarte).
    Rezystancja jednej fazy to 1,4Ohma trochę mała przy pełnym otwarciu dość duży prąd płynie. Silniki mają posłużyć do sterowania śrubą napędową we frezarce CNC. Konstrukcja trochę nietypowa bo silniki BLDC ale mają na tyle dużą ilość biegunów że w zupełności wystarczą. Silniki mają około 500W, podejrzewam, że przy krótkotrwałym obciążeniu do 1kW mogą wytrzymać. Nie chcę wykorzystywać pełnej mocy, bo reszta konstrukcji nie jest na to przygotowana - poprostu udało mi się zdobyć takie silniki.

    Układ ruszył przy 1% wypełnieniu PWMa, ale silnik ledwo rusza - w zasadzie to tylko go słychać a się nie kręci, jak podkręcam PWMa to zaczyna ruszać a potem wszystko wariuje :/
    Na chwile obecną wiem, że znów upaliła mi się jedna bramka 2N i jedne z górnych mosfetów zanim zdążyłem wyłaczyć:/

    Co do tych linii L1..3 czy chodzi o to żeby podciągnąć linie za diodą do Logic_Vcc przez 100Ohm?
  • #5 6712213
    yego666
    Poziom 33  
    Posty: 2175
    Pomógł: 239
    Ocena: 564
    Oczywiscie, jesli zmienisz gorne tranzystory z N na P to trzeba przerobic tez sterowanie ;)

    To ze miales takie a nie inne tranzystory nie znaczy, ze sa odpowiednie do Twoich silniczkow.
    Zawsze jednak mozesz polaczyc kilka tranzystorow rownolegle, ale chyba taniej bedzie kupic odpowiednie tranzystory i miec to z glowy.
    Do sterowania bramek duzych MOSFETow moze nie wystarczyc oporniczek pull up lup pull down rzedu kiloohma.
    To trzeba zmienic na co najwyzej 100 ohm i dostosowac reszte ukladow.
    Pojemnosc bramki jest dosc spora, wiec trzeba sporego pradu dla szybkiego wlaczenia i wylaczenia tranzystora.
    Nawet jesli masz niezalezne zasilanie procka i tranzystorow, musisz solidnie zblokowac zasilanie procka. Cwiczylem to kilka razy i za kazdym razem byly to piki po masie lub przez bramki tranzystorow.
  • #6 6712458
    Xweldog
    Poziom 31  
    Posty: 1202
    Pomógł: 165
    Ocena: 106
    Trzeba przeciąć linie L1 ect. i tam wstawić np. 100Ω. Ale może najpierw ogólnie. Podajesz dość duże wartości mocy. Tu przydałby się np. IRF1405 i to raczej zrównoleglone po 2szt. A IRFZ34 to chyba co najmniej po 5szt równolegle.
    Co do sterowania górnych. 18V na bramki to za mało. Źródło będzie na 12V, między GS będzie 6V i żadne MOS-y nie są wtedy w pełni nasycone. To drugie U powinno mieć co najmniej 24V. Ale jeszcze gorzej będzie z dolnymi. Na bramki dostaną co najwyżej 5V. Tak prosty układ nie wyda do tak dużych mocy, trzeba go rozbudować ( ew. jak, przez mój e-adres ).
    Te silniki na pewno mają b.duże indukcyjności. Trzeba zadbać o b.dobre odkłócenie. Zakłócenia trzeba tłumić przede wszystkim tam, gdzie się rodzą. Tj. bezpośrednio na pinach silnika. Należy pomyśleć o 6-ciu transilach typu 1,5KE-15V.
    Przy tak dużych prądach trzeba mądrze rozbić układ na bloki. Dla wszystkich członów wspólne będzie -Uz. Za punkt wspólny przyjąłbym masę na bloku MOS-ów.
  • REKLAMA
  • #8 6717071
    WWektor
    Poziom 12  
    Posty: 100
    Ocena: 57
    PWM zrobiony jest na przerwaniach z wykorzystaniem timera, aktualnie steruje bez pół kroków czyli jest 6 stanów mosfetów.

Podsumowanie tematu

✨ Temat dotyczy problemów z budową sterownika silnika trójfazowego BLDC o mocy około 500W, sterowanego mikrokontrolerem ATtiny2313 i sześcioma MOSFETami IRFZ34N. Układ działa poprawnie na sztucznym obciążeniu (rezystory w gwiazdę), jednak po podłączeniu silnika procesor zaczyna niestabilnie pracować – zwalnia zegar, zawiesza się lub nie startuje, a MOSFETy ulegają uszkodzeniu wskutek zwarć między bramką a drenem. Silnik zasilany jest napięciem 12V, ale uruchomienie nie jest możliwe, natomiast przy 5V zdarza się częściowy rozruch z uszkodzeniami tranzystorów. Zasilanie mikrokontrolera, silnika i bramek MOSFETów jest rozdzielone na osobne źródła (5V, 12V, 18V). Wskazano, że IRFZ34N nie jest optymalnym wyborem ze względu na wysoką rezystancję Rds(on) i konieczność stosowania tranzystorów typu P dla górnych kluczy, np. IRF4905, lub mocniejszych N-MOSFETów jak IRF3205 czy IRF1405, często w konfiguracji równoległej. Zalecane jest poprawne sterowanie bramkami z niskoomowymi rezystorami (około 100 Ω), zastosowanie diod Schottky (np. BAT46) do szybkiego przełączania, oraz solidne filtrowanie i blokowanie zasilania mikrokontrolera, aby uniknąć zakłóceń generowanych przez silnik. Dodatkowo sugerowano użycie transili (np. 1,5KE-15V) na wyjściach silnika dla ochrony przed przepięciami. Kod PWM realizowany jest na przerwaniach timera, obecnie bez półkroków, z sześcioma stanami MOSFETów. Wskazano również, że dla dużych mocy lepszym rozwiązaniem mogą być dedykowane układy scalone do sterowania silnikami trójfazowymi, a mikrokontroler powinien pełnić funkcję sterowania wyższego poziomu.
Wygenerowane przez model językowy.
REKLAMA