Alex Alex Добавил запись в бортовой журнал Чиирик 1174,88 Россия, Москва
Кастомная прошивка для Чиирика
21

Привет всем!

В продолжение истории из предыдущей записи, бортового журнала Чиирика, расскажу как мне удалось исправить проблему с выгоревшим портом полетного контроллера, с помощью прошивки.

Итак, после работ по наведению порядка во внутренностях Чиирика, он оказался трехмоторным. Мотор номер три не реагировал на управление и жалобно попискивал, сообщая об отсутствии управляющего сигнала.

Первая мысль — сгорел регулятор, вторая — опять месяц ждать пока придет новый, третья — надо проверить, а в друг!

Перекинул управляющий провод во второй канал полетного контроллера и мотор заработал. Отлично, значит всего-лишь сгорел порт. Обрадовавшись побежал смотреть как переназначить канал мотора, есть же еще 4 штуки!

Но не тут то было, оказывается в настройках этого ни как не предусмотрено  и для Квадрокоптера прошита четкая последовательность моторов. Вот такая печалька!

 

История изысканий

Но где наша не пропадала, это же APM (Open source project), значит можно взять прошивку и исправить ее под свои нужды. Соответственно полез в интернет, искать коллег по хобби умеющих это делать. И тут меня ждала очередная печалька, беглый опрос русскоязычных сообществ не дал результатов. Все что мне смогли посоветовать, это купить новый полетный контроллер или рискнуть и попробовать прошить прошивку для X8 (Квадрокоптер с соосной установкой моторов).

Ну хоть что то, попробовал, обновил прошивку Чиирика на ArduCopterQuad, переключил моторы в соответствующие каналы, запускаю… Работает! Отлично!

Дело было глубоко за полночь, так что возможности испытать не было. А на утро меня начали терзать смутные мысли — «Ведь не спроста эта прошивка сделано отдельной версией!? Вдруг там совсем другая логика и квадрик поведет себя не адекватно!?». В общем снова пошел в интернеты, теперь уже на забугорные ресурсы, искать методы создания кастомных прошивок. Нашел! И даже несколько вариантов. Как ни странно на официальном сайте ardupilot.org

В разделе с документацией нашлось три подходящих статьи:

В результате перепробовав все три варианта, создать файл прошивки получилось только по третьей инструкции.

Первый вариант, прошивка через Ардуино. Делал все по инструкции, но на шаге выбора скетча для загрузки, Ардуинка отказалась подхватывать проект ArduCopter. Перепроверил все несколько раз, ни как. Бросил.

Начал делать по второму варианту, через линукс. Поставил виртуалку, установил там Linux Ubuntu 14.4. Установил все необходимые приложения и пакеты согласно инструкции. Но на самом последнем этапе опять не стыковка. В инструкции написано что для компиляции прошивки нужно просто перейти в каталог ArduCopter, выполнить команду make и начнется компиляция. Но мне, команда make выдала запрос на указание назначения компиляции и список вариантов. При этом, в этом списке, отсутствовал необходимый мне вариант - apm2. Пробовал выполнить make apm2, безрезультатно. В результате попробовал скомпилировать версию для linux, без проблем, но нам от нее толку мало. Опять печалька.

Не беда есть еще один метод компиляции, пробуем его. Отличие от первого, в том что ставится некая среда PX4 toolchain и компиляция происходит в ней. Установил, подключил, запустил компиляцию. Тут она запускается аналогично как в варианте с Linux, переходим в каталог проекта выполняем команду make apm2. И как не странно в данном случае она сработала. Пошел процесс компиляции. Ура!

Попробовав скомпилировать исходный проект ArduCopter, начал разбираться как его исправить, для моего случая, со сгоревшим 3-им портом мотора. Пришлось перерыть кучу кода, ведь я даже не знал, что искать. А кода там много, программисты потрудились на славу :) В конце концов, я нашел заветный файл и то место, где назначаются моторы. Поправил одну цифру и запустил компиляцию прошивки.

Пару минут ожидания и заветный файлик у меня в руках. На радостях скомпилировал пару версий: 3.1.5 (как самую стабильную) и 3.2.1 (последняя актуальная для APM2).

Заливается кастомная прошивка через MissionPlaner, в разделе Firmware. В правом нижнем углу есть кнопочка Upload custom firmware. Нажимаем ее, выбираем наш файлик и сразу начинается процесс прошивки.

И вот, Чиирик перепрошит самодельной прошивкой.
Момент истины!
Включаем питание…
И о чудо! Все моторы инициализировались, а после арминга заработали надлежавшим образом!

Хвала OpenSource проектам!!!

 

Итого:

  • сэкономлено примерно 80$ за новый полетный контроллер (не считая доставки)
  • месяц ожидания его прихода (и это в самый сезон)
  • получен бесценный опыт и прокачан навык по прошивке APM.

Вот такая история.

Надеюсь данная статья будет полезна кому нибудь.

Всем спасибо и удачных полетов!

PS Если вдруг кому то понадобится подобная процедура, обращайтесь, помогу.

Плюсануть! 21
1 Комментировать
Комментарии
avatar
783,86 Россия, Узловая
+1 + -
отлично!!! поздравляю!!!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.