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

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

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

Принцип действия сервопривода

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

Для того чтобы повернуть сервопривод в определенное положение нужно подать на его вход определенный управляющий сигнал. Который представляет собой импульсы с определенной скважностью и длительностью. Внутренняя логика сервопривода обрабатывает полученный сигнал и выполняет то или иное действие.

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

Ниже представлен код программы управления сервоприводом, все что нужно это откомпилировать его в среде разработки под Arduino и залить уже готовую прошивку в саму плату Arduino. На официальном сайте есть множество версий Arduino IDE и под разные операционный системы. Если у вас сама среда разработки после распаковки работает не должным образом выдает постоянные ошибки то имеет смысл проверить компьютер на наличие ошибок. Наиболее популярной программой является программа Ccleaner. Утилиту Сcleaner скачать бесплатно для windows 7 можно на сайте. После проверки и чистки компьютера возможно среда Arduino IDE  заработает как нужно.

Код программы управления сервоприводом

Как видно из программы Arduino поворачивает вал сервопривода последовательно на разные углы 45,0,90,135,180,90, с разными временными интервалами. Сервопривод подключается к выводу номер 10 Arduino.

/*
Arduino Servo
*/
#include "Servo.h"
Servo servoMain; // Объект Servo
void setup()
{
   servoMain.attach(10); // Servo присоединен к 10 выводу
}
void loop()
{
   servoMain.write(45);  // Повернуть серво влево на 45 градусов
   delay(2000);          // Пауза 2 сек.
   servoMain.write(0);   // Повернуть серво влево на 0 градусов
   delay(1000);          // Пауза 1 сек.
   servoMain.write(90);  // Повернуть серво на 90 градусов. Центральная позиция
   delay(1500);          // Пауза 1.5 сек.
   servoMain.write(135); // Повернуть серво вправо на 135 градусов
   delay(3000);          // Пауза 3 сек.
   servoMain.write(180); // Повернуть серво вправо на 180 градусов
   delay(1000);          // Пауза 1 сек.
   servoMain.write(90);  // Повернуть серво на 90 градусов. Центральная позиция
   delay(5000);          // Пауза 5 сек.
}

Комментарии  

 
#1 Руслан 13.06.2017 20:27
Добрый день!
Спасибо большое!Ваш скетч очень полезен!
На данный момент делаю серво-манипулят ор, который состоит из 3 сервоприводов. Можно Вас попросить выложить пример скетча, который позволит управлять тремя сервами одновременно.
Например:
1.включение Ардуино Уно
2.Через две секунды, после включения - начинает двигаться СЕРВО1 с 0 до 180 градусов(отложе нный старт, после включения)
3.Через 0,5 секунды после начала движения СЕРВО1 - включается СЕРВО2 и начинает двигаться с 0 до 60 градусов
4.Через 0,5 секунды после начала движения СЕРВО2 - включается СЕРВО и начинает двигаться с 45 до 78 градусов
Цитировать
 

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


Защитный код
Обновить

Последние комментарии

Последнии темы форума

  • Нет сообщений для показа