Прошивка Dshot для ESC
BLHeli_S ESC’s do not have current limiting. You will have more punch, but the downfall is more noise is coupled onto the signal wires… especially when the input cap has been removed.
If removing the signal cap, i recommend you add a 25V 330uF low-ESR capacitor to the power rails on each ESC
Наконец-то до них стало доходить, что на входе надо обязательно ставить емкость на 330 мкф, чтоб шумы на сигнальном входе не замучили, если убрать RC фильтр.
Наконец-то до них стало доходить, что на входе надо обязательно ставить емкость на 330 мкф, чтоб шумы на сигнальном входе не замучили, если убрать RC фильтр.
Ну теперь два варианта, заняться переделкой или дождаться выхода нового железа. Я за второе, сегодня вышел полетать и как в присказке, “Он из лесу вышел - и снова зашел” 😃 Холодно…
If you dont remove the cap, the whole signal will be filtered by HW before it even gets to the micro-controller.
Типа - если не уберете RC фильтр, то весь сигнал после контроллера будет отфильтрован (сглажен). Я это и предполагал.
- No, it’s a diode. But no idea for what it is used at this ESC…
-I believe it is an inductor and it is related to the low voltage power supply IIRC. Not sure why they’re recommending removing it.
А здесь как и я народ не понимает при чем здесь на ЛБ20 диод (на самом деле стабилитрон). Скорее всего малость перепутали с обводом деталей.
Казалось бы, зачем там этот фильтр, а это они так экономят на основных ёмких кондёрах по питанию =(
Казалось бы, зачем там этот фильтр, а это они так экономят на основных ёмких кондёрах по питанию =(
😃.
заняться переделкой или дождаться выхода нового железа. Я за второе
В этом есть смысл. Как бы совсем без RC фильтра нельзя, иначе могут замучить помехи из-за сигнального кабеля. Правильнее наверно дождаться, когда поставят фильтр именно для 600.
Повисел на ztw flash 30a с dshot600. Вроде не глючит.
А aikon у меня и 300 не тянут нормально. В полёте чирикают изредка и коптер подбрасывает.
Кстати, конденсатор убирают вроде только на dys и lb. И ещё, написали, что с дшотом обновление моторов синхронно с пид-лупом, то есть максимум 8кгц и dshot150 должно быть достаточно.
Пишут что Dshot игнорирует настройки “Motor PWM speed Separated from PID Speed” если так их в будущей версии конфигуратора уберут для DShot.
DSHOT is sync’d. There’s no unsync’d option. The setting is ignored. As it’s digital there’s no point in repeating the signal.
И еще интересный факт, у меня на 8 8 32000 Dshot работает без замечаний, если выставить DShot150 два левых мотора не работают,
но если выставить 8 4 32000 то DShot150 работает супер. То есть работоспособность напрямую связано с PID loop настройками в конфигураторе.
Наконец то дошли руки и попробовал DShot. Прошил LUX F3 версией BetaFlight 3.1.0 сборка 709 с поддержкой DSHOT. В регуляторы ZTW Flash 30A BLHeli_S залил прошивку 16.43 с поддержкой DSHOT. И попробовал повисеть в офисе с DSHOT600. Вроде бы висит и адекватный, полный тест нужен в поле.
Но вот только с PID looptime 8kHz нагрузка проца 100% и короче еле реагирует, пришлось снизить до 4kHz. В итоге 8/4/4 получилось. Наверное LUX F3 не тянет DSHOT на looptime больше 4kHz.
И еще интересный факт, у меня на 8 8 32000 Dshot работает без замечаний, если выставить DShot150 два левых мотора не работают, но если выставить 8 4 32000 то DShot150 работает супер. То есть работоспособность напрямую связано с PID loop настройками в конфигураторе.
Гм, у меня с dshot600 на aikon 30a v1 тоже два левых мотора не работают. Если заармиться, то правые сразу запускаются, а левые вдруг начинатют пищать как при запуске, потом один из них начинает дёргаться.
С dshot300 работают, но не совсем стабильно: в закладке моторов резко передвигаю ползунок с 0 до 50%, правые моторы запускаются, а левые дёргаются. В полёте периодически чирикает и подкидывает коптер вверх.
Это всё на dtfc и 8/4. Может стоит попробовать 8/2?
Если заармиться, то правые сразу запускаются, а левые вдруг начинатют пищать как при запуске, потом один из них начинает дёргаться.
Я написал о проблеме разрабам, если есть замечания писать здесь
github.com/betaflight/betaflight/issues
Они моих пару ошибок исправили и быстро.
Не факт, что проблема в прошивке. Хотя очень подозрительно, что похожие симптомы на третьем и четвёртом моторах. С другой стороны, у кого-то dshot600 заработал на таком же сетапе как у меня.
По идее, надо бы попробовать поменять местами сигнальные провода левого и правого моторов. Если ничего не изменится, то проблема в регуле, если работающий до этого мотор не запустится на третьем или четвёртом выходе, то проблема в FC или в прошивке.
Чуть обновили первую страницу Dshot на RSG, добавили три ссылки на ресурсы
Update: some more info to Dshot can be found in the folowing links
kiss.flyduino.net/dshot-new-d...ocol-for-kiss/ (for the KISS24A and the KISSFC)
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
mor generell:
blog.seidel-philipp.de/dshot-digital-esc-signal/
Спасибо за ссылки. Если про дшот и сразу было понятно, но все равно нашел полезное (особенно по 2 ссылке). То про ваншот дошло в чем минус технологии (потеря точности управления). Дшот в этом плане и впрямь шаг вперед - 2000 шагов за тоже время, что и ваншот. Сколько шагов у ваншот с мультишот я не нашел , но я так понял мало и должно зависеть от разрешения мозгов при генерации / измерении сигнала.
Однако и с дшот есть подводные камни. Надо теперь смотреть даташиты мозгов на возможность измерения наносекунд. Т.к. если мозг различает только микросекунды , то заставить его работать с 600 будет невозможно. Он просто 1 не отличит от 0. И чувствительность к 600 наносекундам должна быть с запасом, чтоб помехи не влияли.
И еще прочитал и попробовал прогу “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.