XK K120 - продолжение V977 с двухбаночным аккумулятором и протоколом S-FHSS

12 days later
Babay

Привет друзья! Задался целью сделать полностью бесколлекторный K120. Выкинул родной регулятор и заменил на парочку DYS XM10A, так как у них допустимо быстрые ключи. Сам хвост переделал под крепление хвостового мотора как у V977.

Использовал цельную балку 2.5х2.5мм. Мотор на хвост использовал с HK на 12000kV, но перемотанный. Сначала намотал 18 витков на зуб проводом 0.18 - мотор перегрелся и сгорел. Грешу на плохое качество провода - могла повредиться изоляция. Потом намотал 22 витка проводом 0.16 - мотор не давал нужную тягу. Потом намотал 17 витков проводом 0.2 - очень сложно далось, витки аж слезали с зубьев, фиксировал электролаком PLASTIK-71. Все равно тяга на хвосте была недостаточна. Не понимал, что происходит, пока не подключил мотор к регулятору от HCP100S - мотор аж на визг стал срываться! Ага, виноват регулятор, вернее его прошивка. Вот тут главная засада. Для регулятора DYS XM10A есть прошивка BLHeli только от версии 13.2 и старше, но начиная с версии 13.2 прошивка перестала понимать PWM (ШИМ). Мне удалось сделать прошивку для DYS XM10A версии 12.1, где ШИМ еще работал, выдернув данные из версии 13.2. Отсюда вопрос: есть кто-нить, кто понимает в ассемблере, чтобы понять и исправить прошивки старше 12.1, чтобы ШИМ снова заработал? Читая буржуинский форум на хелифрике вижу, что проблема глобальная, но основные разработчики BLHeli положили на нее болт. Типа неактуально, пользуйте 12.1 и ниже. Но как его пользовать, если для нужного регулятора нет нужной прошивки? В общем, нужна ваша помощь!

1 month later
Twilight_Sun
Babay:

Мне удалось сделать прошивку для DYS XM10A версии 12.1, где ШИМ еще работал, выдернув данные из версии 13.2.

так а этот вариант работает в итоге или не очень?

Ради интереса посмотрел различия между 12.1 и 13.2 - там как раз добавили OneShot125 и соответственно в коде поправили определение типа сигнала и ещё какие-то константы поправили непонятно зачем. Это что удалось усмотреть в куче изменений. Так просто без длительного ковыряния не разобраться. Изменения по методам старта и остановки мотора вроде как ни при чем, т.к. насколько я понимаю дело даже до арминга не доходит.
Правильно понимаю, что шим не работает без разницы хвост это или основной? есть данные работало ли в 12.2, в 13.0 ?
И как понять что код по поддержке ШИМ есть и меняется если он не работает. Как люди меняют нерабочий код, или он иногда работает?

Babay
Twilight_Sun:

так а этот вариант работает в итоге или не очень?

Вариант работает, но почему-то регулятор не выдает полную мощность. С прошивкой 14.6 и сигналом для основного мотора хвостовой мотор дает очень приличную тягу. А с этой самопальной прошивкой тяги едва хватает на удержание хвоста. И все очень сильно греется. И мотор и регулятор. По моему надо все таки искать проблему в свежей прошивке. Наверняка там дело ограничится исправлением пары строк. Вот только я не очень большой специалист в ассемблере:) Кстати, может быть немного поможет решению проблемы вот эта тема.

fokkerxxi
Babay:

Кстати, может быть немного поможет решению проблемы вот эта тема.

Они там пытаются ШИМ с частотой 500Hz привязать к программе. (Сама их прога ВСЕГДА работала с ШИМ от 1КГц и выше) Я это делал еще год назад для хвоста с прошивкой 11.2. Хвост работал. Но держал плохо. Правда может у меня дело не в хвосте было, а в вибрациях верта.

В последних прошивках что я видел, от ШИМа и следа не осталось. А там для ШИМ прилично кода было. Нет смысла мне кажется делать ШИМ со старшими прошивками. Проще добавить новый регуль к старой прошивке 12.1 или 12.2 - (у меня 12.2, почему-то стоит))

Как вы подключали DYS XM10A, к старой прошивке 12.1? там ведь на каждый регуль свой файл с константами. Ну и в основной проге перечисляется список регулей. Вот вроде и все…

Twilight_Sun

ну да, причем в той статье там получается ШИМ работал изначально с 14.2
а есть данные какой частоты сигнал у k120/k110/v977?

В 14.6 я код для ШИМ ещё вижу, например начиная с метки
pca_int_second_meas_pwm_freq:
или я не туда смотрю?

fokkerxxi
Twilight_Sun:

а есть данные какой частоты сигнал у k120/k110/v977?

Я не помню, но для 977 вроде 12КГц

Twilight_Sun:

В 14.6 я код для ШИМ ещё вижу, например начиная с метки

Я 15-ю какую-то смотрел.

Ссылочку киньте на 14.6 с исходниками, найти не могу))

Twilight_Sun

там хитро с версиями типа сам блхели 16 версии а прошивки 14. в общем двойная нумерация.
я тут качал. вроде ж свежее, две недели назад коммит был пишет.

fokkerxxi
Twilight_Sun:

