Сервопривод для Arduino: SG90, MG996R и другие — какой выбрать
Сервопривод поворачивается на заданный угол и удерживает его. Внутри обычный моторчик, редуктор из шестерён, потенциометр и плата, которая следит за положением вала. Именно поэтому серво не нужен драйвер: достаточно питания и одного управляющего провода.
Выбирают серво по трём параметрам: усилие, тип шестерён и диапазон вращения. Цена при этом отличается в разы, а внешне модели похожи.
Разборы конкретных моделей
Ходовые модели
Девять граммов, усилие около полутора килограммов на сантиметр, шестерни пластиковые. Самый дешёвый и самый распространённый. Годится для лёгких задач: повернуть датчик, открыть заслонку, поднять флажок. Пластиковые шестерни срываются при ударе или заклинивании.
Тот же размер и почти то же усилие, но редуктор металлический. Стоит вдвое дороже и переживает то, от чего SG90 умирает: рывки, удары, упор в препятствие. Разумный апгрейд, если механизм двигает что-то реальное.
Стандартный размер сорок на двадцать миллиметров, металлические шестерни, серьёзное усилие. Тянет манипулятор или рулевую рейку модели. Ток под нагрузкой доходит до двух с половиной ампер — от платы такой не питают никогда, только от отдельного источника.
Внешне не отличается, но обратной связи по углу нет: команда задаёт не положение, а скорость и направление вращения. Фактически это мотор с редуктором и простым управлением. Ставят на колёса небольших роботов.
Что такое килограммы на сантиметр
Усилие серво измеряют в килограммах на сантиметр. Полтора килограмма на сантиметр означает: на плече длиной один сантиметр от оси серво поднимет полтора килограмма. На плече в три сантиметра — уже вдвое меньше килограмма, на десяти сантиметрах — сто пятьдесят граммов.
Это самая частая ошибка при выборе: смотрят на цифру в характеристиках, не соотнося её с длиной рычага в своей конструкции. Считайте заранее, и берите с запасом хотя бы вдвое: паспортное усилие — это максимум, на котором серво работает на пределе и греется.
Питание — главная проблема
Даже маленькая SG90 в момент старта берёт до семисот миллиампер, а USB-порт даёт пятьсот на всё вместе с платой. Результат знаком каждому: серво дёргается, плата перезагружается, программа начинается заново.
Правильное решение одно — отдельный источник пять вольт на серво, а землю обязательно объединить с землёй платы. Без общей земли управляющий сигнал не с чем сравнивать, и серво будет вести себя непредсказуемо.