Сервопривод, в отличии от обычного двигателя постоянного вращения, позволяет более точно управлять вращением двигателя. Через контроллер можно подать угол, на который должен повернуться двигатель и серводвигатель будет вращаться в сторону заданного угла. Обычно можно задать угол до 180 градусов. Здесь рассмотрено управление сервоприводом с помощью контроллера Arduino. В качестве сервопривода взята HXT900.
Рисунок 13. Сервопривод
Данная модель сервоприводов подключается тремя проводами. Провод красного цвета – провод питания сервопривода, поэтому на этот провод необходимо подать 5 вольт. Коричневый провод необходимо подключить к земле (GND), а желтый – управляющий вывод двигателя и его нужно подключить к цифровому порту Arduino.
Рисунок 14. Подключение серводвигателя
Ниже рассматривается программа на Arduino, которая заставляет поворачивать сервопривод сначала в положение 0 градусов, потом 90, потом 120, 170 и опять повторяет все сначала. В данном примере, управляющий провод (желтый) подключается к 9 порту Arduino.
#include <Servo.h>//Подключение библиотеки для работы с //Серво Servo myservo;//Создание объекта типа Servo void setup() { myservo.attach(9);//Сопоставляет 9-й порт объекту //myservo. К этому порту должен быть подключен желтый //провод двигателя. } void loop() { myservo.write(0);//Поворачивает двигатель к заданному //углу delay(500);//Задержка программы, чтобы двигатель //закончил вращение myservo.write(90); delay(500); myservo.write(120); delay(500); myservo.write(170); delay(500); }