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

ВлАс

Дима, глобальный вопрос 😃 на какую ногу меги должен приходить сигнал для программирования?
В моем заходит ч/з резистор 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к и с длинными проводами работать будет очень плохо… (можно просто перемычку поставить вместо резистора, если возиться лень…)

Sir_Alex

Собрал на днях свою новую гексу, на которую поставил RapidESC(simonk) и T-Motor 2216. Заметил что после первого запуска мотора и отключения батареи - его трудно крутить рукой. На Turnigy Plush 25A + KDA 20-22L ятакого эффекта не замечал… Что это? Фича Симонковской прошивки или такие моторы?

rinatka7
Sir_Alex:

Что это? Фича Симонковской прошивки или такие моторы?

Тоже наблюдаю такую ситуацию!!
Минут через 10 т-моторы крутятся нормально!

gorbln
rinatka7:

Минут через 10 т-моторы крутятся нормально!

Прошивка никак не может повлиять на поведение движков при отключенном аккумуляторе. Скорее всего, у вас их клинит от перегрева =)))

Shuricus

Дима, подскажи пожалуйста какой эффект вызывают не выпаянные конденсаторы с твоей прошивкой?

gorbln
ziss_dm:
  1. Они уменьшают чувствительность на старте. В результате мотор может некоторое время дергаться пред тем как раскрутиться
  2. Вносят задержку и угол опережения (timing advance) будет не 15 градусов а как прийдеться.

Примерно так

Блин… надо уже ФАК делать в этой теме, и прилеплять.

Sir_Alex
gorbln:

Прошивка никак не может повлиять на поведение движков при отключенном аккумуляторе. Скорее всего, у вас их клинит от перегрева =)))

Какого еще перегрева??? После пары секунд работы в холостую? )))
ИМХО, движки на какое то время работают в режиме генератора. Возможно один или несколько ключей остаются открытыми после отключения питания…

gorbln
Sir_Alex:

движки на какое то время работают в режиме генератора. Возможно один или несколько ключей остаются открытыми после отключения питания…

Ну, после того, как движок остановится, даже самый теоретически открытый транзистор должен закрыться. Может, у вас один транзистор пробило? О_о

Shuricus
gorbln:

Блин… надо уже ФАК делать в этой теме, и прилеплять.

Тут с факами проблема. Только в дневнике можно делать, что бы потом можно было редактировать. Давайте лучше в ВИКИ все сделаем, там уже наполовину готово. Я готов написать перевод на русский, только покажите куда писать…

rinatka7
gorbln:

Прошивка никак не может повлиять на поведение движков при отключенном аккумуляторе. Скорее всего, у вас их клинит от перегрева =)))

Какой перегрев??
Стоит подключить липо акк и тут же его отключить…после этого движки крутятся тяжелей!
Через 10мин все возвращяется в нормальное состояние!

Shuricus

Главное что бы они в полете хорошо крутились, какая разница как они потом крутятся.

gorbln:
  1. Вносят задержку и угол опережения (timing advance) будет не 15 градусов а как прийдеться.

А это в свою очередь к чему приводит?

Sir_Alex
Shuricus:

Главное что бы они в полете хорошо крутились, какая разница как они потом крутятся.

Разницы никакой, просто интересно.

gorbln:

Ну, после того, как движок остановится, даже самый теоретически открытый транзистор должен закрыться. Может, у вас один транзистор пробило? О_о

Ага, на всех шести новых ESC 😃

how-eee

Только что прошил turnigy plush 18a крайней прошивкой wiiesc. мотор крутится, все вроде нормально. на подходе еще 3 плюша и 6 hk ss 18.
Позже буду тестить по полной программе. Спасибо за прошивку и инфу.

ps еще 3 tgy успешно!

ziss_dm
Sir_Alex:

Заметил что после первого запуска мотора и отключения батареи - его трудно крутить рукой. На Turnigy Plush 25A + KDA 20-22L ятакого эффекта не замечал… Что это? Фича Симонковской прошивки или такие моторы?

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

Кому интересно, схема:
wii-esc.googlecode.com/svn/…/Mystery-nFET.jpg

Sir_Alex
ziss_dm:

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

Спасибо! Именно такой ответ я и ожидал услышать.

ziss_dm
Shuricus:

А это в свою очередь к чему приводит?

К снижению эффективности, missfire, срыву синхронизации… 😉

Shuricus:

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

Ну в общем-то ВлАс уже ответил, но повторюсь. На регуляторе надо поставить диод анодом к + сервопровода и катодом к VCC площадки программирования.

Shuricus:

Я готов написать перевод на русский, только покажите куда писать…

А на английском не готов? 😉 Ну если что волантеры разыскиваються… 😉

Shuricus
ziss_dm:

Ну в общем-то ВлАс уже ответил, но повторюсь. На регуляторе надо поставить диод анодом к + сервопровода и катодом к VCC площадки программирования.

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

Как тут ФАК напишешь, когда сам ничего не понимаешь??? 😃

ziss_dm:

А на английском не готов?

Готов и на английском, но с акцентом. 😃 Просто нам бы тут сначала на русском не помешало, а потом уже переведем.

ziss_dm:

А это в свою очередь к чему приводит?
К снижению эффективности, missfire, срыву синхронизации…

А на саймоновской прошивке такая-же фигня творится? Странно, что они молчат про кондеры у себя на групсах.

Вот что он пишет в последних апдейтах-

Timers are now set to absolute values precalculated by update_timing.
This avoids skew from processing overhead. There is still a little bit of
skew from the ZC filtering, but I don’t see any way around this. Also,
boards with larger sense filtering capacitors such as the F-30A line will
have slightly droopy timing as RPM increases, but this should not be a
big deal. MOTOR_ADVANCE has changed from 15 to 18 degrees, which looks
almost perfect on the 'scope for everything I have tried with.

И вообще у него очень много нового в прошивке появилось.

Simon Kirby (38):
Beep periodically when RC signal is lost (patch from alsav).
Add support for ramp-up, pulsed (regenerative) braking.
Port missing Makefile targets to BSDmakefile.
Comment and typo fixes.
Simplify and optimize rcp_int by using OCR1B instead of tracking 24 bits.
Stop using 4 registers just to avoid 4 extra cycles in PWM interrupt, and implement optional complementary PWM.
Use TIFR.OCF1B instead of OCT1B_PENDING. No OCF1B interrupt required.
Support wider calibration range all the way from 0 to MAX_RC_PULS.
Use shorter RC timeout while armed (HK i86 workaround).
BSDmakefile should work now. Waiting on avra -i option so we can drop the symlink hack.
Build up start power to PWR_MAX_START more quickly.
Sync loss avoidance, comp PWM, ZC DC bias cancellation, adjustable timing advance, and startup and timeout improvements.
Halve ZC filter time when running at 8MHz.
Add tp_8khz target for “type 1” clones that blow up at >8kHz PWM.
Fix typo and prepare for merging with Makefile.
Move BSDmakefile over to Makefile.
Fix math rounding error when subi/sbci is used for adding a constant.
Don’t accidentally turn off power for too long, and don’t forget to track timing on wait_timeout.
Allow start duty to reach PWR_MAX_START again.
Don’t wait for demagnetization during startup.
Match up the sync debug on the MOSI port with stock Mystery firmware.
Move ZC loop shifting to update_timing.
Calculate the needed motor timings when needed instead of in advance.
Move boot loader to boot.inc.
Don’t halve ZC loop count on 8MHz MCUs – the timing will already be half.
Fix powerskip regression since c09b6930b – don’t include carry in decrement.
Reduce the powerskipping timeout to twice the minimum required.
Macros for adiw/sbiw that allow any immediate. Allow <1kHz PWM again.
Calculate ZC check count on demand instead of in advance.
Remove unused TIMING_RUN.
Optimize update_timing and crash set_new_duty on the end.
Keep rc_timeout consistent when driving (no decay from RCP_TOT).
Optimize PWM halving.
Disable interrupts for a shorter period in set_ocr1a_abs.

ziss_dm
Shuricus:

Да ну блинский еж, я думал диод ставится в кабеле программатора. Еще диоды на регуль паять - это уже перебор.

Ну как сказать, по сравнению с необходимостью снимать пропеллеры, это меньшее зло (для меня) 😉

Shuricus:

В результате так осталось и непонятно какая финальная рабочая схема кабеля для программирования блюшек 20А.

Без power management: один резистор (RX на прамую, TX через резистор)

Shuricus:

А на саймоновской прошивке такая-же фигня творится? Странно, что они молчат про кондеры у себя на групсах.

…openpilot.org/…/10476-best-simonk-flashable-escs/

Simon:
The only possible downside with the F-30A and similar boards are that they are basically unusable for multirotors until flashed, and they have filtering capacitors on the sense lines that makes them a bit more sensitive to timing loss at extreme currents (and possibly a bit more difficult to track the demagnetization as a result). But in most cases, they’re great.

Shuricus

Ну они не так драматично описывают вред от конденсаторов как ты, нужно заметить. 😃
Но ясно, что кондеры нужно ремувать.

Дима, и я не тормоз, просто медленно понимаю 😃 - без запайки диода на сам регуль, запитать его от кабеля программатора не получится?

ziss_dm
Shuricus:

Дима, и я не тормоз, просто медленно понимаю - без запайки диода на сам регуль, запитать его от кабеля программатора не получится?

Без диода не получиться запитать мегу через серво-шнурок. 😉 Т.е. прийдеться подавать питание на батарейный вход (что в общем-то народ делает, используя USB Linker)