Прошивка Dshot для ESC

mil-lion

Недавно Борис анонсировал тестирование нового протокола для регуляторов моторов для гоночных квадриков Dshot. Пока данный протокол доступен только для регуляторов KISS и сейчас идёт активное тестирование данного протокола.
Предлагается данная ветка для обсуждения данного протокола.
Ссылка на обсуждение на RC Groups: www.rcgroups.com/forums/showthread.php?t=2756129

Сергей_Уж

Еще раз Boris.B о новой прошивке, теоретически все оооочень хорошо.
Have been testing the new DSHOT150 and DSHOT600 ESC protocols this evening and pretty amazed by the accuracy of it.
The days of ESC calibration are now totally over . Every ESC now behaves the same. That means that min_throttle / max_throttle parameters will not be needed on digital protocols.
The accuracy, precision, consistency and even speed completaly blows away the oneshot protocols, which all use old fashioned analogue PWM.

И
На данный момент это KISS24 и blheli_s будут поддерживаться насколько я понял.

DSHOT150 будет работать с blheli_s и DSHOT600 с KISS ESC’s

The only differences is that one runs 150khz bitrate and the other one 600khz bitrate

DSHOT600 работает на 600kHz и DSHOT150 на 150kHz. С DSHOT150, достигается частота обновления 8kHz (loop time) в то время как с DSHOT600 она доходит до 32kHz.

Сергей_Уж

Очередное обновление файлов
www.rcgroups.com/forums/showpost.php?p=35924094&po…
Update to test 4.1 (T41)

mainly fixed some autodetect errors. autodetect now workes fast and releiable (in my tests at last)
also the GUI now has the latest look from fedorcomander
T41 is compatible to T4
with Dshot enabled, the ESC’s will arm beep a bit delayed and not always at the same time (this comes from the autobitrate detection) fixed in 41

Сергей_Уж

Автор прошивки
dshot150 does 150000 bits per second. dshot600 does 600000.
the kiss 24A will autodetect any Dshot bit rate between 100k and 1M with T41

mil-lion

Для управляющего сигнала используется 11 бит ну плюс синхроимпульс и служебных бит то возьмём для расчёта 15 бит длина одного пакета, т.е. получается что для dshot150 - это где-то 10000 раз в секунду (10кГц), а для dshot600 - 40000 раз в секунду (40 кГц). Вот и выходит как написал Борис, что протокол Dshot150 может использоваться максимально 8кГц луптайм, а для Dshot600 - 32кГц луптайм.

Mugz

вот так вот быстро все перейдут на кисы =)

mil-lion

Вот интересно что в КИССах такого что в них можно реализовать протокол Dshot600 а на самых современных BLHeli_S с чипом BB2 этого сделать нельзя? Где то идёт обман. Так же как и про FC KISS. Все говорили что это лучшее и в итоге почитав больше инфы оказалось что у него такие же болячки как и у всех и даже Борис софт свой на них запилил, значит это востребовано и наверное Борисово творение оказалось лучше.

Fenixing
mil-lion:

Вот интересно что в КИССах такого

STM32 собстна там. Есть еще у кого 32bit в регах?

lokanaft

А кто то сейчас может летать на 32к? Свежие рф зависают. Иначе смысла от 32к скорости пока нет.

CrazyCoder
Fenixing:

Есть еще у кого 32bit в регах?

V-GOOD, но у них своя прошивка, не факт что они будут делать новую с d-shot для старых регулей.

Fenixing

lumenier-30a-32bit-silk-esc-opto-2-4s
Readytoflyquads rtf32
Turnigy_Multistar_32bit_12A_Race_Spec_ESC_2_4S
Firefly-series-32bit-smart-esc

много у кого есть оказывается, но в теме поечему-то только кисс

mil-lion

Я думаю что на первое время хватит и протокола Dshot150. Ведь уже на луптайме 8к квадрик отлично летает. А дальше и производители регуляторов подтянутся с поддержкой Dshot600. Сейчас все равно не многие контроллеры держат луптайм в 32к, а вот 8к почти все.
Но новый протокол даст стабильность передачи сигнала регулятору и не будет необходимости в калибровке регулятора. Так же повысится устойчивость к помехам (теоретически).
Посмотрим, но это уже прогресс в коптеростроении.

Сергей_Уж
Fenixing:

много у кого есть оказывается, но в теме поечему-то только кисс

Ну они пишут что на рынке есть подобные, ну у кисс самая устройчивая на данный момент работа на 32. Это написано в ветке
Про V-good тоже вопрос поднимался
V-good firefly also stm32 based ESC. Do you have any plan to porting DShot into V-good firefly ESC?
Both ESCs are exactly same ARM Cortex STM32F051 microcontroller. 😉
Автор прошивки
in theory they should be able to support it… but we dont have plans to support them with the kissESC FW…

