Прошивка Dshot для ESC
И еще прочитал и попробовал прогу “BLHeli Configurator” из Хрома для прошивки ESC любой прошивкой без скачивания. Все просто и понятно, прошивка выбирается ( последняя есть ) из выпадающего меню.
Попробуйте, ничего особенного но мне понравилась
…google.com/…/mejfjggmbnocnfibbibmoogocnjbcjnk
PS И о скачке hex файлов, забыл как правильно, при сохранении получал файл на 100кб больше. Правильно когда на странице скачки в закладке RAW нужно кликнуть по самой кнопке RAW правой кнопкой и скачать, тогда получаем правильный файл. Просто выскочило из башки, копировал в блокнот и сохранял как hex 😃
Сколько шагов у ваншот с мультишот я не нашел , но я так понял мало и должно зависеть от разрешения мозгов при генерации / измерении сигнала.
240
Однако и с дшот есть подводные камни. Надо теперь смотреть даташиты мозгов на возможность измерения наносекунд. Т.к. если мозг различает только микросекунды , то заставить его работать с 600 будет невозможно. Он просто 1 не отличит от 0. И чувствительность к 600 наносекундам должна быть с запасом, чтоб помехи не влияли.
Не понял идеи, все BLHeli_S на базе EFM8BB10x/21x и поддерживают DSHOT того или иного битрейта. Не понял, что за 600 наносекунд такие и откуда они взялись.
И еще прочитал и попробовал прогу “BLHeli Configurator” из Хрома для прошивки ESC любой прошивкой без скачивания. Все просто и понятно, прошивка выбирается ( последняя есть ) из выпадающего меню.
Попробуйте, ничего особенного но мне понравилась
…google.com/…/mejfjggmbnocnfibbibmoogocnjbcjnkPS И о скачке hex файлов, забыл как правильно, при сохранении получал файл на 100кб больше. Правильно когда на странице скачки в закладке RAW нужно кликнуть по самой кнопке RAW правой кнопкой и скачать, тогда получаем правильный файл. Просто выскочило из башки, копировал в блокнот и сохранял как hex 😃
С BLHeli Configurator скачивать HEX вручную не требуется.
240
Тогда получается длина шага 5/240*1000=20,8 наносекунд. Опять надо смотреть даташит на разрешение мозгов.
Не понял, что за 600 наносекунд такие и откуда они взялись.
Отсюда
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
Бит длина (период времени) составляет 1,67 микросекунд (T0H + T0L или T1H + T1L).
Чтобы различить 0, Ширина импульса должна быть равна 625 наносекунд (T0H – время импульса для нулевого значения);
Чтобы различить 1, Ширина импульса должна быть равна 1250 наносекунд (T1H – время импульса для высокого значения)
А 625 или 600 разницы уже нет. Т.к. если есть разница, то тогда можно было бы еще раз в 10 сократить время цикла и получилось бы Дшот 6000. Но что-то и с таким временем проблемы.
Тогда получается длина шага 5/240*1000=20,8 наносекунд. Опять надо смотреть даташит на разрешение мозгов.
ОтсюдаА 625 или 600 разницы уже нет. Т.к. если есть разница, то тогда можно было бы еще раз в 10 сократить время цикла и получилось бы Дшот 6000. Но что-то и с таким временем проблемы.
Понял откуда, спасибо. Да с 600 никаких проблем и нет, если устранить фильтр в цепи сигнала. На BLHeli_S проблема в том, что нет DMA, обрабатывать сигнал приходится программно, 600 Kbps - практически предел для семейства EFM8BB21x.
А KISS (STM32F051x) в тестах может и DSHOT1200.
Вся проблема именно здесь. Для достижения высокой скорости приходится уменьк раз бы остановились бы на самом принципе. Сделали бы 150, ну максишать ширину импульса, а это погрешность измерения 1 и 0. Когда на грани, ошибок не избежать.
вы в корне не правы , посмотрите как устроенны высокоскоростные протоколы допустим в автомобилях, по одному проводу может передаваться сразу 3 сигнала с разным порогом по напряжению , допустим +1в до -1в , +2.5в до-2.5 +3.5в до -3.5 или другие комбинации , и соответственно каждый канал будет читать свой порог как 0 или 1 , хотя обычно высоко скоростные протоколы идут по 2 поводам один на прием второй на передачу
Это у Вас комп так коверкает чужой текст или специально сделали? Надеюсь первое.
вы в корне не правы
Может быть, хотелось бы еще узнать только в чем.
посмотрите как устроенны высокоскоростные протоколы допустим в автомобилях,
Мы обсуждаем конкретный протокол, реализованный на конкретных мозгах. На всякий случай повторю ссылку Сергея.
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.
хотя обычно высоко скоростные протоколы идут по 2 поводам один на прием второй на передачу
Ну здесь прием не требуется. Хотя на Кисс прием телеметрии реализован на отдельном проводе, это все же другое. А к примеру в протоколе SPI используется 2 провода для проверки, по 1 идет прямой сигнал, а по 2 инверсный. Но это другой протокол и здесь его никто не собирался использовать для сохранения совместимости со старым протоколом.
Да можно сравнить этот протокол с осциллографом. Ведь есть осциллографы способные измерять без искажений высокочастотные сигналы, но там уже и АЦП другой и частоты другие, и используются специальные щупы, которые точно не сравнить даже с витым проводом.
Искал и нашел отличный ответ как найти и где находится тот самый кондюк фильтра который нужно удалить на Cicada\Racerstar RS30A V2 30A Blheli_S для корректной работы DShot600
Может кому то пригодится
www.rcgroups.com/forums/showpost.php?p=36216745&po…
Искал и нашел отличный ответ как найти и где находится тот самый кондюк фильтра который нужно удалить на Cicada\Racerstar RS30A V2 30A Blheli_S для корректной работы DShot600
Может кому то пригодится
www.rcgroups.com/forums/showpost.php?p=36216745&po…
Спасибо, я старался 😃 Это работает для большинства контроллеров на BLHeli_S.
Это работает для большинства контроллеров на BLHeli_S.
А нужно именно удалить?
На сколько помню, речь шла о том, чтобы заменить на конденсатор бОльшей емкости.
Намного проще удалить вовсе, так делает большинство.
Если очень хочется заменить - стоит оценить частоту среза фильтра, обеспечив её приемлемое значение для желаемого DSHOT. Тут еще и сопротивление измерить придётся.
Большой конденсатор вроде советуют на силовую линию ставить
А нужно именно удалить?
На сколько помню, речь шла о том, чтобы заменить на конденсатор бОльшей емкости.
Это врядли, конденсатор для того и стоит, чтобы сглаживать и фильтровать импульсы, что в конце концов может сгладить короткие импульсы настолько, что они не будут распознаны вообще. В сигнальную цепь регуля обычно ставят резистор и конденсатор в виде простого ФНЧ. Так вот конденсатор лучше всего удалять вообще. А вот резисор лучше оставить. Плюс да, конденсатор, да побольше и лоу еср, на вход питания регуля.
Спасибо, я старался 😃 Это работает для большинства контроллеров на BLHeli_S.
Суперовая статья, я мог бы не потеть с переводом , а здесь спросить 😃 Сейчас у меня на 600 моторки чуть чихают, работа неровная. Как было у тебя до и после, исчезли срывы ?
( монтировка сдернуть кондюк рядом, руки чешутся 😃 )
Суперовая статья, я мог бы не потеть с переводом , а здесь спросить 😃 Сейчас у меня на 600 моторки чуть чихают, работа неровная. Как было у тебя до и после, исчезли срывы ?
( монтировка сдернуть кондюк рядом, руки чешутся 😃 )
На моих RS30A v2 моторы вообще не стартовали на DSHOT600, без конденсатора - всё гладко. Я только на стенде проверяю пока, нет возможности полетать.
Один человек в теме на RCG жаловался на небольшие неравномерности в звучании без конденсатора на DSHOT600 с этими же контроллерами, но это не последняя инфа 😃
Один человек в теме на RCG жаловался на небольшие неравномерности в звучании без конденсатора на DSHOT600 с этими же контроллерами, но это не последняя инфа
Да, я это читал. Такое Феликс лечит на кисах прошивкой. У меня в режиме висения на 600 короткие срывы которые ни на что не влияют ( с кондюком ), на 300 все ровно и четко. Наверное попробую убрать кондюки, отпишусь…
Я только на стенде проверяю пока, нет возможности полетать.
А осциллографом глянуть сигнал есть возможность?
А осциллографом глянуть сигнал есть возможность?
Нет.
Я бы не гнался за 600, пока BetaFlight не поддерживает 16/32КГц для PID-регулятора и гироскопа.
Разве что из спортивного интереса, другое дело - контроллеры, которые вообще DSHOT из коробки не тянут из-за частоты среза на уровне 40КГц.
Нет.
Жаль так можно было воочию глянуть как там режется.
Это работает для большинства контроллеров на BLHeli_S.
Спасибо. Так и есть. 17 нога (Р0.5) приемник. Проверил на ЛБ30_S. Кондер стоит.
Я бы не гнался за 600, …
Разве что из спортивного интереса,
Я пока больше чтобы разобраться что к чему. Вообще если посчитать цифры в разных направлениях, то интересно получается.
2000 шагов это 0,05% от полного диапазона стика. С такой точностью стик ручками не двинуть.
Частота цикла мультишот и Дшот600 порядка 33 - 35 кГц.
Частота сигнала (1 импульса) Дшот 600 около 0,6 МГц. А длина 0 - 1,6 МГц. Это уже не десятки кГц, соответственно ФНЧ нужен другой.
Спасибо. Так и есть. 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 подан сигнал.
2000 шагов это 0,05% от полного диапазона стика. С такой точностью стик ручками не двинуть.
16 бит на стик? Конечно не двинуть, но тут нюанс в том, что тягой не только стик рулит, а еще и ПИД-регулятор, для него такая разрешающая способность не лишняя.
Спасибо. Так и есть. 17 нога (Р0.5) приемник. Проверил на ЛБ30_S. Кондер стоит.
На LB30A-S я удалил кондер из RC-фильтра, дома висит нормально на DSHOT600. На улице пока не было возможности проверить, на выходных попробую подлетнуть.
Ну алгоритм описан общий, P0.5 для примера, не у всех прошивок эта нога. Например у Airbot Bumpbee S 30A, J_H_15, сигнал подается на P0.4.
Aikon SEFM 30A имеет прошивку C_H_15/C_H_25 и у него вообще на P0.0 подан сигнал.
Спасибо, разобрался. Кстати удобнее и привычнее искать строчку с “RTX pin” - объявление ножки входа.
а еще и ПИД-регулятор, для него такая разрешающая способность не лишняя.
Это понятно, только на выходе регулятор такую точность все равно не обеспечивает.
Как раз на стенде можно глянуть насколько болтает тягу если не менять газ.