Arduino - silnik krokowy
Silnik krokowy lub silnik krokowy to bezszczotkowy silnik synchroniczny, który dzieli pełny obrót na kilka kroków. W przeciwieństwie do bezszczotkowego silnika prądu stałego, który obraca się w sposób ciągły po przyłożeniu do niego stałego napięcia stałego, silnik krokowy obraca się w dyskretnych krokach.
Dlatego silniki krokowe są wytwarzane z krokami na obrót 12, 24, 72, 144, 180 i 200, co daje kąty stopniowania 30, 15, 5, 2,5, 2 i 1,8 stopnia na stopień. Silnik krokowy może być sterowany ze sprzężeniem zwrotnym lub bez.
Wyobraź sobie silnik w samolocie RC. Silnik obraca się bardzo szybko w jednym lub drugim kierunku. Możesz zmieniać prędkość wraz z ilością mocy przekazywanej do silnika, ale nie możesz nakazać śmigłu, aby zatrzymał się w określonej pozycji.
Teraz wyobraź sobie drukarkę. Wewnątrz drukarki znajduje się wiele ruchomych części, w tym silniki. Jeden taki silnik działa jak podajnik papieru, obracające się rolki, które przesuwają kawałek papieru podczas drukowania na nim atramentu. Silnik ten musi być w stanie przesunąć papier na dokładną odległość, aby móc wydrukować następny wiersz tekstu lub następny wiersz obrazu.
Do gwintowanego pręta jest przymocowany inny silnik, który przesuwa głowicę drukującą w przód iw tył. Ponownie, ten gwintowany pręt musi zostać przesunięty o dokładną wielkość, aby wydrukować jedną literę po drugiej. Tutaj przydają się silniki krokowe.
Jak działa silnik krokowy?
Zwykły silnik prądu stałego obraca się tylko w jednym kierunku, podczas gdy silnik krokowy może obracać się w precyzyjnych przyrostach.
Silniki krokowe mogą obracać się o dokładną liczbę stopni (lub kroków) według potrzeb. Daje to pełną kontrolę nad silnikiem, umożliwiając przesunięcie go w dokładne miejsce i utrzymanie go w tej pozycji. Czyni to poprzez zasilanie cewek wewnątrz silnika przez bardzo krótki czas. Wadą jest to, że musisz cały czas zasilać silnik, aby utrzymać go w pożądanej pozycji.
Wszystko, co na razie musisz wiedzieć, to to, że aby ruszyć silnik krokowy, każesz mu wykonać określoną liczbę kroków w jednym lub drugim kierunku i podajesz prędkość, z jaką ma kroczyć w tym kierunku. Istnieje wiele odmian silników krokowych. Opisane tutaj metody mogą być wykorzystane do wywnioskowania, jak używać innych silników i sterowników, o których nie wspomniano w tym samouczku. Jednak zawsze zaleca się zapoznanie się z arkuszami danych i przewodnikami silników i sterowników specyficznymi dla posiadanych modeli.
Wymagane składniki
Będziesz potrzebował następujących komponentów -
- 1 × płyta Arduino UNO
- 1 × mały bipolarny silnik krokowy, jak pokazano na poniższym obrazku
- 1 × LM298 jazdy IC
Procedura
Postępuj zgodnie ze schematem obwodu i wykonaj połączenia, jak pokazano na rysunku poniżej.
Naszkicować
Otwórz oprogramowanie Arduino IDE na swoim komputerze. Kodowanie w języku Arduino będzie sterować twoim obwodem. Otwórz nowy plik szkicu, klikając Nowy.
Kod Arduino
/* Stepper Motor Control */
#include <Stepper.h>
const int stepsPerRevolution = 90;
// change this to fit the number of steps per revolution
// for your motor
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
void setup() {
// set the speed at 60 rpm:
myStepper.setSpeed(5);
// initialize the serial port:
Serial.begin(9600);
}
void loop() {
// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(stepsPerRevolution);
delay(500);
// step one revolution in the other direction:
Serial.println("counterclockwise");
myStepper.step(-stepsPerRevolution);
delay(500);
}
Kod do uwagi
Ten program steruje jednobiegunowym lub bipolarnym silnikiem krokowym. Silnik jest podłączony do cyfrowych pinów 8-11 Arduino.
Wynik
Silnik wykona jeden obrót w jednym kierunku, a następnie jeden obrót w drugim.