Silniki BLDC (3). Zaawansowane metody sterowania

Silniki BLDC (3). Zaawansowane metody sterowania
Pobierz PDF Download icon

Sterowanie pracą silnika BLDC nie jest zadaniem łatwym. Jeżeli mamy możliwość swobodnej regulacji napięcia w każdej z faz, to można regulować prędkość obrotową silnika, zmniejszając lub zwiększając prąd wszystkich faz. Można też kształtować przebieg prądów w fazach po to, aby prąd sterujący miał przebieg sinusoidalny i stosować sterowanie trójfazowe. Wtedy każda z faz silnika jest zasilana napięciem sinusoidalnym przesuniętym w fazie o 120˚. Dzięki temu silnik pracuje płynniej i jest cichszy, ale znacznie komplikują się algorytmy sterowania i regulacji.

Złożoność algorytmów wynika z tego, że drivery muszą w czasie rzeczywistym dostarczać 3 różne prądy fazowe. Dodatkowo w algorytmach regulacji PID ze sprzężeniem zwrotnym bardzo trudno jest przetwarzać trójfazowe sygnały sinusoidalne. Jedną z metod zaradczych jest sterowanie wektorowe. Przy sterowaniu wektorowym 3-fazowe zmienne prądy stojana są matematycznie przekształcone na pojedynczy wirujący w czasie wektor prądowy. Do obliczeń stosuje się zmierzoną wartość dwu prądów fazowych i wyliczenie trzeciego (suma 3 prądów fazowych jest równa zero). Te wartości są poddane transformacjom Clarke’a i Parka.

Istotną cechą sterowania wektorowego jest to, że przetransformowany wektor prądowy ma 2 składowe: jedna z nich wyznacza wielkość momentu obrotowego, a druga pole magnetyczne wirnika. Możliwość wyizolowania i regulacji składowej odpowiadającej za składową momentu umożliwia sterowanie silnikiem BLDC sterowanym trójfazowym prądem przemiennym tak jak silnikiem stałoprądowym. W praktyce można ustawić stałe pole magnetyczne i w pętli PID regulować wektor momentu tak, by prędkość obrotowa silnika była stała. Sterowanie wektorowe wymaga precyzyjnej informacji o położeniu wału silnika z czujników optycznych.

Zastosowanie sterowania wektorowego pociąga za sobą konieczność wykonywania szybkich obliczeń „on line” za pomocą szybkich mikrokontrolerów z wbudowanymi jednostkami zmiennoprzecinkowymi i procesorami DSP. Mikrokontrolery zorientowane na sterowanie silnikami mają wbudowany szereg specjalizowanych układów peryferyjnych, które bardzo ułatwiają kontrolowanie silnika. Wiele czynności sterowniczych i kontrolnych jest wykonywanych przez zaawansowane układy peryferyjne. Odciąża to rdzeń mikrokontrolera i upraszcza tworzenie i testowanie oprogramowania sterowników.

Jednym z przykładów silnego zorientowania na sterowanie silnikami BLDC są mikrokontrolery rodziny RX66T produkowane przez firmę Renesas. Jednym z podstawowych układów peryferyjnych jest bardzo uniwersalny układ licznikowy MTU3d. Jest zbudowany z 8 konfigurowalnych kanałów z 16-bitowymi licznikami MTU0, MTU1, MTU2, MTU3, MTU4, MTU5, MTU6, MTU7 i MTU9.

W trapezowym, najprostszym rodzaju sterowania drivery dostarczające napięcia zasilającego fazy silnika są sterowane w sposób pokazany na rysunku 7 w pierwszej części cyklu artykułów. Moment przełączania faz jest określany przez czujniki Halla umieszczone na wale wirnika lub przez algorytmy wykrywania położenia w układach bezczujnikowych. Jedna z konfiguracji kanałów licznikowych MTU3d (tryb Complementary Mode) umożliwia całkowicie sprzętowe sterowanie komutacją zasilania faz na podstawie sygnałów z czujników Halla. Na trzy wydzielone wejścia mikrokontrolera podawane są sygnały z czujników Halla, a na 6 wyjściach są „gotowe” sygnały sterujące tranzystorami drivera. Na rysunku 16 pokazano 2 konfiguracje pracy MTU3d w trybie Complementary Mode wykorzystującym kanały MTU3 i MTU4.

Rysunek 16. Sterowanie PWM fazami silnika BLDC na podstawie sygnałów z czujnika Halla

