Ръководство за Бърз Старт със Серво-моторите

 

Автор:  JoelEB

Източник:   sparkfun.com

Превод:  Т. Б.

Има голям избор от двигатели, от които да избирате, и понякога не е съвсем ясно, кой от тях най-добре ще пасне
за вашето конкретно приложение. В това ръководство, ние ще дискутираме един от тези мотори, стъпковият мотор, и
кога е най-добре да се спрем на стъпков мотор, а не на друг. Ние също така ще дискутираме, как да използваме този мотор
с платката за лесно управление на серво-мотори „EasyDriver Motor Driver board“, която е и един от най-простите
драйвери.

 

ИЗИСКВАНИЯ

Тук отдолу е даден списък на нещата, които е *препоръчително да имате:
+ Драйверна Платка „EasyDriver Stepper Motor Driver“
+ Малък Серво-мотор
+ Breadboard платка
+ Мъжки-към-мъжки мостови проводничета
+ Рейка тип „Male Break Away Headers – Straight“ – Права
+ Arduino Uno (или подобен микроконтролер)
+ Поялник и аксесоари към него
+ 12V Захранващ Източник (или регулируем захранващ източник)

КАК ВСЪЩНОСТ РАБОТИ

Стъпковите мотори се различават от постоянно-токовите DC мотори, по това, че те
не просто се въртят в една/ или друга посока, а по това че те могат да се завъртат
на много точен ъгъл (малка стъпка). Представете си моторче върху радио-управляем модел
на самолет. Моторчето се върти изключително бързо в една/ или друга посока. Вие можете
да променяте скоростта косвено чрез подаваната мощност към мотора, но Вие неможете да кажете
на перката да спре на определена позиция. А сега си представете принтер. При него
съществуват доста подвижни части, в това число и мотори. Един такъв мотор, работи докато
хартията се подава към принтера, въртящите се валячета, които придвижват хартията докато върху
нея се отпечатва нещо. Именно този мотор трябва да има възможност да премества хартията на точно
определено отстояние, за да може да се отпечата следващи ред от текст или от изображение.
Съществува друг мотор, който е прикрепен към винтовия плъзгач, който пък премества печатащата глава
напред и назад. Отново, винтовият плъзгач трябва да бъде преместван с точно определена стъпка
за да се отпечатат буквите една след друга. Именно тук стъпковите мотори стават полезни.

