Прошиваем контроллер APM


fw

Прошивка контроллера является самым интересным и красивым процессом подготовки нашего коптера к полету.
Программа для контроллера предоставляется с открытым исходным кодом («open source»), что позволяет во первых всем желающим настроить аппарат под себя, во вторых более быстро выявить и исправить ошибки, в третьих сделать необходимые доработки в коде. Разработчик рекомендует всегда загружать прошивку (далее по тексту понимаем «программа») крайней (все суеверные, поэтому слово «последней» не используем) версии из Mission Planner. Но как показывает практика — не всегда это приводит к хорошим результатам и полетам без падений. Но на первых порах сделать лучше как рекомендуется. Приступим к процессу!

 

Первую попытку подключения контроллера мы делали ранее (Я получил контроллер! Что дальше?). На этом этапе мы проверили исправность основных датчиков. Теперь у нас задача — загрузить осмысленно прошивку (не известно же, что и как сделали китайцы) и в дальнейшем изучать и настраивать ее. Начинаем процесс с подключения контроллера кабелем micro-USB к ПК.

apm_micro_usb

Подключение разъема micro-USB

Здесь уже проблем с драйвером быть не должно, т.к. мы его установили ранее. Запускаем Mission Planner. В правом верхнем углу нажимаем на выпадающий список и выбираем порт, к которому подключен контроллер. Необходимо выбрать скорость подключения 115200 бод. Кнопку «Connect» НЕ нажимаем!

 

connect-to-com-port

Выбор порта

Далее нажимаем кнопку «Initial Setup» сверху слева, затем нас интересует строка «Install Firmware». Открывается окно с отображением моделей (автомобиль, самолет, вертолет и коптер) и конфигураций коптера. На данный момент необходимо, чтобы на компьютере было установлено соединение с Интернет. Программа загружает список текущих версий прошивок. Большинство, думаю, сначала собирают квадрокоптер или гексакоптер с «х» или «+» расположением моторов (это будет настраиваться дальше). Выбираем требуемую конфигурацию (нажимаем мышкой).

mp-fw

Выбор конфигурации

Далее подтверждаем, что хотим загрузить эту прошивку, нажав «Yes» в появившемся диалоговом окне. Процесс загрузки прошивки начался.

mp-fw01

Процесс загрузки

Необходимо дождаться завершения и надписи «Done» слева снизу от прогресс-бара. Загрузка прошивки завершена — поздравляем!

Далее нажимаем кнопку «Connect». В появившемся окне «Connecting Mavlink» дожидаемся надписи «Done». В Mission Planner должна загореться кнопка с надписью «Disconnect». Отключаемся. Проверка завершена — загрузка прошивки прошла успешно.

Если все выглядело иначе и появлялись ошибки, значит скорее всего сделали что-то не правильно, например ошиблись с выбором COM-порта или скорости порта. Также могут быть проблемы с USB кабелем (заменить на более качественный или короткий). Также убедитесь, что контроллер подключен к ПК напрямую без USB-хаба. Необходимо проверить и попробовать загрузить прошивку еще раз. Реже может оказаться, что по каким-то причинам отсутствует загрузчик на основной микросхеме контроллера — Atmega2560. Старая прошивка должна работать дальше, но нам необходимо сделать все правильно, поэтому приступаем к прошивке загрузчика Atmega2560 и после этого опять возвращаемся к началу данной статьи.

После того, как все успешно загрузилось, нам надо предостеречься от возможных последующих проблем в виде непонятных ситуаций при работе режимов и проблем с изменением настроек. После каждого изменения (обновления или отката) прошивки на контроллере, необходимо выполнить процедуру очистки EEPROM (памяти настроек). Для этого нам необходимо воспользоваться терминалом. Открываем вкладку «Terminal», выбираем скорость 115200 бод, определяем правильный порт. Далее подключаем кабель USB к контроллеру и быстро(за 2-3 секунды) нажимаем кнопку «Connect» в окне.

terminal

Вкладка терминала

После чего необходимо 3 (на практике 5) раза нажать клавишу Enter. Должно появиться приглашение с номером версии прошивки. Далее нам необходимо набрать команду «setup» и нажать клавишу Enter, затем набрать «erase» и опять нажать клавишу Enter. Необходимо дождаться надписи «EEPROM clear… done», что свидетельствует о том, что память очищена. Далее набираем команду «reset» и нажимаем клавишу Enter. Появится надпись о том, что контроллер необходимо перезагрузить. Нажимаем клавишу «Y» (yes) на клавиатуре, после чего нажимем на кнопку «Reset» на контроллере. Необходимо дождаться перезагрузки платы и опять несколько раз нажать клавишу Enter, чтобы появилось приглашение терминала. Выше видим надпись об успешном сбросе настроек.

В крайних прошивках, начиная с ранних бета версий 3.2, терминал вырезали ввиду нехватки места. Сброс осуществляется через меню в Mission Planner. Необходимо подключиться к контроллеру, дождаться загрузки параметров. Затем открыть меню «Config/Tuning», в нем найти раздел «Full parameter list» и нажать кнопку «Reset to default».

mp-reset-defaults

Сброс к настройками по-умолчанию

Теперь у нас на контроллере имеется прошивка с заранее выполненным сбросом и установкой первоначальных значений для текущей версии. Можно переходить к следующему шагу!

Update 20.11.2014: Добавлена информация по сбросу настроек через MP.


 
 

Комментариев: 62 - Прошиваем контроллер APM

  1. Matvey:

    Отлично. Все прошел с новым контроллером, включая прошивку по этой статье. Все четко по инструкции проходит. Спасибо!

    Thumb up 3 Thumb down 0

  2. mann66:

    Спасибо за подробную инструкцию.
    Я столкнулся с тем, что когда я в Терминале набрал команду «Reset», подтвердил на клавиатуре (Y), нажал кнопку «Reset» на плате и началась перезагрузка платы, на экране Терминала после какой-то информации побежали кракозябры. Не дождавшись окончания этого процесса, а я ждал достаточно долго (минут 10), я нажал кнопку Disconnect.
    Пробовал повторить этот процесс несколько раз — тот же результат.
    В чем причина и что можно сделать в данном случае?

    Thumb up 0 Thumb down 0

    • После того, как плата перезагрузилась, надо подождать несколько секунд до появления кракозябр. Например там будет написано что-то про барометр и компас. В этот мемент надо нажать Enter несколько раз и должно появиться приглашение терминала. На данном этапе считаем, что все успешно сбросилось. Попробуйте еще раз, если не получится, запишите видео, так будет проще разобраться 🙂

      Thumb up 0 Thumb down 0

  3. mann66:

    Перепрошивал контролер после настройки GPS через APM (при этом делал сброс настроек — reset) c последующей новой настройкой параметров контроллера. И обнаружил, что пропал холостой газ, т.е. после включения аппы и Arming — моторы вращаются со скоростью явно не холостого хода и при этом я не могу сделать Disarming отклонением ручки газа влево.
    Новую настройку аппы делал. Настройку ESC делал раньше.
    В чем проблема? Где можно настроить холостой ход?

    Thumb up 0 Thumb down 0

    • mann66, ну чудес то не бывает 🙂
      С аппаратурой в этот момент ничего не делали? Предлагаю вернуть настройки аппаратуры на заводские (ищите в инструкции), затем удостовериться в Mission Planner, чтобы уровни каналов были в районе 1100-1900. Возможно придется поиграться с расходами/лимитами. Далее лучше опять все на контроллере сбросить и сделать настройки.

      Thumb up 0 Thumb down 0

      • mann66:

        Спасибо. Сделал все настройки с самого начала — все в норме. Я настройки аппы не трогал, а вот когда перепрошивал контроллер, не отключал его от приемника, телеметрии и GPS модуля. Предполагаю, что причина была в этом, или в чем то еще….

        Thumb up 0 Thumb down 0

  4. Alex:

    АРМ А.Козина я настраиваю так же?

    Thumb up 0 Thumb down 0

    • Да, все в точности. Разница только по вводу питания на плату и выборе датчика напряжения. У него на сайте можете почитать.

      Thumb up 0 Thumb down 0

  5. Алексей:

    Год назад купил на алиэкспрес APM 2.6 скачал Mission Planner подключил все работало толь не откалибровал полностью. На днях решил все настроить. Снова скачал Mission Planner (так как перестановки виндовс) подключил APM 2.6 нажал конект и не соединяется. Обновил прошивку самолета тоже самое. Загрузил прошивку контора. Соединение проходит но настройки которые загружаются автомобилем после соединения до конца не загружаются. С помощью хитрой программы загрузил прошивку самолета версии 2.7. b соединение проходит полностью но Mission Planner не отображается данные гороскопов, акселерометр и жив. Что я делаю не так?

    Thumb up 0 Thumb down 0

    • Что такое «контора»?
      Что за хитрая программа, чем удалось загрузить прошивку?
      Предполагаю, что вам надо сделать все с нуля:
      1) Осмотреть плату на возможные КЗ, сопли, непропай.
      2) Проверить питание. На ISP (посмотреть сначала распиновку) разъемы atmega2560 и atmega32u2 должно приходить 5В
      3) Проверить питание на выходе стабилизатора 3.3В. Должно быть ни больше, ни меньше.
      4) Прошить оба загрузчика.
      5) Прошить PPM encoder.
      6) Добиться, чтобы прошивка в atmega2560 загружалась штатными средствами из планера.
      Еще (редко) может выходить из строя мультиплексор, но это еще проверять рано.

      Thumb up 0 Thumb down 0

      • Алексей:

        контора это опечатка имелось в виду коптер. хитрая параграмм называется flashtool1_1r2. ну а по существу 1. проверил питание на выходе стабилизатора — ровно 3.3В, загрузил в APM 2.6 тестовые прошивки для получения сырных данных с микросхемы MPU-6050 вместо данных ускорений и гироскорости одни нули. использовал две пошивки одна из них с использованием прерывания для начала получения данных. тогда как обе прошивки отлично работают при подключенном к ардуине модуле GY-521 на котором распаяна такая же MPU-6050. видима накрылась микросхема MPU-6050, хотя не понятно почему. думал заменить, есть паяльная станция но опасаюсь что рядом расположенная микросхема цифрового альтиметра может пострадать.

        Thumb up 0 Thumb down 0

        • Вообще, если оба загрузчика живы и привальные, то прошивка должна проходить на ура. На этот момент данные с сенсоров не читаются. Проблемы загрузки могут еще быть, если есть проблема с мультиплексором TS5A23157.
          Подождите, а почему вы говорите про MPU-6050??? Этот гироаксель используется на AIOP, а на APM MPU-6000. Попробуйте гироаксель прижать сначала пр загрузке и держать пальцем на время тестов, дальше попробовать просто прогреть пере перепайкой. Барометр лучше заклеить изолентой и обложить металлическими пластинками. Посмотрите видео по ремонту сотовых телефонов, там так и делают — экранируют соседние детали от перегрева.

          Thumb up 0 Thumb down 0

          • Алексей:

            в какую функцию выполняет мультиплексор? при подключении к программе ардуино в APM грузится любая прошивка и выдает обратно данные в порт.

            Thumb up 0 Thumb down 0

            • Мультиплексор переключает порт для работы USB/телеметрии.

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

              Не понял, что вы хотели сказать.

              Thumb up 0 Thumb down 0

  6. Борис:

    Есть необходимость собрать бикоптер на этом контроллере.
    Или какой другой контроллер посоветуете.

    Thumb up 0 Thumb down 0

    • Если не углубляться в подробности, то вроде минимум трикоптер можно. Прошу задать вопрос на форуме, может кто что знает.

      Thumb up 0 Thumb down 0

  7. Алексей:

    Добрый день. пытаюсь через терминал сделать сброс и ничего не получается, все делаю как надо но нажав 5 раз enter ничего сначало не появляется затем пишется белиберда.

    Thumb up 0 Thumb down 0

  8. виктор:

    какие фьюзы надо выставить при прошивке меги 2560?

    Thumb up 0 Thumb down 0

    • Ответ есть в статье по прошивке загрузчика для 2560.

      low_fuses=0xFF
      high_fuses=0xD8
      extended_fuses=0xFD
      lock_bits=0x0F

      Thumb up 0 Thumb down 0

  9. Vladimir:

    Я правильно понимаю, что на последней прошивке 3.2.1 сброс параметров только через интерфейс, а терминала больше нет?

    Thumb up 0 Thumb down 0

    • Vladimir:

      сам нашел. написано, что все команды теперь через MAVLink commands. Ещё бы узнать, как с ним работать и через что )

      Thumb up 0 Thumb down 0

    • Верно. По MAVLink обычно работают все кнопки в Mission Planner. Т.е. то, что раньше можно было делать командами — перенесли на кнопки.

      Thumb up 0 Thumb down 0

  10. Андрей:

    Как сбросить настройки на Мини-АРМ? Терминала — нет, и команды «Reset to default» в указанном месте тоже не нашел…

    Thumb up 0 Thumb down 0

    • Либо сделать чистку EEPROM средствами Arduino, либо включить «Advanced», чтобы появился список «Full parameter list», ну а там эта кнопка должна быть.

      Thumb up 0 Thumb down 0

  11. Дмитрий:

    День добрый!
    проблемка имеется(( когда купил АРМ 2.6, прошил, всё было хорошо. через какое-то время, перед установкой в самолет решил еще раз проверить. подключил через юсби к компу, а он не конектится в МР. перепрошил всё с ноля — результата нет. МР писал, что не возвращается пакет данных. Прочитал, что если сменить прошивку через МР с той которая стояла, на другой формфактор (если самолет был, то прошить на квадрик или наоборот), то прошивка обнуляется и записывается новая. так и произошло, МР еще уточнил, что «это совсем другая прошивка и уверен ли я, что хочу это сделать». квадрик прописался и АРМ чудесным образом подключился и заработал.НО при установки прошивки ардуплэйн (для самолета) он решительно отказывается работать. пытался обнулить прошивку через терминал — он меня не слушается и пишет всякую кракозябру (если прошивка коптеравская), или вообще не реагирует (если плэйновская прошивка). что делать?! бяда….(((

    Thumb up 0 Thumb down 0

    • Дмитрий:

      два дня мучений и нашел причину)) на моем АРМ не работает версия планера 3.3.0. поставил другую и всё заработало)))

      Thumb up 0 Thumb down 0

      • Wowic:

        У меня тоже такая ситуация.
        Не работает именно ArduРlane 3.3.0.
        Она, похоже, битая.
        3.4.0beta и 3.2.3 вполне работают

        Thumb up 0 Thumb down 0

    • В данном случае хорошо бы выявить закономерность, сопоставить версии прошивки и планера где работает, а где нет и отправить наблюдения на форум разработчику.

      Thumb up 0 Thumb down 0

  12. Walligator:

    Подскажите, пожалуйста, какая прошивка (версия) была крайняя на APM 2.6 (8бит) и какая самая стабильная на сегодняшний день?
    Поиск говорит, что 3.0.1. Так ли это?

    Thumb up 0 Thumb down 0

  13. Алексей:

    APM 2.56 не сохраняет настройки телеметрии. Очистил eeprom, прошил ppm, затем залил прошивку ArduCopter-3.1-rc5 QuadX (131022 16.04), а настройки остались с прошлой прошивки (режимы полетов, настройки 5 и 6 каналов, пидов). Такое впечатление, что и не прошивал его вообще. В чем причина может быть, либо я что-то неправильно делаю?

    Thumb up 0 Thumb down 0

  14. Александр:

    Добрый вечер. прошу помощи. после передергивания каналов приемник-АПМ, последняя внезапно перестала работать. ТО есть не запускается. МП к ней не коннектится. При этом PPM и прошивка превосходно заливаются стандартными средствами. То есть прошивка через МП заливается, USB передергиваю, желтый диод горит, а сине-красный единожды слабенько моргнув, больше жизни не подают. Ума не приложу в какую сторону копать…

    Thumb up 0 Thumb down 0

    • желтый диод горит,

      Желтый обычно индицирует какой-либо режим калибровки. Только одну плату APM пробовали без всего другого оборудования?
      Чистить EEPROM пробовали?

      Thumb up 0 Thumb down 0

      • Александр:

        Да..EEPROM чистил через Arduino IDE. плату отсоединил от всего. Обратил внимание, что откатывая прошивки, на какой то из старых версий при перезагрузке, АПМ дважды ярко моргает красным диодом еще. и потом плата опять молчит.

        желтый диодик горит тот что «alive»

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

        проблему решил. Все таки сгорел стабилизатор. Заменил на имеющийся под рукой AMS1117 3.3 какие все таки хлипкие,эти АПМы…чуть что не так, то стаб горит…или загрузчик слетает.:((

        Thumb up 0 Thumb down 0

        • Желтый все-таки был другой. 🙂
          Спасибо за информацию.
          Что вы с платой такое делали, что стаб сгорел? Плата с ХК?

          Thumb up 0 Thumb down 0

          • Александ:

            Если честно, я так и не понял, как это произошло. Пришел новый приемник. Подключил его. Все включили . Понял, что каналы перепутал и стал их перетыкать, не вырубив питание. АПМ тоненько запищал и погас…

            Thumb up 0 Thumb down 0

            • Ну самое простое, могли случайно перепутать полярность питания. Всякое может быть.

              Thumb up 0 Thumb down 0

              • Александ:

                Да не. полярность я не мог попутать. у меня все провода сделаны на штатных трехпиновых разьемах и +5В там в середине. Ну, вы в курсе, скорее всего. и во вторых, проверял я полярность. научен уже горьким опытом.

                Thumb up 0 Thumb down 0

  15. Феликс:

    Подскажите пожалуйста, сбрасываю параметры через МП, выскакивает окошко типа что уверен или нет, жму что уверен и все, остается гореть лампочка питания (красная) и дальше ничего не происходит.

    Что вообще должно произойти? Ждал минут 5 и ничего, все также горит красная лампа питания и все.

    Thumb up 0 Thumb down 0

    • Как происходит у меня. Плата 2.5.2, пошивка 3.2.1. Жму Reset to Default, задается вопрос, соглашаюсь, после этого появляется окно, что плату необходимо перезагрузить и сделать заново подключение к MP. На плате в этот момент горит только Alive (зеленый рядом с разъемом GPS). Отключаю USB, включаю, перемаргивают красный и синий — происходит инициализация платы. Дальше моргает красный — prearm check (у меня ничего к плате не подключено).

      А у вас прошивка какая? Может старая, где этого еще не было?

      Thumb up 0 Thumb down 0

  16. Алекс:

    Какая последня стабилная прошивка АПМа? МП предлагает ставить 3.3.2. Но чт у меня сомнения что она для АПМа. Вроде видел гдето что 3.2.1 последняя? А какая стабильная?

    Thumb up 0 Thumb down 0

  17. qwe:

    Люди оч нужна помощь
    у меня АПМ 2,8
    мне нужна написать скетч для работы с МПУ 6000 если кто знает где взять пример
    скиньте ссылку на почту 7405772@gmail.com

    Thumb up 0 Thumb down 0

  18. Дмитрий:

    Добрый день. Пытаюсь прошить контроллер APM 2.6. Все делаю по инструкции, как доходит до загрузки прошивки, выскакивает ошибка communication error — no connection. И на этом все, прошивка дальше не загружается. В этом деле новичек, до этого прошил PPM encoder, все прошло удачно.

    Thumb up 0 Thumb down 0

    • Переустановить фреймворки, переустановить/попробовать другие версии Mission Planner. Поменять кабель или попробовать в задних портах ПК. Попробовать на другом ПК.

      Thumb up 0 Thumb down 0

      • Дмитрий:

        в общем попробывал на другом ноуте с семеркой, вроде как все прошло без ошибок, загорелся снизу справа done. Нажимаю connect, и тут новая проблема, написано тпо прошивку неудалось загрузить : you connot load new firmwere while connected via MAVLink.
        Please press the disconect button and top right to end the current.
        MAVLink session and enable the firmware loading screen.

        Thumb up 0 Thumb down 0

        • Что-то не так делаете с последовательностью. Допустим прошивка залилась. далее передергиваем плату и нажимаем Connect, чтобы уже смотреть на работу платы. Пробежит полоска прогресса чтения параметров и данные начнут отображаться. Далее можно производить настройку.

          Thumb up 0 Thumb down 0

  19. pavel:

    Добрый день, не могу настроить APM 2.6 на гексе. Вроде прошивка с выбором гексы проходит норм, но потом при настройке wizard выбрать можно только квадрики разных модификаций и Y6

    Thumb up 0 Thumb down 0

    • От версии к версии визард в планере глючит. Надо либо сделать переустановку с деинсталляцией и удалением вручную оставшихся файлов, либо переустановить фреймворк.
      Так же не рекомендую пользоваться визардом из-за того, что иногда он сбрасывает конфигурацию X на + (плюс).

      Thumb up 0 Thumb down 0

  20. andrey.p:

    Здравствуйте. Прошу помощи, проблема такая: коптер собран, настроен, даже пытался взлететь дома, очень не терпится.Питание контроллера подключил от одного из регуляторов, но потом допаял питание по феншую,у меня получилось 4.96 вольта, и я решил поменять питание а перемычку убрать забыл.Снял плату апм подключил через юзб померил напряжение на i2c крайних контактах 3.3 вольта, кажется ни чего не сгорело. Но плата апм сейчас в диспетчере устройств видится как устройство с последующим интерфейсом, и ком порт поменялся.А раньше она виделась как ардуино мега 2560.Что у меня могло случится помогите пожалуйста.Кстати в это же время было обновление виндоус, может ещё с этим связано?

    Thumb up 0 Thumb down 0

  21. Артём:

    Настроил всё, произвожу арм коптера, пытаюсь взлететь и сразу перед отрывом, на 30% газа выключается 1 двигатель, потом 2, и 3, и остаётся только, калибровал всё что только можно. что делать?!

    Thumb up 0 Thumb down 0

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *