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

Adekamer

размещу здесь,давеча летал - не очень удачно
в результате перестал запускаться один двигатель
двигатели кда2022л
реги плюшки старые 18А
дома вдруг эта связка заработала (двиг + рег)
но тем не менее решил их оба заменить
а на замену у меня из регов плюшки но полугодичной давности 25А
размер тот же - но под термоусадкой проглядывается другое расположение элементов
заодно заменил на противоположном (наискосок) луче глючащий на морозе регуль
когда собрал обратно на раму, запрограммировал инициализировал - газ откалибровал итд решил постучать по мозгам (фишка 90 про)
и что вы думаете ?
двигатели подключенные к новым плюшкам 25а запели!
интересно как в результате поведет себя коптер с разными регулями …

Edward_tlt

И я сегодня облетал перепрошитые регули с хк блюе сериес. Супер. Квадик просто мегастабильный! 😃 Правда были звуки похожие на срыв синхры, но это движки перегруженные 2812 с винтами 9х5 и 3мя банками. Завтра на двух банках попробую

Wishnu

А я сегодня перелопатил штук 100 различных вариантов и версий прошивок wii esc, но к сожалению ни одна корректно не заработала с мт3506 =( Хорошие блин моторы, но в плане регулей какие-то капризные =(
Перечитал беглым взглядом обе ветки - simonk’а и wii esc, похоже никто так и не запустил эти моторы на кастомной прошивке

gorbln
Wishnu:

Товарищи, кто может по пунктам объяснить как собрать WII ESC прошивку?

А зачем её собирать? Что-то поменять хотите? Есть же готовые хексы.

Wishnu
gorbln:

А зачем её собирать? Что-то поменять хотите? Есть же готовые хексы.

Да я разобрался уже как там собирать - все очень легко и просто оказалось. Готовых хексов чето не увидел, да и в любом случае, мне нужно было параметрами поиграться, правда результатов это не дало 😢

gorbln
romushock:

Маркировка NICOS P0603BD SNE8M0802

N-канальные полевые транзисторы. 70А.
Наверное, можно попробовать какую-нибудь прошивку с “только n-канальными”. по крайней мере, шанс пыща не очень большой

Wishnu:

Да я разобрался уже как там собирать - все очень легко и просто оказалось. Готовых хексов чето не увидел, да и в любом случае, мне нужно было параметрами поиграться

Понятно! Готовые хексы в архиве в разделе downloads на github-е

Bluebird

Вчера перешил другу 7 шт ХоббиКинг БлуСериес 30А прошивкой nfets - все отлично работают и жужат) Только тихо стартовые писки пикают…

romushock
romushock:

Продолжу. Внутри всё та же АТмега8 и вот такие ключики

Маркировка NICOS P0603BD SNE8M0802.

Продолжаю продолжать…
Зашил ему rb70a.hex, т.к. в кирпиче и в сс одинаковые ФЕТы. Подключил, случился пыщь… Не сильно так, успел сдёрнуть батарею, потекла изоляция на шнурке, идущем в приёмник. ФЕТки не вздулись, сигнатуры меги читались. Зашил тогда hk200a.hex. И - о,чудо!!! - задышало!!! Отписался Семёну о проделанной работе и предложил внести в таблицу. вот ответ:

Hi, Romushock!

hk200a and rb50a (not rb70a) are actually the same but one spins the motor opposite to the other. So, to be sure, do you have an original firmware one where you could confirm the rotation of the motor?

In other words, the right firmware is probably either hk200a or rb50a, depending on which one spins the motor the same way as the original firmware.

Thanks!

Simon-

Должен перешить ещё 5 регулей,как закончу, продолжу продолжать продолжение. Но как бы там ни было, ХК СС40-50 шьётся, и какая разница, куда потом крутится мотор. Важно что крутится и гораздо резвее ходит за ручкой.

romushock
romushock:

Продолжаю продолжать… Зашил ему rb70a.hex, т.к. в кирпиче и в сс одинаковые ФЕТы. Подключил, случился пыщь… Не сильно так, успел сдёрнуть батарею, потекла изоляция на шнурке, идущем в приёмник. ФЕТки не вздулись, сигнатуры меги читались. Зашил тогда hk200a.hex. И - о,чудо!!! - задышало!!! Отписался Семёну о проделанной работе и предложил внести в таблицу. вот ответ: Hi, Romushock! hk200a and rb50a (not rb70a) are actually the same but one spins the motor opposite to the other. So, to be sure, do you have an original firmware one where you could confirm the rotation of the motor? In other words, the right firmware is probably either hk200a or rb50a, depending on which one spins the motor the same way as the original firmware. Thanks! Simon- Должен перешить ещё 5 регулей,как закончу, продолжу продолжать продолжение. Но как бы там ни было, ХК СС40-50 шьётся, и какая разница, куда потом крутится мотор. Важно что крутится и гораздо резвее ходит за ручкой.

Итак, часть третья, заключительная. Как и обещал Саймон, шьются обе hk200a и rb50. Действительно направление вращения в hk200a обратное относительно стоковой, в rb50a совпадает. Написал сэнсэю, чтобы правил таблицу, а пока он снесётся, всё русскоговорящее население может спокойно шить свои СС 40-50… Пиво всем!!!

7 days later
cylllka

Решился и я прошить регули, хоть и стоковые РЦ-Таймер 30А вполне устраивали. Шил хоббикинговским программатором, прога FlashTool. Это оказалось проще чем я думал, выбрал регуль и нажал шить. 😃

Все 4 регуля прошились без пролем, все работают как нужно. Летать еще не пробовал, т.к. не установил их на коптер, но при проверке на стенде крутанул резко ручку сервотестра и мотор пулей вышел на макс обороты, аж провернуло его в “Третьей руке”, на стоковой прошивке быстродействие на много ниже.
Кто еще не решлся на прошивку - не затягивайте 😃

romushock

Народ, а было у кого, чтоб с регуля сигнатуры не читались?
Пришли 4 кирпича 25А, всё шоколадно, падики в линию, красота… Соорудил прищепку с иголками, зажимаю первый - сигнатуры не читаются… Помял прищепку - вроде резетная иголка контачит через раз. Ладно, подпаялся на падики, читаю сигнатуры - ни фига… ОК, вскрываю второй, сразу подпаиваюсь на пятаки - читает и шьёт, что надо. Решил оставить в покое прищепку и паяться на плату. Третий - оказался в порядке, прошил. Четвёртый - та же история, что и с первым, глушняк полный.
В задаче спрашивается, мог ли я дребезгом контактов (вариант с прищепкой) повредить мегу или их лочат на фабрике (вариант с 4-м регулем)? А если лочат, есть ли способ разлочить?
Мерси

Dimm168pin
romushock:

Народ, а было у кого, чтоб с регуля сигнатуры не читались?
Пришли 4 кирпича 25А, всё шоколадно, падики в линию, красота… Соорудил прищепку с иголками, зажимаю первый - сигнатуры не читаются… Помял прищепку - вроде резетная иголка контачит через раз. Ладно, подпаялся на падики, читаю сигнатуры - ни фига… ОК, вскрываю второй, сразу подпаиваюсь на пятаки - читает и шьёт, что надо. Решил оставить в покое прищепку и паяться на плату. Третий - оказался в порядке, прошил. Четвёртый - та же история, что и с первым, глушняк полный.
В задаче спрашивается, мог ли я дребезгом контактов (вариант с прищепкой) повредить мегу или их лочат на фабрике (вариант с 4-м регулем)?

я впаивал меги по которым несколько раз проехал колесиком кресла) ноги ровнял пинцетом и паял, ну и другие извращения, убить на самом деле не просто, самый верный способ вынять мегу и прошить на отдельной пустой платке, или от дохлого регуля или вытравить,а там уже пытаться ее разлочить программатором с выходом 1кгц-1мгц для внешнего тактирования на вход xt1,еще проще за бакс купить новую мегу и не тратит время. Но что-то мне подсказывает что просто что -то с контактом) если регули с кварцем кстати могли просто поставить по разному фьюзы и тот что не шьется жестко забит на внешний кварц, можт попробовать дать питание на регуль от акка и попробовать еще раз?

