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

ziss_dm
ВлАс:

С этим разобрался, надо было нажать “download” и кнопки активируются, при загрузке прога два раза полезла в интернет и я, грешным делом, подумал, что все скачано…
Осталось фузы и что шить…

  1. wii-esc.googlecode.com/svn/release/…/ESCBL1.hex - bootloader
  2. Fuses (www.engbedded.com/fusecalc/):
  • Boot Reset vector Enabled
  • Boot flash section size = 512
  1. wii-esc.googlecode.com/…/wii_esc_flash_win32.exe

Выбираешь программатор “AVRootLoader by Hagen Reddmanns (avrootloader)”

SergDoc
ВлАс:

мои фузы см картинку

в понике фьюзы перевёрнуты - там где галочка это 0, для авр 0 - активный…

ВлАс
ziss_dm:

Выбираешь программатор “AVRootLoader by Hagen Reddmanns (avrootloader)”

С этим немного разобрался.
Вот нашел пост 924

lotophagi:

То есть надо выставить фьюзы:

  • для регулей с внешним кварцем: avrdude -U lfuse:w:0x3f:m -U hfuse:w:0xca:m
  • без внешнего кварца: avrdude -U lfuse:w:0x24:m -U hfuse:w:0xda:m

У меня получилось: см рисунок
На данном этапе у меня подпаяно 6 проводов ISP, так и не понял, что записать в мегу, чтобы потом все заработало.
Так догадываюсь, что под номером 1) “ESCBL1.hex”?

ВлАс

Кто подскажет, в терминале должно эхо проходить? Что-то у меня тишина… И ноут в ремонт сдал, а там у меня юсб-осцилограф 😦
Значит так (проверяйте):

  1. Шнурок взял на PL2303, 1 нога Тх, 5я - Rх. С первой ноги диод-резистор-на 5ю ногу. С пятой ноги -выход на регуль. (нижняя схема пост 1101)
  2. фузы перепроверил раз 10.
ВлАс:
  • без внешнего кварца: avrdude -U lfuse:w:0x24:m -U hfuse:w:0xda:m

получилось как на нижней картинке
3. Записал в мегу “ESCBL1.hex”. Он лег с адреса 1с00 (тут не знаю, наверно правильно)

До сих пор стандартная процедура прошивки меги, дальше ни avrootloader, ни wii_esc_flash_win32 связаться с моей мегой не захотели.
Чёт зашился я, какие идеи будут?

ziss_dm
ВлАс:

Кто подскажет, в терминале должно эхо проходить?

Попробуй удерживать Shift (debug mode)

No Response:

avrootloader_cli -P=COM3 -b=115200 --boot_sign=ESCBL1 "--flash=___tmp_out_flash_hex___.hex" -v -v

avrootloader_cli.exe: Version 6.0
             Copyright (c) 2000-2008 Hagen Reddmanns
             Copyright (c) 2012      Ziss_dm
Waiting for device...
AVRootLoader:  Timeout.Connect       = 100 ms
AVRootLoader:  Timeout.Base          = 25 ms
AVRootLoader:  Timeout.Erase         = 100 ms
AVRootLoader:  Timeout.Flash         = 150 ms
AVRootLoader:  Timeout.Eeprom        = 10 ms
AVRootLoader:  Timeout.Buffer        = 1 ms
AVRootLoader:  Timeout.AppCmd        = 0 ms
AVRootLoader:  Timeout.KeepAlive     = 250 ms
AVRootLoader:  Timeout.RTSPulse      = 0
AVRootLoader:  Timeout.RTSInterval   = 0
AVRootLoader:  Timeout.ConnectTrials = 0
AVRootLoader:  Timeout.MaxPacketSize = 0
AVRootLoader:  send ident      $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader:  send ident      $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader:  send ident      $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader:  send ident      $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader:  send ident      $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader:  send ident      $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader:  send ident      $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader:  send ident      $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader:  send ident      $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader:  send ident      $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader:  send ident      $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader:  send ident      $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader:  send ident      $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader:  send ident      $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader:  send ident      $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader:  send ident      $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader:  send ident      $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31

Normal:

avrootloader_cli.exe: Version 6.0
             Copyright (c) 2000-2008 Hagen Reddmanns
             Copyright (c) 2012      Ziss_dm
Waiting for device...
AVRootLoader:  Timeout.Connect       = 100 ms
AVRootLoader:  Timeout.Base          = 25 ms
AVRootLoader:  Timeout.Erase         = 100 ms
AVRootLoader:  Timeout.Flash         = 150 ms
AVRootLoader:  Timeout.Eeprom        = 10 ms
AVRootLoader:  Timeout.Buffer        = 1 ms
AVRootLoader:  Timeout.AppCmd        = 0 ms
AVRootLoader:  Timeout.KeepAlive     = 250 ms
AVRootLoader:  Timeout.RTSPulse      = 0
AVRootLoader:  Timeout.RTSInterval   = 0
AVRootLoader:  Timeout.ConnectTrials = 0
AVRootLoader:  Timeout.MaxPacketSize = 0
AVRootLoader:  send ident      $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader:  received data   $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31 CA 1D
AVRootLoader:  Switch to 1-Wire mode
AVRootLoader:  send ident      $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader:  received data   $93 07 06 10 30
AVRootLoader:  Timer created
AVRootLoader:  Device connected
AVRootLoader:  Timer released
AVRootLoader:  Program...
AVRootLoader:  execute compiled data
AVRootLoader:  selected options in compiled file:
AVRootLoader:  - programming FLASH
AVRootLoader:  - erase FLASH during programming
AVRootLoader:  - full verify FLASH after programing
AVRootLoader:  executed in 1.39 sec
AVRootLoader:  Timer created
AVRootLoader:  Timer released
AVRootLoader:  Device disconnected
ВлАс:

С первой ноги диод-резистор-на 5ю ногу.

  1. У меня с диодом так и не заработало…
  2. Посмотри какой резистор стоит на регуляторе.

А как ты питание подаешь? 😃

ziss_dm

BTW: Вот что у меня получилось.


R1 - 1.6k
R2 - 4.7k

Работает со всеми Blue Seris, F20, F30, etc…

savaga

Не могу заставить работать avrootloader, куда нужно положить этот avrootloader_cli? сейчас он в папке c:\bin, добавил ее в PATH

savaga
ziss_dm:

v 0.4

Это было не очевидно 😉
Жаль, уже прошил без бута и упаковал все. Может в следующий раз попробую.

Shuricus
ziss_dm:

BTW: Вот что у меня получилось.

Дим, а что за транзистор Д85?
С пачкой регулей одновременно тоже пойдет?
Зачем перемычка?

ziss_dm
Shuricus:

Дим, а что за транзистор Д85?

КТ3107Д 85 года выпуска… 😉
Можно ставить любой PNP. Идея в том, что программатор ставит DTR перед началом программирования, и транзистор подает 5V из USB на ESC для питания меги. Out of the box это работает на 6А регуляторах у которых мега питаеться прямо от BEC. На больших прийдеться простамить диодик. 😉 Но зато программировать можно не подключая ходовую батарею. 😉

Shuricus:

Зачем перемычка?

Чтобы не подавать 5v на не переделанный ESC (без диода). 😉

Shuricus:

С пачкой регулей одновременно тоже пойдет?

Наверное нет, но с пачкой там свой геморой. Надо прошивать разные бутлоадеры с разными идентификаторами. Эти идентифираторы надо потом указывать, etc…
Проще выдернуть серво шнурок. 😉

Shuricus

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

Shuricus

Дим, ну если не трудно, выложи окончательную схему с диодом для хк20. Даташит видно фигово.

ВлАс
Shuricus:

Дим, ну если не трудно, выложи окончательную схему с диодом для хк20. Даташит видно фигово.

Лучше сделай фото своего регуля, тут проще нарисовать куда его паять.
А вообще диод плюсом на красный провод “сервокабеля”,а минусом на питание меги…

Shuricus

Владимир, регуль паять никуда не надо. Это Блюсириес ХК 20А.
Вопрос был про диод и транзистор при этом остается?

ВлАс
Shuricus:

Вопрос был про диод и транзистор при этом остается?

Пост 1115, если на регуле ничего паять не хочешь, то транзистор и резистор ему в базу паять не надо.

blind_oracle

Товарищи, что скажете про такой регуль: www.rctimer.com/index.php?gOo=goods_details.dwt&go…
Уже прошитый SimonK. Как у него с реакцией?

А то я один из своих Turnigy Plush 60A прошил BLHeli для Silabs (вариант для Plush 30A) и он умер, т.е. шьется и настройки читаются нормально, но не работает 😐
Видать схемотехника поменялась.
sskaug, автор BLHeli, сказал что заказал себе уже 40/60/80 Plush и сделает для них версию, но видать еще не скоро…

Или может здесь есть кто-нибудь сведущий в этой прошивке и может подать идею как ее адаптировать? Там скорее всего просто разводка портов P0/P1 чипа сменилась, но я пока не осознал что и как, курю ассемблер 😦

ВлАс

Дима, глобальный вопрос 😃 на какую ногу меги должен приходить сигнал для программирования?
В моем заходит ч/з резистор 4к7 и ТОЛЬКО на 32 ногу PD2(INT0)
Курил схему мистери 30а Нфет, там еще соединяется с 30 ногой PD0 (RXD)… Это обязательное условие?

ЗЫ: диод убрал, подтяжку то-же. Регуль питаю от 12в ч/з силовые провода

Сейчас имею вот,что:

avrootloader_cli.exe: Version 6.0
Copyright © 2000-2008 Hagen Reddmanns
Copyright © 2012 Ziss_dm

Waiting for device…
AVRootLoader: Timeout.Connect = 100 ms
AVRootLoader: Timeout.Base = 25 ms
AVRootLoader: Timeout.Erase = 100 ms
AVRootLoader: Timeout.Flash = 150 ms
AVRootLoader: Timeout.Eeprom = 10 ms
AVRootLoader: Timeout.Buffer = 1 ms
AVRootLoader: Timeout.AppCmd = 0 ms
AVRootLoader: Timeout.KeepAlive = 250 ms
AVRootLoader: Timeout.RTSPulse = 0
AVRootLoader: Timeout.RTSInterval = 0
AVRootLoader: Timeout.ConnectTrials = 0
AVRootLoader: Timeout.MaxPacketSize = 0
AVRootLoader: send ident $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader: received data $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31 CA 1D
AVRootLoader: Switch to 1-Wire mode
AVRootLoader: send ident $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader: send ident $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader: send ident $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31
AVRootLoader: send ident $00 00 00 00 00 00 00 00 00 0D 45 53 43 42 4C 31

ziss_dm
ВлАс:

Курил схему мистери 30а Нфет, там еще соединяется с 30 ногой PD0 (RXD)… Это обязательное условие?

Нет. Используеться только PD2(INT0)

ВлАс:

ч/з резистор 4к7

Замени на 200-300ом… Для 4к7 нужен пуллап 40к и с длинными проводами работать будет очень плохо… (можно просто перемычку поставить вместо резистора, если возиться лень…)