Управление сервоприводом

Управление сервоприводом

Здравствуйте, в этой статье мы поговорим о сервоприводах . В статье рассмотрены вопросы управления сервоприводами, возможные схемы подключения серво к ардуино, а также пример скетча.

Сервопривод для Ардуино

Сервопривод – это такой вид привода, который может точно управлять параметрами движения. Другими словами, это двигатель, который может повернуть свой вал на определенный угол или поддерживать непрерывное вращение с точным периодом.

В проектах ардуино,серво часто используется для простейших механических действий:

Повернуть дальномер или другие датчики на определенный угол, чтобы измерить расстояние в узком секторе обзора робота.

Сделать небольшой шаг ногой, движение конечностью или головой.

Для создания роботов-манипуляторов.

Для реализации механизма рулевого управления.

Открыть или закрыть дверку, заслонку или другой предмет.

По видам можно выделить аналоговые и цифровые сервоприводы. Внешних отличий нет – все различия только во внутренней электронике. Аналоговый сервопривод внутри содержит специальную микросхему, цифровой – микропроцессор, принимающий и анализирующий импульсы.

Подключение серводвигателя к ардуино

Собираем схему для этого нам понадобится

Не рекомендуется подключать мощные серво напрямую к плате , т.к. они создают для схемы питания Arduino ток, не совместимый с жизнью – повезет, если сработает защита. Чаще всего симптомы перегрузки и неправильного питания сервопривода заключаются в “дергании” серво, неприятному звуку и перезагрузке платы. Для питания лучше использовать внешние источники, обязательно объединяя земли двух контуров.

Скетч для управления сервоприводом в Arduino

Управление сервоприводом напрямую через изменение в скетче длительности импульсов – достаточно нетривиальная задача, но у нас, к счастью, есть библиотека Servo, встроенная в среду разработки Arduino. Здесь же приведем простейший пример использования Servo.

Алгоритм работы прост:

Для начала мы подключаем Servo.h

Создаем объект класса Servo

В блоке setup указываем, к какому пину подключен серво

Используем методы объекта обычным для C++ способом. Самым популярным является метод write, которому мы подаем целочисленное значение в градусах (для сервопривода 360 эти значения будут интерпретироваться по-другому).

Пример простого скетча для работы с сервоприводом

#include <Servo.h> //используем библиотеку для работы с сервоприводом

Servo servo; //создаём  переменную servo типа Servo

void setup()

{

servo.attach(10); //обозначаем  порт 10

}

void loop()

{

servo.write(0); //устанавливаем вал под 0

delay(2000); //ждем 2 секунды

servo.write(180); //устанавливаем вал под 180

delay(2000); //ждем 2 секунды

}

Заключение

Сервоприводы играют очень важную роль для многих проектов Ардуино, от робототехнических до систем умного дома. Все, что связано с движением,  традиционно требует особых знаний и создать полноценный правильно работающий привод – непростая задача. Но с помощью серводвигателей можно во многих случаях упростить задачу, поэтому серво постоянно используется даже в проектах начального уровня.

В этой статье мы постарались раскрыть разные аспекты использования сервоприводов в проектах arduino: от подключения до написания скетчей. Выбрав самую простую модель серво (например, sg 90) вы сможете без труда повторить приведенные примеры и создать свои первые проекты, в которых что-то движется и изменяется. Надеемся, эта статья поможет вам в этом.

Администратор

Добавить комментарий