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.
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.
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 :(
Normalnie silnik krokowy obraca się w prawo. Gdy chcecie zmienić kierunek wystarczy w wersie ” const int stepsPerRevolution = 140 ” podać ujemną liczbę .
umieść to w treści poradnika a nie w kom :)
troszkę słabo rozbudowany ten artykuł
Jest to mój drugi post więc proszę o wyrozumiałość.
fajny projekt ale jak na majsterkowo to słaby.
powinniśmy oceniać jakość artykułu/wykonanego urządzenia.