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

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

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

Dreddix

Всем привет! Нужен совет.
Реги рстаймер 10А, моторы эти- www.hobbyking.com/hobbyking/…/uh_viewItem.asp?idPr… , пропы 9Х4.5 рстаймер (обрезанные 10Х4.5, отбалансированные).
Прошил 1 из регов кастом прошивкой при помощи этой проги- www.rcgroups.com/forums/showthread.php?t=1577773 . Прошивка tgy.hex. Сразу все шить не стал, решил проверить 1 рег. Газ регулируется ок, но на 70-80% газа срыв синхры (или хз что ещё), мотор останавливается, убрав газ в “0” пикает о готовности, заводится снова и снова срыв на 70-80%. На заводской выходил на 100% без проблем. Шил т.к. 1 раз в полете встал 1 из моторов и в планету- думал прошив смогу победить этот странный глюк и вот на тебе- гарантированный срыв на 70%. Дальнейшие шаги? Заводскую вернуть(где взять её)? Другую прошивку (какую)? Что может вызывать срыв (проп 9Х4,5 перебор?- на хк в обзорах двигатели хорошо справляются с таким пропом и не выходят за 7А потребления)?

cylllka

Этим моторчикам 9х4,5 дюже много, ставь 7"-8"

Wishnu
Dreddix:

мотор останавливается, убрав газ в “0” пикает о готовности, заводится снова и снова срыв на 70-80%.

Если мотор полностью останавливается - это срабатывает ресет. Старую прошивку вы уже никак не вернете. Можете попробовать мультивийную прошивку - она более гибка в плане настроек code.google.com/p/wii-esc/

Dreddix

Да, останавливается полностью, точнее я так и так газ в “0” сразу, не рискну держать на газу рег который встал. Обрезал пропы до 8" тоже самое. может чуть чуть выше газ стал до отсечки. Без пропа выходит на 100% без проблемм. Притормаживая пальцем- срыв 80%. На заводской на 100% выходили с пропами 9Х4,5 без проблемм.

Wishnu:

Можете попробовать мультивийную прошивку - она более гибка в плане настроек code.google.com/p/wii-esc/

Спасибо! Но я там не увидел прошивку для чайников… Там вроде как надо самому что-то собирать. Я в этом как корова на льду- лучше не соваться. Готовых я там что-то не заметил?

Wishnu

Готовых сборок там по-моему и нету, какой у вас полетный контроллер?

Dreddix

Сечас кук. Пожже, возможно, будет ФФ, но не скоро, минимум месаца через 2

Wishnu

Могу скинуть свою сборку под 18ые рцтаймеры - они идентичны вашим. Но гарантий, что все заработает корректно не даю))

Dreddix

У меня нет выбора… Один рег так и так труп. Скиньте, буду благодарен. Опишите чуть чуть что за настройки- тайминг, отсечка, калибровка газа. И что за фьюзы ставить, шить думаю не через аврдюда, через что-то с графическим интерфейсом. Или фьюзы не надо трогать раз сейчас работает?

через это шить буду- eXtreme Burner - AVR

github.com/sim-/tgy/downloads
Сегодня добавили новую прошивку без регулировки газа. В tgy.txt файле что-то написано про фьюзы, но для меня не понятно что это значит, хоть я и понимаю слова. Может кто пояснить?

Dreddix

пысы2- прошился новой прошивкой. Регулировка газа осталась. но теперь он пищит совсем иначе, о готовности сообщяет 3мя пиками. В ресет регуль уходит так и так. Такое чувство что мотор выходит на макс обороты и дальше не может, а регуль говорит ему давай ещё и возникает конфликт- следствие регуль уходит в защиту и тормозит, именно тормозит, движок. Как-то так. Если бы можно было ограничить кол-во газа, думаю это моглобы решить мою проблему. Может в пульте МАКС убрать нафиг…

Пысы3. Убрал ендпойнт верхнего предела газа до 35%, теперь двиг выходит на высокие обороты и срыва нет. Но это явно не то решение что нужно.

Wishnu

Вот ссылочка на прошивку вийную dl.dropbox.com/u/…/plush30a_16mhz_все регули.hex
фьюзы при прошивке трогать не нужно
калибровки газа в этой прошивке нету, как и любых других настроек (все настраивается во время сборки)

Dreddix

щас попробую…