skylight83
cylllka:

Решился и я прошить регули, хоть и стоковые РЦ-Таймер 30А вполне устраивали. Шил хоббикинговским программатором, прога FlashTool. Это оказалось проще чем я думал, выбрал регуль и нажал шить. 😃

Все 4 регуля прошились без пролем, все работают как нужно. Летать еще не пробовал, т.к. не установил их на коптер, но при проверке на стенде крутанул резко ручку сервотестра и мотор пулей вышел на макс обороты, аж провернуло его в “Третьей руке”, на стоковой прошивке быстродействие на много ниже.
Кто еще не решлся на прошивку - не затягивайте 😃

На выходных перепрошились мои РЦ-Таймер 30А.

Что изменилось:

  1. Стали немного пошустрее

  2. Если до перепрошивки, коптер висел на середине газа, то сейчас висит где-то на 75% газа! Считаю это недостатком.

  3. И последнее, когда только начинаю добавлять газ, моторы заводятся не все сразу! Сначала третий, потом первый и четвертый, потом шестой и самыми последними заводятся второй и пятый.

Можно ли на этой прошивке “tgy.hex” сделать колибровку регуляторам, чтобы они как и раньше стартовали все вместе? На оригинальной прошивке я это делал так:

Газ на 100%
Подаю питание на все шесть регуляторов
Короткое пищание
Газ в 0%
Короткое пищание
Регуляторы откалиброваны

Dimm168pin
skylight83:

На выходных перепрошились мои РЦ-Таймер 30А.

Что изменилось:

  1. Стали немного пошустрее

  2. Если до перепрошивки, коптер висел на середине газа, то сейчас висит где-то на 75% газа! Считаю это недостатком.

  3. И последнее, когда только начинаю добавлять газ, моторы заводятся не все сразу! Сначала третий, потом первый и четвертый, потом шестой и самыми последними заводятся второй и пятый.

Можно ли на этой прошивке “tgy.hex” сделать колибровку регуляторам, чтобы они как и раньше стартовали все вместе? На оригинальной прошивке я это делал так:

Газ на 100%
Подаю питание на все шесть регуляторов
Короткое пищание
Газ в 0%
Короткое пищание
Регуляторы откалиброваны

щас добавили калибровку, я считаю это неудобством для коптеров если честно, кароче она есть, алгоритм как обычно.

cylllka
skylight83:
  1. Если до перепрошивки, коптер висел на середине газа, то сейчас висит где-то на 75% газа! Считаю это недостатком.

А что за плата управления коптером?
У меня как висел на 40% до перешивки, так и висит после

romushock
Dimm168pin:

попробовать дать питание на регуль от акка и попробовать еще раз

Да я так и делал… Не знаю, почему, но даваемых 5в с программера не хватает, сосёт их плата, что ли… Программирую с прицепленным акком олвэйз…

skylight83
cylllka:

А что за плата управления коптером?

КоптерКонтрол

skylight83
Dimm168pin:

щас добавили калибровку, я считаю это неудобством для коптеров если честно, кароче она есть, алгоритм как обычно.

Да, действительно, колибровка есть, вчера откалибровал. Теперь все моторы заводятся одновременно 😃

Wishnu


Победил-таки связку 18а рцтаймеры +4s аккум + моторы mt3506 + кастомная прошивка+ наза контроллер 😉
Simonk’овсие прошивки к сожалению пока запустить не удалось, зато удалось мультивийную. Сборка последняя из папки Trunk.

По сравнению с 12а авиониксами гейны удалось поднять не так уж сильно - на гексе со 180 до ~250, но как-то при этом коптерок побалтывает. Думаю из-за того, что запускал его в комнате - он создает очень сильный ветер и сам же об него спотыкается, попозже выйду на улицу проверю как там будет.

.include "common.inc"

#define Typ "Plush 30"

;*********************
; PORT B definitions *
;*********************
;#define                7
;#define                6
#define  DbgLED         5;    ;o (sck stk200 interface)
;#define                4        (miso stk200 interface)
;#define                3        (mosi stk200 interface)
#define AnFET           2     ;o
#define BnFET           1     ;o
#define CnFET           0     ;o

#define INIT_PB         0
#define DIR_PB          (1<<AnFET)+(1<<BnFET)+(1<<CnFET)+(1<<DbgLED)
#define BRAKE_PB        (1<<AnFET)+(1<<BnFET)+(1<<CnFET)

#define DbgLEDOn        sbi     PORTB, DbgLED
#define DbgLEDOff       cbi     PORTB, DbgLED

;*********************
; PORT C definitions *
;*********************
#define INIT_PC         0
#define DIR_PC          0
#define BRAKE_PC        0

