Простой контроллер управления серводвигателем. Схема и описание. Ардуино: управление сервоприводом

  • 13.09.2019

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

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

Устройство

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

Как собрать модель?

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

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

Модель для отопления

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

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

Устройство с клапаном

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

Модель для печки

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

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

Устройство для регулировки заслонки

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

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

Модель с краном

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

На сегодняшний день многие производители отдают предпочтение модификации РР20. Непосредственно контроллеры устанавливаются поворотного типа. Подключение сервопривода к сети осуществляется при помощи конвертера. На рынке в наше время представлены как нелинейные, так и линейные его типы.

Синхронные модификации

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

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

Асинхронные сервоприводы

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

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

Сервоприводные модификации линейного движения

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

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

Устройства для промышленных роботов

Для сервопривод - что это? В действительности указанное устройство является многофункциональным котроллером. В данном случае платы используются серии РР30. За счет этого у пользователя открывается возможность регулировать параметр предельной частоты. В среднем он колеблется в районе 25 Гц. Работают устройства данного типа от блоков питания на 15 В.

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

Сервоприводные модели для полиграфических станков

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

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

Устройства для швейных машин

Сервоприводы данного типа отличаются от прочих устройств своей компактностью. Двигатели у таких моделей чаще всего можно встретить асинхронного типа. От сети с напряжением 220 В они работают без каких-либо проблем. Регулятор в данном случае используется поворотного типа. Максимум параметр предельной мощности достигает 1.2 кВт. Пороговая частота в этой ситуации едва доходит до отметки 20 Гц. Потенциометры используются только аналогового типа.

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

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

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

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

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

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

красный – питание подключается к контакту 5V или непосредственно к источнику питания
коричневый или черный земля (GND контакт Arduino)
желтый или белый сигнал; подключается к цифровому выходу Arduino.

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

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

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

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

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

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

Библиотека 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 () .

Для управления изменением положения сервопривода можно использовать потенциометр. Он имеет три контакта подключаемые следующим образом:
Два крайних контакты (как правило) это питание и земля, а средний – информационный. Подсоединяем питания потенциометра –> 5 V Arduino, земля –> GND Arduino, информационный –> аналоговый пин Arduino.
Вот так может выглядеть схема:

А так примитивная программа:

#include Servo myservo; // create servo object to control a servo int potpin = 0; // analog pin used to connect the potentiometer int val; // variable to read the value from the analog pin void setup() { myservo.attach(9); // attaches the servo on pin 9 to the servo object } void loop() { val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023) val = map(val, 0, 1023, 0, 179); // scale it to use it with the servo (value between 0 and 180) myservo.write(val); // sets the servo position according to the scaled value delay(15); // waits for the servo to get there }

#include

Servo myservo ; // create servo object to control a servo

int potpin = 0 ; // analog pin used to connect the potentiometer

int val ; // variable to read the value from the analog pin

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Виды и характеристики

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

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

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

Каждый сервопривод характеризуется определенными параметрами:

  • Крутящий момент или усилие, создаваемое на валу. Считается наиболее важным показателем работы сервопривода. Для каждой величины напряжения существует собственный крутящий момент, отражаемый в паспорте изделия.
  • Скорость поворота. Данный параметр представляет собой определенный период времени, который требуется, чтобы изменить позицию выходного вала на 600. Эта характеристика также зависит от конкретного значения напряжения.
  • Максимальный угол поворота, на который может развернуться выходной вал. Чаще всего эта величина составляет 180 или 3600.
  • Все сервоприводы разделяются на цифровые и аналоговые. В зависимости от этого и осуществляется управление сервоприводом.
  • Питание серводвигателей. В большинстве моделей используется напряжение от 4,8 до 7,2В. Питание и управление осуществляется с помощью трех проводников.
  • Возможность модернизации в сервопривод постоянного вращения.
  • Материалы для редуктора могут использоваться самые разные. Шестерни изготавливаются из металла, карбона, пластика или комбинированных составов. Каждый из них обладает своими преимуществами и недостатками. Например, пластиковые детали плохо выдерживают ударные нагрузки, но устойчивы к износу в процессе длительной эксплуатации. Металлические шестерни, наоборот, быстро изнашиваются, зато они обладают высокой устойчивостью к динамическим нагрузкам.

Плюсы и минусы сервомоторов

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

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

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

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

В этом уроке мы научимся управлять сервоприводом .

Для урока нам понадобиться:

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

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

Подключение сервопривода к плате Arduino производится через ШИМ-выводы. Что Такое PWM (ШИМ) мы уже рассматривали в уроке: Плавное включение светодиода на Arduino с помощью ШИМ (PWM)

За основу возьмем урок Подключение кнопки и светодиода плате Arduino к схеме добавим сервопривод и вот что у нас должно получиться.

Изменим код:

#include // подключаем библиотеку для работы с сервоприводом Servo servo; // объявляем переменную servo типа "servo" int led_pin=3; // пин подключения int button_pin = 4; // пин кнопки // переменные int buttonState = 0; // переменная для хранения состояния кнопки void setup() { pinMode(led_pin, OUTPUT); // Инициализируем цифровой вход/выход в режиме выхода. pinMode(button_pin, INPUT); // Инициализируем цифровой вход/выход в режиме входа. servo.attach(5); // привязываем сервопривод к аналоговому выходу 10 } void loop() { buttonState = digitalRead(button_pin);// считываем значения с входа кнопки if (buttonState == HIGH) { digitalWrite(led_pin, HIGH);// зажигаем светодиод servo.write(0); //ставим вал на 180 delay (1000); // задержка в 1 секунду } else { digitalWrite(led_pin, LOW);// выключаем светодиод servo.write(180); //ставим вал на 0 delay (1000); // задержка в 1 секунду } }

#include // подключаем библиотеку для работы с сервоприводом

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

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

Servo servo; // объявляем переменную servo типа "servo"

Объявлением переменную, она нам понадобиться для работы с библиотекой.

Servo.attach(5); // привязываем сервопривод к аналоговому выходу 5

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

Servo.write(180); //ставим вал на 180

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

Следующий урок: IR Пульт. Включение выключение светодиода.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Чаще всего в хобби-сервах импульсы производятся с частотой 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

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

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