пысы. Я не могу скачать сам файл. Открывается страничка где в пустом поле код длинной в километр О_о. Меню “сохранить как” и тд нет. только “открыть в другом окне”, “в другой вкладке” и “скопировать ссылку”.

О вроде скопировал, но файл странный какой-то
Экстрим бурнер принял файл, будем попробовать…

Результат- НОЛЬ. Регуль пищит пи-пии-пииип и всё, никакой реакции на стик газа. Вообще никакой. Не подошла…

Про новую прошивку.
решил все зашить реги, пофиг что глюк. Второй рег после прошивки, тест- 80% срыв чёто-там и мотор больше не запускается, а только издает звук сирены 😃 прикольно

Dreddix

Прошил все. Наверное зря. Теперь квадр даже не летит, верх газа я ограничил, но КУК выводит во время маневров обороты выше моего ограничения и, конечно, происходит срыв. Теперь квадрик летает только меееееееедленно блинчиком или сразу срыв. Нужны новые реги видимо 😦

Wishnu

Щас я соберу мультивийную прошу с другими параметрами, она не реагировала на газ т.к. там низкое минимальное значение rc_pulse стоит для назы (иначе не заводятся регули).
Вот 3 прошивки на тесты:
dl.dropbox.com/u/…/plush30a_16mhz_1000.hex
dl.dropbox.com/u/…/plush30a_16mhz_1050.hex
dl.dropbox.com/u/…/plush30a_16mhz_1100.hex

циферки 1000-1050-1100 это как раз те самые значения

жмете на ссылку - там сохранить ссылку как, формат обычный - hex

А так - мультивийная прошивка не может не подойти, ее просто нужно собрать под эти регули и моторы правильно)

Dreddix

У мотора 16 полюсов, это имеет значение для сборки прошивки? На ориг прошивке тайминг был “высокий”
Начну с первой, жаль паяльник уже остыл 😃
Спасибо!

пысы. Ещё подсказка. Подключённый к куку, мотор глохнет даже намного раньше 80% если потрясти раму в руке резко туда-сюда. Может не хватает сглаживающего фильтра? В кастомных его вроде нет.

Wishnu

Там много настроек, попробуйте эти прошивки - если хоть на одной моторы заведутся, то можно будет дальше ковырять

Dreddix

Завелся на 1050 с триммером газа в самом низу.
1100 завелся с триммером газа 25%. Срыв на 90% газа. Если вернуть триммер назад на середину, думаю будет как раз 80%. Сразу после срыва мелодия готовности.

ПыСы что-то мне не нравиться слово 16MHZ в прошивках. может это кикайское что-то тупо не может эту скорость держать?

без пропа двигатель набирает обороты до 80% и после 80% скорость не меняется. это говорит что-то?

Wishnu

На счет без пропа - это ни о чем не говорит, не совсем корректно тестить мотор без нагрузки.
16mhz они работают - у нас с вами идетнтичные регуляторы, просто у моего фетов больше (оттуда и 18а)
Вообще это очень странно, что регули ресетятся. Вы ток не пробовали измерять? Может быть там давно уже овер лимит по току идет вот они и ресетятся (я точно не знаю какая защита есть в кастомных прошивках).
Можно попробовать ограничить выходную мощность регулей процентов до 70-80, но я пока не знаю где это править. Задал вопрос на форуме мультивийном - как ответят попробую

Dreddix

Сегодня уже не успею ток померить, завтра только. Но такого не было на этих самых регах, этих самых моторах и бОльших пропеллерах (9Х4.5)! Началось именно после прошивки. Ничего больше не менялось. Провода, фишки, всё всё всё тоже самое. По результатам тестов на ХК эти движки не берут больше 9А не важно на каком пропеллере. 3S, проп 9Х5 вроде был самый большой на тестах ХК, ток был 9А. Эти же самые моторки с этими регами неплохо летали на пропах 10Х4.5, до обрезания, без экстрима, но никаких глюков вообще. Всё чинно и стабильно. Газ я дергал раза 4-5 чтобы квадр пулей ушел в небо, но не дольше 2-4 сек, всё ок было, потом плавно спускал на землю. Первый раз отрубился мотор когда я его на 9Х4.5 гонял в 10 метрах над землёй с макс возможной скоростью параллельно земле (90% газа примерно) и в момент резкого ухода в вертикаль двиг застыл. Тут уже хз что случилось, но сейчас у меня совсем не та картина, сейчас почти без нагрузки глохнет.