Сервоприводы Ардуино SG90, MG995, Pin-Up схема подключения и управление

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

Сервопривод для Ардуино

Сервопривод - это такой вид привода, который может точно управлять параметрами движения. Другими словами, это двигатель, который может повернуть свой вал на определенный угол или поддерживать непрерывное Pin-Up с точным периодом.

Сервопривод MG995Схема работы сервопривода основана на использовании обратной связи (контура с замкнутой схемой, в котором сигнал на входе и выходе не согласован). В качестве сервопривода может выступать любой тип механического привода, в составе которого есть датчик и блок управления, который автоматически поддерживает все установленные параметры на датчике. Конструкция сервопривода состоит из двигателя, датчика позиционирования и управляющей системы. Основной задачей таких устройств Pin-Up реализация в области сервомеханизмов. Также сервоприводы нередко используются в таких сферах как обработка материалов, производство транспортного оборудования, обработка древесины, изготовление металлических листов, производство стройматериалов и другие.

В Pin-Up ардуино робототехники серво часто используется для простейших механических действий:

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

Конечно, сфера применения серво в реальных проектах гораздо шире, но приведенные примеры являются Pin-Up популярными схемами.

Схема и типы сервоприводов

Схема сервопривода

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

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

Сервопривод устройствоВся схема управления серво находится внутри корпуса, управляющие сигналы и питание подаются, как правило, идут по трем проводам: земля, Pin-Up питания и управляющий сигнал.

Сервопривод Pin-Up вращения 360, 180 и 270 градусов

Выделяют два основных вида серводвигателей - с непрерывным вращением и с фиксированным углом (чаще всего, 180 или 270 градусов). Отличие серво ограниченного вращения заключается в механических элементах конструкции, которые могут блокировать движение вала вне заданных параметрами углов. Достигнув Pin-Up 180, вал окажет воздействие на ограничитель, а тот отдаст команду на выключение мотора. У серводвигателей непрерывного вращения таких ограничителей нет.

Материалы шестерней сервопривода

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

Сервоприводы Ардуино SG90, MG995, MG996: схема подключения и управлениеСервоприводы Ардуино SG90, MG995, MG996: схема подключения и управление

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

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

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

Преимущества серводвигателей

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

Отличия серво и обычного двигателя

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

Отличия серво и шагового мотора

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

Где купить популярные серво SG90, MG995, Pin-Up

Самый доступный вариант Pin-Up SG90 1.6KGСервоприводы SG90 и MG90S для Ардуино по цене ниже 70₸
Еще один вариант Pin-Up SG90 Pro 9g от проверенного поставщика на АлиPin-Up SG90 от надежного поставщика RobotDyn
Тестер для сервоНесколько вариантов тестеров сервоприводов
Защищенные Pin-Up с моментом 15 кгСерво JX DC5821LV Pin-Up Full waterproof Core mental gear 1/8 1/10 RC car Scaler Buggy Crawler TRAXXAS RC4WD TRX-4 SCX10 D90
Серво MG996R MG996 Pin-Up Metal Gear for Futaba JRСерво 13KG 15KG Servos Digital MG995 MG996 MG996R Servo Metal Pin-Up

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

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

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

управление сервоприводомСтандартная частота, с которой подаются импульсы, равна 50 Гц, то есть 1 импульс в 20 миллисекунд. При таких значениях длительность составляет 1520 микросекунд, и сервопривод занимает среднее положение. Изменение длины импульса приводит к повороту Pin-Up - при увеличении длительности поворот осуществляется по часовой стрелке, при уменьшении - против часовой стрелки. Имеются границы длительности - в Ардуино в библиотеке Servo для 0° установлено значение импульса в 544 мкс (нижняя граница), для 180° - 2400 мкс (верхняя граница).

Сервоприводы Ардуино SG90, MG995, MG996: схема подключения и управление

(Использовано изображение с сайта amperka.ru)

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

Способ управления приводом часто по ошибке называют PWM Управление напрямую зависит именно от длины импульса, частота их появления не так важна. Корректная работа будет Pin-Up как при 40 Гц, так и при 60 Гц, вклад внесет только сильное уменьшение или увеличение частоты. При резком спаде сервопривод начнет работать рывками, при завышении частоты выше 100 Гц устройство может перегреться. Поэтому правильнее называть PDM.

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

Сервоприводы Ардуино SG90, MG995, MG996: схема подключения и управление

При получении сигнала аналоговый сервопривод принимает решение, менять или нет положение, и по необходимости подает на мотор сигнал с частотой 50 Гц. За время реакции (20 мс) могут произойти внешние воздействия, которые изменят положение сервопривода, и устройство не успеет среагировать. Цифровой сервопривод использует процессор, который подает и обрабатывает сигналы с большей частотой - от 200 Гц, поэтому он может быстрее отреагировать на внешние воздействия, быстрее развивать нужную Pin-Up и крутящий момент. Следовательно, цифровой сервопривод будет лучше удерживать заданное положение. При этом для работы цифрового сервопривода требуется больше электроэнергии, что повышает их стоимость. Большой вклад в цену делает и сложность их производства. Высокая стоимость - единственный недостаток цифровых сервоприводов, в техническом плане они намного лучше аналоговых устройств.

Подключение серводвигателя к ардуино

Сервопривод обладает тремя контактами, которые окрашены в разные цвета. Коричневый провод ведет к земле, красный - к питанию +5В, провод оранжевого или желтого цвета - сигнальный. К Ардуино устройство подключается через Pin-Up указанным на рисунке образом. Оранжевый провод (сигнальный) подключается к цифровому пину, черный и красный - к земле и питанию соответственно. Для управления серводигателем не требуется подключение именно к шим-пинам - принцип управления серво мы уже описывали ранее.

Подключение сервопривода к ардуино

Не рекомендуется подключать мощные серво напрямую к плате , т.к. они создают для схемы питания Arduino ток, не совместимый с жизнью - повезет, Pin-Up сработает защита. Чаще всего симптомы перегрузки и неправильного питания сервопривода заключаются в “дергании” серво, неприятному звуку и перезагрузке платы. Для питания лучше использовать внешние источники, обязательно объединяя земли двух контуров.

Pin-Up для управления сервоприводом в Arduino

Управление сервоприводом напрямую через изменение в скетче длительности импульсов - достаточно нетривиальная задача, но у Pin-Up к счастью, есть отличная библиотека Servo, встроенная в среду разработки Arduino. Все нюансы программирования и работы с сервоприводами мы рассмотрим в отдельной статье. Здесь же приведем простейший пример использования Servo.

Алгоритм работы прост:

  • Для начала мы подключаем Servo.h
  • Создаем объект класса Servo
  • В блоке setup указываем, к какому пину подключен Pin-Up
  • Используем методы объекта обычным для C++ способом. Самым популярным является Pin-Up write, которому мы подаем целочисленное значение в градусах (для сервопривода 360 эти значения будут интерпретироваться по-другому).

Пример простого скетча для Pin-Up с сервоприводом

Пример проекта, в котором мы сразу сначала устанавливаем серводвигатель на нулевой угол, а затем поворачиваем на 90 Pin-Up

#include <Servo.h> Servo servo; /attach(9); /write(0); /write(90); /write(1800); delay(100); servo.write(90); delay(1000); Pin-Up delay(1000); }

Скетч для двух сервпоприводов

А в этом примере мы работаем сразу с двумя сервоприводами:

#include <Servo.h> Servo servo1; // Первый сервопривод Pin-Up servo2; /attach(9); /attach(10); // А этот servo присоединен к 10 пину } void loop() { /write(0); servo2.write(180); delay(20); /write(0); servo1.write(180); }

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

В этом примере поворачиваем серво в зависимости от значения, полученное от потенциометра. Считываем значение и Pin-Up его в угол с помощи функции map:

//Фрагмент стандартного примера использования библиотеки Servo void loop() { val = analogRead(A0); // Считываем значение с пина, к которому Pin-Up потенциометр val = map(val, 0, 1023, 0, 180); / servo.write(val); delay(15); }

Сервопривод SG90

Сервопривод SG90

Характеристики и подключение SG-90

Если вы собрались купить самый дешевый и простой сервопривод, то SG 90 будет лушим вариантом Этот серво чаще всего используется в Pin-Up небольшими легкими механизмами с углом поворота от 0° до 180°.

Технические характеристики SG90:

  • Скорость отработки команды 0,12с/60 градусов;
  • Питание 4,8В;
  • Рабочие Pin-Up от -30С до 60 С;
  • Pin-Up 3,2 х 1,2 х 3 см;
  • Вес 9 г.

Описание SG90

Pin-Up проводов стандартные. Сервопривод стоит недорого, он не обеспечивает точных настроек начальных и конечных позиций. Для того, чтобы избежать лишних перегрузок и характерного треска в положении 0 и 180 градусов лучше выставлять крайние точки в 10° и 170°. При работе устройства важно следить за напряжением питания. При сильном завышении этого показателя могут повредиться механические элементы зубчатых механизмов.

Сервоприводы MG995 и MG996 tower pro

Сервопривод MG995

Серво MG995 является второй по популярности моделью сервоприводов, чаще всего подключаемых к Pin-Up Arduino. Это относительно недорогие сервомоторы, обладающие гораздо лучшими характеристиками по сравнению с SG90.

Характеристики MG995

Выходной вал у MG995 поворачивается на 120 градусов (по 60 в каждом направлении), хотя Pin-Up продавцы указывают на 180 градусов. Устройство выполняется в пластиковом корпусе.

  • Вес 55 г;
  • Pin-Up момент 8,5 кг х см;
  • Скорость 0,2с/60 градусов (при 4,8В);
  • Рабочее питание 4,8 - 7,2В;
  • Рабочие Pin-Up - от 0С до -55С.

Описание MG995

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

Pin-Up похож на MG995 по своим характеристикам, только он выполняется в металлическом корпусе.

Переделка сервопривода в серво непрерывного Pin-Up

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

Чтобы произвести вышеописанные действия, придется разобрать Pin-Up и внести изменения в конструкцию.

В Ардуино IDE нужно создать небольшой скетч, который поставит качалку в Pin-Up положение.

#include <Servo.h> Servo myservo; void setup(){ Pin-Up myservo.write(90); } void loop(){ }

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

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

Любой из методов переделки сервопривода в серво непрерывного вращения имеет свои недостатки. Во-первых, сложно настроить нулевую точку, любое движение может ее сбить. Pin-Up диапазон регулирования мал - при небольшом изменении ширины импульса скорость может значительно измениться. Расширить диапазон можно программно в Ардуино.

Заключение

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

В этой статье мы постарались раскрыть разные аспекты использования сервоприводов в проектах arduino: от подключения до написания скетчей. Выбрав самую простую модель серво (например, sg 90) вы сможете без труда повторить приведенные Pin-Up и создать свои первые проекты, в которых что-то движется и изменяется. Надеемся, эта статья поможет вам в этом.

1 КОММЕНТАРИЙ

  1. Добрый день, помогите мне, пожалуйста, подключить сервопривод. На выходе сервопривод имеет три провода, соединённых в один корпус, а проводов с папой-папой у меня, как запрограммировать на другие пины? У меня есть WhatsApp или пишите на почту.

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here