Silniki Skokowe
ROBOTY PRZEMYSŁOWE
LABORATORIUM
SILNIKI SKOKOWE
Autorzy:
Marcin Banas
Tomasz Bielecki
Emil Kubicki
1
Silniki Skokowe
Kielce 2006
1. Wstęp
Silnik skokowy (krokowy) , jest przetwornikiem energii
przetwarzającym sygnały elektryczne (ciąg impulsów sterujących) w
mechaniczne przesunięcie kątowe o charakterze dyskretnym. Kąt obrotu
wału silnika skokowego jest proporcjonalne do liczby impulsów
sterujących , a prędkość silnika do częstotliwości tych impulsów. Impuls
sterujący powoduje, że cewki (w przypadku uzwojenia skupionego) lub
pasma (w przypadku uzwojenia rozłożonego) uzwojenia wzbudzenia
silnika zostają, za pośrednictwem komutatora elektronicznego, zasilone
określonym układem napięć utrzymywanym na nich do czasu pojawienia
się następnego impulsu sterującego powodującego zmianę układu napięć.
Powoduje to zmianę rozpływu prądu w uzwojenia silnika i skokową zmianę
kierunku strumienia magnetycznego, a co za tym idzie obrót wirnika o
określony kąt zwany skokiem. Stany elektryczne uzwojenia noszą nazwę
taktów komutacji. Tworzą one cykl komutacji. Cyklowi odpowiada taka
liczba taktów komutacji (skoków wirnika), dla której wał wirnika wykona
360
0
obrotu.
2. Zasada działania
Zasada działania zostanie przedstawiona na przykładzie prostego
modelu silnika o wirniku czynnym w postaci dwubiegunowego magnesu
trwałego ( p=1), którego stojan ma dwa pasma uzwojenia sterującego.
Minimalny skok wirnika można obliczyć ze wzoru:
m
p
∗
Π
Rozpatrywany silnik ma komutację czterotaktową:
1 - Po zasileniu cewki 1 napięciem o dodatniej biegunowości, wytworzy
ona strumień a wirnik zajmie położenie by kierunek jego strumienia był
zgodny z kierunkiem strumienia stojana,
2 - Po zasileniu cewki 2 napięciem o dodatniej biegunowości strumień
zmieni kierunek o 90
0
, co spowoduje obrót wirnika o ten sam kąt,
3 - Zasilając cewkę 1 napięciem o ujemnej biegunowości otrzymamy
strumień przemieszczony o kąt 90
0
w porównaniu z taktem
2
Silniki Skokowe
poprzednim, wirnik znów podąży za tą zmianą tak jak to jest pokazane
na rysunku poniżej,
4 - W ostatnim takcie zasilamy cewkę 2 napięciem o ujemnej
biegunowości, w wyniku czego otrzymujemy analogiczny skutek jak w
pozostałych taktach.
Cały takt komutacji możemy zapisać w postaci: (+1) – (+2) – (-1) – (-2).
W przypadku zastosowania silnika skokowego o wirniku biernym
reluktancyjnym, który nie rozróżnia zmiany zwrotu wektoru strumienia
należy zastosować cztery pasma uzwojenia.
Układ komutacji takiego silnika jest pokazany poniżej:
a)
b)
Komutator silnika skokowego: A,B,C,D - kolejne pasma silnika
czteropasmowego, T - wejście impulsów taktujących, K - wejście
sygnału kierunku
3
Silniki Skokowe
a) - wzbudzanie pasma A po pierwszym impulsie taktu na wejściu T
b) - wzbudzanie pasma B po drugim impulsie taktu na wejściu T
W pierwszym przypadku zmienialiśmy biegunowość napięcia
sterującego, taki sposób jest nazywany komutacją bipolarną. Natomiast w
przypadku niezmieniania biegunowości mamy do czynienia z komutacją
unipolarną.
Pasma silnika mogą być wzbudzane pojedynczo, parami lub według innych
zasad dostosowanych do jego budowy (np. przy czterech pasmach
możemy w ośmiu taktach zasilać na przemian jedną lub dwie cewki).
Jeśli w czasie działania maszyny sposób ten nie jest zmieniany, mówi się o
komutacji symetrycznej.
Łatwo zauważyć że w przypadku komutacji niesymetrycznej, zwiększa się
dwukrotnie liczba taktów w cyklu, a tym samym zmniejsza się dwukrotnie
skok wirnika silnika.
Przykładem może być często stosowany sposób nazywany 1/4. Oznacza
to, że w każdej chwili tylko jedno z pasm jest wzbudzane, a liczba
występujących kombinacji zasilania wynosi 4.
Innym równie często stosowanym algorytmem zasilania jest 2/4, czyli tzw.
zasilanie pasm parami. Jest to sposób pozwalający na lepsze
wykorzystanie miedzi uzwojenia. Na rysunku poniżej pokazano
wyidealizowany wykres obrazujący przebiegi prądów w pasmach silnika
komutowanego w taki sposób. W przedstawionym przypadku przełączenie
komutatora następuje pod wpływem ujemnego zbocza impulsu
taktującego.
Komutacja unipolarna czterech pasm parami wg algorytmu 2/4
(przebiegi wyidealizowane)
u - napięcie taktujące, t - czas, i
A
, i
B
, i
B
C
, i
D
- prądy w pasmach A, B, C
i D
4
Silniki Skokowe
Komutacja bipolarna dwóch pasm parami wg algorytmu 2/4
(przebiegi wyidealizowane)
i
A
, i
B
, - prądy w pasmach A i B
B
Aby uzyskiwać jak najmniejsze skoki wirnika możemy zwiększać liczbę par
biegunów wirnika lub liczbę pasm uzwojenia., jest to jednak kłopotliwe ze
względów konstrukcyjnych. Innym sposobem może być stopniowe
przełączanie prądów w poszczególnych pasmach, co uzyskujemy
metodami elektronicznymi. Przykład uzyskiwania mikroskoków jest
pokazany poniżej:
Komutacja bipolarna dwóch pasm parami z podziałem na mikroskoki
(przebiegi wyidealizowane)
i
A
, i
B
, - prądy w pasmach A i B
B
5
Silniki Skokowe
Skutkiem tego wytwarzany przez te prądy wypadkowy strumień
magnetyczny w stojanie również stopniowo zmienia swoje położenie
kątowe. Na rysunku pokazano podział skoku na 5 mikroskoków. Podział
taki, choć możliwy jak każdy inny, bywa rzadko stosowany ze względu na
znaczne komplikacje układowe. Najczęściej stosowane są podziały na 2
n
części, gdzie n - jest dowolną liczbą naturalną. Podział na więcej niż 32 lub
64 mikroskoki bywa często tylko iluzoryczny. Co prawda komutator
wysteruje uzwojenia zadanymi prądami, jednak wirnik silnika może na to
nie zareagować ze względu na istniejące tarcie w napędzanych
mechanizmach. Kolejny mikroskok może też nie wywołać ruchu, a
następny spowoduje skok o wartości „nadrabiającej zaległości”, a więc
także innej niż zadana. Im większe tarcie suche w mechanizmie
napędzanym przez silnik skokowy, tym bardziej prawdopodobne wadliwe
realizowanie podziału skoku na mikroskoki.
3. Zalety i wady
Zalety:
- kąt obrotu silnika jest proporcjonalny do ilości impulsów
wejściowych,
- silnik pracuje z pełnym momentem w stanie spoczynku (o ile
uzwojenia są zasilane),
- precyzyjne pozycjonowanie i powtarzalność ruchu - dobre silniki
krokowe mają dokładność ok. 3 - 5% kroku i błąd ten nie kumuluje
się z kroku na krok,
- możliwość bardzo szybkiego rozbiegu, hamowania i zmiany
kierunku,
- niezawodne - ze względu na brak szczotek. żywotność silnika zależy
zatem tylko od żywotności łożysk,
- zależność obrotów silnika od dyskretnych impulsów umożliwia
sterowanie w pętli otwartej, przez co silnik krokowy jest łatwiejszy i
tańszy w sterowaniu,
- możliwość osiągnięcia bardzo niskich prędkości synchronicznych
obrotów z obciążeniem umocowanym bezpośrednio na osi,
- szeroki zakres prędkości obrotowych uzyskiwany dzięki temu, że
prędkość jest proporcjonalna do częstotliwości impulsów
wejściowych,
- jedną z najbardziej znaczących zalet silnika krokowego jest
możliwość dokładnego sterowania w pętli otwartej. Praca w pętli
otwartej oznacza, że nie potrzeba sprzężenia zwrotnego - informacji
o położeniu. Takie sterowanie eliminuje potrzebę stosowania
kosztownych urządzeń sprzężenia zwrotnego, takich jak enkodery
optoelektroniczne. Pozycje znajduje się zliczając impulsy wejściowe.
6
Silniki Skokowe
Wady:
- rezonanse mechaniczne pojawiające się przy niewłaściwym
sterowaniu,
- trudności przy pracy z bardzo dużymi prędkościami.
4. Zastosowanie
Ze względu na wymienione cechy charakterystyczne silniki skokowe
znalazły bardzo wiele różnorodnych zastosowań . Ich udział ilościowy w
całej grupie małych maszyn elektrycznych przekracza 15 % i stale rośnie.
Znaleźć je można wszędzie tam, gdzie wymagane jest precyzyjne
pozycjonowanie kątowe lub liniowe. Najwięcej silników skokowych
znajduje się w komputerach i urządzeniach peryferyjnych do nich
(stacjach dyskietek, dysków twardych, czytnikach i nagrywarkach płyt CD,
DVD, drukarkach, skanerach). W każdym komputerze domowym jest kilka
takich silników.
Drugą grupą urządzeń powszechnego użytku, w których znaleźć można
wiele różnorodnych silników skokowych, są wyroby mechanizujące prace
biurowe, zapisujące i odczytujące informacje dźwiękowe oraz obrazowe, a
także zegary i zegarki z regulatorem kwarcowym.
Nowoczesne aparaty fotograficzne, kamery wideo, rzutniki obrazów i
projektory, pozycjonery anten satelitarnych, telefaksy mają w swej
budowie silniki skokowe.
Setki milionów silników skokowych pracuje na całym świecie w
urządzeniach technologicznych, a wśród nich w robotach, manipulatorach,
pozycjonerach, drukarkach kodów, układach selekcji, w maszynach
sprzedających, pakujących i wielu, wielu innych. Silniki do zastosowań
technologicznych, a szerzej, profesjonalnych - często nazywa się
elektromaszynowymi elementami automatyki [2, 7] wyróżniając tą nazwą
maszyny o szczególnie wysokiej jakości wykonania i stabilności
parametrów.
Podobnie wysokie wymagania odnośnie jakości wykonania i dokładności
ruchu stawiane są silnikom stosowanym do budowy aparatury medycznej,
jeszcze wyższe do urządzeń militarnych i lotnictwa, a najwyższe do
sprzętu kosmicznego.
7
Silniki Skokowe
Na rysunku poniżej zestawiono typowe zastosowania silników skokowych.
5. Przykładowy program
#include "5510drv.h"
#include <conio.h>
void main()
{
unsigned char type[4];
int ch, i, aiv[32];
char c;
unsigned char chmask[4], ab;
ch=0;
for(i=0;i<4;i++) type[i]=Get_BoardID(i);
// do funkcji Get_BoardID(int) wprowadzamy numer slotu a ona zwraca nam nazwe
modelu karty
8
Silniki Skokowe
for(i=0;i<4;i++)
{
printf("Wykorzystanie funkcji Get_BoardID(int) \n");
printf("Slot numer %d urzadzenie %s \n",i+1,type[i]);
}
// wyswietlenie informacji o numerze slotu w ktorym znajduje sie karta i modelu karty
printf("nacisnij dowolny klawisz \n");getch();
printf("Wykorzystanie funkcji Init501718(int) \n");
printf("Inicjalizacja ADAM-5018 \n");
Init501718(1); // inicjalizacja karty w slocie podanym w postaci argumentu
printf("Wykorzystanie funkcji AiUpdate(int,int*) \n");
printf("Wykorzystanie funkcji Get501718(int,int,int*) \n");
printf("odczyt danych \n");
for(i=0;i<7;i++)
{
while(AiUpdate(1, &ch)!=0); /* w pierwszym argumencie podajemy slot, drugi
zwraca numer kanalu (0-7), natomiast cala funkcja czy kanal jest gotowy (wartosc 0),
nie gotowy (wartosc -1) lub tez popsuty modul wejsc analogowych (wartosc -2) */
Get501718(1, ch, &(aiv[ch])); /* funkcja jest typu void, pierwszy argument to
numer slotu drugi to numer kanału a trzeci argument zwraca wartość danych z
określonego kanału */
printf("nacisnij 'Q', aby opuscic program..\n");
while(1)
{
if(AiUpdate(1, &ch)==0) // jesli kanal jest gotowy to wykonuj ...
{
Get501718(1, 0, &(aiv[ch]));
printf("kanal %d wartosc=%d \n",0,aiv[ch]); // sprawdzenie wartosci w kanale 0
ab=1;
9
Silniki Skokowe
if(aiv[ch]>320) Set5068(&ab,0,0,ABit); /* jesli w kanale ch jest wartosc wieksza
od 320 to wyjscie cyfrowe o numerze 0 ustaw w stan wysoki */
ab=0;
if(aiv[ch]<300) Set5068(&ab,0,0,ABit); /* jesli w kanale ch jest wartosc
mniejsza od 300 to wyjscie cyfrowe o numerze 0 ustaw w stan niski */
}
if( kbhit())
{
c=getch();
if( c == 'q' || c == 'Q')
break;
}
}
}
}
6. Literatura
1. Norma branżowa BN-81/3016-10. Maszyny elektryczne. Elementy automatyki.
Silniki skokowe. Wymagania i badania.
2. Polska Norma PN-87/E-01006: Maszyny elektryczne. Elementy automatyki.
Terminologia.
3. Polska Norma PN-E-06836: Maszyny elektryczne wirujące. Maszyny do sterowania.
Silniki skokowe.
4. Jaszczuk W., Wierciak J., Bodnicki M.: Napędy elekromechaniczne urządzeń
precyzyjnych. Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa, 2000
5. Pustoła J.: Przegląd danych charakterystycznych silników krokowych. Pomiary
Automatyka Kontrola, nr 8/1968
6. Pustoła J.: Parametry i możliwości stosowania krajowych silników skokowych.
Pomiary Automatyka Kontrola, nr 12/1971
7. Sochocki R.: Mikromaszyny elektryczne. Oficyna wydawnicza Politechniki
Warszawskiej. Warszawa 1996
8. Wróbel T.: Silniki skokowe. Wydawnictwa Naukowo-Techniczne.Warszawa, 1993
10