
DShot — это новый протокол связи между контроллером полета (FC) и ESC , заменяющий Oneshot и Multishot. DShot означает Digital Shot.
Разработанный Flyduino в сотрудничестве с Betaflight, DShot продвинутый протокол драйвера двигателя в квадрокоптере. Multishot еще используется, но DShot появился как новая, лучшая технология.
Преимущества DShot
По сравнению с Oneshot и Multishot, DShot предлагает несколько ключевых преимуществ:
1. Калибровка ESC больше не требуется: DShot устраняет дрейф генератора, устраняя необходимость калибровки ESC.
2. Более точный сигнал ESC: он более устойчив к электрическим помехам.
3. Более высокое разрешение: DShot обеспечивает 2048 шагов по сравнению с 1000 шагами у его предшественников.
4. Быстрее, чем Oneshot: DShot значительно быстрее.
5. Безопаснее: каждый сигнал проверяется ESC, которая может обнаружить и отклонить поврежденные данные.
Так что же такое DShot на самом деле
DShot — это цифровой протокол.
Стандартные PWM, Oneshot125, Oneshot42 и Multishot — это все аналоговые сигналы, которые полагаются на длину электрического импульса для определения отправляемого значения. Аналоговые сигналы могут иметь проблемы с точностью из-за:
- Изменения скорости осциллятора: Различия в скорости осцилляторов (или генераторов такта) в ESC и FC могут привести к неточным измерениям длительности импульса, особенно на уровне микросекунд. Вот почему калибровка ESC необходима для синхронизации осцилляторов.
- Электрический шум: Скачки напряжения могут повредить аналоговые данные, поэтому некоторые рекомендуют более высокую частоту обновления двигателя, чем ПИД-контуры, чтобы улучшить летные характеристики. Повторная отправка одного и того же значения на двигатель усредняет ошибки, повышая точность.
С цифровым протоколом, таким как DShot, эти проблемы устраняются. Цифровые сигналы, состоящие из единиц и нулей, гораздо более устойчивы к электрическим помехам, и калибровка ESC больше не требуется.
Насколько быстр DShot
Варианты: DShot600, DShot300, DShot150
DShot предлагает три варианта скорости, указывающие количество отправляемых данных в секунду:
- DShot600: 600 000 бит/сек
- DShot300: 300 000 бит/сек
- DShot150: 150 000 бит/сек
Рассчитать задержку
Пакет данных DShot состоит из 16 бит: 11 бит для значения дроссельной заслонки (2^11 = 2048 шагов), 1 бит для запроса телеметрии и 4 бита для контрольной суммы CRC (циклический избыточный контроль).
Например, частота DShot600 составляет 600 000/16 = 37,5 кГц, то есть для отправки одного значения дроссельной заслонки от FC к ESC требуется около 26,7 микросекунд.
Сравнение скорости
Вот сравнение скоростей сигнала, предполагая 100% тягу:
- Oneshot125: 250 мкс (микросекунд)
- DShot150: 106,7 мкс
- Oneshot42: 84 мск
- DShot300: 53,3 мкс
- DShot600: 26,7 мкс
- Multishot: 25 мкс
Высокая скорость передачи DShot теоретически позволяет использовать FC Looptime до 33 кГц. Хотя DShot600 не так быстр, как Multishot, его скорости достаточно, пока она быстрее, чем FC looptime. Кроме того, другие преимущества DShot перевешивают небольшую разницу в скорости.
Какое оборудование поддерживает DShot
BLHeli_S и BLHeli_32 ESC
Все современные ESC, включая те, что работают на прошивках BLHeli_S и BLHeli_32, будут поддерживать DShot. Некоторые старые ESC могут иметь ограничения по скорости, поддерживая только до DShot300 или даже DShot150, но это обычно касается ESC, выпущенных за последние 5 лет. Все современные ESC, использующие чипсет EFM8BB21x, поддерживают DShot600.
KISS ESC
Регулятор скорости KISS 24A поддерживает все три уровня скорости DShot и может быть настроен через конфигуратор Chrome GUI. Регулятор скорости KISS использует процессоры STM32, которые эффективно взаимодействуют через контроллер DMA, минимизируя дополнительную задержку обработки.
Требования к контроллеру полетов
Все современные контроллеры полета поддерживают DShot (F4, F7, H7 и т. д.).
Другая ключевая информация
- Для запуска DShot не требуется никаких специальных изменений конфигурации ESC в BLHeliSuite, ESC может определить, какой протокол ESC он использует.
- Калибровка ESC не требуется, поэтому PPM_Min и PPM_Max в конфигураторе ESC отключаются при использовании DShot, так как эти конечные точки фиксированы.
- В Betaflight min_command и max_throttle игнорируются DShot.
- digital_idle_percent заменяет min_throttle.
- unsynced_motor_output удален для DShot, так как он больше не нужен.
Из DShot600 и Multishot предпочтительнее DShot600. Если вы не можете запустить DShot600, более медленные протоколы, такие как DShot300 или DShot150, все еще полезны. Более короткая ширина импульса сигнала Multishot может немного улучшить летные характеристики, но преимущества DShot в надежности и стабильности делают его в целом лучшим выбором.