Обсуждение и перепрошивка регуляторов (ESC) прошивками SimonK/BLHeli

kaos

я имел ввиду bidirectional dshot, rpm filter и jesc blheli

arb

Хорошо. Можно сказать по другому (хотя Вы мало дали исходной инфы и приходится больше гадать зачем Вам это).
Если у Вас рег с Блхели32, то у Вас уже все есть. Сам протокол дшот уже все это как бы имеет (он был создан с запасом).
Проблема была в ПК, там не было всех функций. А т.к. этой функции в ПК сразу не было, то ее и ввели отдельно. Повторю, в реге она уже была. Бдшот - это всего лишь обратная связь. Позволяет получить данные с рега: обороты мотора, напряжение, ток. Надо Вам это или нет решать Вам.
По мне пока это больше игрушка (пустая возможность, т.к. чтобы анализировать нужен лог и знания, в воздухе это делать крайне сложно). Данную функцию хорошо использовать для диагностики исправности (степени горелости) самого рега, ну и мотора заодно. Но для этого требуется написать тестовую часть. А что-то сомнения берут, что до этого у кого-то дойдут мозги. Это как иметь, к примеру, микроскоп, а знаний как им пользоваться нет. Поэтому все на что хватает мозгов это поставить его на полку для красоты и говорить, что он у меня есть.

Железяка
kaos:

Скажите честно, bdshot на blhelis - стоит заморачиваться?

Если только ради самой заморочки и спортивного интереса. Если все летает как вам хочется то зачем что то менять. В погоне за излишнем, можно потерять необходимое. Но это хобби и … ну любопытно же.

kaos

Все таки не удержался, купил лицухи на jflight, прошил-настроил. Теперь жду погоды))

7 days later
Multisoft

Подскажите.
Имеется USBASP V2.0 и регуляторы XXD 30A с banggood’a
Подпаял проводочки:

Выбираю прошивку TGY в kkMulticopterFlashTool, начинаю шить, ошибка:


Flash the firmware from repository.

H:\KKMF\lib\avrdude\windows\avrdude.exe -C H:\KKMF\lib\avrdude\windows\avrdude.conf -p m8 -P usb -c usbasp -e -U lfuse:r:H:\KKMF\tmp\/lfuse.hex:r -U hfuse:r:H:\KKMF\tmp\/hfuse.hex:r

avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude.exe: Device signature = 0x1e9307
avrdude.exe: erasing chip
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: reading lfuse memory:

Reading | ################################################## | 100% 0.00s

avrdude.exe: writing output file "H:\KKMF\tmp\/lfuse.hex"
avrdude.exe: reading hfuse memory:

Reading | ################################################## | 100% 0.00s

avrdude.exe: writing output file "H:\KKMF\tmp\/hfuse.hex"

avrdude.exe done.  Thank you.


H:\KKMF\lib\avrdude\windows\avrdude.exe -C H:\KKMF\lib\avrdude\windows\avrdude.conf -p m8 -P usb -c usbasp -e -U lfuse:w:4:m -U hfuse:w:154:m

avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude.exe: Device signature = 0x1e9307
avrdude.exe: erasing chip
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: reading input file "4"
avrdude.exe: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude.exe: 1 bytes of lfuse written
avrdude.exe: verifying lfuse memory against 4:
avrdude.exe: load data lfuse data from input file 4:
avrdude.exe: input file 4 contains 1 bytes
avrdude.exe: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.00s

avrdude.exe: verifying ...
avrdude.exe: 1 bytes of lfuse verified
avrdude.exe: reading input file "154"
avrdude.exe: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude.exe: 1 bytes of hfuse written
avrdude.exe: verifying hfuse memory against 154:
avrdude.exe: load data hfuse data from input file 154:
avrdude.exe: input file 154 contains 1 bytes
avrdude.exe: reading on-chip hfuse data:

Reading | ################################################## | 100% 0.00s

avrdude.exe: verifying ...
avrdude.exe: 1 bytes of hfuse verified

avrdude.exe done.  Thank you.

The downloaded zip file containing the choosen hex was damaged, try again. If that doesn't work restart the application.
If the problem still occures, write a bug report.
Error during writing flash.

Куда копать?

gorbln
Multisoft:

Куда копать?

Эммм… А почему сначала фьюзы, а потом прошивка? Может, конечно, это не критично ни разу, но всё-таки

Multisoft
gorbln:

Эммм… А почему сначала фьюзы, а потом прошивка? Может, конечно, это не критично ни разу, но всё-таки

В общем такая ситуёвина произошла.
Подключил USBasp к полетнику, запустил kkMulticopterFlashTool выбрал прошивку, нажал залить прошивку.
Вначале происходит стирание прошивки в полётнике, (причём как я понимаю, программа должна считать фьюзы с полётника) затем должна залиться новая прошивка, но она не залилась, должны прописаться фьюзы обратно в полётник, так как в самой прошивке их нет.
В итоге регуль не работает, пошёл к другу, у него куча программаторов, подключили через программатор регуль, нажали считать прошивку, а там пусто т.к. kkMulticopterFlashTool стёрла её.
Далее в папке с программой есть папка tmp, в ней файлик firmwares.xml, в котором есть ссылки и зеркала на все прошивки, открываем его блокнотом, ищем прошивку в моём случае это: TGY 2015-04-09 находим ссылку tgy-2015-04-19.zip внутри архива несколько прошивок. Нам нужна: tgy_8mhz.hex, а вот теперь место где мы накосячили…
Нужно было программатором считать фьюзы, а мы сразу залили прошивку и фьюзы поменялись, тем самым заблокировав ATMEL’ку, дальнейшие действия искать панельку и выпаивать ATMEL’ку либо купить новую за 95р и прошить… Вот в раздумьях уже))

Flash the firmware from repository.

H:\KKMF\lib\avrdude\windows\avrdude.exe -C H:\KKMF\lib\avrdude\windows\avrdude.conf -p m8 -P usb -c usbasp -e -U lfuse:r:H:\KKMF\tmp\/lfuse.hex:r -U hfuse:r:H:\KKMF\tmp\/hfuse.hex:r

avrdude.exe: error: programm enable: target doesn't answer. 1
avrdude.exe: initialization failed, rc=-1
             Double check connections and try again, or use -F to override
             this check.


avrdude.exe done.  Thank you.

Error during reading of high fuse.
Flashing of firmware aborted.

PS. Кстати на всякий случай обновил USBasp прошивкой последней аж 2011 года, но толку нет… Ибо не хочет через него всё равно шить.

Подключил второй регуль c мотором к USBasp, воткнул в USB пищит, считал фьюзы:

Cформированная командная строка:
avrdude.exe -p m8 -c usbasp -P usb -U flash:r:"H:\KKMF\AVRdude-v3.3\fuse.hex":i


avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude.exe: Device signature = 0x1e9307
avrdude.exe: reading flash memory:

Reading | ################################################## | 100% 3.86s

avrdude.exe: writing output file "H:\KKMF\AVRdude-v3.3\fuse.hex"

avrdude.exe: safemode: Fuses OK (E:FF, H:9F, L:04)

avrdude.exe done.  Thank you.

Считал EEPROM с регуля:

:20000000FFFFFFFFFFFFFFFFFF04670763FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27
:20002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:20004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
:20006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
:20008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
:2000A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60
:2000C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
:2000E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20
:20010000FFFFFFFFFFFFFFFFFF5554FFFFFFFFFF0800000000010000FF0000FFFFFFFFFF41
:20012000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
:20014000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF
:20016000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F
:20018000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F
:2001A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F
:2001C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F
:2001E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F
:00000001FF
gorbln
Multisoft:

error: programm enable: target doesn’t answer.

Ну, это туши свет. Такой камень (видимо, с заблокированным RESET pin) можно оживить только высоковольтным параллельным программатором. Или Fuse doctor что ли оно называется, забыл уже. Короче, проще новый купить.

Babay

Хотел заменить на полетнике EFM8BB10 на EFM8BB21, но столкнулся с проблемой. Не могу прошить новые чипы через C2-протокол. Старые, уже использованные, прошиваются на ура, а абсолютно новые из 20 штук только 1 получилось прошить. Чем только не пробовал прошивать. Даже через заводской бутлоадер пробовал залить прошивку по рекомендациям с fishpepper.de. Если рассматривать вариант с ардуиной, то сначала в нее заливал прошивку 4way для D2-D3-выходов, соединял D2-C2D, D3-C2CK, на чип подавал 3.3В. И все, BLHeliSuite не видит чипа, если он новый. Старый - без проблем. Может есть какая хитрость с первичной прошивкой чипа? Типа какую-либо ногу куда нить подтянуть или резистор где поставить, чтобы завести C2-протокол? Три дня интернет копал - не помогло. Ну не могут же 19 чипов из 20 быть дохлыми. Наверняка сам где-то туплю. Выручайте!

Multisoft

Удалось мне прошить XXD 30A но только через AVRDUDE v3.3
Поехал на рынок купил микруху atmega8 за 88р цены разнятся до 300р =)
Феном сдул заблокированную, накатил новую.
Пытаюсь прошить не шьётся, вылезает ошибка 7b, полез икать нашёл))
Нужно в папке с программой добавить строки в файл programm.ini


[USBasp -B 3]
progisp=usbasp -B 3
portprog=usb
portenabled=0

[USBasp -B 1]
progisp=usbasp -B 1
portprog=usb
portenabled=0

Считываем прошивку с рабочего регулятора:
Запускаем AVRDUDE, выбираем во вкладке ATmega8
Нажимаем кнопку считать (проверяем, работает ли вообще свисток USBASP), если читается, продолжаем:
FLASH - нажимаем считать и сохраняем в файлик firmware.hex
EEPROM - нажимаем считать и сохраняем в файлик eeprom.hex
Переходим на вкладку Fuses, ставим точку на прямые, нажимаем считать и делаем скриншот.

Прошивка:
Подключаем ESC к USBASP и подключаем к компьютеру
Запускаем AVRDUDE, нажимаем вкладку Automatic programming, Настройки, выбираем USBasp -B 3
Возвращаемся на вкладку Program, нажимаем Стереть всё (если не получится и вылезает ошибка, попробуйте выбрать USBasp -B 1)
Скачиваем прошивку: tgy-2015-04-19.zip распаковываем, нам нужен от туда только tgy.hex файл прошивки.
Переходим в AVRDUDE, выбираем в FLASH, находим нашу прошивку tgy.hex и нажимаем Программирование
Выбираем в EEPROM, находим наш сохранённый eeprom.hex и нажимаем Программирование
Переходим на вкладку Fuses, нажимаем считать, открываем наш скриншот, выставляем как там в программе и нажимаем Программирование
Если мотор подключен к регулю, мотор должен издавать пиканье через определённые промежутки времени.
Отключаем от компа, проверяем на коптере, чтоб не спалить регуль лучше подключать через нагрузку, например лампочку.

Слева прошитый регулятор, справа нет.

25 days later
Golfsy

Добрый вечер. Сгорел один регуль на коптере, к сожалению производитель не известен т.к. наклеек давно нет и где покупал их тоже нет. Есть информация что они 25а - пик 35а, чип EFM8BB21 прошивка Q-H-15, размер где-то 24х11. Близкое по этим параметрам SPEDIX ES25 но у него прошивка C-H-15. Насколько это критично для одной связки регулей или забить т.к. ПК сам ими оперирует ( DShot ).Возможно ли по номеру прошивки найти инфу приблизительно в какие регули она заливалась и искать этого производителя. Спс.

rc468
Golfsy:

Насколько это критично для одной связки регулей

вообще не критично
лишь бы поддерживало DSHOT

Mef78
whoim:

