Silnik krokowy i Arduino

Silnik krokowy i Arduino

INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(

Zastanawialiście się kiedyś jak podłączyć silnik krokowy do Arduino? Zapewne wielu z was posiada takie silniki wśród swoich elektronicznych materiałów. Takie silniczki popularne były i są w napędach CD/DVD, drukarkach, czy skanerach. W związku z tym, niewielkim kosztem możemy wejść w posiadanie takiego silniczka, ale co dalej.

KONICA MINOLTA DIGITAL CAMERA

W internecie można się natknąć na różne sposoby podłączania silników do mikrokontrolerów. Na początku należałoby powiedzieć parę słów o tym czym są silniki krokowe. Moim celem nie jest wprowadzenie czytelnika w tajniki i teorię budowy silników krokowych, ale naświetlenie mu z czym to się je. Generalnie silnik krokowy to silnik elektryczny, w którym impulsowe zasilanie prądem elektrycznym powoduje, że jego wirnik nie obraca się ruchem ciągłym, lecz wykonuje za każdym razem ruch obrotowy o ściśle ustalonym kącie. Dzięki temu kąt obrotu wirnika jest ściśle zależny od liczby dostarczonych impulsów prądowych, a prędkość kątowa wirnika jest dokładnie równa częstotliwości impulsów pomnożonej przez wartość kąta obrotu wirnika w jednym cyklu pracy silnika.

Nas, na chwilę obecną interesuje tylko ta informacja, że rotor silnika będzie się przekręcał o ustalony przez nas kąt lub krok. Dlatego też silniki krokowe wykorzystywane są w automatyce, robotyce i wszędzie tam gdzie potrzebna jest dokładność.

Sterownik i jego podłączenie

Do naszego pierwszego uruchomienia użyjemy  gotowego zestawu składającego się z silnika krokowego i sterownika opartego na ULN2003A. Oczywiście można samemu wykonać taki sterownik korzystając ze schematów dostępnych w sieci.

 

KONICA MINOLTA DIGITAL CAMERA

 

Przyjrzyjmy się płytce sterownika. Jak widać oprócz wspomnianego wcześniej układu ULN2003A znajdują się jeszcze rezystory i diody LED, służące do informowania nas o aktualnej pracy sterownika. Po jednej stronie znajduje się gniazdo XH do którego podłączamy nasz silnik, natomiast po drugiej stronie widać listwę goldpin służącą do połączenia z arduino i podłączenia zasilania z zakresu 5-12V.

 Biblioteka

 Z uruchomieniem nie będzie najmniejszych problemów. W tym przykładzie wykorzystaliśmy wbudowaną w IDE bibliotekę stepper. Sterownik podłączyliśmy zgodnie z kodem (wejścia IN1…4 na sterowniku do wyjść Digital 10…8 w Arduino). Potencjometr został podłączony do Analog 0 i zasilania 5V i GND. Tak podłączony układ jest gotowy do uruchomienia.

#include <Stepper.h>

const int stepsPerRevolution = 140;  // 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);

int stepCount = 0;  // number of steps the motor has taken

void setup() {
  // nothing to do inside the setup
}

void loop() {
  // read the sensor value:
  int sensorReading = analogRead(A0);
  // map it to a range from 0 to 100:
  int motorSpeed = map(sensorReading, 0, 1023, 0, 100);
  // set the motor speed:
  if (motorSpeed > 0) {
    myStepper.setSpeed(motorSpeed);
    // step 1/100 of a revolution:
    myStepper.step(stepsPerRevolution / 100);
  }
}

INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(

Ocena: 0/5 (głosów: 0)

Podobne posty

5 komentarzy do “Silnik krokowy i Arduino

Odpowiedz

anuluj

Masz uwagi?