Skocz do zawartości

Sterowanie silnika BLDC 24V


bimbarabam

Pomocna odpowiedź

Hm, datasheet dotyczy scalaka i jego parametrów. Pewnie zakładają, że ktoś kto po taki scalak sięga, robi to świadomie i wie co w trawie piszczy..

Kondensatory masz w dwóch miejscach: na głównym zasilaniu kostki i w układzie bootstrap. Z głównego zasilania driver bierze impulsy do ładowania obu bramek. Tranzystory mocy mają zwykle po kilka nF więc jeśli dasz ceramiczny 1-2.2uF/25V i do tego równolegle ceramiczny 100nF, będzie OK.

W układzie bootstrapu górnego drivera potrzebujesz kilkaset nF by przeładować i utrzymać napięcie bramki w czasie wysokiego stanu mostka. Możesz ta stawić 100-220nF/50V, oczywiście szybki ceramiczny MLCC.

Dioda doładowje kondensator impulsami gdy mostek "opada" do stanu niskiego więc musi być szybka. To może być zwykła krzemowa przełączająca (ale nie prostownicza 50Hz) lub coś ze złączem Schottky'ego, jakiś BASxx czy BATxx. Jej napięcie wsteczne daj co najmniej 2x to czym zasilasz mostek - ona musi to blokować w czasie stanu wysokiego na wyjściu.

Wszystkie kondensatory ceramiczne mają być tak blisko scalaka jak to tylko możliwe. Daj szeroką masę, szczególnie między driverem a MOSFETami. Pętla od wyjścia drivera, przez opornik szeregowy (10-51Ω, trzeba dobrać, raczej ciężko przewidzieć) do bramki i z powrotem masą do drivera jest pętlą dużych i szybkich impulsów a więc źródłem śmiecia EM. To ma być małe i krótkie. Driver musi być blisko obu tranzystorów.

Do tego jakiś ogólny elektrolit 10-22uF/25-50V na zasilaniu 12V nie zaszkodzi.

Na pewno każdy mostek powinien też dostać swoje własne, ceramiczne 100nF/100V między drenem górnego a źródłem dolnego MOSFETa (czyli na zasilaniu, ale blisko) i jeden ogólny, dobry 100uF/50-100V gdzieś na zasilaniu 24V.

Do tego możesz całe zasilanie wszystkich mostków puścić przez koralik ferrytowy by zakłócenia generowane przez switche nie robiły sobie anteny z kabli zasilających.

Link do komentarza
Share on other sites

Kombinowałem sobie z różnymi prototypami i podpiąłem sobie rezystory połączone w gwiazdę, żeby zobaczyć, czy poziomy napięć na wyjściach się zgadzają (przy okazji popaliłem trochę tranzystorów 😃) no i wyszło, że jest generalnie jest okej, tylko były dość duże szpilki przy PWM (przy poziomie sygnału logicznego 24V szpilka miała poziom 28V). Dawałem zwykłe kondensatory ceramiczne 100n między VCC, a COM i VB, a VS. Przy każdej parze tranzystórów dałem ceramiczny 100n i rownolegle elektrolit 100u/50V. Jako diodę wrzuciłem SR180 (akurat to było najlepsze do tego rozwiązania, co miałem pod ręką).

I teraz chciałbym zrobić pierwszy prototyp płytki drukowanej i mam pewne ograniczenia na wielkość płytki, to chciałbym, żeby tam gdzie się da używać elementów smd (nie używać elektrolitów THT tych wielkich cylindrów np.)

Założenia są takie, że silnik jest zasilany z 24V, jako driver każdej fazy biorę ten IRS2104 w SOIC i on będzie sterował półmostek napięciami 0 i 12V, procek to stm32. No i ponadto zakładam, że nie będzie prądów większych niż 6A. Chciałbym się upewnić (skonsultować), co do wyboru elementów.

Ponieważ, mam mało miejsca, to chciałbym, żeby elementy były możliwie małe.

1) Tranzystory

Po pierwsze chciałbym się obyć bez dodatkowych radiatorów (nie mówię o polu miedzi na PCB). Planuję wziąć NMOS'y w D2Pak. Myślałem o takich jak np. IRL3803 albo np. IRF3205, IRFR4104, które mają RDson na poziomie kilku miliomów, więc przy 6A moce wydzielane w nich będą na poziomie powiedzmy 0,2 W, więc radiator dodatkowy powinien być zbędny, a pole miedzi planuję takie, żeby akurat pokrywało cały tranzystor - nie robić tego wielkiego pola 1cal kwadratowy.

2) Dioda