Czas martwy

Jednym z typowych problemów sterowania komplementarnymi sygnałami PWM driverami silnika z wykorzystaniem układów mostkowych z tranzystorami MOS jest możliwość krótkotrwałego wprowadzenia w przewodzenie obu tranzystorów zasilania fazy. Pojemności pasożytnicze w układach bramek powodują, że przy szybkich przełączeniach jeden tranzystor jest jeszcze załączony, mimo że sygnał bramki go wyłącza, a drugi tranzystor jest już włączony. W wyniku powstaje krótkotrwałe zwarcie źródła zasilania przez oba tranzystory. Może tak się zdarzyć na przykład przy sterowaniu pokazanym na rysunku 16. Żeby tego uniknąć, w układach PWM wprowadza się pojęcie czasu martwego (dead time). Układy licznikowe generujące komplementarne przebiegi PWM często mają możliwość programowania czasu martwego zależnie od częstotliwości przełączania i użytych tranzystorów.

Rysunek 17. Przebiegi komplementarne PWM z czasami dead time

Na rysunku 17 pokazano przebieg PWM z czasami dead time, a na rysunku 18 sposób generowania trzech przebiegów komplementarnych z czasami dead time do sterowania trzema fazami silnika BLDC z wykorzystaniem dwu kanałów modułu MTU3d. Wartość współczynnika wypełnienia dla kolejnych faz określają wartości wpisane do rejestrów TGR3B, TGR4A i TGR4B.

Rysunek 18. Sterowanie 3 faz silnika BLDC – 2 MTU3 i MTU4 – kanały modułu MTU3d

Prędkość i kierunek

Do określania prędkości obrotowej i kierunku wirowania wirnika mogą być wykorzystywane enkodery. Moduły MTU1 i MTU2 mogą niezależnie pracować jako 16-bitowe liczniki zliczające różnicę faz pomiędzy dwoma zewnętrznymi sygnałami zegarowymi podawanymi na wejścia mikrokontrolera. MTU1 i MTU2 można połączyć kaskadowo i powstanie wtedy jeden 32-bitowy licznik.

W 16-bitowym trybie zliczania różnicy faz licznik TCNT jest inkrementowany lub dekrementowany zależnie od różnicy faz dwu zewnętrznych sygnałów zegarowych. Tymi sygnałami zewnętrznymi mogą być wyjścia dwufazowego enkodera określającego prędkość i kierunek wirowania wału silnika BLDC. Kiedy licznik TCNT się przepełni, to zależnie od tego, czy licznik zliczał w dół, czy w górę, ustawiane są dwie różne flagi przerwania i zgłaszane są przerwania.

Dostępnych jest 5 różnych trybów zliczania. W przypadku użycia klasycznego enkodera do pomiaru kierunku obrotu i prędkości obrotowej może być użyty tryb 1. Na rysunku 19 pokazano zliczanie w trybie 1 i pokazano blokową zasadę określania kierunku wirowania i prędkości obrotowej.

Rysunek 19. Określanie kierunku wirowania i prędkości obrotowej

Do pomiaru szerokości impulsu z enkodera i w konsekwencji prędkości obrotowej używa się licznika pracującego w trybie capture. Przykład takiego zastosowania został pokazany na rysunku 20.

Rysunek 20. Kanał licznika pracujący w trybie Capture

Zabezpieczenie przed przeciążeniem

Sterowniki do sterowania silnikami BLDC powinny być wyposażone w układy zabezpieczające przed mechanicznym przeciążeniem silnika i w konsekwencji jego uszkodzeniem. Układy zabezpieczające chronią również obwody mocy układu sterowania oraz zasilacz. Stan przeciążenia najłatwiej jest wykryć, mierząc prąd pobierany w obwodach uzwojeń stojana. Technicznie jest to realizowane przez dołączenie szeregowych rezystorów pomiarowych (shunt resistor) w obwód zasilania mostka tranzystorowego drivera silnika.

Na rysunku 21 pokazano przykładowy układ pomiaru prądu i sygnalizacji jego przekroczenia w trzech fazach (materiały firmy Renesas). Spadek napięcia na rezystorze Rs, proporcjonalny do płynącego prądu w obwodzie zasilania fazy, jest wzmacniany przez wzmacniacz operacyjny i poddawany konwersji przez przetworniki analogowo-cyfrowe.

Rysunek 21. Przykładowy układ pomiaru i sygnalizacji przekroczenia prądu zasilającego silnik

