Подключение нескольких сервоприводов в Betaflight: ремаппинг моторных выходов #
1. Суть задачи
На стандартном квадрокоптерном полётном контроллере выходы M1–M4 заняты моторами. Чтобы подключить дополнительные сервоприводы, нужно переназначить (remap) свободные выходы M5–M8 под сервовыходы через CLI Betaflight.
Это применяется в таких задачах, как:
- Дроны с гиростабилизированной камерой (gimbal)
- Сбросы и механизмы захвата
- VTOL и самолёты с рулями
- Любые управляемые механические узлы
Servos в Build Options при сборке прошивки. В Betaflight Configurator это делается на вкладке Firmware Flasher → Custom Defines.
2. Пример оборудования (стек)
Для примера берём популярный стек SpeedyBee F405 V3 + BLS 50A 4-in-1 ESC:
| Компонент | Модель | Примечание |
|---|---|---|
| Полётный контроллер | SpeedyBee F405 V3 | STM32F405, BMI270, BT-модуль |
| ESC (регулятор) | SpeedyBee BLS 50A 4-in-1 | Идёт в стеке, DShot600 |
| Сервоприводы | MG90S / SG90 / DS3225 | PWM 50–333 Гц, 4.8–7.4 В |
| Приёмник | ExpressLRS / Crossfire | UART, CRSF-протокол |
| Внешний BEC | 5 В / 3–5 А (Pololu, Matek) | ⚠️ Обязателен при 3+ серво |
SpeedyBee F405 V3 поддерживает до 9 PWM-выходов: M1–M4 на ESC-коннекторе, M5–M8 — на паяльных площадках, плюс LED-пад как дополнительный PWM-выход. Встроенный BEC: 5 В / 2 А.
3. Проблема с таймерами — главная «головная боль»
Все выходы, привязанные к одному таймеру (TIMx), должны работать на одной частоте и по одному протоколу
Почему возникает конфликт?
Процессор STM32 на полётнике имеет несколько аппаратных таймеров (TIM1, TIM2, TIM3…). Каждый таймер управляет несколькими каналами (выходами M1, M2, LED и т.д.).
| Протокол мотора | Протокол серво | Один таймер? | Результат |
|---|---|---|---|
| DShot600 | PWM 50 Гц | Да | ❌ Конфликт — серво дёргается или моторы не стартуют |
| DShot600 | PWM 50 Гц | Нет | ✅ Работает корректно |
| PWM (мотор) | PWM 50 Гц | Да | ⚠️ Работает, но только если частоты совпадают |
4. Как проверить совместимость таймеров через CLI
Подключитесь к Betaflight Configurator → вкладка CLI, введите команду:
# Посмотреть все назначения таймеров:
timer
# Посмотреть все ресурсы (пины):
resource show
# Пример типичного вывода:
A08 TIM1 CH1 # M1
A09 TIM1 CH2 # M2
A10 TIM1 CH3 # M3
A11 TIM1 CH4 # M4
B00 TIM3 CH3 # M5 ← другой таймер = можно под серво ✅
B01 TIM3 CH4 # M6 ← другой таймер = можно под серво ✅
C08 TIM8 CH3 # LED ← отдельный таймер = лучшее место ✅
CLI
Важно! Если у M3 и у M5 одинаковый таймер (например, оба TIM1) — назначить M5 под серво не получится, пока M3 занят мотором на DShot. Используйте только выходы с другим TIMx.
5. Какие выходы обычно безопасны?
| Выход | Типичный таймер | Под серво | Комментарий |
|---|---|---|---|
| M1 – M4 | TIM1 | Занято | Моторы. Не трогать. |
| M5 – M6 | TIM3 | Отлично | Другой таймер — идеально под серво |
| M7 – M8 | TIM4 / TIM5 | Отлично | Зависит от конкретного FC, проверьте timer |
| LED_Strip | TIM8 | Отлично | Почти всегда отдельный таймер — лучшее место |
| Buzzer | GPIO | Осторожно | Часто стоит транзистор — мешает сигналу серво |
6. Пошаговая настройка
В Betaflight Configurator → Firmware Flasher → в разделе Build Options / Custom Defines добавьте опцию SERVOS. Перепрошейте FC.
Вкладка Configuration → Other Features → включите переключатель SERVO_TILT. Нажмите Save.
Перейдите в CLI и введите timer. Убедитесь, что нужные выходы (M5, M6, LED) имеют другой TIMx, нежели M1–M4.
Освободите моторные выходы и назначьте их под серво (примеры команд — в разделе 7).
Аналоговые серво (SG90, MG90S): set servo_pwm_rate = 50
Цифровые серво: set servo_pwm_rate = 250 или 333
Сигнальный провод серво → пад M5/M6/M7. Питание (+/−) → внешний BEC 5 В. GND BEC соедините с GND полётника.
Во вкладке Servos в Betaflight Configurator включите Live mode и подвигайте стики — серво должны откликаться.
7. Примеры команд CLI
SpeedyBee F405 V3 — два серво на M5 и M6
# Освобождаем моторные выходы M5 и M6
resource MOTOR 5 none
resource MOTOR 6 none
# Назначаем серво на те же пины
# B00 = M5 pad, B01 = M6 pad (для F405 V3)
resource SERVO 1 B00
resource SERVO 2 B01
# Устанавливаем частоту PWM для аналоговых серво
set servo_pwm_rate = 50
# Сохраняем и перезагружаем
save
CLI
SpeedyBee F405 V3 — три серво (M5, M6 + LED-пад)
# Освобождаем M5 и M6
resource MOTOR 5 none
resource MOTOR 6 none
# Освобождаем LED-пад от подсветки
resource LED_STRIP 1 none
# Назначаем три сервопривода
resource SERVO 1 B00 # M5
resource SERVO 2 B01 # M6
resource SERVO 3 C08 # LED-пад (TIM8 — отдельный таймер)
# Частота PWM
set servo_pwm_rate = 50
# Если серво дрожат — включаем фильтрацию
set servo_lowpass_hz = 10
save
CLI
resource show или в официальной документации производителя.Полезные команды для диагностики
# Показать текущее назначение всех ресурсов
resource show
# Показать все назначения таймеров
timer show
# Показать настройки сервоприводов
get servo
CLI
8. Питание сервоприводов
Питание — самая частая причина «неработающих» сервоприводов. В момент движения серво потребляет пиковый ток в 5–10 раз выше номинального.
| Количество серво | Источник питания | Рекомендация |
|---|---|---|
| 1 маленькое (SG90) | Встроенный BEC FC | Допустимо с осторожностью |
| 2 серво среднего размера | Встроенный BEC FC | Не рекомендуется |
| 3+ серво любых | Внешний BEC 5 В / 3–5 А | Обязательно |
| Мощные серво (DS3225) | Внешний BEC 6 В / 5 А+ | Обязательно |
9. Схема подключения
Аккумулятор (LiPo)
│
▼
┌─────────────┐
│ 4-in-1 ESC │──── M1..M4 ──► Моторы (DShot)
│ (BLS 50A) │
└──────┬──────┘
│ (шлейф 8-pin)
▼
┌──────────────────┐
│ SpeedyBee F405 │── UART ──► Приёмник (ELRS/CRSF)
│ V3 FC │
│ │── M5 pad ──► SERVO 1 (сигнал)
│ │── M6 pad ──► SERVO 2 (сигнал)
│ │── M7 pad ──► SERVO 3 (сигнал)
│ │── M8 pad ──► SERVO 4 (сигнал)
│ │── S9 pad ──► SERVO 5 (сигнал, если нужен)
└──────────────────┘
│
Внешний BEC 5V ──► питание (+/−) серво
10. Ссылки и документация
-
SpeedyBee F405 V3 — использование серво (официально)
speedybee.zendesk.com → F405-V3 Servo Guide -
Betaflight — официальная документация Servos & SERVO_TILT
betaflight.com → Servos and SERVO_TILT -
Betaflight — Resource Remapping (официально)
betaflight.com → Resource Remapping -
SpeedyBee F405 V3 — полная схема подключения (Wiring Diagram)
docs.speedybee.cn → Servo Usage Tutorial
- мод. : Четверг, 17 сентября 2026
