arrow_upward

DShot — протокол для регуляторов скорости вращения моторов

Обновлено

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

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

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

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

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

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

DShot — что это?arrow_upward

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

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

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

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

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

Варианты: 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?arrow_upward

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, прямой доступ к памяти), она позволяет передавать данные без использования значительных вычислительных ресурсов.

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

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

 

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

Обновлено:

Что внутри
  • check
    DShot — протокол для регуляторов скорости вращения моторов

Была ли эта страница полезна?    thumb_up_off_alt   thumb_down_off_alt