Pomiar poboru prądu w każdej z faz osobno jest potrzebny w układach sterowania wektorowego. Spotykane jest też uproszczone rozwiązanie z jednym wspólnym rezystorem Rs dla wszystkich faz. Potrójny układ pomiarowy pokazany na rysunku 21 wymaga trzech torów wzmacniaczy i trzech przetworników ADC. W przypadku, kiedy do pomiaru napięć BEMF w układach bezczujnikowych wykorzystujemy przetwornik ADC zamiast komparatorów, również musimy użyć 3 modułów ADC. Dostępne są rozwiązania, które pozwalają użyć do jednoczesnego pomiaru napięcia w trzech fazach jednego przetwornika ADC (rysunek 22).

Rysunek 22. Przetwornik ADC i przebiegi konwersji dla trzech wejść AN000, AN001 i AN 002

W mikrokontrolerach rodziny RX66T firmy Renesas moduł przetwornika ma na trzech liniach wejściowych zabudowane wzmacniacze o programowanym wzmocnieniu PGA. Napięcia z wyjścia PGA są również podawane na wejścia komparatorów. W torze tych linii wejściowych są umieszczone wyzwalane układy Sample and Hold. Próbki napięcia zapamiętane w układach Sample and Hold są po zakończeniu czasu próbkowania Thold kolejno konwertowane na postać cyfrową przez jeden moduł konwertera ADC (rysunek 23).

Rysunek 23. Porównanie dwu metod pomiaru prądu w fazach silnika BLDC

Zasilanie silnika sygnałem PWM powoduje, że nie można wykonać pomiaru prądu w dowolnym momencie cyklu i musi być wykonany w fazie duty cycle. Układ przetwornika ADC mikrokontrolerów RX66T ma możliwość wyzwalania pomiaru w połowie fazy duty cycle każdego z sygnałów komplementarnych PWM, tak jak to zostało pokazane na rysunku 24.

Rysunek 24. Wyzwalanie pomiaru w środku fazy duty cycle

Przekroczenie dopuszczalnego prądu powoduje reakcję układu generującego przebieg PWM. Zmniejszana jest długość cyklu pracy (duty cycle) lub wyjścia PWM przechodzą w stan wysokiej impedancji. Wiele modułów PWM ma sprzętowe wejście sygnalizacji awarii. Wymuszenie na nim stanu aktywnego powoduje przejście w stan wysokiej impedancji wszystkich wyjść modułu PWM. Układy RX66T mają wbudowany specjalny moduł POE blokujący sygnały PWM z modułu MTU3d (rysunek 25).

Rysunek 25. Blokowanie wyjść PWM przez moduł POE

Podsumowanie

Zastosowanie sprzętowych modułów peryferyjnych znacznie upraszcza układy sterowanie silnikiem. Kiedy mamy do dyspozycji układ PWM z wejściem kontrolującym stany awaryjne, przetwornik ADC i kilka liczników można zbudować prosty i prawidłowo działający układ stepowania nawet przy zastosowaniu 8-bitowego rdzenia.

W sprzyjających warunkach możliwe jest zaimplementowanie algorytmu sterowania PI. Jednak przy większych wymaganiach może się to okazać niewystarczające.

W układach sterowania trójfazowymi sinusoidalnymi napięciami zasilającymi może być wymagane sterowanie wektorowe. Wtedy potrzebna będzie wydajna jednostka z modułem sprzętowego wykonywania szybkich obliczeń zmiennoprzecinkowych FPU i jednostka DSP. Stosuje się wówczas wydajne 16-bitowe lub 32-bitowe mikrokontrolery potrafiące wykonywać wyliczenia niezbędne do sterowania wektorowego w trybie on line.

Sterowanie silnikami BLDC nie jest banalne. Wymaga określonych zasobów sprzętowych i programowych. W wielu zastosowaniach zalety BLDC na tyle przeważają nad silnikami szczotkowymi, że ich stosowanie nawet za cenę konieczności użycia skomplikowanego sterownika jest celowe i opłacalne.

Tomasz Jabłoński, EP

Artykuł ukazał się w
Elektronika Praktyczna
czerwiec 2020
DO POBRANIA
Pobierz PDF Download icon

Zobacz też
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik wrzesień 2021

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio wrzesień - październik 2021

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka Podzespoły Aplikacje wrzesień 2021

Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna wrzesień 2021

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich wrzesień 2021

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów