ПОДКЛЮЧЕНИЕ СЕРВО И УПРАВЛЕНИЕ ОТ ARDUINO

ПОДКЛЮЧЕНИЕ СЕРВО И УПРАВЛЕНИЕ ОТ ARDUINO Бинокли

Сервопривод Ардуино (micro servo 9g) является важным элементом в конструкции различных роботов и механизмов. Это привод, который имеет обратную связь для точного управления движениями механизмов. Рассмотрим устройство, принцип работы и подключение сервопривода к Arduino Uno. Разберем простые примеры программ для управления сервомотором с помощью потенциометра и тактовой кнопки от Ардуино.

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


ПОДКЛЮЧЕНИЕ СЕРВО И УПРАВЛЕНИЕ ОТ ARDUINO

Сервопривод Tower Pro 9g SG90 используется в основном для управления небольшими легкими механизмами,
угол поворота которых ограничен диапазоном от 0 до 180 градусов.

Технические характеристики сервопривода SG90 ( Micro Servo 9g ):

Рабочее напряжение: от 3V до 7.2V (Вольт)
Размеры устройства: 22mm x 11.5mm x 22.5mm
Вес: 9 грамм
Температура использования: от -30 до +60 градусов по Цельсию

Схема подключения сервопривода:

– Земля ( Ground, подключается к пину GND на плате Arduino )
        – Питание +5 V ( подключается к пину 5V на плате Arduino )
         – Сигнал управления ( подключается к цифровому пину Arduino )


ПОДКЛЮЧЕНИЕ СЕРВО И УПРАВЛЕНИЕ ОТ ARDUINO

Сервопривод Tower Pro 9g SG90

Программирование сервопривода Tower Pro.

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

Затем, объявляем наш сервопривод.

В разделе setup() назначаем пин управления сервоприводом. Здесь используем цифровой пин номер 9.

Далее внутри испоняемого блока программы управляем положением сервопривода.

В данном примере мы устанавливаем сервопривод в положение 60 градусов.

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


ПОДКЛЮЧЕНИЕ СЕРВО И УПРАВЛЕНИЕ ОТ ARDUINO

Для управления скоростью поворота сервопривода можно задать специальную функцию.

Здесь используем функцию servoslow.

Функция управления скоростью сервопривода использует следующие параметры:
1. Имя сервопривода
2. Конечная позиция сервопривода ( в градусах)
3. Задержка между каждым поворотом в один градус ( чем больше значение, тем медленнее будет поворачиваться сервопривод)
4. Начальная позиция сервопривода.

Сложности при работе с сервоприводами.

Недорогие сервоприводы не обеспечивают точных настроек начальной и конечной позиций.
Часто в положении 0 и 180 градусов слышен характерный треск или жужжание.
Это говорит о том, что механическая часть сервопривода уже находиться в предельной позиции, но датчик считает, что
заданная позиция еще не достигнута.
Проблему можно решить подбором скорректированных позиций.
Например, часто вместо позиции 0 градусов нужно использовать позицию поворота сервопривода в 10-15 градусов,
а конечную 165-170 градусов.
Это позволит избежать лишних перегрузок и шума при достижении крайних точек.

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

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


ПОДКЛЮЧЕНИЕ СЕРВО И УПРАВЛЕНИЕ ОТ ARDUINO

FAQ (часто задаваемые вопросы)

Для управления сервоприводом от Ардуино используется библиотека Servo.h, ссылка на скачивание архива с библиотекой размещена в начале статьи.

Если сервомотор не крутится или перестает в какой то момент работать, то в большинстве случаев проблема в подключении или питании micro servo 9g. Во-первых проверьте, подключена ли общая земля между Ардуино и сервомотором. Во-вторых, может не хватать выходного тока у блока питания для работы servo mg995 / servo sg90.

Почему сервопривод трещит и не вращается ?

Если серво трещит (гудит), то возможно у сервомотора неправильно выставлены крайние положения ротора. Попробуйте выставить в скетче крайние значения для micro servo — вместо 0 поставьте 10, а вместо 180 поставьте 170.

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


ПОДКЛЮЧЕНИЕ СЕРВО И УПРАВЛЕНИЕ ОТ ARDUINO

Получая управляющий сигнал от Ардуино, micro servo 9 g стремится поддерживать это значение на выходе исполнительного механизма. Приведем более сложный пример управления серводвигателем от потенциометра с платой Arduino. Соберите схему с потенциометром и загрузите программу плату для управления сервоприводом. Команда Serial.println(val) отправляет данные от потенциометра на монитор порта.

Сервомотор принцип работы, устройство, схема


ПОДКЛЮЧЕНИЕ СЕРВО И УПРАВЛЕНИЕ ОТ ARDUINO

Micro servo 9g характеристики

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

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


ПОДКЛЮЧЕНИЕ СЕРВО И УПРАВЛЕНИЕ ОТ ARDUINO

Значения переменной val могут меняться в зависимости от сопротивления подтягивающего резистора в электрической схеме. Эти значения будут выводиться на монитор порта, чтобы можно было настроить условие для поворота микро серво 9г. При управлении серво от микроконтроллера могут возникать помехи, которые можно уменьшить, подключив конденсатор к портам питания 5V и GND платы Ардуино.

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


ПОДКЛЮЧЕНИЕ СЕРВО И УПРАВЛЕНИЕ ОТ ARDUINO

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

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

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

Оцените статью
ТелеМикроскопы