Стъпковите мотори могат да се движат на точно определено ъглово количество, в градуси (или стъпки), когато им е наредено.
Този факт Ви дава пълен контрол над мотора, като по този начин Ви позволява, да го придвижите на точно определено
местоположение и да задържите новата позиция. Това се осъществява, чрез захранването на намотки(бобини), които се намират
вътре в самия мотор за *изключително кратки времеви интервали. Единственият недостатък може би, е това че трябва постоянно
да захранвате мотора, ако желаете да запазите текущата нова позиция. Е, разбира се ние няма да навлизаме много в детайлите,
но вие можете да прочетете повече в Wikipedia article (http://en.wikipedia.org/wiki/Stepper_motor/) относно стъпковите
мотори за цялата важна информация. Всичко, което трябва да знаете към този момент, е че за да задвижите един стъпков мотор,
Вие му нареждате да се придвижи с определен брой стъпки в една/ или друга посока, като му указвате и скоростта, с която
трябва да осъществи преместването.

Съществуват различни видове стъпкови мотори, както и съответно драйверни платки, за да ги контролирате.
Методите описани тук, могат да бъдат използвани, за да се загатне как да използвате други мотори и драйвери, които
неса споменати в това ръководство. Обаче, винаги е препоръчително, да си направите справка с *Datasheets и ръководствата на моторите,
както и на драйверите, които са строго специфични според моделите, които притежавате.

КАК ДА ГО ИЗПОЛЗВАМЕ

Тук ние ще дискутираме, как да свържем, закачим и контролираме вашият мотор с фърмуеър (firmware) за Arduino.

„Асемблиране“
Най-елементарният начин, по който можете да използвате драйверната платка „Easy Driver“ е като към нея прикрепите рейки,
за по-лесно поставяне в breadboard платкакта. Тези инструкции предполагат, че Вие използвате метода чрез *Breadboard
платката.

Първата стъпка е да запоите мъжката рейка към драйверната платка „Easy Driver“. Същевременно изключително малък брой
от всички налични изводи на драйверната платка ще бъдат използвани тук. Обаче, силно се препоръчва всички изводи (пинове)
да бъдат запоени, за да се придаде по-голяма стабилност при прикрепянето към Breadboard платката. Изключително прост и
лесен за изпълнение метод, е просто да си „отчупите“ необходимото количество от рейката (спрямо броя на изводите), след
което да ги поставите в Breadboard платката на точните местоположения, да поставите след това модула „Easy Driver“ отгоре,
и едва след това да запоите всички връзки.

ЗАКАЧАНЕ

Веднъж щом сте запоили всички изводи на рейката, е време да закачите модула „Easy Driver“ към вашета
Arduino платка. Използвайте изображението отдолу, и направете всички необходими връзки.

Забележка:
Малкият стъпков мотор изглежда различно от този показан на картината. Той трябва да притежава 4-изводен конектор в края си.
Той ще бъде свързан към 4-изводната мъжка рейка, която сочи нагоре (вижте картина №3 в „Асеблиране“). Поради природата на
този определен стъпков мотор, вие можете да свържете конектора в едната от двете възможни ориентации, напр. или черният
проводник ще бъде отляво или жълтия. Със сигурност ще работи и при двата варианта. Ако ли пък Вие, използвате различен
стъпков мотор, консултирайте се с документацията му, за да откриете кой извод къде трябва да се свърже.

ВАЖНО:
Стъпковите мотори изискват повече мощност, от иначе нормално предоставяната от Arduino платката.
В този пример ние ще захранваме нашето Uno с 12V *външно захранване. Моля забележете, че захранващият вход(M+)
на модула „EasyDriver“ се свързва към Vin извода на Arduino платката. Това ще позволи, да се захранят едновременно,
както Arduino платката, така и мотора с един и същ захранващ източник.

ФЪРМУЕЪР /FIRMWARE/

Веднъж готови със всички връзки, осъществени правилно, Вие можете да качите фърмуера на Arduino. Следният код
е просто примерен и доста елементарен, но Ви позволява да продължите. Разбира се съществуват много подобни примери
в интернет, както и включени „библиотеки за управление на стъпков мотор“ към вашата ардуино среда Arduino IDE.
Чувствайте се свободни, да си играете с кода, да променяте стойности и да наблюдавате реакцията на схемата.
Както и да опитвате други сорс кодове.

СОРС – КОД

// Начало на кода

/*************************
Joel Bartlett
SparkFun Electronics
December 27, 2012

This code controls a stepper motor with the
EasyDriver board. It spins forwards and backwards
***************************/
int dirpin = 2;
int steppin = 3;

void setup()
{
pinMode(dirpin, OUTPUT);
pinMode(steppin, OUTPUT);
}
void loop()
{

int i;

digitalWrite(dirpin, LOW); // Set the direction.
delay(100);

for (i = 0; i<4000; i++) // Iterate for 4000 microsteps.
{
digitalWrite(steppin, LOW); // This LOW to HIGH change is what creates the
digitalWrite(steppin, HIGH); // „Rising Edge“ so the easydriver knows to when to step.
delayMicroseconds(500); // This delay time is close to top speed for this
} // particular motor. Any faster the motor stalls.

digitalWrite(dirpin, HIGH); // Change direction.
delay(100);

for (i = 0; i<4000; i++) // Iterate for 4000 microsteps
{
digitalWrite(steppin, LOW); // This LOW to HIGH change is what creates the
digitalWrite(steppin, HIGH); // „Rising Edge“ so the easydriver knows to when to step.
delayMicroseconds(500); // This delay time is close to top speed for this
} // particular motor. Any faster the motor stalls.

}

// Край на кода

 

ПРОДЪЛЖАВАЙТЕ НАПРЕД

Ето сега вече предполагам, вече сте наясно как можете да управлявате вашия стъпков мотор на най-просто ниво,
време е да преминете на следващото ниво. Съществува голямо количество от информация в и-нет пространството,
свързана с модула „EasyDriver“- в това число и на страницата на производителя. Съществува също чудестно ръководство
на страницата на bildr. Друг чудесен ресурс е схемата на модула „EasyDriver“, която ще Ви даде някаква яснота.
И най-накрая можете да погледете страницата ми с проекти със серво-мотори, Ardduija. В нея, аз използвам
стъпкови мотори, контролирани от EasyDrivers, за да създам X-Y коловози, които придвижвот Ouija платката автоматично.

Вие най-вероятно вече обмисляте, как да включите стъпковите мотори във вашия следващ проект. Успех с начинанията!