Перейти к содержанию

Сервопривод постоянного вращения

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

Обновлено Редакция GAW

Сервопривод постоянного вращения (continuous rotation servo, «серво 360°») — хобби-сервопривод, у которого управляющий импульс задаёт не положение вала, а скорость и направление вращения. Механически это мотор-редуктор со встроенным драйвером, которым управляют тем же сигналом 50 Гц.

Как работает сигнал

Пример — Feetech FS5106R, в названии которого прямо стоит «PWM360»:

Параметр по спецификацииЗначение
Нейтраль (стоп)1500 ± 9 мкс
Зона нечувствительности18 мкс
Диапазон импульсов1200–1800 мкс
От 1500 к 1800 мксвращение против часовой стрелки
Скорость без нагрузки, 4,8 / 6 В75 / 95 об/мин
Ток без нагрузки, 4,8 / 6 В250 / 350 мА
Момент остановки, 4,8 / 6 В4,8 / 6 кг·см
Ток остановки, 4,8 / 6 В0,9 / 1,1 А
Редуктор1/210, люфт 0,5°

Чем дальше импульс от нейтрали, тем быстрее вращение; по другую сторону нейтрали направление меняется.

Где применяют

Такие приводы ставят на колёса небольших роботов и в механизмы, которым нужна непрерывная работа с умеренной скоростью: внутри уже есть редуктор и драйвер, и от микроконтроллера нужен один вывод ШИМ. Регулировка скорости грубая и зависит от нагрузки, точного угла привод не держит. Питание считают по току остановки: при заклинивании колеса FS5106R при 6 В потребляет 1,1 А. Импульс нужной длительности на Arduino проще всего задать через writeMicroseconds(); регистры таймера для других микроконтроллеров считает калькулятор ШИМ сервопривода.

Частые вопросы

Почему сервопривод 360° не останавливается на 1500 мкс?

Нейтраль у каждого экземпляра немного своя: у Feetech FS5106R по спецификации 1500 ± 9 мкс, а зона остановки вокруг неё — 18 мкс. Если привод медленно ползёт, подберите длительность импульса, при которой он стоит, или подстройте нейтраль регулировкой, если она есть.

Можно ли повернуть такой привод на заданный угол?

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

Какой ток нужен сервоприводу FS5106R?

По спецификации Feetech при 6 В ток без нагрузки 350 мА, а при заторможенном вале — 1,1 А. Источник питания нужно рассчитывать на ток остановки, а не на ток холостого хода.

Источники

  1. Feetech. FS5106R Product Specification, edition A/0 (2021-07-29), копия на сайте Pololu — наименование «6V 6kg.cm PWM360»; 5-1…5-9: при 4,8 / 6 В скорость без нагрузки 0,133 / 0,105 с на 60° (75 / 95 об/мин), ток без нагрузки 250 / 350 мА, момент остановки 4,8 / 6 кг·см, ток остановки 0,9 / 1,1 А, ток в покое 6 мА; 6-2: ограничения угла нет; 6-10: передаточное отношение 1/210; 6-11: люфт 0,5°; 7-3: 360° постоянное вращение; 7-6: нейтраль 1500 ± 9 мкс; 7-7: зона нечувствительности 18 мкс; 7-8: против часовой при 1500→1800 мкс; 7-9: диапазон 1200–1800 мкс
  2. Arduino. Servo library, src/Servo.h (LGPL 2.1) — DEFAULT_PULSE_WIDTH 1500 мкс, REFRESH_INTERVAL 20 000 мкс; writeMicroseconds() задаёт длительность импульса напрямую

Нашли ошибку?