;*********************
; PORT D definitions *
;*********************
;#define                7     ;i <plus> comparator input (AIN0)
#define c_comp          6     ;i common comparator input (AIN0)
#define ApFET           5     ;o
#define BpFET           4     ;o
#define CpFET           3     ;o
#define rcp_in          2     ;i r/c pulse input

#define INIT_PD         0
#define DIR_PD          (1<<ApFET)+(1<<BpFET)+(1<<CpFET)
#define BRAKE_PD        0

;*********************
; ADC definitions    *
;*********************
#define mux_a           5     ; ADC5 phase input
#define mux_b           4     ; ADC4 phase input
;#define                3     ; ADC3
;#define                2     ; ADC2
#define temp_adc        1     ; ADC1 temperature control input
#define accu_adc        0     ; ADC0 voltage control input

;*********************
; FET Control        *
;*********************
#define ApFET_on        sbi     PORTD, ApFET
#define ApFET_off       cbi     PORTD, ApFET
#define AnFET_on        sbi     PORTB, AnFET
#define AnFET_off       cbi     PORTB, AnFET

#define BpFET_on        sbi     PORTD, BpFET
#define BpFET_off       cbi     PORTD, BpFET
#define BnFET_on        sbi     PORTB, BnFET
#define BnFET_off       cbi     PORTB, BnFET

#define CpFET_on        sbi     PORTD, CpFET
#define CpFET_off       cbi     PORTD, CpFET
#define CnFET_on        sbi     PORTB, CnFET
#define CnFET_off       cbi     PORTB, CnFET

;*************************
; Comparator definitions *
;*************************
.macro AcInit
.endmacro

.macro AcPhaseA
  ACChannel mux_a
  ACMultiplexed
.endmacro


.macro AcPhaseB
  ACChannel mux_b
  ACMultiplexed
.endmacro


.macro AcPhaseC
  ACNormal
.endmacro

;*************************
; Parameters             *
;*************************
#undef     MOT_BRAKE
#undef     READ_CALIBRATION
#define    OVERCLOCK
#define    F_CPU               16000000          ; 16Mhz internal RC oscilator (overclocked)

;*************************
; Power settings         *
;*************************
#define    PCT_PWR_MIN         6                 ; Min power 3%

;*************************
; Power curve            *
;*************************
PWR_CURVE_POINT(01, 3500, 25)
PWR_CURVE_POINT(02, 7000, 50)

;*************************
; Startup settings       *
;*************************
#define    RPM_STEP_INITIAL    170	; 155
#define    RPM_STEP_MAX        220	; 200
#define    PCT_PWR_STARTUP     18
#define    PCT_PWR_MAX_STARTUP 20
#define    RPM_START_MIN_RPM   4200
#define    ENOUGH_GOODIES      20

;*************************
; Run settings           *
;*************************
#define    RPM_RUN_MIN_RPM     3200
#define _include_ppm_inc_

#define    POWER_RANGE   200
#define    MIN_RC_PULS   950	;950

; falling->rising intervals
#define    MAX_INT_FR    25000
#define    MIN_INT_FR    100

; rising->falling intervals
#define    MAX_INT_RF    2200
#define    MIN_INT_RF    800

.macro EvaluatePWC
                sbrs    flags1, RC_PULS_UPDATED
                ret
                movw    temp1:temp2, new_rcpuls_l:new_rcpuls_h
                cbr     flags1, (1<<RC_PULS_UPDATED) ; rc impuls value is read out
                subi    temp1, low  (MIN_RC_PULS*CLK_SCALE)
                sbci    temp2, high (MIN_RC_PULS*CLK_SCALE)
                brcc    eval_rc_p00
                clr     temp1
                clr     temp2
eval_rc_p00:    lsr     temp2
                ror     temp1
                lsr     temp2
                ror     temp1
.if CLK_SCALE==2
                lsr     temp2   ; actual 0->400
                ror     temp1
.endif
                cpi     temp1, POWER_RANGE - 1
                brcs    eval_rc_p10
                ldi     temp1, POWER_RANGE - 1
eval_rc_p10:
                mov     ZH, temp1
                ret

.endmacro

Если кому нужно - могу выложить готовый хекс, на ваш страх и риск естепственна 😃