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.