XK K120 - продолжение V977 с двухбаночным аккумулятором и протоколом S-FHSS
Короче, тоньше но не уже.
вот из блога Александра
Привет друзья! Задался целью сделать полностью бесколлекторный 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 и ниже. Но как его пользовать, если для нужного регулятора нет нужной прошивки? В общем, нужна ваша помощь!
Мне удалось сделать прошивку для DYS XM10A версии 12.1, где ШИМ еще работал, выдернув данные из версии 13.2.
так а этот вариант работает в итоге или не очень?
Ради интереса посмотрел различия между 12.1 и 13.2 - там как раз добавили OneShot125 и соответственно в коде поправили определение типа сигнала и ещё какие-то константы поправили непонятно зачем. Это что удалось усмотреть в куче изменений. Так просто без длительного ковыряния не разобраться. Изменения по методам старта и остановки мотора вроде как ни при чем, т.к. насколько я понимаю дело даже до арминга не доходит.
Правильно понимаю, что шим не работает без разницы хвост это или основной? есть данные работало ли в 12.2, в 13.0 ?
И как понять что код по поддержке ШИМ есть и меняется если он не работает. Как люди меняют нерабочий код, или он иногда работает?
так а этот вариант работает в итоге или не очень?
Вариант работает, но почему-то регулятор не выдает полную мощность. С прошивкой 14.6 и сигналом для основного мотора хвостовой мотор дает очень приличную тягу. А с этой самопальной прошивкой тяги едва хватает на удержание хвоста. И все очень сильно греется. И мотор и регулятор. По моему надо все таки искать проблему в свежей прошивке. Наверняка там дело ограничится исправлением пары строк. Вот только я не очень большой специалист в ассемблере:) Кстати, может быть немного поможет решению проблемы вот эта тема.
Кстати, может быть немного поможет решению проблемы вот эта тема.
Они там пытаются ШИМ с частотой 500Hz привязать к программе. (Сама их прога ВСЕГДА работала с ШИМ от 1КГц и выше) Я это делал еще год назад для хвоста с прошивкой 11.2. Хвост работал. Но держал плохо. Правда может у меня дело не в хвосте было, а в вибрациях верта.
В последних прошивках что я видел, от ШИМа и следа не осталось. А там для ШИМ прилично кода было. Нет смысла мне кажется делать ШИМ со старшими прошивками. Проще добавить новый регуль к старой прошивке 12.1 или 12.2 - (у меня 12.2, почему-то стоит))
Как вы подключали DYS XM10A, к старой прошивке 12.1? там ведь на каждый регуль свой файл с константами. Ну и в основной проге перечисляется список регулей. Вот вроде и все…
ну да, причем в той статье там получается ШИМ работал изначально с 14.2
а есть данные какой частоты сигнал у k120/k110/v977?
В 14.6 я код для ШИМ ещё вижу, например начиная с метки
pca_int_second_meas_pwm_freq:
или я не туда смотрю?
а есть данные какой частоты сигнал у k120/k110/v977?
Я не помню, но для 977 вроде 12КГц
В 14.6 я код для ШИМ ещё вижу, например начиная с метки
Я 15-ю какую-то смотрел.
Ссылочку киньте на 14.6 с исходниками, найти не могу))
там хитро с версиями типа сам блхели 16 версии а прошивки 14. в общем двойная нумерация.
я тут качал. вроде ж свежее, две недели назад коммит был пишет.
я тут качал. вроде ж свежее, две недели назад коммит был пишет.
Был неправ. Вроде все на месте. Тогда надо разбираться почему ШИМ не работает.
С другой стороны, можно пытаться подключить новые регули к старым версиям. Мне кажется так проще.
Как вы подключали DYS XM10A, к старой прошивке 12.1? там ведь на каждый регуль свой файл с константами. Ну и в основной проге перечисляется список регулей. Вот вроде и все…
Перетаскивал файл с константами из новой версии в старую, а список вообще подчищал до одной позиции:) Но в файле с константами есть ссылки на процедуры, которых нет в старой прошивке. Пришлось перетаскивать еще и эти процедуры и по логике в новой версии встраивать в старую.
а есть какой-то похожий регуль для которого есть старая прошивка? наверное было бы проще/надежней взять его за основу и в его файл с константами (версии 12) внести правки исходя из различий файлов “похожего” и DYS XM10A одинаковой (новой) версии.
у меня под рукой только MX-3A (ну ещё origin10a конечно). пока что хочу заставить на нем работать с шим какую-нибудь новую версию…
Перетаскивал файл с константами из новой версии в старую, а список вообще подчищал до одной позиции Но в файле с константами есть ссылки на процедуры, которых нет в старой прошивке. Пришлось перетаскивать еще и эти процедуры и по логике в новой версии встраивать в старую.
Не, так не пойдет. Надо в новых версиях выбрать регуль, который есть в старых, но очень похож на DYS XM10A, по файлам констант. переписать отличия. Потом брать файл констант с похожим регулем из старой прошивки и править отличия.
Надо смотреть что наиболее похоже на DYS XM10A
ага. я то же имел ввиду.
смотрю, XRotor_20A подходит. а там тоже с 13.2 начинаются прошивки…
в общем с этим чипом было только два регуля. Platinum_Pro_30A и Platinum_50Av3
вот собственно какой-то из них …
попробовал так сделать. собралось с одним ворнингом. что-то не учел, проверяю…
Не, так не пойдет. Надо в новых версиях выбрать регуль, который есть в старых, но очень похож на DYS XM10A, по файлам констант. переписать отличия. Потом брать файл констант с похожим регулем из старой прошивки и править отличия.
Надо смотреть что наиболее похоже на DYS XM10A
Нет такого варианта в старых прошивках. XM10A на новом процессоре, такого тогда еще не было.
Судя по истории версий, было, но мало (как выше написал).
вот в общем результат сборки, в приложеном архиве в Output\Hex\. редактировал Platinum_Pro_30A т.к. так не надо было править скрипты сборки, всё само как надо делается только что название файла-результата не то, так это не критично.
почему именно в этом случае выдает warning - загадка. на калькуляторе пересчитал даже - ничего за байт не вылазит. точно такая же фигня в 14 ничего не выдает.
Но по идее должно работать.
А способ с перетаскиванием привел к чему? там warning-и при сборке были в MakeHex_Result.txt?
А способ с перетаскиванием привел к чему? там warning-и при сборке были в MakeHex_Result.txt?
Неа, не было. Вернее были, но я их искоренил:) Если название не то, то могут быть проблемы. Я так разок не ту прошивку собрал, не для этого регулятора, хотя название было правильным. Залил ее и мотор тут же сгорел, даже завести не успел. Поэтому просто вычищал весь список, убирал все лишние конфиги и собирал только один, чтобы еще раз так не попасть:)
а блин, точно. посмотрел, что DYS а дальше по невнимательности перепутал. хм… .попробую повторить фокус с правильными файлами.
я файл с константами в каталоге один оставляю, нужный. поэтому то что не надо просто не собирается, ему неоткуда собраться 😃
пересобрал. кстати теперь хоть понятно с ворнингом, прошивка xrotor10a на 14 релизе с точно таким же компилится.
пересобрал
Ждем испытаний)) По идее, должно работать.
Испытал. Все работает, но поведение точно как и раньше. Двигатель греется и не отдает полную мощность. Попробую отключить торможение, по примеру как в регуляторе HCP100S.
Отключил торможение. Стало немного получше. Но тогда хвост заметно заносит при резкой нагрузке. Может быть на самом деле все работает, просто регулятор недостаточно быстр для хвоста? Судя по параметрам время переключения ключей у него не очень-то быстрое. Попробую поискать современный регулятор с еще более быстрым временем переключения. Хотя вроде и XM10A брал как раз исходя из того, что он самый быстрый по параметрам был из небольших.
можно точно так же как 14.6 проверяли с сигналом для основного - проверить и эту. если будет работать так же как 14.6 (кстати main или tail? по идее такую же версию проверять надо), то значит сама прошивка "типа 12.1 " вероятно нормальная и проблема таки не в ней.
я пока планирую, как будет чутка времени, на своём mx-3A всё-таки попробовать сделать 14ую рабочую с шим для эксперимента, хочу убрать оттуда код по определению других типов сигнала аккуратненько. возможно он мешает жить