Видео с RCG видно как происходит процесс прошивки визуально( скачанные файлы для прошивки и контроллера разархивируем и кидаем в Crome и далее как на видео )

www.youtube.com/watch?v=4ueLJ9bPTc0

lunohod
mil-lion:

Я думаю что на первое время хватит и протокола Dshot150. Ведь уже на луптайме 8к квадрик отлично летает.

Луптайм можно ставить сколько хочешь, управление мотором будет 8k.

mil-lion
lunohod:

Луптайм можно ставить сколько хочешь, управление мотором будет 8k.

Всегда хорошо когда все компоненты Системы имели равную производительность, чтобы исключить узкие места. Поэтому если гира может работат максимум до 8кГц тпротокола Dshot150 будет вполне достаточно, а вот если гира тянет 32кГц то регуляторы как минимум должны использовать протокол Dshot600, иначе смысл в такой гире.

lokanaft

Всё равно лучше подождать их тестирований. А то с какой скоростью реги успевают сгореть - ну их эти эксперименты)

Сергей_Уж
lokanaft:

Всё равно лучше подождать их тестирований.

Завтра будет новая исправленная версия, на сегодняшней автор долго летать не рекомендует из за срывов синхры ESC и как следствие аварии

I think i found the problem … its something with syncing the signal in the ESC… i think i have a new, much more stable version tomorrow.. so please dont use T41 for long flights, as it might fall down :/
regards
Felix

arb
Сергей_Уж:

на сегодняшней автор долго летать не рекомендует из за срывов синхры ESC и как следствие аварии

Но они же наш форум не читают. Про кондеры не знают.
У Кисс такая же проблема с кондерами. Мало того, из-за того, что у него стоит ограничение на 26,5В защита начинает душить двигатель, легко можно перепутать со срывом синхры.
На стенде при 6S звучит прикольно - как будто двигатель захлебывается из-за избытка топлива.

arb
Сергей_Уж:

Много ошибок

Вполне логично как результат погони за большими цифрами. Это все же не чисто цифровой сигнал, а имитация цифры через ШИМ. Точность ширины импульса становиться чересчур важна при высокой частоте.

Они бы лучше вместо погони уделили внимание надежности передачи данных. И так уже хорошо.

mil-lion

Я бы в протокол добавил бы бит четности, чтобы был контроль правильности дешифровки сигнала. А ещё лучше 3-4 бита на CRC.
Может так Борис и сделал, надо будет код посмотреть.

Сергей_Уж

Цитата от автора ( это проблемы и решения на сегодня )
в новой сегодняшней прошивке есть это

  • if there are more then 6% bad signals a second, it counts up now and if there was 10 seconds (could be single or in a row) it beeps 1x each second when the motor is stopped to show that there is a problem with too many false D shot signals
    и далее
    the KISSFC code simply does the normal outputs"1000-2000"-1000*2.047f for now. the KISS ESC’s read 0-47 as 0 and 48 as “1024” so they start spinning then (the new T5 version)
    im not sure what is better maybe we should simply vote what we prefer

so i give my vote for:
0-47 reserved for settings, motor start with 48 at 2.4% PWM (it should be low enogh) then at 2047 100% PWM
i think this is a good thing because then the crc is included and wrong bits cant set a setting.
Борис
Bf “test” code does the same at the moment. It simply outputs the 0-2000 in steps of 2. This is only because it is not finished and some other cleanup needs to be done to increase the resolution for motor output. The idea is to first make it work and than make it nice at the end.

But the idea was to use 1048-2047 for throttle. I am not sure how to deal with it internally in the ESC’s, but if you ask me you can already make it spin from 1048.

@felix
What do you think? Should we rescale from 1048 perhaps?
I think it’s a better idea as the values below that can have other functions. 48 = 1001, 49=1002 and 0 = 1000 (disarmed)
Value of 1 can be beeper etc.
Also preventing output below that would be a good idea I think?
автор
as no motor spins at 0% PWM and we need no margin to be save as there is no drift or jitter, i would say lets start the motor at 48 of the 2047. everything below (0-47) gets read as 0 (ESC armes as it is a valid signal) so then we can use 1-47 for settings.

Они еще до конца не решили в каких границах будет рабочий диапазон и как это все будет . Интересно следить как рождается новье 😃 Хотя посмотрел сегодня видео DuDlik (Михаил Королев) был удивлен, я всегда считал что кисс это быстро, но сегодня все поменялось, мне бы так и без Dshot хватило 😃