Как ШИМ управляет углом серводвигателя – Полное руководство_Servo_Industry Industry Insights_Kpower
Дом > Обзор отрасли >Сервопривод
ТЕХНИЧЕСКАЯ ПОДДЕРЖКА

Как ШИМ управляет углом серводвигателя – Полное руководство

Опубликовано 2026-04-13

Широтно-импульсная модуляция (ШИМ) — это стандартный метод, используемый для точного управления угловым положением стандартного хобби.сервоприводмотор. Изменяя ширину электрического импульса, подаваемого насервоприводкаждые 20 миллисекунд вы можете командоватьсервоприводдля перемещения на определенный угол, обычно от 0 до 180 градусов. В этом руководстве представлены точные характеристики сигналов, пошаговая логика управления, практические примеры и советы по устранению неполадок, чтобы вы могли немедленно реализовать сервоуправление с ШИМ.

01Основной принцип: ширина импульса напрямую связана с углом

Стандартный серводвигатель содержит небольшую схему управления, которая считывает входящий сигнал ШИМ. Положение выходного вала сервопривода определяется исключительноширина импульса(длительность высокого сигнала) в пределах фиксированного кадра длительностью 20 мс (50 Гц). Зависимость линейная: определенная ширина импульса равна определенному целевому углу.

Стандартное преобразование импульса в угол (для сервоприводов 0–180°):

0 градусов:Импульс 0,5 мс (500 микросекунд)

90 градусов (нейтраль):Импульс 1,5 мс (1500 микросекунд)

180 градусов:Импульс 2,5 мс (2500 микросекунд)

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

02Шаг за шагом: генерация правильного сигнала ШИМ

Для управления углом сервопривода необходимо генерировать повторяющийся сигнал с двумя ключевыми параметрами:

Шаг 1. Установите период ШИМ на 20 мс (50 Гц).

Сервопривод ожидает новый импульс каждые 20 миллисекунд. Это означает, что частота ШИМ равна 1/0,02 с = 50 Гц. Не меняйте эту частоту; в противном случае сервопривод будет дрожать или не реагировать.

Шаг 2. Выберите желаемый угол и рассчитайте ширину импульса.

Используйте эту формулу линейной интерполяции:

Ширина импульса (мс) = 0,5 + (угол/180) 2.0

Например:

Угол = 45° → Импульс = 0,5 + (45/180)2,0 = 0,5 + 0,5 =1,0 мс

Угол = 135° → Импульс = 0,5 + (135/180)2.0 = 0.5 + 1.5 = 2,0 мс

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

На практике вы устанавливаете таймер: выводите HIGH для ширины импульса (например, 1,5 мс), затем выводите LOW для оставшегося времени (20 мс – 1,5 мс = 18,5 мс). Повторяйте непрерывно.

03Пример из реальной жизни: управление сервоприводом от 0° до 180°

Представьте, что у вас есть сервопривод, подключенный к роботизированной руке. Вы хотите, чтобы он перемещался от крайнего левого (0°) до крайнего правого (180°) пошагово.

Последовательность сигналов (каждая строка представляет собой один цикл длительностью 20 мс):

Цикл 1: ВЫСОКИЙ в течение 0,5 мс → Сервопривод перемещается на 0°.

Цикл 2: ВЫСОКИЙ в течение 1,0 мс → Сервопривод перемещается на 45°.

Цикл 3: ВЫСОКИЙ в течение 1,5 мс → Сервопривод перемещается на 90°.

Цикл 4: ВЫСОКИЙ в течение 2,0 мс → Сервопривод перемещается на 135°.

Цикл 5: ВЫСОКИЙ в течение 2,5 мс → Сервопривод перемещается на 180°.

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

04Общие методы реализации (без торговых марок)

Вы можете сгенерировать необходимый сигнал ШИМ, используя:

Модули таймера/счетчика микроконтроллера– Настройте ШИМ с частотой 50 Гц и переменным рабочим циклом. Рабочий цикл = (ширина импульса / 20 мс) 100%. Для импульса длительностью 1,5 мс коэффициент заполнения = 7,5%.

