Управлявайте сервомотор с дъска на Arduino Genuino Carnet du maker - L; Направи си сам дух
3, 2, 1, се оказва !

от skywodd | 4 май 2016 г. | Лиценз (вижте долния колонтитул)
Тази статия е последно променена на 5 май 2016 г. в 11:43 ч.
Тази статия не е актуализирана от известно време, съдържанието й може да е остаряло.
В този урок ще научим заедно как да използваме серво за изграждане на модели с дъска Arduino/Genuino. Ще проучим функцията на серво мотор и ще направим някои тестове с класически модел серво мотор. Като бонус ще видим как да се възползваме от всички функции, предлагани от библиотеката на Arduino "Servo".
Обобщение
- Принцип на работа и управление на сервомотор
- Използване на серво мотор с платка Arduino/Genuino
- Монтаж
- Кодът
- Внедряване на библиотеката Servo
- Инициализиране на серво библиотеката
- Промяна на ъгъла на сервомотора
- Пример: Почистване
- Заключение
Здравейте всички !
В този урок ще се съсредоточим върху сервомоторите и използването на сервомотори с платка Arduino/Genuino.
Сервомоторите са донякъде специфични двигатели, които могат да се въртят със свобода от около 180 ° и да поддържат относително точно ъгъла на въртене, който човек желае да получи.
Сервомоторите обикновено се използват при изработването на модели за управление на механични системи (самолетно кормило, ускорител на топлинен двигател и др.). Сервомоторите също често се използват в роботиката за изработване на мини-роботи, изпълнителни механизми или въртящи се индикатори.
Принцип на работа и управление на сервомотора
Китайски "9 грама" серво мотор
Модел за изработка на сервомотор е под формата на малък правоъгълник с два езичета отстрани за фиксиране и ос извън центъра с рамо (взаимозаменяемо) за механичната връзка.
Задвижващ механизъм Futuba S3003
Има различни видове серво мотори, различни по размер, тегло и въртящ момент (сила). Снимката по-горе показва много класически сервомотор за производство на модели: Futuba S3003. Малко по-надолу в статията ще използваме друг сервомотор, обикновено наричан "9 грама сервомотор", за потребление на електроенергия.
Разгърнат изглед на сервомотор
Вътрешната работа на серво мотора е доста основна.
Малка електронна схема позволява да се управлява двигател с постоянен ток според позицията на потенциометър, интегриран в сервомотора.
Изходът на постояннотоковия двигател е механично свързан с поредица от зъбни колела, които увеличават силата (въртящия момент) на сервомотора чрез намаляване на скоростта на въртене на последния.
Когато двигателят работи, зъбните колела оживяват, рамото се движи и задвижва потенциометъра с него. Електронната схема непрекъснато регулира скоростта на двигателя, така че потенциометърът (и удължаването на рамото) винаги остава на същото място.
Достатъчно е да зададете зададена точка на сервомотора (например "останете на 45 °") и сервомоторът ще направи всичко възможно да остане възможно най-близо до тази зададена точка.
Илюстрация на управляващия сигнал
Тази зададена стойност се предава чрез цифров сигнал, по-точно импулс.
За да може сервомоторът да остане в дадено положение, е необходимо да се предават на всеки 20 милисекунди (т.е. при честота 50 Hz) импулс с дължина между 1 и 2 милисекунди.
Импулс от 1 милисекунда съответства на ъгъл от 0 °.
Импулс от 2 милисекунди съответства на ъгъл от 180 °.
Чрез изпращане на импулс с междинна дължина получаваме различни ъгли, 90 ° с импулс от 1,5 милисекунди например.
Забележка: Повечето сервомотори работят при 5 волта, но някои работят при 3.3 волта. Не забравяйте да прочетете документацията за сервомотора, преди да я използвате.
Използване на серво мотор с платка Arduino/Genuino
В тази глава ще внедрим малък сервомотор "9 грама" с платка Arduino/Genuino.
Монтаж
За да извършим това сглобяване, ще ни трябва:
Платка Arduino UNO (и нейният USB кабел),
Сервомотор "9 грама" или подобен,
Кабели за свързване на нашия сервомотор.
Схематичен изглед на сглобката
Изглед на прототипи на сборката
Окабеляването е сравнително просто: червен проводник от серво мотора към 5V щифт на платката Arduino, черен проводник към щифт GND и бял проводник (или жълт в зависимост от производителите) към D9 щифт на платката Arduino.
Готовият монтаж
В случая с моя сервомотор, (китайският) производител беше доволен от цветовете. Така че имам кафява тел вместо черна и оранжева тел вместо червена. Ако се съмнявате, винаги се консултирайте с документацията на производителя
PS При стандартен серво мотор мощността винаги е на средния проводник.
Повтарящ се проблем с горния монтаж е загубата на USB комуникация и/или ненавременното рестартиране на платката Arduino.
Това се дължи на консумацията на енергия на сервомотора. Серво мотор консумира много ток, понякога твърде много за обикновена платка Arduino. Това прекомерно потребление задейства електронния предпазител на платките Arduino и води до рестартирането им.
Има само едно решение на този проблем: свържете захранването на сервомотора към специално захранване от 5 волта.
Изглед на прототипи на сглобката (с външно + 5V DC захранване)