я тут качал. вроде ж свежее, две недели назад коммит был пишет.

Был неправ. Вроде все на месте. Тогда надо разбираться почему ШИМ не работает.

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

Babay
fokkerxxi:

Как вы подключали DYS XM10A, к старой прошивке 12.1? там ведь на каждый регуль свой файл с константами. Ну и в основной проге перечисляется список регулей. Вот вроде и все…

Перетаскивал файл с константами из новой версии в старую, а список вообще подчищал до одной позиции:) Но в файле с константами есть ссылки на процедуры, которых нет в старой прошивке. Пришлось перетаскивать еще и эти процедуры и по логике в новой версии встраивать в старую.

Twilight_Sun

а есть какой-то похожий регуль для которого есть старая прошивка? наверное было бы проще/надежней взять его за основу и в его файл с константами (версии 12) внести правки исходя из различий файлов “похожего” и DYS XM10A одинаковой (новой) версии.

у меня под рукой только MX-3A (ну ещё origin10a конечно). пока что хочу заставить на нем работать с шим какую-нибудь новую версию…

fokkerxxi
Babay:

Перетаскивал файл с константами из новой версии в старую, а список вообще подчищал до одной позиции Но в файле с константами есть ссылки на процедуры, которых нет в старой прошивке. Пришлось перетаскивать еще и эти процедуры и по логике в новой версии встраивать в старую.

Не, так не пойдет. Надо в новых версиях выбрать регуль, который есть в старых, но очень похож на DYS XM10A, по файлам констант. переписать отличия. Потом брать файл констант с похожим регулем из старой прошивки и править отличия.

Надо смотреть что наиболее похоже на DYS XM10A

Twilight_Sun

ага. я то же имел ввиду.
смотрю, XRotor_20A подходит. а там тоже с 13.2 начинаются прошивки…
в общем с этим чипом было только два регуля. Platinum_Pro_30A и Platinum_50Av3
вот собственно какой-то из них …

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

Babay
fokkerxxi:

Не, так не пойдет. Надо в новых версиях выбрать регуль, который есть в старых, но очень похож на DYS XM10A, по файлам констант. переписать отличия. Потом брать файл констант с похожим регулем из старой прошивки и править отличия.

Надо смотреть что наиболее похоже на DYS XM10A

Нет такого варианта в старых прошивках. XM10A на новом процессоре, такого тогда еще не было.

Twilight_Sun

Судя по истории версий, было, но мало (как выше написал).
вот в общем результат сборки, в приложеном архиве в Output\Hex\. редактировал Platinum_Pro_30A т.к. так не надо было править скрипты сборки, всё само как надо делается только что название файла-результата не то, так это не критично.
почему именно в этом случае выдает warning - загадка. на калькуляторе пересчитал даже - ничего за байт не вылазит. точно такая же фигня в 14 ничего не выдает.

Но по идее должно работать.
А способ с перетаскиванием привел к чему? там warning-и при сборке были в MakeHex_Result.txt?

12_1.zip

fokkerxxi
Twilight_Sun:

Но по идее должно работать.

Ага, я глянул и также сделал бы)) Только кажись вы не тот файл за образец взяли. 10-ти амперный регуль, это файл, XRotor_10A

Как минимум, одна константа другая: NFETON_DELAY EQU 22

Остальное не проверял.

[IMG][/IMG]

Babay
Twilight_Sun:

А способ с перетаскиванием привел к чему? там warning-и при сборке были в MakeHex_Result.txt?

Неа, не было. Вернее были, но я их искоренил:) Если название не то, то могут быть проблемы. Я так разок не ту прошивку собрал, не для этого регулятора, хотя название было правильным. Залил ее и мотор тут же сгорел, даже завести не успел. Поэтому просто вычищал весь список, убирал все лишние конфиги и собирал только один, чтобы еще раз так не попасть:)

Twilight_Sun

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

пересобрал. кстати теперь хоть понятно с ворнингом, прошивка xrotor10a на 14 релизе с точно таким же компилится.

12_1_a.zip

fokkerxxi
Twilight_Sun:

пересобрал

Ждем испытаний)) По идее, должно работать.

Babay

Испытал. Все работает, но поведение точно как и раньше. Двигатель греется и не отдает полную мощность. Попробую отключить торможение, по примеру как в регуляторе HCP100S.

Отключил торможение. Стало немного получше. Но тогда хвост заметно заносит при резкой нагрузке. Может быть на самом деле все работает, просто регулятор недостаточно быстр для хвоста? Судя по параметрам время переключения ключей у него не очень-то быстрое. Попробую поискать современный регулятор с еще более быстрым временем переключения. Хотя вроде и XM10A брал как раз исходя из того, что он самый быстрый по параметрам был из небольших.

Twilight_Sun

можно точно так же как 14.6 проверяли с сигналом для основного - проверить и эту. если будет работать так же как 14.6 (кстати main или tail? по идее такую же версию проверять надо), то значит сама прошивка "типа 12.1 " вероятно нормальная и проблема таки не в ней.

я пока планирую, как будет чутка времени, на своём mx-3A всё-таки попробовать сделать 14ую рабочую с шим для эксперимента, хочу убрать оттуда код по определению других типов сигнала аккуратненько. возможно он мешает жить