LEKCJA 20: SILNIK KROKOWY I ULN2003

Wprowadzenie

Silniki krokowe, ze względu na ich unikalną konstrukcję, mogą być sterowane z dużą precyzją bez żadnego mechanizmu sprzężenia zwrotnego. Jednoetapowy wał, zamontowany z szeregiem magnesów, jest sterowany przez serię cewek elektromagnetycznych, które są ładowane dodatnio i negatywnie w określonej kolejności, dokładnie przesuwając go do przodu lub do tyłu w małych "krokach".

Jak wspomniano w poprzedniej lekcji, istnieją dwa rodzaje silników krokowych, jednokierunkowe i dwubiegunowe, i to jest bardzo ważne, aby wiedzieć, jaki rodzaj pracujesz z. W tym eksperymencie będziemy używać jednobiegunowego krok po kroku. Płyta UNO lub inne amus nie mogą bezpośrednio obsługiwać silników krokowych.

Wymagany jest obwód kontrolera, więc w tej lekcji używamy płytki sterownika silnika krokowego (jak pokazano na poniższej ilustracji).

Na tej płycie znajdują się cztery diody LED na górze. Białe złącze w środku będzie podłączone do silnika krokowego.

Jeśli chodzi o dno, istnieją cztery wejścia IN1, IN2, IN3, IN4 używane do łączenia się z kontrolerem. Gdy wejście IN jest wysokie, za zaprza się odpowiednia dioda LED.

Pasek pin po prawej stronie jest wejściem zasilacza.

Na górze znajdują się cztery diody LED. Białe złącze w środku jest podłączone do silnika krokowego.

Na dole znajdują się cztery wejścia IN1, IN2, IN3,IN4 używane do podłączenia do sterownika. Gdy wejście IN jest wysokie, za zaprza się odpowiednia dioda LED. Pasek pin po prawej stronie jest wejściem zasilacza.

Składniki

"Produkt:2000" "Produkt:256" "Produkt:1436" "Produkt:847" "Produkt:536" "Produkt:44"

Początku

Silnik krokowy jest silnikiem czterofazowym, który wykorzystuje jednobiegunowy zasilacz prądu stałego. Przez cały czas dostarczasz prąd elektryczny do wszystkich zwojów fazowych silnika krokowego za pomocą odpowiedniej sekwencji rozrządu, możesz wykonać obrót silnika krok po kroku. Schemat czterofazowego reaktywnego silnika krokowego jest przedstawiony poniżej:

Jak pokazano na rysunku, w środku silnika znajduje się wirnik – magnes trwały w postaci koła zębatego. Wokół wirnika, 0 do 5 są zęby. Na zewnątrz znajduje się 8 biegunów magnetycznych, z których każdy jest połączony cewkami, więc tworzą cztery pary od A do D, co nazywa się fazą. Posiada cztery przewodzące kable do łączenia się z przełącznikami SA, SB, SC i SD. Dlatego wszystkie cztery fazy są równoległe w obwodzie, a dwa bieguny magnetyczne w jednej fazie są szeregowo.

Oto jak działa 4-fazowy silnik krokowy:

Na początku przełącznik SB jest włączony, wyłączniki SA, SC i SD są wyłączone, a bieguny magnetyczne fazy B są wyrównane z zębami wirnika 0 i 3.

B-bieguny będzie ciągnąć wirnika 0-3 zęby do siebie. Gdy przełącznik SA jest włączony, a przełączniki SB, SC i SD są wyłączone, wirnik obraca się pod polem magnetycznym fazy A i wyrównuje się z zębami wirnika 5 i 2. Polacy A będą ciągnąć wirnik 5-2 zęby do siebie. Sytuacja jest podobna i ciągła.

Prąd elektryczny po kolei dostarcza do faz A, B, C i D, a wirnik obraca się w kolejności A, B, C i D

Czterofazowy silnik krokowy ma trzy tryby pracy:

-Prosty czteroetapowy napęd -Wave

-czterostopny podwójny- Pełny krok

-osiem kroków - Pół kroku

Kąt nachylenia dla czterostopnionego pojedynczego i czterostopnie sobowtóra są takie same, ale moment obrotowy dla czterostopnionego singla jest mniejszy. Kąt nachylenia w trybie ośmioetapowym jest o połowę o połowę wyższy niż czteroetapowy pojedynczy i czterostopny. W związku z tym ośmioetapowy tryb pracy może utrzymać wysoki moment obrotowy i poprawić dokładność sterowania. W tym eksperymencie pozwalamy silnikowi krokowe działać w trybie ośmioetapowym. Aby podłączyć silnik do obwodu, konieczne jest użycie płytki sterującej. Sterownik silnika krokowego ULN2003 jest 7-kanałowym obwodem falownika. Jeśli dostarczamy wysoki poziom do IN1 i niski poziom do IN2, IN3 i IN4, to wyjście OUT1 jest na niskim poziomie, a wszystkie wyjścia są na wysokim poziomie. Tak więc D1 zapala się, włącza się przełącznik SA, a silnik krokowy obraca się o jeden krok. Jest to powtarzane w kółko. W związku z tym, trzeba tylko dać silnik krok po kroku określonej sekwencji taktowania i będzie obracać krok po kroku. ULN2003 jest tutaj używany do zapewnienia konkretnych sekwencji czasu dla silnika krokowego.

Procedura

Krok 1:Podłącz obwód

Płyta kierowcy ULN2003 IN1----------------------- Arduino ONE R3 Pin cyfrowy 8

Płyta kierowcy ULN2003 IN2----------------------- Arduino ONE R3 Pin cyfrowy 9

Płytka sterownika ULN2003 IN3----------------------- Arduino ONE R3 Pin cyfrowy 10

Płytka sterownika ULN2003 IN4----------------------- Arduino ONE R3 Pin cyfrowy 11

Płytka sterownika ULN2003 "+" ----------------------- Arduino 1 R3 Pin zasilania 5V

Płytka sterownika ULN2003 "-" -----------------------Arduino ONE R3 Pin zasilania GND

Krok 2:Harmonogram (patrz przykładowy kod na płycie CD lub oficjalnej stronie internetowej)

/***********************************************************

Nazwa pliku: szybkość pędu krokowym

***********************************************************/

int Pin0 ? 8;//definition cyfrowy 8 pinów jako pin do sterowania IN1 (ULN24L01)

int Pin1 ? 9;//definition cyfrowy 9 pinów jako pin do sterowania IN2 (ULN24L01)

int Pin2 ? 10;//definition cyfrowy 10 pinów jako pin do sterowania IN3 (ULN24L01)

int Pin3 ? 11;//definition cyfrowe 11 pinów jako pin do sterowania IN4 (ULN24L01)

int _step 512;

int _speed 1;

void setup()

{

pinMode (Pin0, WYJŚCIE);//Ustaw cyfrowy tryb 8 portów, wyjście dla wyjścia

pinMode(Pin1, WYJŚCIE);//Ustaw cyfrowy tryb 9 portów, wyjście dla wyjścia

pinMode(Pin2, WYJŚCIE);//Ustaw cyfrowy tryb portu 10, wyjście dla wyjścia

pinMode (Pin3, WYJŚCIE);//Ustaw cyfrowy tryb portu 11, wyjście dla wyjścia

}

pętla void()

{

Prędkość(15);//Prędkość obrotowa silnika krokowego s 15 szybka (uwaga: prędkość od 1 do 15)

Krok(512);//Silnik krokowy do przodu 512 stopni ---- kąt 360

opóźnienie(2000);// opóźnienie 2S

Prędkość1); Prędkość silnika krokowego s 1 wolno (uwaga: prędkość od 1 do 15)

Krok(-512);/Silnik krokowy do tyłu 512 stopni ---- kąt 360

opóźnienie(2000);/opóźnienie 2S

}

void Speed (int stepperspeed)//set Stepper speed

{

_speed 15 - stepperspeed;

jeśli( _speed<1)

_speed 1;

}

jeżeli( _speed>15)

_speed 15;

}

}

unieważnienie obrót (int _step)//obrót silnika krokowego

{

if(_step>-0)- // Silnik stepper do przodu

for(int i-0;i<_step;i++)

setStep(1, 0, 0, 1);

opóźnienie(_speed);

setStep(1, 0, 0, 0);

opóźnienie(_speed);

setStep(1, 1, 0, 0);

opóźnienie(_speed);

setStep(0, 1, 0, 0);

opóźnienie(_speed);

setStep(0, 1, 1, 0);

opóźnienie(_speed);

setStep(0, 0, 1, 0);

opóźnienie(_speed);

setStep(0, 0, 1, 1);

opóźnienie(_speed);

setStep(0, 0, 0, 1);

opóźnienie(_speed);

}

"else" // Silnik krokowy do tyłu

for(int i-_step;i<0;i++)

setStep(0, 0, 0, 1);

opóźnienie(_speed);

setStep(0, 0, 1, 1);

opóźnienie(_speed);

setStep(0, 0, 1, 0);

opóźnienie(_speed);

setStep(0, 1, 1, 0);

opóźnienie(_speed);

setStep(0, 1, 0, 0);

opóźnienie(_speed);

setStep(1, 1, 0, 0);

opóźnienie(_speed);

setStep(1, 0, 0, 0);

opóźnienie(_speed);

setStep(1, 0, 0, 1);

opóźnienie(_speed);

}

}

}

void setStep(int a, int b, int c, int d)

{

digitalWrite(Pin0, a);

digitalWrite(Pin1, b);

digitalWrite(Pin2, c);

digitalWrite(Pin3, d);

}

Krok 3:Skompiluj kod.

Krok 4:Załaduj szkic na pokładzie One.

Teraz wyreguluj potencjometr, silnik krokowy obróci odpowiednie stopnie.

Uwaga.

Silnik "4 bębny" lub "4-fazowy" - wszystko to samo