Dobre dopasowanie sposobu sterowania silnikiem pozwala tworzyć nieduże, energooszczędne i precyzyjnie działające urządzenia. Zamiast instalować cięższy silnik o większej mocy, ale sterowany w prosty sposób, lepiej jest użyć tańszego i lżejszego modelu o mniejszej bezwładności, który dzięki zastosowaniu algorytmu umożliwiającego precyzyjną kontrolę siły elektromotorycznej pozwoli zrealizować praktycznie takie same zadania. Dzięki postępowi technologicznemu w tej dziedzinie, zaawansowane sposoby sterowania mocą dostarczaną do silnika stały się powszechnie dostępne, a ich implementacja nie nastręcza większych trudności.
Silniki prądu przemiennego
Sterowanie silnikiem prądu przemiennego możemy realizować na kilka sposobów.
W pewnym zakresie można regulować obroty poprzez zmianę napięcia zasilającego, która zmienia poślizg rotora. Niestety, ten sposób regulacji pozwala na tylko nieznaczne podniesienie lub obniżenie prędkości obrotowej w stosunku do znamionowej, a ponadto pojawia się problem strat mocy na uzwojeniach. W efekcie, metoda ta praktycznie nie jest stosowana.
Drugą, nieco bardziej przydatną metodą jest regulacja rezystancji w wirnika, która też wpływa na poślizg silnika. Pozwala to zachować stałą wartość maksymalnego momentu obrotowego oraz obniżanie prędkości obrotowej aż do zatrzymania, poprzez zwiększanie rezystancji szeregowo włączonej w obwód wirnika. Niestety, z oczywistych względów, jest to metoda bardzo nieekonomiczna, gdyż bardzo duża ilość mocy pożytkowana jest na powstawanie ciepła w dołączonej rezystancji. Z tego względu technikę tę stosuje się raczej tylko w małych silnikach, a w dużych jedynie wtedy, gdy nie ma potrzeby silnie zmieniać obrotów urządzenia.
Zmianę szybkości obrotowej silnika prądu przemiennego można też uzyskać zwiększając lub zmniejszając liczbę par biegunów magnetycznych. Włączanie i wyłączanie dodatkowych obwodów powoduje skokową zmianę prędkości obrotowej i nie umożliwia regulacji ciągłej. Problemem może być też fakt, że technikę tę da się zastosować tylko w silnikach klatkowych, gdyż liczby par biegunów w wirniku i stojanie muszą sobie odpowiadać. W przypadku silnika z wirnikiem pierścieniowym zastosowanie tej metody byłoby bardzo trudne mechanicznie.
Najlepszą, prostą metodą regulacji prędkości silnika prądu przemiennego jest zmiana częstotliwości napięcia zasilającego. Pozwala to wpływać na prędkość wirowania pola magnetycznego, które bezpośrednio przekłada się na prędkość obrotową wirnika. Możliwości regulacji zależą od zastosowanego przemiennika częstotliwości. W praktyce metoda ta pozwala płynnie regulować obroty w bardzo szerokim zakresie, a stosowanie odpowiednich algorytmów umożliwia precyzyjne wpływanie na moment obrotowy, skuteczne hamowanie i miękki start. Warto też dodać, że falowniki użyte do zasilania silników prądu przemiennego pozwalają na redukcję zużycia energii w wielu aplikacjach.
Sterowanie wektorowe
W klasycznych, skalarnych algorytmach sterowania koncentrujących się na zmianie częstotliwości zasilania, dostosowuje się też napięcie podawane na zaciski silnika. Jednak, jeśli nie uwzględni się realnej reakcji silnika na podawane napięcie zasilające, precyzja sterowania będzie istotnie ograniczona.
Wynika to z faktu, że w zależności od obciążenia, zmienia się poślizg wirnika. Wirnik nie porusza się z taką samą prędkością, jak prędkość wirowania pola w silniku, w efekcie czego prędkość obrotowa nie jest ściśle proporcjonalna do częstotliwości. W praktyce prędkość obrotowa długo się stabilizuje, a często też oscyluje wokół prędkości zadanej.
Najlepsze rezultaty pod względem energooszczędności i precyzji działania można uzyskać w silnikach trójfazowych sterowanych wektorowo. Falownik dostosowuje swoją pracę do aktualnego stanu silnika - panujących w nim sił i prędkości. Aby to było możliwe konieczne jest zastosowanie odpowiedniego układu przetwarzającego dane, który pozwoli z wystarczającą szybkością reagować na zmieniające się warunki pracy urządzenia.
Ważny jest też sam algorytm, a przykładem najbardziej popularnego jest sterowanie zorientowane polowo (Field Oriented Control - FOC). Metoda ta pozwala praktycznie niezależnie sterować momentem obrotowym i szybkością obrotową. Dzięki temu możliwe jest nawet osiągnięcie momentu obrotowego większego niż znamionowy - np. w czasie rozruchu lub nagłego przyspieszania. Pozwala to w danej aplikacji zastosować silnik o mniejszej mocy, niż w gdyby musiał być on sterowany skalarnie.
Silniki prądu stałego
Silniki stałoprądowe szczotkowe stosowane są już tylko w najprostszych konstrukcjach, a sterowanie ich pracą polega na generacji odpowiedniego napięcia przyłożonego do szczotek komutatora. Najczęściej korzysta się z sygnału PWM sterującego tranzystorami w układzie pełnego mostka. Im wypełnienie sygnału większe, tym wyższa szybkość obrotowa silnika.
Znacznie większą popularnością cieszą się obecnie silniki bezszczotkowe, które przy tej samej mocy co szczotkowe, są mniejsze i lżejsze. Są pozbawione zespołu szczotki-komutator i dzięki temu są też cichsze. Są również niemal całkowicie bezobsługowe, ich żywotność jest dłuższa. Niestety, sterowanie ich pracą wymaga bardziej zaawansowanych, elektronicznych kontrolerów.
W najbardziej typowym rozwiązaniu BLDC, wirnik zbudowany z magnesu trwałego obraca się w polu generowanym przez uzwojenia umieszczone naokoło na statorze, w układzie gwiazdy. Klasycznie, każde z uzwojeń podłączone jest do innej fazy zasilania, generowanej przez sterownik, przy czym im więcej faz, tym mniejsze tętnienia i bardziej równa jest praca silnika.
Ponieważ ze względu na komplikację układu sterującego, najczęściej buduje się silniki 3-fazowe, aby zminimalizować tętnienia, na każdą z faz tworzy się po kilka odpowiednio umieszczonych uzwojeń. Oczywiście, uzwojeniom tym musi odpowiadać odpowiednio większa liczba biegunów magnetycznych na wirniku. Wzbudzone są równocześnie zawsze dwie z trzech faz, a trzecia pozostaje wolne. Warto dodać, że istnieją dwa warianty uzwojeń statora: trapezoidalne i sinusoidalne, które różnią się charakterystyką powstających powrotnych sił elektromotorycznych, o których piszemy w dalszej części artykułu.
Klasyczne sterowanie silnikiem BLDC polega na zastosowaniu modulacji PWM wpływającej na kluczowanie tylu półmostków, ile jest faz zasilania. Przy zerowym wypełnieniu silnik nie jest napędzany, w miarę wzrostu współczynnika silnik nabiera obrotów aż do wymaganej szybkości lub docelowego momentu obrotowego.
Straty w obwodzie sterowania PWM powstają głównie na rezystancji przewodzenia przełączających MOSFET-ów i diod zwrotnych, a sprawność układu osiąga 80 do 95%. Optymalna szybkość przełączania zależy od bezwładności silnika, indukcyjności jego uzwojeń i konkretnej aplikacji. Ogólnie rzecz ujmując, im częstotliwość PWM większa, tym większe są też straty. Niestety, zmniejszanie częstotliwości ogranicza zdolność precyzyjnego sterowania silnikiem.
Dawniej, do konstrukcji układu sterowania silnikiem bezszczotkowym stosowano głównie niezależne komponenty łącząc je ze sobą w osobne sterowniki bramek, zazwyczaj z sześcioma MOSFETami. Obecnie znacznie bardziej praktycznym rozwiązaniem wydaje się użycie scalonego sterownika lub wykorzystanie funkcji mikrokontrolera.
Ważne jest tylko, by moc wyjściowa takiego układu nie była zbyt duża w porównaniu do mocy silnika, gdyż w praktyce negatywnie wpływa ona na dostępną precyzję regulacji. Układy o większej mocy są zazwyczaj wolniejsze niż mniejsze modele. Ponadto, w celu zabezpieczenia układu przed spaleniem, wprowadza się, często ustawiany programowo, czas martwy. Uniemożliwia on jednoczesne otwarcie dwóch wyjściowych tranzystorów MOSFET, co prowadziłoby do przepływu prądu skrośnego i przeciążenia układu.
Praca układu sterującego oparta jest najczęściej o czujniki Halla, które dostarczają informacji na temat aktualnej pozycji wirnika i pozwalają na zapewnienie synchronizacji. Ta może zostać utracona, gdy okaże się, że narzucana szybkość wirowania pola jest zbyt duża w stosunku do możliwości pracy wirnika, gdy bezwładność silnika nie pozwala na wykonywanie zbyt szybkich przyspieszeń lub zbyt gwałtownego hamowania oraz gdy obciążenie mechaniczne silnika nagle znacznie wzrośnie. Wielu producentów silników BLDC wyposaża je w trzy czujniki Halla, każdy dostarczający w czasie wirowania stany wysokie i niskie. Czujniki te są rozmieszczone w wirniku zgodnie kątowo z polami trzech uzwojeń stojana.
Wykorzystanie głównego mikrokontrolera projektowanego urządzenia ma sens przede wszystkim ze względu na elastyczność i łatwość dodawania rozmaitych funkcji pomocniczych interfejsu użytkownika, jak przyciski, przełączniki i wyświetlacze, a także funkcji komunikacyjnych z wykorzystaniem UART-ów czy SPI.
Zastosowanie niezależnego sterownika, komunikującego się z mikrokontrolerem jest uzasadnione głównie wtedy, gdy kontrola pracy silnika nie jest podstawowym zajęciem procesora. Regulacja pracy napędu wymaga obsługi dużej liczby przerwań o wysokim priorytecie i ogranicza dostęp do procesora pozostałym funkcjom. Gdy ma on wiele innych zadań, zewnętrzny sterownik pozwoli istotnie zredukować obciążenie mikrokontrolera - szczególnie wtedy, gdy prędkość obrotowa wirnika jest duża.
W praktyce, taki komplet będzie też tańszy niż użycie zdecydowanie szybszego mikrokontrolera albo dwóch uniwersalnych MCU. Często stosowana sześciostopniowa komutacja faz z użyciem czujników hallotronowych do synchronizacji wymaga od mikrokontrolera sześciu przerwań na jeden cykl elektryczny. Metoda ta jednakże nie zawsze daje się zastosować. Nie da się jej bezpośrednio, bez modyfikacji, użyć z bardziej zaawansowanymi algorytmami sterowania, korzystającymi z analizy wstecznej siły elektromotorycznej.
Wsteczna siła elektromotoryczna
Ostatnio na popularności zyskuje sterowanie silnikami z wykorzystaniem powstającej w nich siły elektromotorycznej do synchronizacji położenia. Siła ta to napięcie, które powstaje w uzwojeniach silnika w wyniku ruchu namagnesowanego wirnika. Ponieważ wyindukowane napięcie ma przeciwny znak w stosunku do napięcia podawanego na uzwojenia przez sterownik, siłę tę nazywa się wsteczną (Back-EMF - Back ElectroMotive Force).
Co ważne, siła ta rośnie wraz z szybkością obrotową, jednocześnie redukując efektywne napięcie uzwojeń i w konsekwencji - pole magnetyczne napędzające wirnik. Stanowi ona czynnik, który powoduje stabilizację obrotów silnika na pewnym poziomie, przy zadanym napięciu i obciążeniu. Wykorzystanie wstecznej siły elektromotorycznej pozwala istotnie zmniejszyć koszty całego układu, gdyż możliwa jest rezygnacja z instalacji czujników hallotronowych.
Wartość wstecznej siły elektromotorycznej dla każdej fazy będzie w danej chwili inna, gdyż zależna od aktualnej pozycji wirnika. Siła ta wpływa też bezpośrednio na prąd płynący przez uzwojenie, gdyż redukuje efektywne napięcie uzwojenia. Analiza prądu poszczególnych faz, przy znanym napięciu sterowania pozwala ocenić wartość wstecznych sił elektromotorycznych i na tej podstawie dosyć dokładnie oszacować pozycję wirnika.
Konieczne jest tylko, by znać rozkład tych sił, który zależny jest od konstrukcji uzwojeń, o czym napisaliśmy wcześniej. Dla silnika o niezwielokrotnionej liczbie biegunów magnetycznych na wirniku, faza przebiegu wstecznej siły elektromotorycznej w czasie bezpośrednio odpowiada kątowi obrotu wirnika. W przypadku, gdy liczba biegunów jest większa, faza siły odpowiada fazom sygnału sterującego, a więc do odczytu pozycji konieczne jest przeliczenie wskazania fazy sygnału na odpowiadające jej położenie wirnika w oparciu o zaplanowane sygnały sterujące.
Niezależna analiza wszystkich wstecznych sił elektromotorycznych za pomocą digitalizacji pomiarów napięć uzyskiwanych na rezystorach szeregowo wpiętych w obwód silnika umożliwia układowi sterującemu zapewnienie synchronizacji silnika. Jednakże ze względu na znaczące zapotrzebowanie na moc obliczeniową w sytuacji, gdy wsteczne siły elektromotoryczne analizowane są oddzielnie dla każdej z faz zasilających, często bada się tylko sumę napięć uzyskaną poprzez odpowiednie podłączenie ze sobą rezystorów pomiarowych.
Sumaryczny przebieg sygnałów napięciowych warto wygładzić za pomocą filtrów RC, aby zredukować wpływ sterowania PWM. Zsumowany sygnał ma częstotliwość trzykrotnie większą niż częstotliwość dla pojedynczej fazy, a po porównaniu go z przebiegami napięć dla każdej z faz niezależnie, łatwo da się wskazać momenty odpowiadające każdej z 6 komutacji.
Aby odczytać dokładną pozycję wirnika konieczne jest jeszcze porównanie wartości zsumowanego sygnału z wartością napięcia wynikającego ze wstecznej siły elektromotorycznej wyindukowanej w obwodzie fazy zasilania, która w danym kroku nie bierze udziału w napędzaniu silnika.
Porównanie to może być dokonywane w prosty sposób za pomocą komparatora analogowego, a wybór fazy podłączanej na jedno z jego wejść odbywa się za pomocą prostego multipleksera. Zmiana wartości porównania na komparatorze z dodatniej na ujemną lub z ujemnej na dodatnią powinna generować przerwanie dla MCU, które sygnalizuje, że wirnik znajduje się w pozycji, w której należy zmienić układ komutacji na kolejny.
Marcin Karbowniczek, EP