Программное обеспечение– Непосредственное управление выводом GPIO с задержками. Менее точный, но работает для обучения.

Выделенные модули сервоприводов– Такая точность синхронизации разгружается, но при этом требуется тот же диапазон импульсов 0,5–2,5 мс.

Критическое требование точности:Точность ширины импульса должна быть в пределах ±10 мкс (микросекунд). Джиттер или неправильные углы возникают, если отклонение времени превышает 20 мкс.

05Устранение неполадок: почему сервопривод не достигает правильного угла?

Симптом Наиболее вероятная причина Исправить
Сервопривод перемещается только между 0° и 90° (не 180°). Диапазон ширины импульса составляет 1,0–2,0 мс вместо 0,5–2,5 мс. Настройте свой код для вывода минимум 0,5 мс и максимум 2,5 мс.
Сервопривод вибрирует или гудит в крайних случаях Ширина импульса немного выходит за механические пределы Ограничить импульс до 0,5–2,5 мс; никогда не отправлять 2,6 мс
Серво вообще не реагирует Неправильная частота (не 50 Гц) Убедитесь, что период ШИМ составляет ровно 20 мс (50 Гц).
Угол смещен (например, 1,5 мс дает 95° вместо 90°). Сервопривод имеет нестандартную нейтральную точку. Измерьте фактический пульс под углом 90° и откалибруйте карту заново.

Реальный случай:Распространенной ошибкой является использование диапазона 1,0–2,0 мс, поскольку некоторые библиотеки микроконтроллеров используют его по умолчанию. Один пользователь сообщил, что его сервопривод повернулся всего на 90°. После изменения диапазона импульсов до 0,5–2,5 мс восстанавливался полный поворот на 180°.

06Ключевые выводы: повторите эти основные принципы

ШИМ управляет углом сервопривода по ширине импульса, а не только по рабочему циклу.В течение фиксированного периода 20 мс положение определяется по абсолютному высокому времени (от 0,5 до 2,5 мс).

Связь линейная:длительность импульса = 0,5 мс + (угол/180)*2,0 мс.

Всегда используйте частоту 50 Гц (период 20 мс).Любая другая частота вызовет неустойчивое поведение или отсутствие движения.

Проверьте минимальную и максимальную ширину импульса.Большинство проблем связано с неправильным диапазоном импульсов, а не сбоем оборудования.

07Практические рекомендации по надежному сервоуправлению

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

1. Измерьте фактическую реакцию вашего сервопривода.Отправляйте импульсы длительностью 0,5 мс, 1,5 мс и 2,5 мс. Отметьте физические углы. Если они не равны 0°, 90°, 180°, запишите фактическое отображение импульса в угол.

2. Добавьте запас прочности в 100–200 мкс.на обоих концах (мин. импульс = 0,6 мс, макс. = 2,4 мс) для предотвращения механического заедания.

3. Используйте специальный таймервместо программных задержек, когда это возможно. ШИМ на основе таймера поддерживает точность, даже когда ваш основной код занят.

4. Проверьте логическим анализатором или осциллографом.для подтверждения ширины импульса. Многие программные симуляции скрывают ошибки синхронизации.

5. Для проектов с несколькими сервоприводамидержите источник питания отдельно от источника логики. Остановившийся сервопривод может потреблять ток 1–2 А, вызывая падение напряжения, которое искажает сигналы ШИМ.

Строго придерживаясь диапазона ширины импульса 0,5–2,5 мс в течение периода 20 мс, вы добьетесь точного и повторяемого управления углом на любом стандартном серводвигателе. Сначала выполните этап измерения, затем настройте свой код, и ваш сервопривод будет двигаться именно туда, куда вы прикажете.

Время обновления: 13 апреля 2026 г.

Энергия будущего

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

Написать письмо в Kpower
Отправить запрос
Сообщение WhatsApp
+86 0769 8399 3238
 
kpowerMap