Как да свързваме сервомотори с Arduino

Опитайте Нашия Инструмент За Премахване На Проблемите





В тази публикация ще научим какво е серво мотор, как функционира, как да взаимодейства с микроконтролера и какво прави този мотор специален от другите двигатели.

Като ентусиаст на електрониката, щяхме да срещнем много видове двигатели, тук ще разгледаме специален тип двигател, наречен серво мотор.



Какво е серво мотор?

Серво мотор или просто серво е специален тип двигател, който е проектиран за прецизен контрол върху положението, ускорението и скоростта. За разлика от всички останали типове двигатели, серво може да се върти само на 180 градуса двупосочно. Той има механични зъбни колела и запушалка, които ограничават ъгловото въртене на серво.

Типичен серво мотор:

Сервомоторите се използват в роботиката, камерите за видеонаблюдение, RC колите, лодките, играчките и др. Сервомеханизмите се използват там, където няма нужда да продължаваме въртеливо движение, но заключваме в определена позиция или преместваме някакъв товар с контролирана скорост в рамките на подвижната ъглова граница.



Сервомеханизмът не е просто двигател като другите типове, но той е модул, който съчетава нормален DC / AC двигател, група предавки, контролна електроника и система за обратна връзка. Нека разгледаме подробно всеки от споменатите етапи.

DC / AC мотор, който се използва на серво модул, може да бъде без четки или с четка, на повечето хоби серво мотори се използват DC мотори и AC двигатели се използват в промишлени приложения. Двигателят дава ротационен вход на серво. Двигателят се върти при няколкостотин оборота в минута в серво, а въртенето на изхода е около 50 или повече пъти по-малко от неговите обороти.

Следващият етап е зъбният механизъм, който контролира ъгловото въртене и скоростта на серво. Съоръжението може да бъде направено от пластмаса или метал, в зависимост от обема на товара. Обикновено двигателите с постоянен ток работят при високи обороти в минута и нисък въртящ момент зъбният механизъм ще преобразува излишния обороти в въртящ момент. По този начин малък мотор може да се справи с огромен товар.

Следващият етап е управляващата електроника, която представлява MOSFET и интегрални схеми за управление на въртенето на двигателя. В сервомоторите винаги има система за обратна връзка за проследяване на текущото положение на задвижващия механизъм.

В сервосистемите обикновено компонент за обратна връзка е потенциометър, който е директно свързан с въртящ се задвижващ механизъм. Потенциометърът действа като делител на напрежението, който се подава към управляващата електроника. Тази обратна връзка помага на електрониката да определи количеството мощност, която се дава на двигателя.

Серво мотор в фиксирана позиция неохотно ще се премести от сегашното си положение, ако някаква външна сила се опита да наруши. Системата за обратна връзка следи текущото положение и захранва двигателя срещу външни смущения.

Горният сценарий е същият, когато сервомеханизмът движи задвижващия механизъм. Системата за управление ще компенсира външната сила и ще се движи с определена скорост.

Досега вече знаете доста за серво мотора и неговия функциониращ механизъм. Нека да видим как да управляваме сервомоторите с помощта на микроконтролер.

Сервомоторите имат 3 клеми за разлика от други двигатели, които имат 2 клеми, два за захранване (5V номинално) и един за управляващ сигнал. Проводниците са оцветени за лесна идентификация на клемите.

Контролните сигнали на сервомеханизмите са ШИМ с честота 50Hz. Ширината на импулса на сигнала определя позицията на рамото на задвижващия механизъм. Типичен хоби серво мотор работи от 1 до 2 милисекунди импулсна ширина.

Прилагането на 1 ms сигнал за контрол на широчината на импулса ще задържи задвижването в положение 0 градуса. Прилагането на контролен сигнал за широчина на импулса от 2 ms ще задържи задвижването в позиция 180 градуса. Прилагането на сигнали между 1-2 ms ще поддържа задвижващия механизъм под ъгъл 0-180 градуса. Това може да се разбере по-добре от даденото по-долу изображение.

Досега бихте разбрали как серво се управлява чрез импулсно-широчинна модулация (ШИМ).

Сега да научим как да свързваме сервомотор с Arduino.

Електрическа схема:

как да свържа серво мотор с Arduino.

Окабеляването е лесно и разбираемо. Нуждаете се от външно захранване, ако използвате обемист серво мотор. Ако се опитате да захранвате от захранването на arduino, в крайна сметка ще претоварите USB порта на компютъра.

Ако имате подобно серво, което е илюстрирано в началото на статията, тогава можете да го захранвате от arduino 5V захранване, също показано в прототипа на автора.

Прототип на автора:

Arduino се нуждае от серво библиотека за обработка, улесни задачата ни и вече е в IDE на Arduino.

Програма:

//--------Program developed by R.Girish--------//
#include
Servo motor
int pos = 0
int t=10
void setup()
{
motor.attach(7)
}
void loop()
{
A:
pos=pos+1
motor.write(pos)
delay(t)
if(pos==180) { goto B}
goto A
B:
pos=pos-1
motor.write(pos)
delay(t)
if(pos==0) { goto A}
goto B
}
//--------Program developed by R.Girish--------//

Горната програма ще измести задвижването от 0 до 180 градуса вдясно и 180 до 0 градуса вляво и цикълът се повтаря. Това е проста програма за тестване на серво, която може да се наложи да напишете свой собствен код за вашите персонализирани приложения.




Предишна: Двутръбна верига на контролера на клапана за водна помпа Напред: Разбиране на окабеляването на регулатора на напрежението на мотоциклета