Управление Servo — приводом на Arduino UNO

Сервоприводы — широко используются в робототехнике, заводских и хоббийных девайсах для управления движениями различных исполнительных узлов, в ЧПУ станках, 3D-принтерах, авиамоделировании и не только. За счет малой стоимости, большому моменту удержания и сравнительно простому управлению — пользуются большой популярностью. Именно поэтому, сегодня хочу поднять вопрос устройства сервопривода, его подключение к плате  Arduino UNO и написание программного кода в среде разработки Arduino IDE.

6cbcfb7bbdc72ba36170cde54b77371d

Сервопривод — это прежде всего привод, который может изменять положение выходного вала на заданный угол и удерживать это положение, но при этом будет необходима плата с контроллером (находится внутри корпуса сервопривода) для его управления. Также имеет сравнительно большой момент удержания за счет наличия понижающего редуктора, который выполнен из шестеренок (пластиковых или металлических). Отличие от обычного коллекторного двигателя заключается в возможности точно задать (в градусах) положение, в которое встанет вал.

В корпусе сервопривода находится:

—  коллекторный двигатель

— набор шестеренок (пластиковых или металлических)

— плата с электроникой (контроллером)

— узел обратной связи  (потенциометр)

Подключение сервопривода к плате Arduino UNO:

Безымянный

Cервопривод имеет три выхода:

— земля (коричневый/черный)
— питание +5 вольт (красный)
— сигнальный (оранжевый/белый)

Провод питания соединяется с выводом — 5 V на плате, землю надо подвести к выводу — GND. Сигнальный провод  должен соединяться с цифровым портом ввода/вывода. При этом на подсоединенном порте должна быть возможность реализации широтно-импульсной модуляции (на плате они обозначены тильдами). Также стоит помнить, что серводвигатели потребляют относительно большой ток, и при необходимости управления двумя и более сервоприводами нужно питать их от отдельного источника питания. Выводы земли платы Arduino UNO и внешнего источника питания должны быть соединены вместе.

Для того чтобы закрепить знания предлагаю подключить сервопривод к плате Arduino UNO (по указанной выше схеме) и написать небольшую программку в среде разработки Arduino IDE. Алгоритм следующий: выставляем вал в начальное положение, поворачиваем его на 15 градусов — ждем 1 секунду, потом поворачиваем на 30 градусов — ждем 2 секунды, поворачиваем на 45 градусов — ждем 3 секунды. Когда дошли до 45 градусов, все тоже самое только в обратном порядке 45 -> 30-> 15-> 0. Задача поставлена, переходим к ее реализации.

Пограммный код:

После того как успешно справились с предыдущим заданием, предлагаю немного усложнить его — циклом. Алгоритм работы будет следующим: выставляем сервопривод в начальное положение, потом с интервалом 20 мс и шагом в 1 градус заставляем крутиться сначала от 0 до 180 градусов, а потом наоборот от 180 до 0 градусов. В принципе ничего сложного нету, пишем код:

Видео работы сервопривода подключенного к плате Arduino UNO:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий