Управление сервоприводом на Arduino. Ардуино: управление сервоприводом

Рассмотрим на этом занятии устройство и принцип работы сервоприводов. Разберем два простых скетча для управления сервоприводом с помощью потенциометра на Ардуино. Также мы узнаем новые команды в языке программирования C++ — servo.write , servo.read , servo.attach и научимся подключать в скетчах библиотеку для управления сервоприводами и другими устройствами через Ардуино.

Устройство сервомотора (servo)

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

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

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


Управление сервоприводом с помощью широтно импульсной модуляции

Как подключить сервопривод к Ардуино

Схема подключения сервопривода к Arduino обычно следующая: черный провод присоединяем к GND, красный провод присоединяем к 5V, оранжевый/желтый провод к аналоговому выводу с ШИМ (Широтно Импульсная Модуляция). Управление сервоприводом на Ардуино достаточно просто, но по углам поворота сервомоторы бывают на 180° и 360°, что следует учитывать в робототехнике.

Для занятия нам понадобятся следующие детали:

  • Плата Arduino Uno / Arduino Nano / Arduino Mega;
  • Макетная плата;
  • USB-кабель;
  • 1 сервопривод;
  • 1 потенциометр;
  • Провода «папа-папа» и «папа-мама».

В первом скетче мы рассмотрим как управлять сервоприводом на Arduino с помощью команды myservo.write(0) . Также мы будем использовать стандартную библиотеку Servo.h . Подключите сервомашинку к плате Ардуино, согласно схеме на фото выше и загрузите готовый скетч. В процедуре void loop() мы будем просто задавать для сервопривода необходимый угол поворота и время ожидания до следующего поворота.

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

#include Servo servo1; // объявляем переменную servo типа "servo1" void setup () { servo1.attach (11); // привязываем сервопривод к аналоговому выходу 11 } void loop () { servo1.write (0); // ставим угол поворота под 0 delay (2000); // ждем 2 секунды servo1.write (90); // ставим угол поворота под 90 delay (2000); // ждем 2 секунды servo1.write (180); // ставим угол поворота под 180 delay (2000); // ждем 2 секунды }

Пояснения к коду:

  1. Стандартная библиотека Servo.h содержит набор дополнительных команд, которая позволяет значительно упростить скетч;
  2. Переменная Servo необходима, чтобы не запутаться при подключении нескольких сервоприводов к Ардуино. Мы назначаем каждому приводу свое имя;
  3. Команда servo1.attach(10) привязывает привод к аналоговому выходу 10.
  4. В программе мы вращаем привод на 0-90-180 градусов и возвращаем в начальное положение, поскольку процедура void loop повторяется циклично.

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


Подключение сервопривода и потенциометра к Ардуино Уно

Ардуино позволяет не только управлять, но и считывать показания с сервопривода. Команда myservo.read(0) считывает текущий угол поворота вала сервопривода и его мы можем увидеть на мониторе порта. Предоставим более сложный пример управления сервоприводом потенциометром на Ардуино. Соберите схему с потенциометром и загрузите скетч управления сервоприводом.

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

#include // подключаем библиотеку для работы с сервоприводом Servo servo; // объявляем переменную servo типа "servo" void setup () { servo.attach (10); // привязываем сервопривод к аналоговому выходу 10 pinMode (A0, INPUT); // к аналоговому входу A0 подключим потенциометр Serial .begin (9600); // подключаем монитор порта } void loop () { servo.write (analogRead (A0)/4); // передает значения для вала сервопривода Serial .println (analogRead (A0)); // выводим показания потенциометра на монитор Serial .println (analogRead (A0)/4); // выводим сигнал, подаваемый на сервопривод Serial .println (); // выводим пустую строчку на монитор порта delay (1000); // задержка в одну секунду }

Пояснения к коду:

  1. В этот раз мы присвоили имя для сервопривода в скетче, как servo ;
  2. Команда servo.write(analogRead(A0)/4) передает значения для вала сервопривода — получаемое напряжение с потенциометра мы делим на четыре и оправляем данное значение на сервопривод.
  3. Команда Serial.println (servo.read(10)) считывает значение угла поворота вала сервопривода и передает его на монитор порта.

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

Также часто читают:

Для самых начинающих. Проверенный код в статье. Подключим, повернем, разберемся с питанием.
В руки прибыл сервопривод SD90 с диагнозом неправильной работы и практически с полным отказом (По словам). Надо разобраться.
Общая информация нужна, информация важна
SD-90 - практически самый дешевый сервопривод на рынке электроники.
Вес всего 15 грамм, а крутящий момент 2кг/см. Работает данный сервопривод SD90 в температурах от -30 до +60 градусов.
Рабочее напряжение от 4В до 8В.
Потребление в движении 70 мА, а в удержании 15 мА.
Угол поворота составляет всего 180 градусов.
Сервопривод SD90 идеально подходит для установки на авиамодели.

Для управления сервоприводами с помощью Ардуин есть стандартная библиотека в IDE Arduino Servo.h , которая включает в себя функции для установки настроек сервопривода, необходимого угла, считывания состояния. Некоторые методы являются перегруженными.

Обращаемся к китайским друзьям за мануалами и судя по рисунку ниже подключение сервопривода SG90 не составляет труда.

Два провода отвечают за питание и один провод для управления. Ниже приведен код программы для ардуино который даст некоторые пояснения.

    * Специально для сайта сайт

    * Сервопривод SG90 + Arduino. Подключение

    //Библиотека для работы с сервоприводом

    #include ‹Servo.h›

    //Обьявление переменной - объекта

    Servo servo;

  1. void setup()

    //К пину №7 подключен управляющий вывод сервопривода

    //Данный метод библиотеки указывает пин через который происходит управление

    servo.attach (7 ) ;

    //servo.detach(7); - этот метод отключит управление от указанного пина.

  2. void loop()

    //Установка вала в 0 градусов

    servo.write (0 ) ;

    delay(2000 ) ; //ждем 2 секунды. Необходимо как минимум 30 микросекунд для установки.

  3. servo.write (90 ) ; //ставим вал под 90 градусов

  4. // В библиотеке есть функция для чтения текущего положения (угла) сервопривода.

    // Будет считано последнее установленное значение в сервоприводе.

    // int AngleServo=servo.read();

    // От 0 до 180 градусов.

  5. servo.write (180 ) ; //ставим вал под 190 градусов

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

  6. //Медленно возвращаемся обратно с интервалом в 1 градус

    for (int p= 179 ; p>= 1 ; p-- )

    servo.write (p) ;

    delay(20 ) ;

    //Угол (Установить) можно задать во времени от нуля.

    //Так как у сервопривода есть характеристика скорости поворота 0.12 сек/60 град

    1 - Коннектор для подключения
    2 - Схема управления сервоприводом, обработки сигналов
    3 - Потенциометр
    4 - Двигатель
    5 - Вал

    Так вот, в самом начале я говорил что в руки попал почти не рабочий сервопривод (По словам). После разбирательств стало понятно что Ардуина имела питание от USB компьютера, а сам сервопривод от Arduino.
    Если углубится в подробности то в экспериментах с было установлено то что китайская версия MEGA не вытягивает нагрузку 150 мА. Сервопривод SG90 в момент движения вала создает нагрузку 75-90 мА в зависимости от нагрузки вала. В итоге при старте Ардуины у человека который попросил разобраться в данной проблеме происходил сброс самой ардуины от повышенной нагрузки и соответственно сервопривод не подавал никаких признаков.

    Решение проблемы самое простое. Необходимо усилить питание для ардуины с помощью внешнего источника (блока питания) или отдельно для сервопривода SG90.
    Но ситуация была такова что в месте установки сервопривода не было возможности применить внешний источник питания. Решение нашлось ниже на рисунке.

    В итоге что бы предотвратить нагрузку на Arduino необходимо между питанием и землей установить поддерживающий конденсатор емкостью 1000мФ 10V. И керамический конденсатор любой емкости для предотвращения дребезга от сервопривода (при нагрузке) на Ардуину. Это решение нельзя использовать для постоянного использования, но в экстренных случаях этот вариант вполне подойдет.

    Обратите внимание что данный вариант подойдет для сервоприводов типа "микро". Для больших сервоприводов данный метод для питания все равно даст просадку напряжения, это будет заметно по LED индикаторам ардуины, но все же предотвратит полный сброс.

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

Устройство и работа

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

1 — Шестерни редуктора
2 — Выходной вал
3 — Подшипник
4 — Нижняя втулка
5 — Потенциометр
6 — Плата управления
7 — Винт корпуса
8 — Электродвигатель постоянного тока
9 — Шестерня электродвигателя

Для преобразования электрической энергии в механическое движение, необходим . Приводом является редуктор с электродвигателем. Редуктор требуется для снижения скорости двигателя, так как скорость слишком большая для применения. Редуктор состоит из корпуса, в котором расположены валы с шестернями, способными преобразовывать и передавать крутящий момент.

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

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

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

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

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

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

Виды сервоприводов

При необходимости создания управления несколькими группами сервоприводов используют контроллеры с ЧПУ, которые собраны на схемах программируемых логических контроллеров. Такие сервоприводы способны обеспечить крутящий момент 50 Н*м, мощностью до 15 киловатт.

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

Асинхронные способны точно выдерживать скорость даже на очень низких оборотах.

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

Характеристики сервоприводов

Рассмотрим основные параметры, которые характеризуют сервоприводы:

  • Усилие на валу . Этот параметр является крутящим моментом. Это наиболее важный параметр сервопривода. В паспортных данных чаще всего указывается несколько значений момента для разных величин напряжения.
  • Скорость поворота также является важной характеристикой. Она указывается в эквиваленте времени, необходимом для изменения позиции выходного вала привода на 60 градусов. Этот параметр также могут указывать для нескольких значений напряжения.
  • Тип сервоприводов бывает аналоговый или цифровой.
  • Питание . Основная часть сервоприводов функционирует на напряжении 4,8-7,2 вольта. Питание подается чаще всего по трем проводникам: белый – сигнал управления, красный – напряжение работы, черный – общий провод.
  • Угол поворота – это наибольший угол, на который выходной вал способен повернуться. Чаще всего этот параметр равен 180 или 360 градусов.
  • Постоянного вращения . При необходимости обычный сервопривод можно модернизировать для постоянного вращения.
  • Материал изготовления редуктора сервоприводов бывает различным: карбон, металл, пластик, либо комбинированный состав. Шестерни, выполненные из пластика, не выдерживают ударных нагрузок, однако обладают высокой износостойкостью. Карбоновые шестерни намного прочнее пластмассовых, но имеют высокую стоимость. Шестерни из металла способны выдержать значительные нагрузки, падения, но имеют низкую износостойкость. Выходной вал редуктора устанавливают по-разному на разных моделях: на втулках скольжения, либо на шариковых подшипниках.


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

Применение

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

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

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

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

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

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

Сервопривод отопления

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


1 — Блок питания
2 — Комнатные термостаты
3 — Коммутационный блок
4 — Серводвигатели
5 — Подающий коллектор
6 — Обход
7 — Водяной теплый пол
8 — Обратный коллектор
9 — Датчик температуры воды
10 — Циркулярный насос
11 — Шаровый клапан
12 — Регулировочный клапан
13 — Двухходовой термостатический клапан

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

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

Привод механически соединен с клапаном для его управления. Клапаны могут быть двух- и трехходовыми. Двухходовой клапан может изменять температуру воды в системе. Трехходовой клапан способен поддерживать температуру неизменной, однако изменяет потребление горячей воды, которая подается в контуры. В устройстве трехходового клапана имеется два входа для горячей воды (трубы подачи) и выход обратной воды, через который подается смешанная вода с заданной температурой.

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

Сервоприводы багажника

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

Конечно, пневмопривод багажника более надежен, однако его стоимость достаточно высока, поэтому в автомобилях такой привод не нашел применения.

Электрический привод выполняется с разными способами управления:

  • Рукояткой на крышке багажника.
  • Кнопкой на панели двери водителя.
  • С пульта сигнализации.

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

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

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

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

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

Несмотря на то, что автоматизированные системы управления вошли в наш быт, далеко не всем известно про сервопривод. Что это такое? Он представляет собой систему, реализующую высокоточные динамичные процессы. Устройство состоит из двигателя, датчика и блока управления, обеспечивающих отработку требуемых скорости, позиции и момента.

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

Как устроен сервопривод

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

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

Схема управления

Подключение сервопривода можно производить с помощью простой схемы с таймером NE555 в режиме генератора импульсов.

Положение вала двигателя определяется шириной импульса, которая устанавливается переменным резистором R 1 . Сигналы должны подаваться генератором непрерывно, например каждые 20 мсек. При поступлении команды (перемещение движка резистора) выходной вал редуктора поворачивается и устанавливается в определенное положение. При внешнем воздействии он будет сопротивляться, пытаясь оставаться на месте.

Механическое регулирование системы отопления

Сервопривод - что это такое? Это хорошо понятно по его работе в системе теплого пола как приспособления, регулирующего поток теплоносителя. Если это делать вручную, придется непрерывно крутить вентили на коллекторах, поскольку расход горячей воды, подаваемой в обогревающие контуры, является переменной величиной.

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

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

Электрический сервопривод для отопления

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

Сервопривод для отопления работает вместе с термостатом, который монтируется на стену. Кран с электроприводом устанавливается на подающей трубе, перед коллектором водяного теплого пола. Затем производится подключение, подача питания 220 В и установка на терморегуляторе заданного режима. Система снабжается двумя датчиками: один - в полу, а другой - в комнате. Они передают команды на термостат, который управляет сервоприводом, соединенным с краном. Точность регулирования будет выше, если установить еще прибор на улице, поскольку климатические условия постоянно меняются и влияют на температуру в помещениях.

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

Сервопривод крышки багажника

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

  • с пульта;
  • кнопка на дверной панели водителя;
  • ручка на крышке багажника.

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

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

Есть еще устройства с магнитными пластинами, но они сложней и применяются реже.

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

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

Характеристики сервоприводов

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

Основными параметрами для выбора являются следующие:

  1. Питание. Подача напряжения производится по трем проводам. По белому передают импульс, через красный - рабочее напряжение, черный или коричневый является нейтральным.
  2. Размеры: большие, стандартные и микроустройства.
  3. Скорость. От нее зависит, за какой промежуток времени вал повернется на угол 60 0 . Недорогие устройства обладают скоростью 0,22 сек. Если требуется высокое быстродействие, она составит 0,06 сек.
  4. Величина момента. Параметр является приоритетным, поскольку при малом вращающем моменте управление затрудняется.

Как управлять цифровым сервоприводом?

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

Инструкция сервопривода с цифровым управлением предусматривает наличие в контроллере простой программы, позволяющей считывать с потенциометра показания и переводить их в число. Затем оно преобразуется в команду передачи на поворот вала сервопривода в заданное положение. Программа записывается на диске, а затем передается на контроллер.

Заключение

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

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

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

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

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

Иными словами:

    Сервопривод получает на вход значение управляющего параметра. Например, угол поворота

    Блок управления сравнивает это значение со значением на своём датчике

    На основе результата сравнения привод производит некоторое действие, например: поворот, ускорение или замедление так, чтобы значение с внутреннего датчика стало как можно ближе к значению внешнего управляющего параметра

Наиболее распространены сервоприводы, которые удерживают заданный угол и сервоприводы, поддерживающие заданную скорость вращения.

Типичный хобби-сервопривод изображён ниже.

Каким же образом устроены сервоприводы?

Устройство сервопривода

Сервоприводы имеют несколько составных частей.

Привод - электромотор с редуктором. Чтобы преобразовать электричество в механический поворот, необходим электромотор . Однако зачастую скорость вращения мотора бывает слишком большой для практического использования. Для понижения скорости используется редуктор : механизм из шестерней, передающий и преобразующий крутящий момент.

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

Кроме электромотора, редуктора и потенциометра в сервоприводе имеется электронная начинка, которая отвечает за приём внешнего параметра, считывание значений с потенциометра, их сравнение и включение/выключение мотора. Она-то и отвечает за поддержание отрицательной обратной связи.

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

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

Управление сервоприводом. Интерфейс управляющих сигналов

Чтобы указать сервоприводу желаемое положение, по предназначенному для этого проводу необходимо посылать управляющий сигнал. Управляющий сигнал - импульсы постоянной частоты и переменной ширины.

То, какое положение должен занять сервопривод, зависит от длины импульсов. Когда сигнал поступает в управляющую схему, имеющийся в ней генератор импульсов производит свой импульс, длительность которого определяется через потенциометр. Другая часть схемы сравнивает длительность двух импульсов. Если длительность разная, включается электромотор. Направление вращения определяется тем, какой из импульсов короче. Если длины импульсов равны, электромотор останавливается.

Чаще всего в хобби-сервах импульсы производятся с частотой 50 Гц. Это значит, что импульс испускается и принимается раз в 20 мс. Обычно при этом длительность импульса в 1520 мкс означает, что сервопривод должен занять среднее положение. Увеличение или уменьшение длины импульса заставит сервопривод повернуться по часовой или против часовой стрелки соответственно. При этом существуют верхняя и нижняя границы длительности импульса. В библиотеке Servo для Arduino по умолчанию выставлены следующие значения длин импульса: 544 мкс - для 0° и 2400 мкс - для 180°.

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

Также стоит отметить, что это всего лишь общепринятые длины. Даже в рамках одной и той же модели сервопривода может существовать погрешность, допускаемая при производстве, которая приводит к тому, что рабочий диапазон длин импульсов немного отличается. Для точной работы каждый конкретный сервопривод должен быть откалиброван: путём экспериментов необходимо подобрать корректный диапазон, характерный именно для него.

На что ещё стоит обратить внимание, так это на путаницу в терминологии. Часто способ управления сервоприводами называют PWM/ШИМ (Pulse Width Modulation) или PPM (Pulse Position Modulation). Это не так, и использование этих способов может даже повредить привод. Корректный термин - PDM (Pulse Duration Modulation). В нём крайне важна длина импульсов и не так важна частота их появления. 50 Гц - это норма, но сервопривод будет работать корректно и при 40, и при 60 Гц. Единственное, что нужно при этом иметь в виду - это то, что при сильном уменьшении частоты он может работать рывками и на пониженной мощности, а при сильном завышении частоты (например, 100 Гц) может перегреться и выйти из строя.

Характеристики сервоприводов

Теперь давайте разберёмся, какие бывают сервоприводы и какими характеристиками они обладают.

Крутящий момент и скорость поворота

Сначала поговорим о двух очень важных характеристиках сервопривода: о крутящем моменте и о скорости поворота .

Момент силы, или крутящий момент - векторная физическая величина, равная произведению радиус-вектора, проведенного от оси вращения к точке приложения силы, на вектор этой силы. Характеризует вращательное действие силы на твёрдое тело.

Проще говоря, эта характеристика показывает, насколько тяжёлый груз сервопривод способен удержать в покое на рычаге заданной длины. Если крутящий момент сервопривода равен 5 кг×см, то это значит, что сервопривод удержит на весу в горизонтальном положении рычаг длины 1 см, на свободный конец которого подвесили 5 кг. Или, что эквивалентно, рычаг длины 5 см, к которому подвесили 1 кг.

Скорость сервопривода измеряется интервалом времени, который требуется рычагу сервопривода, чтобы повернуться на 60°. Характеристика 0,1 с/60° означает, что сервопривод поворачивается на 60° за 0,1 с. Из неё несложно вычислить скорость в более привычной величине, оборотах в минуту, но так сложилось, что при описании сервоприводов чаще всего используют такую единицу.

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

Конечно, мы всегда можем взять установку, потребляющую большую мощность, главное, чтобы её характеристики удовлетворяли нашим потребностям.

Форм-фактор

Сервоприводы различаются по размерам. И хотя официальной классификации не существует, производители давно придерживаются нескольких размеров с общепринятым расположением крепёжных элементов. Их можно разделить на:

    маленькие

    стандартные

Обладают они при этом следующими характерными габаритами:

Бывают ещё так называемые сервоприводы «специального вида» с габаритами, не попадающими в данную классификацию, однако процент таких сервоприводов весьма мал.

Внутренний интерфейс

Сервоприводы бывают аналоговые и цифровые. Так в чём же их отличия, достоинства и недостатки?

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

Оба типа сервопривода принимают одинаковые управляющие импульсы. После этого аналоговый сервопривод принимает решение, надо ли изменять положение, и в случае необходимости посылает сигнал на мотор. Происходит это обычно с частотой 50 Гц. Таким образом получаем 20 мс - минимальное время реакции. В это время любое внешнее воздействие способно изменить положение сервопривода. Но это не единственная проблема. В состоянии покоя на электромотор не подаётся напряжение, в случае небольшого отклонения от равновесия на электромотор подаётся короткий сигнал малой мощности. Чем больше отклонение, тем мощнее сигнал. Таким образом, при малых отклонениях сервопривод не сможет быстро вращать мотор или развивать большой момент. Образуются «мёртвые зоны» по времени и расстоянию.

Эти проблемы можно решать за счёт увеличения частоты приёма, обработки сигнала и управления электромотором. Цифровые сервприводы используют специальный процессор, который получает управляющие импульсы, обрабатывает их и посылает сигналы на мотор с частотой 200 Гц и более. Получается, что цифровой сервопривод способен быстрее реагировать на внешние воздействия, быстрее развивать необходимые скорость и крутящий момент, а значит, лучше удерживать заданную позицию, что хорошо. Конечно, при этом он потребляет больше электроэнергии. Также цифровые сервоприводы сложнее в производстве, а потому стоят заметно дороже. Собственно, эти два недостатка - все минусы, которые есть у цифровых сервоприводов. В техническом плане они безоговорочно побеждают аналоговые сервоприводы.

Материалы шестерней

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

Пластиковые, чаще всего нейлоновые, шестерни очень лёгкие, не подвержены износу, более всего распространены в сервоприводах. Они не выдерживают больших нагрузок, однако если нагрузки предполагаются небольшие, то нейлоновые шестерни - лучший выбор.

Карбоновые шестерни более долговечны, практически не изнашиваются, в несколько раз прочнее нейлоновых. Основной недостатой - дороговизна.

Металлические шестерни являются самыми тяжёлыми, однако они выдерживают максимальные нагрузки. Достаточно быстро изнашиваются, так что придётся менять шестерни практически каждый сезон. Шестерни из титана - фавориты среди металлических шестерней, причём как по техническим характеристикам, так и по цене. К сожалению, они обойдутся вам достаточно дорого.

Коллекторные и бесколлекторные моторы

Существует три типа моторов сервоприводов: обычный мотор с сердечником, мотор без сердечника и бесколлекторный мотор.

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

Сервоприводы с бесколлекторным мотором появились сравнительно недавно. Преимущества те же что и у остальных бесколлекторных моторов: нет щёток, а значит они не создают сопротивление вращению и не изнашиваются, скорость и момент выше при токопотреблении равном коллекторным моторам. Сервоприводы с бесколлекторным мотором - самые дорогие сервоприводы, однако при этом они обладают лучшими характеристиками по сравнению с сервоприводами с другими типами моторов.

Подключение к Arduino

Многие сервоприводы могут быть подключены к Arduino непосредственно. Для этого от них идёт шлейф из трёх проводов:

    красный - питание; подключается к контакту 5V или напрямую к источнику питания

    коричневый или чёрный - земля

    жёлтый или белый - сигнал; подключается к цифровому выходу Arduino.

Для подключения к Arduino будет удобно воспользоваться платой-расширителем портов, такой как Troyka Shield . Хотя с несколькими дополнительными проводами можно подключить серву и через breadboard или непосредственно к контактам Arduino.

Можно генерировать управляющие импульсы самостоятельно, но это настолько распространённая задача, что для её упрощения существует стандартная библиотека Servo .

Ограничение по питанию

Обычный хобби-сервопривод во время работы потребляет более 100 мА. При этом Arduino способно выдавать до 500 мА. Поэтому, если вам в проекте необходимо использовать мощный сервопривод, есть смысл задуматься о выделении его в контур с дополнительным питанием.

Рассмотрим на примере подключения 12V сервопривода:

Ограничение по количеству подключаемых сервоприводов

На большинстве плат Arduino библиотека Servo поддерживает управление не более 12 сервоприводами, на Arduino Mega это число вырастает до значения 48. При этом есть небольшой побочный эффект использования этой библиотеки: если вы работаете не с Arduino Mega, то становится невозможным использовать функцию analogWrite() на 9 и 10 контактах независимо от того, подключены сервоприводы к этим контактам или нет. На Arduino Mega можно подключить до 12 сервоприводов без нарушения функционирования ШИМ/PWM, при использовании большего количества сервоприводов мы не сможем использовать analogWrite() на 11 и 12 контактах.

Функционал библиотеки Servo

Библиотека Servo позволяет осуществлять программное управление сервоприводами. Для этого заводится переменная типа Servo . Управление осуществляется следующими функциями:

    attach() - присоединяет переменную к конкретному пину. Возможны два варианта синтаксиса для этой функции: servo.attach(pin) и servo.attach(pin, min, max) . При этом pin - номер пина, к которому присоединяют сервопривод, min и max - длины импульсов в микросекундах, отвечающих за углы поворота 0° и 180°. По умолчанию выставляются равными 544 мкс и 2400 мкс соответственно.

    write() - отдаёт команду сервоприводу принять некоторое значение параметра. Синтаксис следующий: servo.write(angle) , где angle - угол, на который должен повернуться сервопривод.

    writeMicroseconds() - отдаёт команду послать на сервоприводимульс определённой длины, является низкоуровневым аналогом предыдущей команды. Синтаксис следующий: servo.writeMicroseconds(uS) , где uS - длина импульса в микросекундах.

    read() - читает текущее значение угла, в котором находится сервопривод. Синтаксис следующий: servo.read() , возвращается целое значение от 0 до 180.

    attached() - проверка, была ли присоединена переменная к конкретному пину. Синтаксис следующий: servo.attached() , возвращается логическая истина, если переменная была присоединена к какому-либо пину, или ложь в обратном случае.

    detach() - производит действие, обратное действию attach() , то есть отсоединяет переменную от пина, к которому она была приписана. Синтаксис следующий: servo.detach() .

Все методы библиотеки Servo2 совпадают с методами Servo.

Пример использования библиотеки Servo

Вместо заключения

Сервоприводы бывают разные, одни получше - другие подешевле, одни надёжнее - другие точнее. И перед тем, как купить сервопривод, стоит иметь в виду, что он может не обладать лучшими характеристиками, главное, чтобы подходил для вашего проекта. Удачи в ваших начинаниях!