Подскажите, вот на эти регули jesc встанет? Хочется rpm-фильтрацию. Опознаются как a-h-25.
Да, в мануале к jesc написано, что если посередке буква H, то поддерживают. Но вдруг есть нюанс )
Прошивка то платная…

Шьются, и под платный JESC с bidirectional DSHOT, и под бесплатный JazzMaverick

jeka101
Multisoft:

Нужно было программатором считать фьюзы, а мы сразу залили прошивку и фьюзы поменялись, тем самым заблокировав ATMEL’ку, дальнейшие действия искать панельку и выпаивать ATMEL’ку либо купить новую за 95р и прошить… Вот в раздумьях уже))

Я так тоже косячил. Когда подвес делал.
Но забавно то что во фьюзах я вообще не понимал в итоге заблочил 3 атмеги. В итоге когда почитал литературу и понял что сделал, собрал себе панельку и разблочил все атмеги. Забавные танцы с бубнами были…)

crand
Mef78:

под бесплатный JazzMaverick

Подскажите, пожалуйста, кто знает, чем отличаются прошивки RC1, RC2, RC3? Или не лезть на последнюю (16.8) версию и обойтись 16.79?

16 days later
Mef78
AlexKolik:

мне нужен реверсивный регулятор

2 любых провода на моторе поменять местами, мотор будет крутиться в другую сторону, вот и весь реверс.
Или вам нужен bidirectional режим ?

AlexKolik
Mef78:

2 любых провода на моторе поменять местами, мотор будет крутиться в другую сторону, вот и весь реверс.
Или вам нужен bidirectional режим ?

Да, bidirectional. Хочу с аппаратуры переключать направление вращения

rc468

Не попадались ли кому такие регуляторы?
HM15A-L BLheli REV11.2
Там прошивка BLHeli. Конфигуратор видит (через стек с Айнавом), что они есть, но конфигурацию из них прочесть не может. Сами они рабочие, но в сравнении с другими оказались менее эффективными. Может, есть смысл их прошить, чтобы хотя бы параметры можно было увидеть? Только вот не знаю, какую модель прошивки взять.

27 days later
ssvgps
Панк172:

Добрый день всем. Купил на Али регуляторы Sky Linker 30A. Вот такие(не реклама):ru.aliexpress.com/item/32955511001.html
Их вообще реально перепрошить и если да, то ткните носом в прошивку.

Купил на Али регулятор SkyLinker 40A (снял термоусадку, на микросхеме ATMEL ATMEGA8A U-TH 35469L 19268BT)
Вращался только в одну сторону (“по-самолётному” от -100 до 0 по приборам пульта радиоуправления)

Далее купил на Али Arduino Nano v3.0 c преобр. USB-UART CH340
(на микросхеме MEGA328P U-TH 354730 2002CHW) и синий USB-кабель. Кабель это очень важно! (я много времени убил чтобы понять, что мой старый длинный кабель вызывает ошибки синхронизации при перепрошивке, а вот по коротенькому синему с али прошилось сразу)

Снял термоусадку с регулятора, там есть шесть площадок для подпайки проводов GND, VCC, MOSI. MISO, SCK, Reset. Тестером прозвоните чтобы не ошибиться что где. Подпаянные к регулятору провода воткнул в Arduino Nano, её сделал программатором, и перепрошил регулятор программой kkflashtool_win32 и прошивкой SimonK, TGY.HEX, поставив в параметрах прошивки вместо нуля единичку: RC_PULS_REVERSE = 1 ; Enable RC-car style forward/reverse throttle

Теперь регулятор крутит мотор от курка газа, в обе стороны соответственно, -100…0 в одну сторону, 0…+100 в другую сторону. Из самолётного регулятор стал автомобильным. Хочу на нём аэролодку собрать, чтобы можно было из травы назад выезжать.

Кварц для прошивки данного регулятора не использовал, потратил несколько часов времени чтобы посмотреть ролики в интернете и найти другую инфу как прошивать, например вот статья что куда подключать: voltom.ru/…/95-podklyuchenie-i-proshivka-mikrokont…