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

arb

Это у Вас комп так коверкает чужой текст или специально сделали? Надеюсь первое.

wind7:

вы в корне не правы

Может быть, хотелось бы еще узнать только в чем.

wind7:

посмотрите как устроенны высокоскоростные протоколы допустим в автомобилях,

Мы обсуждаем конкретный протокол, реализованный на конкретных мозгах. На всякий случай повторю ссылку Сергея.

Сергей_Уж:

some blog posts:

more technical infos from blckmn, he worked since the start on the betaflight Dshot support:
blck.mn/2016/11/dshot-the-new-kid-on-the-block

Принцип протокола одно и по ссылке он хорошо описан, а вот возможности оборудования (мозгов) по измерению длины импульса другое. Зачастую проблема упирается в погрешность измерения. В противном случае возможны ошибки. И чтоб этого избежать на старом оборудовании и придумали ширину импульса 1000 мкс. Но даже старый протокол можно было просто сократить 2 раза по времени не меняя ширины импульса, а значит и количества шагов из расчета 1 шаг 1 мкс. Надо было всего лишь сократить задержку с 1000 до 50.

wind7:

хотя обычно высоко скоростные протоколы идут по 2 поводам один на прием второй на передачу

Ну здесь прием не требуется. Хотя на Кисс прием телеметрии реализован на отдельном проводе, это все же другое. А к примеру в протоколе SPI используется 2 провода для проверки, по 1 идет прямой сигнал, а по 2 инверсный. Но это другой протокол и здесь его никто не собирался использовать для сохранения совместимости со старым протоколом.
Да можно сравнить этот протокол с осциллографом. Ведь есть осциллографы способные измерять без искажений высокочастотные сигналы, но там уже и АЦП другой и частоты другие, и используются специальные щупы, которые точно не сравнить даже с витым проводом.

Сергей_Уж

Искал и нашел отличный ответ как найти и где находится тот самый кондюк фильтра который нужно удалить на Cicada\Racerstar RS30A V2 30A Blheli_S для корректной работы DShot600
Может кому то пригодится
www.rcgroups.com/forums/showpost.php?p=36216745&po…

DieHertz
Сергей_Уж:

Искал и нашел отличный ответ как найти и где находится тот самый кондюк фильтра который нужно удалить на Cicada\Racerstar RS30A V2 30A Blheli_S для корректной работы DShot600
Может кому то пригодится
www.rcgroups.com/forums/showpost.php?p=36216745&po…

Спасибо, я старался 😃 Это работает для большинства контроллеров на BLHeli_S.

nminnakh
DieHertz:

Это работает для большинства контроллеров на BLHeli_S.

А нужно именно удалить?
На сколько помню, речь шла о том, чтобы заменить на конденсатор бОльшей емкости.

DieHertz

Намного проще удалить вовсе, так делает большинство.
Если очень хочется заменить - стоит оценить частоту среза фильтра, обеспечив её приемлемое значение для желаемого DSHOT. Тут еще и сопротивление измерить придётся.

lunohod

Большой конденсатор вроде советуют на силовую линию ставить

SergejK
nminnakh:

А нужно именно удалить?
На сколько помню, речь шла о том, чтобы заменить на конденсатор бОльшей емкости.

Это врядли, конденсатор для того и стоит, чтобы сглаживать и фильтровать импульсы, что в конце концов может сгладить короткие импульсы настолько, что они не будут распознаны вообще. В сигнальную цепь регуля обычно ставят резистор и конденсатор в виде простого ФНЧ. Так вот конденсатор лучше всего удалять вообще. А вот резисор лучше оставить. Плюс да, конденсатор, да побольше и лоу еср, на вход питания регуля.

Сергей_Уж
DieHertz:

Спасибо, я старался 😃 Это работает для большинства контроллеров на BLHeli_S.

Суперовая статья, я мог бы не потеть с переводом , а здесь спросить 😃 Сейчас у меня на 600 моторки чуть чихают, работа неровная. Как было у тебя до и после, исчезли срывы ?
( монтировка сдернуть кондюк рядом, руки чешутся 😃 )

DieHertz
Сергей_Уж:

Суперовая статья, я мог бы не потеть с переводом , а здесь спросить 😃 Сейчас у меня на 600 моторки чуть чихают, работа неровная. Как было у тебя до и после, исчезли срывы ?
( монтировка сдернуть кондюк рядом, руки чешутся 😃 )

На моих RS30A v2 моторы вообще не стартовали на DSHOT600, без конденсатора - всё гладко. Я только на стенде проверяю пока, нет возможности полетать.
Один человек в теме на RCG жаловался на небольшие неравномерности в звучании без конденсатора на DSHOT600 с этими же контроллерами, но это не последняя инфа 😃

Сергей_Уж
DieHertz:

Один человек в теме на RCG жаловался на небольшие неравномерности в звучании без конденсатора на DSHOT600 с этими же контроллерами, но это не последняя инфа

Да, я это читал. Такое Феликс лечит на кисах прошивкой. У меня в режиме висения на 600 короткие срывы которые ни на что не влияют ( с кондюком ), на 300 все ровно и четко. Наверное попробую убрать кондюки, отпишусь…

arb
DieHertz:

Я только на стенде проверяю пока, нет возможности полетать.

А осциллографом глянуть сигнал есть возможность?

DieHertz
arb:

А осциллографом глянуть сигнал есть возможность?

Нет.

Я бы не гнался за 600, пока BetaFlight не поддерживает 16/32КГц для PID-регулятора и гироскопа.
Разве что из спортивного интереса, другое дело - контроллеры, которые вообще DSHOT из коробки не тянут из-за частоты среза на уровне 40КГц.

arb
DieHertz:

Нет.

Жаль так можно было воочию глянуть как там режется.

DieHertz:

Это работает для большинства контроллеров на BLHeli_S.

Спасибо. Так и есть. 17 нога (Р0.5) приемник. Проверил на ЛБ30_S. Кондер стоит.

DieHertz:

Я бы не гнался за 600, …
Разве что из спортивного интереса,

Я пока больше чтобы разобраться что к чему. Вообще если посчитать цифры в разных направлениях, то интересно получается.
2000 шагов это 0,05% от полного диапазона стика. С такой точностью стик ручками не двинуть.
Частота цикла мультишот и Дшот600 порядка 33 - 35 кГц.
Частота сигнала (1 импульса) Дшот 600 около 0,6 МГц. А длина 0 - 1,6 МГц. Это уже не десятки кГц, соответственно ФНЧ нужен другой.

DieHertz
arb:

Спасибо. Так и есть. 17 нога (Р0.5) приемник. Проверил на ЛБ30_S. Кондер стоит.

Ну алгоритм описан общий, P0.5 для примера, не у всех прошивок эта нога. Например у Airbot Bumpbee S 30A, J_H_15, сигнал подается на P0.4.
Aikon SEFM 30A имеет прошивку C_H_15/C_H_25 и у него вообще на P0.0 подан сигнал.

arb:

2000 шагов это 0,05% от полного диапазона стика. С такой точностью стик ручками не двинуть.

16 бит на стик? Конечно не двинуть, но тут нюанс в том, что тягой не только стик рулит, а еще и ПИД-регулятор, для него такая разрешающая способность не лишняя.

flexile
arb:

Спасибо. Так и есть. 17 нога (Р0.5) приемник. Проверил на ЛБ30_S. Кондер стоит.

На LB30A-S я удалил кондер из RC-фильтра, дома висит нормально на DSHOT600. На улице пока не было возможности проверить, на выходных попробую подлетнуть.

arb
DieHertz:

Ну алгоритм описан общий, P0.5 для примера, не у всех прошивок эта нога. Например у Airbot Bumpbee S 30A, J_H_15, сигнал подается на P0.4.
Aikon SEFM 30A имеет прошивку C_H_15/C_H_25 и у него вообще на P0.0 подан сигнал.

Спасибо, разобрался. Кстати удобнее и привычнее искать строчку с “RTX pin” - объявление ножки входа.

DieHertz:

а еще и ПИД-регулятор, для него такая разрешающая способность не лишняя.

Это понятно, только на выходе регулятор такую точность все равно не обеспечивает.
Как раз на стенде можно глянуть насколько болтает тягу если не менять газ.

lunohod
arb:

А осциллографом глянуть сигнал есть возможность?

Кстати, насчёт осциллографа, можно ли на dso 138 смотреть сигналы dshot и multishot?

DieHertz
arb:

Спасибо, разобрался. Кстати удобнее и привычнее искать строчку с “RTX pin” - объявление ножки входа.

Действительно, спасибо, не заметил. Можно еще посмотреть на общие описания портов в BLHeli_S.asm или в .INC файле и посчитать, в каком бите PORT0 стоит RC.

; Hardware definition file "A"
; X  X  RC X  MC MB MA CC    X  X  Cc Cp Bc Bp Ac Ap

Эта запись содержит описание P0 и P1:

P0.7 .. P0.0   P1.7 .. P1.0
arb:

Это понятно, только на выходе регулятор такую точность все равно не обеспечивает.
Как раз на стенде можно глянуть насколько болтает тягу если не менять газ.

Вроде речь как раз о том, что регулятор способен различать 2048 шагов RPM, это была одна из фичей BLHeli_S.
Если речь о BetaFlight, новый контроллер возможно и обеспечивает 2048 шагов, там все-таки все вычисления с плавающей точкой теперь.

Сергей_Уж

И чуть от теории к практике 😃 Отпаял кондюки, собрал коптер и опробовал DShot600 на Racerstar RS30A V2 30A Blheli_S
Я писал выше у меня на 600 двигатели дергались в режиме висения. Теперь после выпайки конденсаторов фильтра двигатели работают ровно,
без заиканий, звук тоже ровный. Получилось. Пробовал на 8 8 .

mil-lion
Сергей_Уж:

Пробовал на 8 8

А какой мозг? У меня на LUX F3 при 8/8 загрузка проца 100% что конфигуратор еле шевелится.