DShot — новый протокол для регуляторов скорости

dshot-esc-protocol

DShot — это новый протокол обмена данными между полетным контроллером (ПК) и регуляторами скорости (ESC), замена протоколам Oneshot и Multishot. DShot сокращение от Digital Shot.

Протокол разработан Flyduino при сотрудничестве с Betaflight. Многие удивляются — как быстро летит время: еще совсем недавно был представлен протокол Multishot, и вот уже новая более совершенная технология, всего ведь несколько месяцев прошло.

Про существующие протоколы можно почитать подробнее:

Преимущества DShot

При сравнении с Oneshot и Multishot мы видим следующие преимущества:

  • Нет необходимости калибровать регуляторы (нет джиттера)
  • Более точная и помехоустойчивая передача данных
  • Высокое разрешение — 2048 шагов (в старых протоколах всего 1000 шагов)
  • Быстрее чем Oneshot
  • Безопаснее (надежнее), каждый пакет данных содержит контрольную сумму

DShot — что это?

DShot — это цифровой протокол!

Стандартный PWM, Oneshot125, Oneshot42 и Multishot — аналоговые. Они основаны на вычислении длительности импульса. Аналоговые сигналы имеют проблемы с точностью потому что:

  1. Разная частота кварцевых резонаторов в регуляторах и ПК может внести погрешность в измерение длительности импульсов. Также это причина необходимости калибровать регуляторы.
  2. Шум и скачки напряжения могут исказить данные

При использовании цифрового протокола этих проблем нет. Офигенно, больше не нужно калибровать регули. А благодаря цифровой передаче (там всего лишь нули и единицы), протокол менее подвержен воздействию шумов.

На сколько быстро работает DShot?

Варианты: DShot600, DShot300, DShot150

Есть 3 варианта протокола, цифры определяют скорость интерфейса:

  • DShot600 – 600,000 бит/сек
  • DShot300 – 300,000 бит/сек
  • DShot150 – 150,000 бит/сек

Вычисляем задержку при передаче сигнала

Для начала нужно выяснить размер пакета передаваемых данных, затем поделить на скорость передачи данных. В протоколе DShot длина пакета — 16 бит: 11 бит данные (2048 значений), 1 бит — запрос данных телеметрии, 4 бита — контрольная сумма.

Берем для примера DShot600, частота передачи данных 600,000/16 = 37500 Гц= 37.5 кГц. Т.е. задержка при передаче данных от ПК к регулю составит 26.7 мкс.

Сравниваем скорости

Я все подсчитал 🙂 При условии, что газ = 100% получаем следующие цифры:

  • Oneshot125 – 250 мкс
  • DShot150 – 106.7 мкс
  • Oneshot42 – 84 мкс
  • DShot300 – 53.3 мкс
  • DShot600 – 26.7 мкс
  • Multishot – 25 мкс

esc-protocol-speed-comparison-hz

Большая скорость передачи данных DShot теоретически позволяет использовать время цикла ПК (FC looptime) порядка 33 кГц (не 37.5 кГц, т.к. нужны кое-какие паузы между значениями). Хотя DShot600 не так быстр, как Multishot, но пока он быстрее чем looptime, его хватит. 🙂 Со всеми прочими преимуществами, которые мы уже увидели, DShot вне конкуренции.

Какие ESC поддерживают DShot?

BLHeli_S

В настоящее время только некоторые регуляторы с BLHeli_S поддерживают DShot. Например: Cicada, Racestar V2, Aikon SEMF, TBS 25A, Lumenier 30A, DYS XS30A и т.д. Однако эти регули имеют ограничение по скорости и могут использовать только DShot300 (а некоторые только DShot150). Если верить Стефану Скагу (Steffen Skaug) новые регуляторы на чипах EFM8BB21x смогут использовать DShot600.

DShot для BLHeli_S реализовала команда Betaflight, если вы хотите знать больше (список поддерживаемого железа, известные проблемы и т.д.) то смотрите тут.

KISS ESC

KISS 24A ESC поддерживают все три варианта DShot, скорость можно выбрать прямо в конфигураторе (даже DShot600).

В KISS 24A ESC используется процессоры STM32, в полетных контроллерах коптеров тоже используются процессоры этих серий. Внутри этих процессоров есть такая штука как DMA (Direct Memory Access, прямой доступ к памяти), она позволяет передавать данные без использования значительных вычислительных ресурсов.

Требования к полетным контроллерам

Похоже, что все ПК на F3 и F4 могут выдавать данные в формате DShot.

 

Оригинал: WHAT IS DSHOT ESC PROTOCOL

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.