Jeżeli chodzi o diody, to wziąłbym jakąś SMA z zapasem napięcia wstecznego np. BYS11-90

3) Kondensatory

Jak już wspomniałem, nie chcę wstawiać kondensatorów THT, tylko smd i teraz pytanie czy do drivera IRS2104 mogę np. między VCC, a COM wrzucić sobie na przykład zwykłego 100n w obudowie 805 (albo jeszcze lepiej 603) i podobnie między VB, a VS? I jak z parą tranzystorów - czy na każdą parę wystarczy 100n + równolegle jakiś elektrolit SMD 100u/50V?

4) PWM

Czy sygnał PWM, jeszcze jakoś dodatkowo filtrować, czy tymi szpilkami się nie przejmować?

Czy ewentualnie dorzucić jeszcze jakieś transoptory między uC, a driverem?

5) Masa

Chcę odseparować zasilanie stopnia mocy od części cyfrowej i tu pytanie jak tą masę poprowadzić i w którym miejscu połączyć obie masy? Bo de facto połączenia obu mas będą trzy razy - tam między każdym irs2104 a parą tranzystorów. Czy zrobić gdzieś jedno połączenie tylko i to do niego doprowadzić wszystkie masy z driverów i mostków?

Link do komentarza
Share on other sites

były dość duże szpilki przy PWM (przy poziomie sygnału logicznego 24V szpilka miała poziom 28V).

4) PWM

Czy sygnał PWM, jeszcze jakoś dodatkowo filtrować, czy tymi szpilkami się nie przejmować?

Czy ewentualnie dorzucić jeszcze jakieś transoptory między uC, a driverem?

Jaką masz częstotliwość PWM?

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dla 6A spokojnie wystarczą tranzystory w mniejszym DPAKu - tu możesz zaoszczędzić trochę miejsca. Nie będą zimne, ale przecież nie muszą być, taki ich los.

Placek odkrytej miedzi pod blachą tranzystora jest obowiązkowy z punktu widzenia montażu. Jeśli możesz , zrób przelotki na drugą stronę - to też pomaga. Jeden tranzystor ma na drenie plus więc tam będzie gruba ścieżka - wykorzystaj ją jako odprowadzanie ciepła. Drugi ma dren na wyjściu - to też może być niezłe ujście ciepła np. do złącza i kabli. Gospodaruj ciepłem - to kolejna warstwa projektu, trochę niezależna od prądów i napięć.

Dla pewności zaplanuj miejsce na oporniki szeregowe w bramkach, coś rzędu 10-51Ω. To czasem pomaga "uspokoić" układ. Najwyżej się nie przydadzą i wlutujesz zworki.

Diody i tak będą rzadko przewodziły bo ten driver wyłącza oba tranzystory tylko w czasie martwym, a to krótko i rzadko. Więc tu nie ma napinki, mogą być w SMA.

Kondensatory - tu nie ma SMD czy THT. Jeśli mają mieć jakąś pojemność, napięcie i sensowny ESR - muszą być duże, niezależnie od technologii. SMT mają tylko blaszki i kawałek plastiku/podstawkę zamiast prostych drutów, reszta to to samo, fizyki nie oszukasz. Pomijam polimerowe, ale jeśli Cię stać..

Ceramiczne - to samo. Ja bym tu unikał 603 a i nad 805 bym się zastanowił. To jednak delikatne elementy a ceramiczne bardzo nie lubią przepięć. To co widzisz jako szpilki to tylko to, co dociera do wejścia oscyloskopu z uwzględnieniem jego pasma. 100nF/50V w 805 to jest standard i najmniejsze co bym tu wstawiał. Na głównym zasilaniu możesz dać 100uF/50V każdej parze, ale jeśli nie będzie to dobry LowESR, będzie się grzał od prądów AC. I obowiązkowo znajdź coś typu 1uF/50V/1206 równolegle do tych elektrolitów - znacznie je odciążysz.

Szpilkami na wyjściu nie przejmuj się. Znacznie gorzej będzie z silnikiem, bo ten to dopiero syfi. Pomyśl zawczasu o jakimś odkłócaniu go, dławiki szeregowe a przynajmniej kondensatory ceramiczne montowane wprost na jego zaciskach.

Masy to zawsze dylemat. Gwiazda jest generalnie dobrym rozwiązaniem, ale zwróć uwagę na pętle sterowania bramek. Od drivera, poprzez ścieżkę, bramkę, źródło MOSFETa i z powrotem do drivera. To powinno być krótkie i małe a w przypadku dolnych tranzystorów ta pętla idzie częściowo przez masę. Nie puść tamtędy przypadkiem prądu obciążenia, tj. podejście/zaciski masy/zasilania 24V zrób bezpośrednio na pary MOSFETów a driver niech będzie "z boku" poza głównymi prądami.

Optoizolacja ma sens gdy masz dwa niezależne zasilacze z dwoma galwanicznie odseparowanymi masami. Jest to jakieś rozwiązanie, znajdź szybkie transoptory z wyjściem logicznym (te tanie, tranzystorowe są wolne i niesymetrycznie opóźniają) i wstaw. Zawsze to jakiś komfort pracy i nie kombinujesz z najlepszym miejscem podłączenia kabli GND/Vcc procesora i głównego zasilacza.

No to tyle na gorąco.

Link do komentarza
Share on other sites

Na razie jest to 20 kHz

Śmiało możesz obniżyć do 16kHz. Jakość sterowania praktycznie się nie zmieni, natomiast obniżysz straty przełączania. W razie potrzeby możesz zejść jeszcze niżej, ale wtedy wchodzisz w zakres częstotliwości słyszalnych.

Jeśli byś chciał poczytać to w załączniku dorzucam artykuł panów z Politechniki Śląskiej nt. częstotliwości PWM.

Impact of PWM Control Frequency onto Efficiency of a 1 kW Permanent Magnet Synchronous Motor.pdf

Link do komentarza
Share on other sites

Potrzebuję zrobić pomiar prądu, tak żeby na wszelki wypadek zabezpieczyć się przed jego nadmiernym poborem i zastanawiam się jak to zrobić, żeby z jednej strony nie zepsuć połączenia mas w jednym punkcie i z drugiej strony, żeby nie spowodowało to zakłócanie ADC mikrokontrolera.

Jak już wcześniej wspominałem, to poszukuję czegoś, co zajmuje mało miejsca i tu od razu pytanie, w którym miejscu dokonywać pomiaru prądu, czy po prostu na zasilaniu 24V, które doprowadzam do sterownika, czy na którejś z faz silnika (mam nadzieję, że jedna wystarczy)?

BTW w moim silniku nie mam wyprowadzonej masy, są tylko przewody na 3 fazy + czujniki Hall'a.

Przeglądałem sobie rożne czujniki w internecie i zauważyłem, że popularne są nieco droższe i większe czujniki Allegro ACS, które mają wbudowane w środku rezystory rzędu kilku miliomów, albo czujniki ZXCT, które są mniejsze ale z koleji wymagają dołożenia zewnętrznego rezystora, więc pewnie trzeba by dać jakiś pomiarowy 0.1om w obudowie 2512, czy coś w tym stylu. Obydwa czujniki są o tyle ok, żetam na wyjściu stosowne napięcie, które potem można by od razu na ADC podać.

Pytanie, czy korzystaliście może z tych czujników i możecie coś polecić, który warto zastostować? Albo w ogóle co inneo może użyć?

Link do komentarza
Share on other sites

W rowerach elektrycznych dużej mocy (np. 3kW) z silnikami BLDC używa się rezystorów pomiarowych (boczników) o bardzo małej rezystancji. Ustawia się je w masowej gałęzi i mierzy spadek napięcia na nim, o tyle to wygodne, że to napięcie już jest odniesione do masy i wystarczy je wzmocnić. Co do miejsca pomiaru to najlepiej to zrobić na wejściu sterownika, kiedy mamy tylko dwa przewody. Po komutacji prądy fazowe (nie wiem czy w blokowych też tak jest ale w wektorowych na pewno) są inne niż prądy wejściowe, dlatego też tam mierzy się je tylko jeżeli wymaga tego algorytm (czyli np. foc a nie metoda blokowa). Tylko tutaj już nie bawimy się w jakieś rezystorki smd tylko w potężne boczniki (nawet na 100 i więcej amperów) z przykręcanymi terminalami osobno dla przepływu prądu, osobno dla pomiaru (czasem też używa się czujników prądu, np. np serii ACS a czasami po prostu przekształtników prądowych).

Co do reszty pytań o zakłócenia itp to się nie wypowiem.

Link do komentarza
Share on other sites

Potrzebuję zrobić pomiar prądu, tak żeby na wszelki wypadek zabezpieczyć się przed jego nadmiernym poborem i zastanawiam się jak to zrobić, żeby z jednej strony nie zepsuć połączenia mas w jednym punkcie i z drugiej strony, żeby nie spowodowało to zakłócanie ADC mikrokontrolera.

Od strony procka proponuję, żebyś wykorzystał wejście Break Input, które wchodzi w skład zaawansowanego timerka w STM32 (TIM1 lub TIM8). Podanie stanu aktywnego na to wejście powoduje asynchroniczne wyłączenie kanałów PWM (czyt. szybciej się chyba nie da 😉 ).

