DShot и телеметрия ESC в Betaflight

Коротко: RPM-фильтр начинает работать только тогда, когда FC получает достоверную скорость каждого мотора. Нельзя перепутать DShot, bidirectional DShot, ESC telemetry и значение motor_poles: это разные уровни одной системы.

⚠️ До любого теста моторовСними все пропеллеры, зафиксируй раму и только потом подключай аккумулятор. Для первого включения используй smoke stopper или источник с ограничением тока. Не проверяй телеметрию на столе с установленными пропеллерами.
SpeedyBee F405 V4 BLS 55A Stack с маркировкой площадок
Фото стека из материала о подключении FC и ESC на FPV Club. Подпись площадок помогает понять физическую часть проверки, но не заменяет документацию конкретной платы.
Holybro Kakute F722 Flight Controller
Другой пример FC: распиновка и таймеры отличаются, поэтому совместимость bidirectional DShot проверяют по target и фактической телеметрии.

Что именно соединяет FC и ESC

Обычный PWM/OneShot передаёт положение газа длительностью импульса. DShot передаёт цифровой кадр с throttle, битом запроса телеметрии и контрольной суммой. Поэтому DShot не требует классической калибровки диапазона газа: ноль и максимум кодируются как цифровые значения.

Bidirectional DShot добавляет обратный кадр от ESC по тому же сигнальному проводу. FC получает eRPM, переводит его в механические RPM с учётом числа магнитов и может привязать узкие notch-фильтры к реальной частоте мотора. Это не означает, что любой ESC с надписью «DShot» автоматически поддерживает RPM telemetry: нужна подходящая прошивка ESC и рабочая связка таймеров/DMA конкретного target.

Сигнальный путь DShot и обратная телеметрия RPMFC отправляет DShot на ESC, ESC управляет мотором и возвращает bidirectional DShot с eRPM по тому же проводу. Отдельная линия UART нужна только для serial ESC telemetry.FCDShot transmitESCfirmware + telemetryMotormechanical RPMbidirectional response: eRPMFC converts eRPM → RPM → RPM notchSerial ESC telemetry: separate UART

DShot, bidirectional DShot и serial ESC telemetry

Уровень Что передаётся Проводка Что проверять
PWM / OneShot Аналоговая длительность импульса газа FC → ESC Диапазон газа, калибровка, шум и задержка
DShot Цифровой кадр throttle с checksum FC → ESC ESC, motor_pwm_protocol, target FC
Bidirectional DShot eRPM и, при поддержке EDT, дополнительные поля Тот же motor signal в обе стороны dshot_bidir, ошибка в Motors tab, RPM каждого мотора
Serial ESC telemetry RPM, температура, ток и напряжение в зависимости от прошивки ESC TX → отдельный FC UART Sensor Input = ESC, UART и firmware

Важно: TLM/CURR, ESC telemetry и RPM telemetry не являются синонимами. RPM-фильтр требует именно достоверного RPM-потока. EDT может добавить напряжение, ток и температуру, но поддержка зависит от прошивки ESC.

Совместимость проверяют цепочкой, а не названием

Официальное руководство Betaflight указывает, что bidirectional DShot работает с DShot 300, 600, 1200 и Proshot 1000, но практический выбор зависит от частоты gyro/PID, возможностей MCU, таймеров/DMA и прошивки ESC. Для 4k/4k и 8k/4k в руководстве рекомендуют DShot300 ради надёжности; для 8k/8k — DShot600. Это ориентир документации, а не универсальный пресет для каждой платы.

Проверка Положительный признак Если не совпало
FC target и Betaflight Плата поддерживает нужный протокол, DMA и bidir Сверь target и timer/resource ограничения
ESC firmware Есть DShot telemetry/bidirectional DShot или EDT Проверь документацию и версию прошивки ESC
Сигнальная линия Мотор управляется, RPM появляется без большого error Проверь землю, разъём, порядок моторов и DMA
Число магнитов motor_poles совпадает с bell Пересчитай магниты или возьми число из спецификации

Магниты, пары полюсов и формула частоты

ESC возвращает eRPM, а Betaflight переводит его в механические обороты через число магнитов/полюсов мотора. В motor_poles указывается полное число магнитов, а не число пар. Для типичного 5-дюймового мотора часто встречается 14 магнитов: это 7 пар.

