Silniki krokowe to maszyny elektryczne o unikalnych właściwościach:
- Są bezszczotkowe. Silniki komutatorowe szybciej się zużywają i mogą być źródłem zakłóceń EMI nieakceptowanych w wielu zastosowaniach.
- Kąt obrotu i szybkość obrotu wału nie zależą od obciążenia silnika tak długo, jak obciążenie nie jest większe od momentu obrotowego silnika.
- Silnik pracuje w otwartej pętli sprzężenia zwrotnego. Do czasu, kiedy obciążenie nie jest większe od momentu obrotowego, wykonywanie precyzyjnych kroków o ustalony kąt obrotu nie wymaga układu ze sprzężeniem zwrotnym.
- Szybka reakcja na polecenia startu, zatrzymania i zmiany kierunku obrotów.
- Możliwa do uzyskania duża dokładność pozycjonowania przy jednoczesnej łatwości sterowania.
Sterowanie silnikami nie jest trudne, ale przed przedstawieniem praktycznej implementacji sterownika zabudowanego w module ewaluacyjnym dsPICDEM MCSM przypomnę kilka podstawowych wiadomości na temat typów silników i ich budowy.
Rodzaje silników
Wyróżnia się trzy podstawowe rodzaje silników krokowych: reluktancyjne, z wirnikiem z magnesów trwałych i hybrydowe.
Silniki reluktancyjne wykorzystują zjawisko dążenia do jak najmniejszego oporu magnetycznego, inaczej – reluktancji. Wirnik jest wykonany z miękkiej stali i ma wyfrezowane zęby. Wirnik ma 4 zęby, a stojan 6 biegunów (rysunek 1). Po włączeniu zasilania do uzwojenia „1” wirnik obróci się, aby poprzez zęby X zamykał się strumień magnetyczny. Żeby wykonać kolejny krok, trzeba wyłączyć napięcie w uzwojeniu „1” i włączyć na przykład w uzwojeniu „2”. Wtedy zęby obrócą się tak, aby przez nie zamykał się strumień magnetyczny i reluktancja była jak najmniejsza. Do zasilania silnika jest potrzebny sterownik generujący sekwencję impulsów następujących po sobie w określonej kolejności. Silnik z rysunku 1 może się obracać o kąt 30°. Jest to zbyt mała rozdzielczość i w praktyce stosuje się większą liczbę uzwojeń i zębów.
Typowe silniki reluktancyjne mają słabe parametry i dlatego szuka się innych rozwiązań. Jeżeli zamiast wirnika z zębami zastosujemy wirnik z magnesami trwałymi (jak na rysunku 2), to po podaniu napięcia na uzwojenia stojana wirnik tak się ustawi, żeby bieguny elektromagnesu stojana i bieguny magnesu wirnika się przyciągały.
Kolejny typ konstrukcji silnika to silnik hybrydowy. Łączy on w sobie cechy konstrukcyjne silnika reluktancyjnego i silnika z wirnikiem z magnesów trwałych. Wirnik ma zęby jak w silniku reluktancyjnym. Im jest ich więcej, tym więcej kroków na obrót można wykonać. Zęby są umieszczone na dwóch pierścieniach przesuniętych względem siebie o połowę szerokości zęba. Pomiędzy pierścieniami jest umieszczony magnes trwały z osiowo zorientowanymi biegunami (rysunek 3). Taka budowa ma wiele zalet: zwiększa momenty hamujący w spoczynku oraz trzymający i dynamiczny moment obrotowy.
Stojan silnika unipolarnego ma dwa uzwojenia z odczepem pośrodku. Odczep może być wykonany wewnątrz silnika i wtedy na zewnątrz jest wyprowadzonych 6 przewodów (rysunek 4). Jest możliwe wewnętrzne połączenie odczepów 1 i 2 oraz wyprowadzenie 5 przewodów. Mogą to być po 2 niezależnie uzwojenia wyprowadzone na zewnątrz – wtedy silnik ma 8 wyprowadzeń. Połączenia wykonuje się na zewnątrz silnika. W silnikach z wirnikiem z magnesów i hybrydowych bieguny pola magnetycznego wytwarzanego przez uzwojenia będą zależne od kierunku przepływającego prądu przez uzwojenie. Obie połówki każdego z dwu uzwojeń są fizycznie nawinięte równolegle. Jeżeli przyjmiemy, że wyprowadzenie 1 jest wspólne (na przykład, dodatni zacisk zasilania) i będziemy podawać najpierw masę zasilania na zacisk „a”, następnie na zacisk „b”, to bieguny magnetyczne wytwarzane przez uzwojenia będą się zamieniały miejscami i odpowiednio oddziaływały z biegunami wirnika. Silnik pokazany na rys. 4 jest bardzo prosty. Aby silnik miał większą rozdzielczość, musi mieć więcej biegunów magnetycznych lub trzeba zastosować opisywany wcześniej silnik hybrydowy.
Układ sterowania silnika powinien mieć możliwość naprzemiennego podawania jednego z biegunów napięcia na końce cewek. Na rysunku 5 pokazano przykładowy układ zasilania silnika. Odczepy uzwojeń zostały na stałe dołączone do dodatniego bieguna zasilania. Jeśli na wyprowadzeniu „A” wystąpi poziom wysoki, to tranzystor sterowany tym sygnałem zacznie przewodzić i połączy koniec „1a” z masą. Prąd popłynie od zacisku „1” do zacisku „1a”. Diody dołączone do sterowanych końców uzwojeń oraz do masy i plusa zasilania zabezpieczają układ sterowania przepięciami na uzwojeniach stojana w momencie przełączania.
Na rysunku 6 pokazano przykład sekwencji sterowania silnikiem unipolarnym. W przykładzie 6b na połówki uzwojeń 1 i 2 są podawane jednocześnie napięcia sterujące, oczywiście w odpowiednich sekwencjach. Powoduje to zwiększenie momentu obrotowego, ale jednocześnie zwiększenie poboru mocy. Stosując kombinację obu tych technik sterowania, można uzyskać obrót o połowę kroku silnika. Przykład sekwencji sterowania silnika unipolarnego co pół kroku pokazano na rysunku 7. Trzeba pamiętać, że tak sterowany silnik nie ma stałego momentu obrotowego.
W silniku bipolarnym uzwojenia stojana nie mają odczepu w środku (rysunek 8). Prąd płynie przez całe uzwojenie, a nie tylko przez połowę, jak to jest w silniku unipolarnym. Z tego powodu silniki bipolarne mają większy moment obrotowy niż silniki unipolarne o tej samej wielkości. Jednak brak odczepu powoduje, że sterowanie jest bardziej skomplikowane. W czasie pracy prąd płynący przez uzwojenia musi płynąć w przeciwnych kierunkach. Żeby było to możliwe, konieczna jest zmiana polaryzacji napięcia zasilającego uzwojenia. Do tego celu stosuje się dwa mostki H (rysunek 9). Jeżeli chcemy, aby do zacisku „1a” był doprowadzony plus zasilania (Vsupply), a do zacisku „1b” minus (masa), tranzystory Q1 i Q4 powinny przewodzić. Zmiana biegunowości jest wykonywana, gdy tranzystory Q1 i Q4 przestają przewodzić, a zaczynają przewodzić Q2 i Q3.
Sterowanie układem mostkowym musi zapewniać czasy martwe (dead time), żeby wyeliminować sytuacje, w których przez moment są zwarte na przykład tranzystory Q1 i Q2. Diody połączone z końcami uzwojeń i biegunami napięcia zasilającego tłumią przepięcia indukowane na uzwojeniach stojana tak samo, jak w przy sterowaniu silnikiem unipolarnym. Na rysunku 10 pokazano przykłady sekwencji sterowania silnikiem bipolarnym. Pierwsza z nich minimalizuje pobieraną energię poprzez zasilanie w jednym momencie tylko jednego uzwojenia. Druga sekwencja zwiększa zużycie energii, ale za to zwiększa się moment obrotowy.
Wybór silnika jest podyktowany konkretnymi parametrami niezbędnymi w żądanym zastosowaniu. Jednym z pierwszych parametrów, na które zwracamy uwagę, jest jego rozdzielczość, czyli inaczej mówiąc wielkość kroku. Krok silnika jest wyrażany w stopniach obrotu wału silnika lub w liczbie skoków na jeden obrót wału. Na przykład, silnik z wirnikiem z magnesów trwałych (PM) ma rozdzielczość 7,5° i 3,6°, co odpowiada 48 i 100 krokom na obrót. Silnik hybrydowy może mieć rozdzielczość w zakresie od 3,6° (100 kroków /obrót) do 0,9° (400 kroków /obrót). Są też oferowane silniki z mechaniczną przekładnią zmniejszającą prędkość obrotową, a jednocześnie zwiększającą rozdzielczość i moment obrotowy.
Kolejny parametr to moment obrotowy. Dla silników krokowych definiuje się kilka różnych momentów obrotowych, z których najczęściej jest podawany moment trzymania (holding torque), tj. moment wymagany do obrócenia wału silnika po zasileniu uzwojeń stojana. Moment obrotowy silnika zmienia się w funkcji prędkości obrotowej. Zależność ta jest najczęściej przedstawiana w danych technicznych w formie wykresu. Taki wykres dla silnika hybrydowego 42HS03 pokazano na rysunku 11. Widać, że moment obrotowy maleje ze zwiększeniem prędkości obrotowej wału silnika. Zgodnie z tym, co napisaliśmy wcześniej, w konfiguracji bipolarnej moment jest większy niż w konfiguracji unipolarnej (Half-coil).
Kolejnym ważnym parametrem jest trwałość. Przy dobieraniu silnika trzeba się zastanowić, jak długo silnik ma działać, czy ma pracować ciągle, czy w trybie przerywanym, jakie są warunki termiczne itp. Silnik krokowy nie ma szczotek i jest konstrukcyjnie jednym z najtrwalszych typów silników elektrycznych. Zużycie dotyczy tylko łożyskowania wirnika. Silniki z łożyskami tocznymi są trwalsze, ale droższe od panewek wykonanych z brązu. Obciążenie wału powinno stanowić 40…60% maksymalnego obciążenia silnika.
Microstepping (sterowanie mikrokrokowe)
Silnik krokowy wykonuje skokowe ruchy wirnika co określony konstrukcyjnie kąt. Przy niewielkiej prędkości obrotowej gwałtowne ruchy spowodowane nagłym włączaniem i wyłączaniem napięcia zasilającego cewki stojana skutkują zwiększonym hałasem i wpadaniem w drgania. Technika microsteppingu ma za zadanie ograniczanie tych niepożądanych zjawisk przez stopniowe, płynne przejście pomiędzy krokami, a dodatkowo zwiększa rozdzielczość. Jeżeli będziemy podawać na cewki stojana napięcie zasilania będące odpowiednio zmodulowanym przebiegiem PWM, to prąd płynący przez uzwojenia będzie płynnie „przechodził” od jednego do drugiego uzwojenia. Gy współczynnik wypełnienia napięcia zasilającego pierwsze uzwojenie się zwiększa, to współczynnik wypełnienia drugiego uzwojenia się zmniejsza.
Na rysunku 12 zaprezentowano wykres zależności momentu generowanego przez każde z dwóch uzwojeń silnika w funkcji kątowego położenia wału silnika w czasie sterowania techniką mikrokroków. Wykres z rysunku 11 jest wykresem dla silnika idealnego. Moment obrotowy jest proporcjonalny do prądu uzwojenia i jest dodawany liniowo. W rzeczywistości krzywa wypadkowa momentu odbiega kształtem od przebiegu sinusoidalnego. Nieliniowości powodują, że prąd w uzwojeniach nie może osiągnąć wartości maksymalnej i przez to nie można osiągnąć przy takim sterowaniu momentu maksymalnego. Można tak zmodyfikować sterowanie, aby uzyskać moment maksymalny (rysunek 13).
Algorytmy sterowania mikrokrokowego wymagają obliczeń zależności z funkcjami sinus i cosinus. Najlepiej użyć do tego szybkiego procesora z jednostką DSP lub odpowiednio stablicowanych wartości funkcji sinus.
Sterowanie typu chopper jest używane do ograniczania prądu uzwojenia przy zasilaniu uzwojeń silnika napięciem wyższym niż napięcie znamionowe silnika. Po podaniu napięcia zasilania prąd w uzwojeniu bardzo szybko osiąga natężenie maksymalne Imax. Wówczas napięcie zasilania jest automatycznie wyłączane. Prąd spada do zera i napięcie jest podawane ponownie. W ten sposób napięcie zasilania jest przekształcane na napięcie impulsowe, jak na rysunku 14. Praktyczna implementacja tego sterowania wymaga pomiaru prądu płynącego w obwodzie zasilania uzwojeń stojana. Realizuje się go metodą techniczną przez pomiar napięcia na rezystorze szeregowym wtrąconym w obwód zasilania. Ten spadek napięcia podany na wejście analogowego komparatora może sterować kluczem włączającym/wyłączającym napięcie zasilania. Układ sterowania może wyglądać tak jak na rysunku 15. Jeżeli spadek napięcia na rezystorze Rsense przekroczy wartość napięcia Vcontrol, to na wyjściu komparatora wystąpi poziom niski i klucze tranzystorowe zostaną zatkane. Prąd płynący przez uzwojenie silnika spadnie do zera, na wyjściu komparatora pojawi się stan wysoki i klucze wejdą w stan nasycenia, podając napięcie na uzwojenia silnika. Prąd uzwojenia ustawiany jest wartością napięcia Ccontrol.
Sterowanie silnikiem krokowym w praktyce – moduł dsPICDEM MCSM
Jak już wiemy, do wydajnego sterowania silnikiem krokowym, a szczególnie bipolarnym, jest potrzebny sterownik mikroprocesorowy oraz układy wykonawcze. Moduł dsPIDEM MCSM produkowany przez firmę Microchip jest przeznaczony do sterowania silnikami bipolarnymi i unipolarnymi – jego wygląd pokazano na fotografii 16. Oparto go na mikrokontrolerze z rodziny dsPIC33F typu dsPIC33FJ32MC204. Oprócz mikrokontrolera w module zabudowano układy przeznaczone do sterowania silnikiem:
- Dwa pełne mostki H z driverami sterującymi zasilanymi napięciem +15 V.
- Dwa rezystory Rsense do pomiaru prądu płynącego przez uzwojenia wraz z układem wzmacniaczy napięcia stałego.
- Dzielnik do pomiaru napięcia zasilania silnika.
- Układ zabezpieczenia nadprądowego.
- Potencjometr 10 kV przeznaczony do regulacji prędkości obrotowej silnika.
- Diody LED do sygnalizacji optycznej przebiegu sygnałów PWM sterujących silnikiem.
- Dioda LED sygnalizująca przekroczenie progu pobieranego prądu – zadziałanie zabezpieczenia nadprądowego.
Mikrokontroler jest zasilany napięciem +3,3 V. Do zasilania całego układu w tym silniku przewidziano współosiowe złącze J6.
Układ sterowania pozwala na pracę z silnikami unipolarnymi i bipolarnymi. Mikrokontroler ma wbudowany 8-kanałowy, szybki kontroler z trybem wyjść komplementarnych, generowaniem czasów martwych (dead time) i programowalnym trybem pracy przetwornika ADC służącym do wyzwalania długości cyklu PWM. Poza tym są tam wbudowane sprzętowe mechanizmy zabezpieczające sterowane układy przed uszkodzeniem w razie awarii. Na rysunku 17 pokazano sposób sterowania kierunkiem przepływu prądu przez uzwojenie stojana przez sygnał modułu PWM.
Układ pomiaru prądu musi mieć możliwość pomiaru w dwu kierunkach przy sterowaniu silnikiem bipolarnym. Dlatego wzmacniacze pomiarowe są zaprojektowane do mierzenia zmian napięcia z offsetem równym Vdd/2. Wzmocnienie jest tak dobrane, że by zakres pomiarowy wynosił ±2,2 A.
Na rysunku 18 pokazano układ z komparatorem napięcia porównujący mierzone prądy płynące w cewkach z zadanym progiem. Sygnał FAULT ma zabezpieczyć silnik i układ sterowania przed skutkami awarii (przeciążenie, zwarcie, zatrzymanie silnika). Moduł MCSM ma ustawiony próg zabezpieczenia na ok. 1,7 A, ale można go zmienić poprzez zmianę rezystancji w dzielniku złożonym z oporników R48 i R51. Jeśli jeden lub dwa tory sterowania uzwojeniami pobierają prąd przekraczający 1,7 A, to sygnał FAULT wyzwala sprzętowy układ, który wymusza na wyprowadzeniach modułu PWM poziom niski i wszystkie klucze tranzystorowe przechodzą w stan zatkania. Ponieważ wszystko odbywa się sprzętowo, zabezpieczenie jest niezależne od niezawodności działania programu sterującego. Praca kanałów PWM jest sygnalizowana przez 8 diod LED.
Żeby ułatwić potencjalnemu użytkownikowi rozpoczęcie pracy z silnikami krokowymi, są oferowane dwie wersje zestawu dsPICDEM MCSM – sam moduł oraz moduł z hybrydowym silnikiem krokowym 42HS03. Fabryczna konfiguracja modułu jest dobrana pod katem tego właśnie silnika.
Aplikacja sterująca silnikiem jest fabrycznie wgrana do pamięci mikrokontrolera. Z modułem jest dostarczona płyta z dokumentacją i projektem zawierającym program sterujący. Pomimo, że sam moduł pochodził z roku 2015, to projekt jest przeznaczony dla archaicznego już dzisiaj środowiska MPLAB IDE V8.xx. Aby można było pracować z projektem, trzeba go przetransponować na projekt otwierany w MPLAB X IDE. Do tego celu służy opcja otwierania nowego projektu „Existing MPAB IDE V8 Project”. Po zapisaniu projekt kompiluje się poprawnie za pomocą MPALB XC16 V1.20. Dla nowszych wersji kompilator zgłasza błędy.
Program Microchipa zawiera wiele przydatnych procedur: inicjalizację układów peryferyjnych (w tym PWM), przetwornika A/C, liczników oraz algorytmy sterowania silnikami bipolarnymi i unipolarnymi. Można ich użyć do własnych opracowań układów sterowania silnikami krokowymi.
Moduł dsPICDEM MCSM jest przykładem kompleksowego wsparcia dla projektanta mającego się zmierzyć z problemem sterowania silnikiem krokowym. Mamy tu wszystkie niezbędne rozwiązania sprzętowe, od sterownika mikroprocesorowego, poprzez układy driverów i kluczy MOS, aż do układów pomiaru prądu w gałęziach sterujących i układów zabezpieczających przed skutkami awarii mechanicznych (przeciążenie mechaniczne lub zablokowanie wirnika) lub elektrycznych (np. zwarcie albo przeciążenie elektryczne). Dołączone oprogramowanie pozwala na przeanalizowanie algorytmów sterowania i procedur konfiguracji układów peryferyjnych. Jeżeli potrzebujemy wiedzy, jak sterować silnikiem krokowym, to zakup tego modułu jest na pewno dobrym pomysłem.