Źródłem sygnału będzie natomiast wyjście z komparatora, który porównuje prąd płynący przez fazy silnika do ustalonej wartości "bezpiecznej".

BTW w moim silniku nie mam wyprowadzonej masy, są tylko przewody na 3 fazy + czujniki Hall'a.

W silnikach BLDC nie ma masy. Jest tylko punkt neutralny, czyli punkt połączenia wszystkich faz w jednym miejscu. W razie potrzeby możesz sobie stworzyć sztuczny punkt neutralny przy pomocy trzech rezystorów.

Przeglądałem sobie rożne czujniki w internecie i zauważyłem, że popularne są nieco droższe i większe czujniki Allegro ACS, które mają wbudowane w środku rezystory rzędu kilku miliomów, albo czujniki ZXCT, które są mniejsze ale z koleji wymagają dołożenia zewnętrznego rezystora, więc pewnie trzeba by dać jakiś pomiarowy 0.1om w obudowie 2512, czy coś w tym stylu. Obydwa czujniki są o tyle ok, żetam na wyjściu stosowne napięcie, które potem można by od razu na ADC podać.

Pytanie, czy korzystaliście może z tych czujników i możecie coś polecić, który warto zastostować? Albo w ogóle co inneo może użyć?

Popatrz sobie jak wykonuje się pomiary prądu z wykorzystaniem shunt rezystorów wspomnianych przez @Mechano. Wg mnie to powinno w zupełności wystarczyć.

Link do komentarza
Share on other sites

Co do tego break input to jest to jakiś pomysł, bo tu w sumie widzę jest spore pole do popisu. Ja akurat chciałem robić pomiar prądu za pomocą ADC przy obliczaniu następnego kroku tj. w przerwaniach zewnętrznych od czujników Hall'a i tam przy okazji ustalania wspolczynnika PWM, zrobić od razu pomiar i interweniować stosownie. Rzeczywiście twój pomysł jest dobry, jeżeli chodzi o natychmiastową reakcję.

Gdzie mam szukać tych projektów? Na forum, artykułach, robotach? Bo nie wiem jak mam się ustosunkować do tych pomiarów z wykorzystaniem boczników?

Link do komentarza
Share on other sites

Możesz spojrzeć na projekt VESC, tam masz wykorzystane rezystory pomiarowe: https://github.com/vedderb/bldc-hardware

Na marginesie, chyba rezystor pomiarowy to nie zawsze jest bocznik?

Z tego co widzę to przy tym, nie ma mierzonego prądu tylko napięcia poprzez te dzielniki na wyjściach mostka, które idą na ADC.

Jeżeli chodzi o drugie pytanie, to nie pisałem nigdzie, że rezystor pomiarowy to zawsze jest bocznik.

Co do tych schematów od ST, to widzę, że muszę im się dokładniej przyjrzeć bo na pierwszy rzut oka trochę nie rozumiem sposobu użycia tych trzech boczników - czemu one na końcu one wszystkie są schemacie wspólną masą? Bo samą ideę rozumiem, że napięcie daje się na wzmacniacz operacyjny a potem już wyjścia adc uc. Na ile wzmacniacz operacyjny będzie tu separatorem swoją drogą, bo niby na wejściu dostaje różnicowo sygnał z analogowej części układu, a sam jest zasilany z częsci cyfrowej

Link do komentarza
Share on other sites

Co do tych schematów od ST, to widzę, że muszę im się dokładniej przyjrzeć bo na pierwszy rzut oka trochę nie rozumiem sposobu użycia tych trzech boczników - czemu one na końcu one wszystkie są schemacie wspólną masą?

Przykładowy przepływ prądu wygląda następująco: zasilanie VBUS -> klucz górny U -> faza U -> punkt N -> faza V -> klucz dolny V -> shunt rezystor -> masa. Pomiar spadku napięcie w tym połączeniu jest odniesiony do masy (o czym już wspomniał @Mechano), która jest tą samą masą dla mikrokontrolera.

Na ile wzmacniacz operacyjny będzie tu separatorem swoją drogą, bo niby na wejściu dostaje różnicowo sygnał z analogowej części układu, a sam jest zasilany z częsci cyfrowej

Nie ma separacji. Właśnie o to chodzi, że musisz te sygnały analogowe doprowadzić do mikrokontrolera i ADC oraz wzmacniaczy. Ewentualnie dzielnikiem obniżasz napięcia do przedziału bezpiecznego dla procka.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.