Перейти к содержимому
DSHOT BITBANG — ЧТО ЭТО?
05
июля
2025

DSHOT BITBANG — ЧТО ЭТО?

DSHOT Bitbang — что это?

DSHOT Bitbang — это способ реализации протокола DShot для управления регуляторами скорости (ESC) бесщеточных моторов с помощью программного управления вывода сигнала ("bitbang"), то есть прямого формирования цифрового сигнала на выводах микроконтроллера без использования специализированных аппаратных таймеров.

Что такое DShot?

  • DShot — это цифровой протокол обмена данными между полетным контроллером (ПК) и регуляторами скорости (ESC), который пришел на смену аналоговым протоколам Oneshot и Multishot.
  • Протокол передает данные в виде цифровых бит, что исключает необходимость калибровки регуляторов, повышает точность и устойчивость к помехам.
  • DShot имеет несколько вариантов скорости передачи: DShot150, DShot300, DShot600 (числа обозначают скорость в тысячах бит в секунду).

Что значит Bitbang в контексте DShot?

  • Bitbang — это метод программного формирования сигнала, когда микроконтроллер "вручную" управляет уровнем сигнала на выводе, задавая последовательность битов в нужном временном формате.
  • В отличие от аппаратной реализации через таймеры и DMA, Bitbang не требует специальных аппаратных ресурсов, но может быть менее эффективен с точки зрения загрузки процессора.
  • В GitHub обсуждениях Betaflight сравнивают реализацию Bidirectional DShot через Bitbang и через таймеры, обсуждая плюсы и минусы каждого подхода. (###)
  • Bitbang-реализация может быть полезна на микроконтроллерах с ограниченными аппаратными таймерами или для быстрой прототипизации.

Bidirectional DShot

  • Это расширение протокола DShot, позволяющее не только отправлять команды регулятору, но и получать от него телеметрию, например, скорость вращения мотора (RPM) по тому же сигнальному проводу без дополнительных проводов.
  • Реализация bidirectional DShot через Bitbang требует сложной обработки сигнала для приема данных от ESC.

Итого:
DSHOT Bitbang — это способ программного формирования цифрового протокола DShot на микроконтроллере без использования аппаратных таймеров, позволяющий управлять ESC с помощью цифровых сигналов. Такой метод удобен для реализации на различных контроллерах, но может быть менее эффективным по ресурсам по сравнению с аппаратными методами. Bidirectional DShot Bitbang — это расширение, позволяющее обмениваться данными в обе стороны по одному проводу, что используется для получения телеметрии моторов.


 

simple

Как реализовать DShot Bitbang в Betaflight

В Betaflight реализация DShot Bitbang (программная генерация сигнала DShot без аппаратных таймеров) происходит автоматически на некоторых платформах и портах, где аппаратная поддержка ограничена. Пользователю обычно не нужно выбирать Bitbang вручную — Betaflight сам определяет способ передачи сигнала.

Настройка DShot и Bidirectional DShot в Betaflight

  1. Обновите прошивку полетного контроллера до Betaflight версии 4.1 или новее.
  2. Убедитесь, что ваши ESC поддерживают DShot (BLHeli_32 или BLHeli_S с прошивкой JazzMaverick для bidirectional DShot).
  3. В Betaflight Configurator:
    • Перейдите на вкладку Configuration.
    • В разделе ESC/Motor Features выберите протокол DShot300, DShot600 или DShot1200 (bidirectional DShot работает только с этими вариантами).
    • Включите опцию Bidirectional DShot.
    • Установите частоту обновления гироскопа и PID-цикла на 4 кГц для оптимальной работы.
  4. Через CLI можно дополнительно ввести команды:
    set dshot_burst = OFF
    set scheduler_optimize_rate = ON
    set dshot_bidir = ON
    save            
  5. Перезагрузите контроллер и ESC (сначала подключите аккумулятор, затем USB).
  6. Проверьте работу в вкладке Motors Betaflight Configurator: должны отображаться обороты моторов без ошибок.

Особенности и рекомендации

  • Bitbang-режим включается автоматически, если аппаратная поддержка DShot отсутствует.
  • Bidirectional DShot позволяет получать телеметрию RPM по тому же проводу, что и управление ESC, без дополнительных проводов.
  • Для работы bidirectional DShot необходимы ESC с прошивками BLHeli_32 версии 32.7.0 и новее или BLHeli_S с патчем JazzMaverick.
  • Если RPM-фильтрация включена, но ESC не передают телеметрию, арматура будет запрещена (с сообщением RPMFILTER на OSD).

Итог: пользователю достаточно выбрать нужный протокол DShot и включить bidirectional DShot в Betaflight, а Bitbang-реализация будет применена автоматически при необходимости.

Раздел: Параметры и режимы, Конспекты

DSHOT BITBANG — ЧТО ЭТО?