Формула: f₁ = RPM / 60 × P / 2 = RPM × P / 120, где P — полное число магнитов. Для гармоники k: fₖ = k × f₁. Это ориентир для понимания RPM-notch, а не измерение реальной вибрации.

Интерактивный график / eRPM → RPM → harmonic

Как RPM и магниты двигают электрические гармоники

Измени обороты и число магнитов. Линии показывают первую, вторую и третью электрические гармоники; красная точка — выбранный режим.

Учебная модель

12 000 rpm

Расчётная зависимость частоты электрических гармоник от механических оборотов. График не измеряет реальную вибрацию.

1-я гармоника2-я гармоника3-я гармоникавыбранная точка
Пары полюсов
1-я гармоника
2-я гармоника
3-я гармоника

Пример: при 12 000 rpm и 14 магнитах первая гармоника равна 1 400 Hz, вторая — 2 800 Hz, третья — 4 200 Hz. В Betaflight вводится 14, а не 7.

Порядок проверки в Betaflight

  1. Сними пропеллеры, зафиксируй раму, отключи аккумулятор и сохрани diff all. Запиши target FC, версию Betaflight, firmware ESC и число магнитов.
  2. В Configuration выбери DShot в Motor Protocol. Для 4k/4k или 8k/4k начни с DShot300; для 8k/8k сверяйся с target и руководством Betaflight по DShot600.
  3. Включи bidirectional DShot только после проверки ESC и FC. В Betaflight 4.1+ старый config snippet обычно не нужен: функция включается в Configuration или CLI.
  4. Подключи LiPo к ESC, дождись инициализации, затем USB. Открой Motors tab. Без пропеллеров кратко проверь каждый мотор: RPM должен появляться, ошибка телеметрии не должна быть высокой. Ориентир текущего руководства — до 1% ошибки.
  5. Только после подтверждения RPM включай RPM Filter и проверяй motor_poles. Если один мотор не отдаёт данные, не маскируй проблему фильтром.
  6. После короткого теста проверь температуру моторов и ESC. Фильтры меняй по одному, сохраняя blackbox до и после.

Минимальный CLI-снимок перед диагностикой

version
status
get motor_pwm_protocol
get dshot_bidir
get motor_poles
get rpm_filter_harmonics
get rpm_filter_lpf_hz
get rpm_filter_q
tasks

Читать результат нужно в контексте. status и Motors tab показывают фактическое состояние, а CLI фиксирует конфигурацию. Если меняешь параметр через CLI, сначала сохрани резервную копию и после save снова проверь моторы без пропеллеров.

Интерактивное дерево / сначала безопасность

Диагностика «RPM не приходит»

Отметь фактическое состояние сборки. Дерево остановится на первом критическом несоответствии и даст следующий безопасный шаг.

Есть reset и блокировка

Motor Protocol

Bidirectional DShot

RPM в Motors tab

Ошибка телеметрии

Motor poles

Заполнено: 0 из 6 условий

Результат появится после проверкиВыбери реальные состояния, а не желаемый результат.

Симптомы и следующий шаг

Симптом Уровень проблемы Что проверить первым
Мотор не запускается на DShot Протокол, питание, линия, target/timer Землю, разъём и motor_pwm_protocol; пропеллеры сняты
Моторы работают, RPM = 0 ESC firmware или bidirectional DShot Telemetry, dshot_bidir, DShot speed и Motors tab после power cycle
RPM есть, ошибка 100% / красная линия Инициализация ESC, батарея, timing/DMA LiPo до USB, инициализацию ESC, target и прошивку; не лети
RPM неверен примерно во столько же раз Число магнитов Пересчитай магниты на bell; в motor_poles укажи полное число
Один мотор даёт выбросы Конкретный ESC, провод, мотор или механика Разъём, мотор без пропеллера, температуру и blackbox
RPM стабилен, но моторы горячие Фильтры, механика, PID или резонанс Посади аппарат, проверь пропеллеры/крепёж и меняй фильтры по одному

Сначала проверь физическую часть по статье «Как правильно спаять полётный контроллер и ESC». Затем переходи к статье про RPM-фильтр и LPF: она начинается там, где телеметрия уже подтверждена.

Первичные источники: DSHOT, ESC Telemetry, DShot RPM Filtering и CLI Reference 2025.12. Перед изменением параметров сверяйся с версией прошивки и target платы.


Прокрутить вверх