Прошиваем PPM-encoder


signal

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

Энкодер позволяет преобразовать 8 сигналов широтно-импульсной модуляции в 1 сигнал фазово-импульсной модуляции. ArduPPM был разработан, чтобы повысить производительность и надежность.

Энкодер жизненно необходим для корректной работы режима FailSafe, который поможет не уронить аппарат при временной/постоянной потере сигнала радиоуправления. Сигнал радиоуправления может пропасть из-за разных причин, например таких, как большое удаление коптера от пилота, помехи на данной частоте из-за работы другой аппаратуры, препятствие (отсутствие прямой видимости), пропадание питания передатчика, выход из строя передатчика/приемника, геомагнитные бури, солнечная активность и т.д. После пропадания сигнала энкодер подает на контроллер следующие уровни сигналов управления:

ppm-enc1

Таблица выходных значений сигналов

Прошивку энкодера считаю обязательной, т.к. не известно что там залили китайцы в вашу плату. Если вы не видите изменения показаний значений каналов при  калибровке аппаратуры в Mission Planner (далее MP) или уже успели уронить аппарат из-за того, что не сработал FailSafe, то эта статья для вас!

Что нам понадобится?

  • Программа Flip. Качаем здесь.
  • Прошивка для ATMega32U2. Качаем здесь или здесь. На данный момент версия v2.3.16. Если нужны исходники или более новая прошивка, то берем здесь. Скомпилированную 2.3.17 без загрузчика можно скачать тут (я сам не тестировал).
  • 2 пинцета или 2 мелких перемычки.

Приступим к процессу!

  • Устанавливаем программу Flip.
  • Освобождаем доступ к плате.
  • Отключаем все лишнее от платы. В данной операции нам нужен только USB кабель!
  • Подключаем кабель к плате и ПК. Устанавливаем драйвер, если еще не установлен. Находится в папке с установленным MP.
  • После того как плата подключена, установите перемычку JP2 согласно изображению:
board-big-front-ppm-jp2

Перемычка JP2

  • Дальше необходимо замкнуть GND и Reset Atmega32U2 чтобы перезагрузить микросхему PPM-энкодера:
board-big-front-ppm-u2

Выводы GND и Reset Atmega32U2

После перезагрузки Atmega32U2 вы услышите звук Windows извлечения/добавления нового устройства. Микросхема переходит в режим DFU (ожидает прием команд от программы-прошивальщика). В Windows будет обнаружено новое устройство ATmega2560 DFU (если этого не произошло, то следует полагать, что слетел загрузчик — для его восстановления воспользуемся статьей «Прошиваем PPM-enсoder. Загрузчик»). Необходимо установить драйвер, который находится в папке с установленным Flip.  После установки драйвера увидим устройство «ATmega32U2». Микросхема готова к прошивке.

  • Далее запускаем программу Flip. После запуска программы вы увидите следующее окно:
flip1

Atmel Flip

  • Нажмите на значок с микросхемой или выберите пункт меню “Device — Select”. Далее в списке выберите Atmega32U2.
flip2

Atmel Flip. Подключение

  • Нажмите на значок с кабелем или выберите пункт меню “Settings — Communications — USB” и нажмите «Открыть». Если все в порядке, то вы увидите в правой области окна сигнатуру микросхемы:
flip3

Atmel Flip. Проверка подключения

Перед загрузкой новой прошивки вы можете просмотреть информацию о текущей прошивке, находящуюся в буфере. Обычно версия прошивки имеется в коде. Нажмите меню «Device — Read» чтобы загрузить текущую прошивку в буфер и далее нажмите «Buffer — Edit» для просмотра. Версию можно увидеть почти в конце перед значениями «FF». Ниже приведен пример:

01470 98 08 20 03 E8 03 20 03 98 08 20 03 06 09 20 03 .. … … … .
01480 98 08 20 03 98 08 20 03 98 08 20 03 08 52 41 72 .. … … ..RAr
01490 64 75 50 50 4D 76 32 2E 33 2E 31 36 00 30 20 00 duPPMv2.3.16.0    <–  номер версии
014A0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF …………….        <– пустая зона
014B0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF …………….
  •  Далее необходимо открыть файл прошивки, нажав на значок или выбрав меню “File -Load HEX”. Сталкивались с тем, что была проблема загрузки, если файл прошивки .hex лежит с папке с русскими символами, поэтому путь к файлу должен быть как можно короче и без русских символов, например:

«c:\ppm-fw\ArduPPM_v2.3.16_ATMega32U2.hex».

flip4

Atmel Flip. Выбор прошивки

  • Далее необходимо включить все галочки слева в разделе «Operation Flow»:
flip5

Atmel Flip. Выбор параметров

Далее необходимо нажать кнопку «Run», чтобы приступить  к процессу загрузки прошивки:

flip6

Atmel Flip. Запуск прошивки

Если вы все сделали правильно и процесс прошивки прошел удачно, то напротив галочек вы увидите зеленые индикаторы.

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

Только что мы прошили микросхему Atmega32U2 PPM-энкодера.

Update 04.05.2014:

Видео процесса обновления прошивки.

raefa # apmcopter

Update 25.06.2014. Видеоинструкция от Юлиана. Прошивка PPM-encoder

В этом видео подробно описан процесс прошивки PPM-encoder. Обновление и прошивка обязательна для правильной отработки FailSafe, а также необходима в том случае когда у вас один из каналов радиоуправления не калибруется в МР.

Ссылка на прошивку PPM
Ссылка на прогу Flip

cezarepicentr # apmcopter

Update 15.09.2014: Информация от Тимура Ганиева (5timur5, 5yoda5) по проверке работы PPM энкодера и настройке FailSafe (источник).

Как тестировавший одно время С ПРИСТРАСТИЕМ эту прошивку, немного поумничаю.
Проверить, как отрабатывает ППМ энкодер очень просто. Смотрим «уровень» сигнала по каналам (например на вкладке Failsafe) выставляем например газ на 30 процентов и отключаем приемник от питания. Тем самым иммитируем зависание приемника или его обесточивание. И смотрим, как отреагировал АРМ на эту ситуацию. Если значения по каналам остались без изменений (поведение Турниговского приемника при пропаже связи) и не меняются 20 секунд (это важно) — значит ППМ энкодер нужно прошивать. Почитайте вот эту статью, и особенно комменты к ней.
На данный момент в Сети обнаружено две последних прошивки РРМ энкодера 2.3.16 и 2.3.17. Мои исследования показали, что лучше прошивать версией 2.3.16
Поведение этой прошивки ППМ энкодера отличается в зависимости от того, какую прошивку залили в большую Мегу — коптерную или самолетную. С самолетной прошивкой отрабатывает корректнее. Но ветка про коптеры, значит пишу далее про коптеры.
Значит настройка процедуры фэйлсейф такая: сначала настраиваем ФС на приемнике (я называю это аппаратным ФС). Если у вас фриска или RLS — думаю проблем тут не возникнет. А если у вас все ещё Турнига (тогда мы идём к вам) — тогда ПРОГРАММНЫЙ ФС (прошивка PPM энкодера) — это единственный способ спасти вашего друга! В любом случае, назначьте ОБЯЗАТЕЛЬНО канал для управления полетными режимами (некоторые летают без переключения режимов — просто СТАБ), и сделайте на этом канале режим для ФС (кто-то делает RTH, я сделал Land — дело вкуса). При настройке аппаратного ФС надо поставить значения всех каналов в положение ФС, включая переключатель полетного режима (или крутилку, если вы оригинал). То есть при пропадании сигнала у вас приемник сам включит RTH или LAND. Это аппаратный ФС (у стокового приемника Турниги естественно ничего приемник не включит).
Теперь настроим «программный ФС». Прошиваем PPМ энкодер. Его прошивка дает нам следующее: при пропадании сигнала на стоке Турниги или при обесточивании/зависании Фриски — значения ВСЕХ каналов ставятся в середину(1500), а уровень газа ставится на минимум(900). То есть что выходит? что включится тот режим, который попадает на 1500 в канале управления полетными режимами.
Значит — на колу мочала, начинай сначала. Определяем полетный режим (вкладка полетные режимы), попадающий на 1500 тот, который должен быть при ФС.

Теперь все проверяем. Корректнее смотреть значения каналов и текущий полетный режим на вкладке FailSafe в МП. Ставим уровень газа процентов 40 (не армим коптер!!!!) и полетный режим Stabilize (типа летаем).
Отработаем ситуацию потери связи: выключаем передатчик (пульт) — проверяем какой уровень по каналам на выходе и какой полетный режим. Приемники не имеющие ФС, например Турнига сток проверили «программный» ФС, приемники имеющие ФС (Фриска например) — проверили сработку «аппаратного» ФС.
Отработаем потерю питания или зависание приемника (очень редко, но такое бывает): Выключим питание на приемике, выдернув провод питания (остальные можно не выдергивать), не обесточивая сам контроллер АРМ. Все каналы ставятся на середину, а канал номер 3 (газ) скидывается на минимум. ФС отработал (если у вас на середину определен полетный режим для ФС).

Еще пара ремарок.
1. «программный» ФС включается не сразу. Подождите немного — 30 секунд для надежности. Более того, на самолетной прошивке есть понятие «короткий ФС» и «длинный ФС». На самолете сначала срабатывает режим определенный в параметре «короткий ФС» — как правило Circle, потом через время заданное в параметре «длинный ФС» (как правило через 20 секунд RTH).
2. В теории, это было задумано — как сработку ФС по каналу газа. Видели на вкладке FailSafe можно вбить минимальный уровень газа? То есть минимальный уровень газа при работающей аппе должен быть больше 900 (1000 например), а при пропадании связи или зависании/обесточивании приемника — газ должен скинуться на 900, и по этому условию всключиться режим определенный для ФС на вкладке Failsafe. Но у меня лично не получилось так все настроить. Получить 900 (ниже минимума) после калибровки радио никак не выходило. Так что я просто определил ФС полетный режим на 1500 в управляющем канале.

Успехов!

Update 26.01.2015: Перемычка для прошивки PPM encoder на платах 2.7.2 и 2.8.

Перемычка для прошивки PPM encoder

Перемычка для прошивки PPM encoder


 
 

Комментариев: 117 - Прошиваем PPM-encoder

  1. Looka:

    Добрый день!
    Спасибо за отличную статью!

    И вопрос, даже два.
    Если не сложно, по какому критерию PPM энкодер определяет пропадание сигнала? Считаем что приемник не имеет выхода RSSI

    Если используется приемник с выходом PPM? Энкодер в этом случае ничего не делает, тупо транзитит сигнал. Файл сей в этом случае работать будет нормально? И можно/нужно (если нужно то куда) подключать сигнал RSSI (с приемника)?

    Thumb up 0 Thumb down 0

    • Приветствую!
      Про критерий точно сказать не могу. И на следующий вопрос не отвечу, т.к. сам использую самый простой вариант, и в дебри лезть желания нет. Если будет желание, то можете прислать свои изыскания.

      Thumb up 1 Thumb down 0

  2. Санек:

    Сигнал RSSI с приемника подаешь на a1 (в планере можно назначить вход) ну и уровень не забудь выставить 3в или 5в.

    Thumb up 0 Thumb down 0

  3. юсуп:

    Настораживает фраза-если этого не произошло то возможно слетел загрузчик,собственно вопрос что надо сделать чтоб этого не произошло?

    Thumb up 0 Thumb down 0

    • Загрузчик может слететь из-за просадки/обрыва питания как и в штатном режиме, так и в режиме прошивки. Так же из-за того, что сами что-то накосячили, допустим хотели прошить одно, а прошили другое.

      Thumb up 0 Thumb down 0

  4. AirKing:

    Большое спасибо за статью. 3 дня бился с настройкой FailSafe. При одном и том-же оборудовании на одном контроллере APM v.1 все работало, а на APM 2.5.2 нет.
    А как оказалось надо было перепрошить PPM.

    Thumb up 0 Thumb down 0

  5. 5yoda5:

    Долго не мог разобраться с джамперами (точнее с 2 пинцетами). У меня черную хоббикинговскую плату удалось прошить после следующих манипуляций:
    1. Подключаем плату к компу, ждем загрузки.
    2. Втыкаю пинцет в JP2 (лень было гребенку под перемычки паять)
    3. Практически сразу (секунда-две — как позволяет человеческое быстродействие), втыкаю вторую перемычку (два нижних контакта на ISP)
    4. Выдергиваю первую перемычку.
    5. Выдергиваю вторую перемычку.
    6. Плата находится в режиме работы с ATMega32U2, спокойно ставлю драйвер, спокойно прошиваю.
    7. Больше никаких перемычек не выдергиваю (как в конце статьи)
    Всем успехов!

    Thumb up 2 Thumb down 0

    • 5yoda5:

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

      Thumb up 1 Thumb down 0

    • Отлично! Как запасной вариант пригодится 🙂

      Thumb up 0 Thumb down 0

  6. Артём:

    Прошил РРМ-энкодер, потому что обнаружил, что там та же самая ересь, что и в видео. В итоге всё стало как в статье и видео — прошивка установилась, но после отключения аппы энкодер не подает на контроллер уровни сигналов управления, судя по показаниям Mission Planner всё остаётся на месте. Как побороть сей недуг?

    Thumb up 0 Thumb down 0

    • Артём:

      ПС. Забыл написать, что после прошивки на АРМ стали моргать желтые св.диоды RX/TX даже когда АРМ запитан не через USB, это так и должно быть?

      Thumb up 0 Thumb down 0

    • Какая аппаратура?
      Если не ошибаюсь, то если подключена телеметрия, то эти светодиоды моргают постоянно (давно я на них не смотрел, т.к. они прикрыты).

      Thumb up 0 Thumb down 0

      • Артём:

        Аппаратура FrSky Taranis X9D. Светодиоды моргают и с неподключенной телеметрией.

        Thumb up 0 Thumb down 0

        • Возможно и в самой аппаратуре надо настроить FailSafe. Поищите настройки. По поводу светодиодов на днях посмотрю у себя, а пока попробуйте еще раз прошить.

          Thumb up 2 Thumb down 0

          • Артём:

            Да, действительно, надо было настроить в аппаратуре FailSafe и теперь всё работает чётко! Большое спасибо за совет! А со светодиодами посмотрите, при возможности, всё таки интересно, как они себя должны вести.

            Thumb up 1 Thumb down 0

          • Андрей:

            Добрый день. А причем здесь аппаратура? Мы настраеваем таким образом PPM а не аппаратуру. И PPM должен же давать сигнал (900) при пропадании сигнала от аппы? А он никакого сигнала не дает все сигналы по каналам остаются такими же при отключении аппы какими и были до отключения. Где рыть в таком случае?

            Thumb up 0 Thumb down 0

          • 5yoda5:

            Насколько я вообще всё это понял, прошивка PPM энкодера дает возможность так назаваемого «софтового» ФС. Поэтому на РУ типа FRSky, имеющих собственный, аппаратный ФС — проверять бессмысленно. Там работает связка передатчик (аппаратура) — приемник. При потере сигнала приемник сам выставляет запрограммированные значения каналов при ФС.
            А прошитый РРМ энкодер дает возможность ФС на приемниках, не имеющих функцию аппаратного ФС, либо при зависе ЛЮБОГО приемника. Так как зависание приемника для тестирования процедуры ФС мы сделать не сможем (хрен его знает, при каких обстоятельствах виснет приемник) — значит остается использовать приемник, не имеющий аппаратного ФС.
            Берем стоковый модуль Турниги (у кого есть), при потере связи с аппой (выключение аппы, потеря сигнала) — приемник Турниги «замораживает» значения на каналам. Застывшие значения с течение какого-то времени — сигнал РРМ энкодеру для срабатывания ФС. И тогда РРМ энкодер скидывает значение газа (может и всех каналов, поправьте меня) до 900, чего не бывает на стоковом приемнике Турниги. Тогда Ардушка включает «программный» (определенный через МП) фэйлсейф.
            Как-то так, КМК.

            Thumb up 2 Thumb down 0

          • Андрей:

            Вот это как раз все понятно что и для чего это нужно! Вопрос в другом… Перепрошил энкодер а значения газа не сбрасываются, а суди по прочитанной здесь инфе — должны. Так вот куда рыть в таком случае?

            Thumb up 0 Thumb down 0

          • 5yoda5:

            Андрей, а какое у вас РУ и как вы проверяете? Опишите подробнее, может увижу куда копать. Например, если модуль FRSky, то у вас «программный» ФС произойдет только при зависоне приемника. А как завесить приемник принудительно — лично я не знаю…

            Thumb up 0 Thumb down 0

          • Андрей:

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

            Thumb up 0 Thumb down 0

  7. Андрей, какая у вас аппаратура? Полагаю, что если в аппаратуре ФС реализован, то он как-то настраивается. И если он работает, то надо приемнику «передать» эти настройки, чтобы он менял сигнал. А если сигнал с приемника не меняется, то и APM может это не понять.

    Thumb up 0 Thumb down 0

    • Андрей:

      Аппаратура Turnigy 9xr

      Thumb up 0 Thumb down 0

      • 5yoda5:

        Нет, сама аппаратура значения не имеет.
        Так как у вас модуль FRSky — это всё меняет. Если у вас на модуле есть «аппаратный» ФС — настраивайте его. На нем и реализуйте переключение на нужный полетный режим (Land, или RTL). А в МП на вкладке ФС ставьте тот же полетный режим. А как проверить — Х.З. Нужно как-то завесить приемник для проверки.
        Я не зря писал про стоковый модуль Турниги. У него логика другая, чем у FRSky. У Турниговского приемника значения каналов сохраняются НЕИЗМЕННЫМИ, которые были до потери связи. То есть если при ниличии связи они свё равно чуть-чуть скакали, то после потери связи — застыли. Вот тут-то РРМ и скидывает значения до 900.

        Thumb up 0 Thumb down 0

        • Андрей:

          Я хотел что бы и аппаратный FS работал а при случае если пропадет питание на приемнике или он зависнет, то включался бы FS по PPM? Но видимо этого сделать нельзя((
          Или все таки как то можно?) У кого есть мысли по этому поводу, жду комментариев

          Thumb up 0 Thumb down 0

          • 5yoda5:

            А разве может пропасть питание на самом приемнике, без пропадания питания всего коптера?

            Thumb up 0 Thumb down 0

      • 5yoda5:

        Еще чуть-чуть поясню, вдруг не знаете.
        Сначала настраиваете аппаратуру, чтобы на тумблере было переключение полетных режимов. И чтобы один из режимов был тот, который будете использовать при ФС. Потом настраиваете «аппаратный» ФС, чтобы при выключении аппы (пропадание сигнала), приемник сам включал полетный режим для ФС.
        И только потом в МП задаете полетный режим для ФС. Но это делается только для случая зависания приемника.

        Thumb up 0 Thumb down 0

        • Андрей:

          Вероятность пропадания питания ничтожна мала (если пропадет то везде), но вот зависнуть он может мне кажется

          Thumb up 0 Thumb down 0

  8. Андрей:

    Все же я не могу понять до конца…. Если приемник завис или потерял питание то он не даст команду на FS — это должен сделать PPM! Правильно я понимаю?

    Thumb up 0 Thumb down 0

    • 5yoda5:

      Подозреваю, что зависший приемник и обесточенный — суть разные случаи. И возможно выключение приемника эта прошивка не отрабатывает…

      Thumb up 0 Thumb down 0

  9. 5yoda5:

    Интересно, а есть у кого-нибудь исходники этой прошивки? Можно было бы глянуть — как ведет себя энкодер при полном пропадании сигналов (обесточивание только приемника).
    Возможно, это не реализовано в прошивке…

    Thumb up 0 Thumb down 0

  10. 5yoda5:

    Вон же, в статье последняя ссылка! Надо посмотреть…

    Thumb up 0 Thumb down 0

    • 5yoda5:

      Посмотрел. Тяжело конечно разбираться в чужой программе. Насколько я понял (при диагональном просмотре проги) — там смотрится как значения всех каналов, так и количество активных каналов. То есть если отключится приемник — то РРМ энкодер должен выдать сигнал ФС.
      Так что можно попробовать проверить «программный» ФС путем выключения питания на приемнике. В том числе на Фрисках.
      Ещё заметил — различия в файлах. Тот, что «самый свежий» 2.3.17, отличается от скомпилированного (2.3.16) поведением при варианте подключения с PPMSUM. Как раз мой случай. Проверю поведение при отключении приемника на 2.3.16 и потом надо прошить с использованием 2.3.17.
      Будут интересные результаты отпишусь сюда.

      Thumb up 0 Thumb down 0

  11. Андрей:

    Включил сейчас программный FS от приемника — все работает отлично, но теперь другая проблема не могу отключить FS на приемнике)) По инструкции (перебиндевание приемника) не получается.
    Будем надеяться что Фриска не зависнет))

    Thumb up 0 Thumb down 0

  12. Влад:

    На win8 на шаге •Нажмите на значок с кабелем или выберите пункт меню “Settings — Communications — USB” вылезает ошибка «AtLibUsbDfu.dll not found

    C:\Program Files (x86)\Atmel\Flip 3.4.7\bin присутствует,но не находит…

    Проблему решил так,зашел в диспетчер устройств,нашел DFU Devices и установил драйвер из папки C:\Program Files (x86)\Atmel\Flip 3.4.7

    НО! Теперь постоянно моргает индикатор на плате красным «А» (одна длинная,две коротких вспышки)+постоянно горит индикатор Alive зеленым, приемник FLY SKY теперь как то странно мигает индикатором внутри (по идее он должен гореть постоянно при связи с пультом)?! Контроллер к АПМ планер подключается но если платой шевелить, реакции ее ориентации в программе не наблюдается? Что я сделал не так?

    Пока вроде пашет)

    Thumb up 0 Thumb down 0

    • Про не найденный файл. Похоже это проблема не Win8, а x64, т.к. имя папки «Program Files (x86)», а Flip возможно файл ищет в «Program Files».

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

      Thumb up 0 Thumb down 0

  13. Влад:

    Да,я повторно перезалил. Я так понимаю,сначала прошивку схватывает большая микруха (основная),а затем передает прошивку 32й меге и протокол проверки правильной заливки не реализован,а прога прошивальщик (Atmel Flip) видимо сравнивает содержимое основного контроллера,а не 32й меги. Видать дребез где то прошел и прошивка встала криво.

    Thumb up 0 Thumb down 0

  14. 5yoda5:

    Сообщаю новости. Получается, версия 2.3.16 — немного некорректно себя ведет в случае подключения по РРМ SUM (может и в классике то же). При обесточивании приемника проходит сигнал ФС, и значения каналов на минимум устанавливаются только первых 4 (ставится минимум), остальное вам насыплют по 1500. Так как у меня совпало, что 1500 на канале управления полетными режимами соответствуют режиму номер 4. Соответственно — его и надо настроить как режим для ФС.

    Есть вопрос. Вот например, скачал я файлик PPM_Encoder.h версии 2.3.17 (там как раз есть правки для режима РРМ). А где мне взять полную версию исходников прошивки, чтобы самому скомпилировать в Ардуино ИДЕ?

    Thumb up 1 Thumb down 0

  15. юсуп:

    Не понял,после прошивка энкодера,нужно заново шить контролер и по новой все калибровать?как говорит Юлиан на видео.

    Thumb up 0 Thumb down 0

    • Не обязательно. При прошивке 32u2 влияния на 2560 нет. После прошивки требуется перекалибровка аппаратуры и настройка FS.

      Thumb up 0 Thumb down 0

  16. 5yoda5:

    Нашел скомпилированную версию прошивки PPM энкодера 2.3.17 датирована декабрем 2013 года, новее вроде нет. Качать тут https://groups.google.com/group/drones-discuss/attach/6c7a2e7e07e016ad/ArduPPM_v2.3.17_ATMega32U2.hex?part=0.1&view=1
    Если успею — возможно сегодня протестирую.

    Thumb up 1 Thumb down 0

  17. 5yoda5:

    Докладываюсь. Протестировал прошивки 2.3.16 и 2.3.17 с особым пристрастием. Не знаю, как они себя ведут в случае «классического» подключения. Меня интересовал режим PPM SUM — его и гонял.
    В случае самолетной прошивки (!!!!!! ДА, ЕСТЬ РАЗНИЦА !!!!!!!!!!!) наилучшим образом себя показала прошивка 2.3.17 Нужна дополнительная настройка параметров ФС в списке полных параметров. При пропадании сигнала на самолете сначала включается «кратковременный» ФС (обычно Circle — круги), потом включается «долговременный» ФС (обычно — RTL). Один момент — вроде бы газ скидывается на 0.
    При прошивке версией 16 все каналы скидываются на середину, газ скидывается на 0, срабатывает программный ФС, включается краткий ФС (circle), затем долгий ФС (RTL). При восстановлении работы приемника режим не возвращается (RTL), пока не перещелкнешь туда-сюда режим.
    Эти прошивки различаются выставлением каналов РУ (уже перепуталось все в голове — кажется версия 16 ставила все каналы на середину а газ на минимум, версия 17 — все каналы на минимум а 1,2,4 — в середину.)
    Но выходные значения PPM кажется сильно не менялись.

    В случае коптерной прошивки — наилучшие результаты были у прошивки 2.3.16 (!!!) Логика такая: все каналы выставляем на середину (1500), газ на минимум. В этом случае можем на средний уровень РРМ (у меня это вышел полетный режим номер 4) — повесить RTL или Land.
    2.3.17 просто тупо замораживает все значения и никакого ФС не включается. Что нас совсем не устраивает.

    Итог: Я (!!!) буду ставить для самолета версию PPM номер 17, для коптера буду ставить версию номер 16.

    НО! Нужно молиться всем богам, чтобы этот программный ФС не пригодился никогда (настраивайте аппаратный ФС!!!) — ИБО увидел столько глюков — мама дороХая! Например, если сработал программный ФС на самолете, из него не выйдет пока не перещелкнете полетный режим. Но если из режима ФС вышло, назад в него второй раз уже не зайдет. (ага!)
    В коптерах вообще все управляется выставлением каналов на РУ, никакого режима ФС не включается. Короче — эту прошивку ещё править и править. Нужно сначала обсудить логику работы и только потом пытаться лезть в коды (кто бы еще отважился — мне понятно было только процентов 40-50 всего кода). А те, кто правил эту прошивку похоже сдулись (с декабря — ничего).

    Сорри за дезу.
    Оказывается — на самолетных прошивках не срабатывает программный ФС при работающем авторежиме.
    И тут тоже выходит 16 прошивка лучше, чем 17. Потому что при восстановлении связи — сама выходит на текущий режим, не нужно ничего перещелкивать.

    Резюме окончательное — ставьте прошивку PPM энкодера 2.3.16
    И срочно нужен спец в программировании МК, чтобы исправить это гуано на нормальную логику!

    Еще забыл написать — всё вышесказанное относится к режиму PPM SUM. Возможно в «классическом» подключении все просто волшебно — не знаю.

    И ещё одно. Как обычно, информация дается в виде «AS IS» и представляет сугубо моё IMHO.

    Thumb up 0 Thumb down 0

  18. Matvey:

    Подскажите пожалуйста, выполнили перепрошивку энкодера по инструкции. Однако, решили перепроверить, произвели теже самые шаги (кроме RUN), чтение из буфера показывает только одни FF. И только после запуска прошивки, показывает все как в статье. Однако после ребута и последующего переключения в режим енкодера показывает опять одни FF.

    Это нормально или что то не сохраняется?

    Thumb up 0 Thumb down 0

  19. Иван:

    Делаю как описано но в диспетчере устройств определяется как «Arduino Mega 2560 (COM8)».
    Это то же что и «В Windows будет обнаружено новое устройство ATmega2560 DFU» или надо прошивать загрузчик?

    Thumb up 0 Thumb down 0

  20. Владимир:

    Получил с банггуда АРМ 2.8 на черной плате (брал комплект в полном фарше, как у Юлиана в обзоре, только 2.8). Делаю перепрошивку. Столкнулся с тем, что на плате напаяны микро-гребенки и стоят джампера (по питанию и на том месте, который надо замыкать, по мануалу, первым). Сначала порадовался, а потом прочитал, что этот джампер отвечает за выбор компаса (на плате или внешний).
    Короче, для того, чтобы на версии 2.8 перепрошить РРМ надо джампер ставить на средние контакты — остальное — по букварю.
    ЗЫ. Может кому поможет. 🙂 Если надо фото — могу сделать, но там и так все понятно. 🙂

    Thumb up 2 Thumb down 0

    • Вот блин, почему народ хочет извращений, а не берет обычные платы? 🙂
      Спасибо за информацию. Фото надо, кому-то может так будет понятней 🙂

      Thumb up 0 Thumb down 0

      • Владимир:

        Ну, у меня было несколько причин взять этот набор.
        1. Он, банально, дешевле.
        2. На нем исправлен глюк с питанием 3.3v. Стоит «кошерный» стаб.
        Есть и еще «допилы».
        Зачем тогда брать плату «от Козина», а не обычную 2.5? 😉

        Да, после «вскрытия» понравилось:
        — присутствуют джамперочки на контактах которые Юлиан запаивал. Не надо ничего колхозить — они уже есть.
        — для выбора компаса не надо резать перемычку — поставил (идущий в комплекте) джампер на уже распаянную гребенку — есть компас, убрал — пользуй внешний.
        — разьемы GPS и внешнего компаса теперь рядом — нет такой «раскоряки» через всю сторону — все компактно.
        — баро закрыто приклееной на крышку поролонкой. Мелочь, а приятно.

        Фото:

        Thumb up 1 Thumb down 0

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

          Thumb up 1 Thumb down 0

        • Александр:

          Спасибо, на плате v2.7.2 также надо перемыкать средние контакты(даже подписаны DFU), хорошо руки не дошли на недельку раньше этим заняться, а то чуть паниковать не начал, определялось как Arduino Mega 2560 и драйвера новые ставить нехотела,(и в программе вылезала ошибка AtLibUsbDfu.dll not found) я думаю инфу про новые платы можно добавить в статью чтобы другим было проще пс

          Thumb up 0 Thumb down 0

  21. Михаил:

    Здравствуйте! Возникла проблема с прошивкой encoder’a. Всё делаю по инструкции, но когда замыкаю ресет и землю плата просто пропадает, когда размыкаю ничего нового не появляется. Что делать? Перепрошивать загрузчик?

    Thumb up 0 Thumb down 0

    • Добрый день. Михаил, прошивайте загрузчик на ATmega32U2, а дальше опять вернетесь к самой прошивке.

      Thumb up 0 Thumb down 0

    • 5yoda5:

      Вы не сообщили, какая у вас плата. Пробуйте сделать как я — цитирую коммент от 02.06.2014

      «1. Подключаем плату к компу, ждем загрузки.
      2. Втыкаю пинцет в JP2 (лень было гребенку под перемычки паять)
      3. Практически сразу (секунда-две — как позволяет человеческое быстродействие), втыкаю вторую перемычку (два нижних контакта на ISP)
      4. Выдергиваю первую перемычку.
      5. Выдергиваю вторую перемычку.
      6. Плата находится в режиме работы с ATMega32U2, спокойно ставлю драйвер, спокойно прошиваю.
      7. Больше никаких перемычек не выдергиваю (как в конце статьи)»

      Thumb up 0 Thumb down 0

      • Михаил:

        Не получилось, но всё равно спасибо.

        Thumb up 0 Thumb down 0

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

          Thumb up 0 Thumb down 0

  22. Василий:

    Вечер добрый! Помогите разобраться! Контроллер V2.7.2 работал как часы. Стояла последняя прошивка на квадр, при очередном подключении к Миссион Планнер выдал что имеется обновление — начал обновлять. Не успев завершить обновление выскочила ошибка соединения. С того времени плата не определяется Миссион Планнером — пишет «no heatbeat packets Received».При попытке обновления софта пишет «communication Error-no connection». РРМ энкодер обновил по инструкции (на всякий случай) — всё прошло нормально. Меня беспокоит то, что перестал гореть (или мигать) красный светодиод питания.
    При подключении к Usb горит один зелёный светодиод (около разъёма GPS). Что случилось? как быть?

    Thumb up 0 Thumb down 0

    • Добрый день. Я бы не обновлялся вообще, даже если предлагает. Если все устраивает с текущей прошивкой, то летать и ничего не трогать! 🙂
      Есть у нового планера глюки с загрузкой прошивки из файла, еще говорили, что и загрузка из выпадающего списка глючила. Может и с новой прошивкой такая проблема существует. А сейчас похоже и загрузчик в ATmega2560 слетел. Необходимо прошить заново.
      Предлагаю взять MP постарее (1.3.17 или старее) и залить старую прошивку, на которой летали.

      Thumb up 0 Thumb down 0

      • Василий:

        Нашёл MP версии 1.2.69 — он тоже контроллер не видит — Поставить новую прошивку нет возможности. Видимо придётся покупать программатор для прошивки загрузчика или можно как-то через USB прошить?

        Thumb up 0 Thumb down 0

        • Программатор должен был быть куплен до коптера! Ну это я так… Что надо купить — в статьях о прошивке загрузчиков. Попробуйте поискать поблизости у людей, кто занимается контроллерами AVR, наверняка помогут. Если есть параллельный порт, то можно собрать на «пяти» проводах.

          Thumb up 1 Thumb down 0

          • Василий:

            Спасибо, огромное за советы raefa и 5yoda5!!! Купил программатор за 190р и в две минуты вернул контроллер к жизни! Засветился он всеми светодиодами, как ёлка новогодняя! Залил последнюю прошивку. Завтра в НЕБО!!! Кстати прошивал через Anduino.

            Thumb up 0 Thumb down 0

            • Почитайте о рекомендуемых прошивках и о глюках крайних. Ну а «последнюю», в смысле вообще последнюю, я бы ставить не стал. 🙂
              Удачи!

              Thumb up 0 Thumb down 0

    • 5yoda5:

      На АРМ светодиод питания — как раз зеленый. Он называется «Alive» — то бишь, если горит — плата жива.
      А красный светодиод — это светик состояния. Получается, что у вас сейчас в контроллере непонятно что, и это непонятно что не может запуститься (вместо программы инициализации контроллера — каша).
      Прошейте и бут лоадер и прошивку. Причем возможно вам придется прошивку качать вручную (возможны ошибки при прошивке при скачивании через программу).

      Thumb up 0 Thumb down 0

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

    Подскажите в чем проблема. После прошивки pp-encoder квадр начал дергатся. При примерно 20% газа он то сбрасывает обороты то подымает, дергается. В чем может быть проблема?

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

    Thumb up 0 Thumb down 0

    • Про уровень газа могу предположить, что можно попробовать проверить показания и откалибровать аппаратуру.
      Про расколбас — проще наверно полностью сбросить настройки (setup erase, reset) и настроить все заново.

      Thumb up 0 Thumb down 0

  24. Михаил:

    Подскажите, пожалуйста. На плате 2,6 с обратной стороны есть CH5>PPM<PPM как должна стоять перемычка для отрабатывания FS на приемнике FrSky PPM SUM ? У меня сейчас перемычка перерезана и PPM запаян на CH5. Сигнал подаю на CH5. Это верно ? Как правильно и на какой канал тогда цеплять ?

    Thumb up 0 Thumb down 0

    • 5yoda5:

      ОЙ. Я считал что для того, чтобы работать с PPM_SUM, нужно поставить перемычку (джампер) между сигналами второго и третьего каналов. И сигнал РРМ подавать на первый канал.
      Что-то поменялось?

      Thumb up 1 Thumb down 0

    • Санек:

      Все верно перемычка между 2 и 3 на 1 подаем PPM с обратной стороны платы ничего не трогал

      Thumb up 1 Thumb down 0

      • Михаил:

        А подскажите, пожалуйста, по настройке FailSafe как она делалась ? Я все пререпрошил на 16 версию. Что дальше ? При отключении приемника, подключенного по PPM SUM сигналы менее откалиброванного минимума не падают ? Кто-нибудь RSSI пробовал ? Как его подключить ?

        Thumb up 0 Thumb down 0

  25. Санек:

    Кто бы поэкспериментировал с прошивкой кодера для S.Bus

    Thumb up 0 Thumb down 0

  26. Vik:

    Добрый день. Набрел на статью в попытке восстановить плату после аварии.
    Имею странную ситуацию — на плате работает все, кроме PPM энкодера. Плата не видится по USB и не работают входы с приемника.
    Думал слетела прошивка. Попытался восстановить по статье. Манипуляции с перемычками не дают никакого результата. Пошел восстанавливать загрузчик. В итоге он замечательно шьется и читается через USBasp. Но комп и после этого не видит плату. Манипуляции с перемычками не помогают. Светодиоды относящиеся к PPM энкодеру не светятся. В остальном плата нормально работает — подключается к Misssion Planner через FTDI переходник и видит всю периферию.
    Подскажите что может быть с энкодером и куда тут можно копать дальше?

    Thumb up 0 Thumb down 0

    • А какая была авария с этой платой?
      С PPM энкодером завязаны еще цепи. Попробуйте проследить по схеме и проверить другие детали, желательно посмотреть осциллографом, что там происходит.

      Thumb up 0 Thumb down 0

      • Vik:

        Самолет поймал дерево. Внешне корпус и сама плата без повреждений.
        Видимо придеться брать даташит и последовательно проверять все. Но наверное проше новую плату купить. Этой все равно доверия нет.

        Thumb up 0 Thumb down 0

  27. юра:

    немогу установить драйвер у меня в диспечере Meqa2560 без букв и APM 2.8

    Thumb up 0 Thumb down 0

    • Если пишет «ATmega2560 DFU» (это PPM энкодер такое выдает), то ставить драйвер из папки Flip’а, если просто 2560, то из папки планера или Arduino.

      Thumb up 1 Thumb down 0

  28. дима:

    подскажите пожалуйста!!у меня при прошивке энкодера на контролере apm 2.6 ардукоптер в программе флип при установке драйвера 2.3.16 почемуто значок c галочкой verify красного цвета.я уже несколько раз устанавливаю драйвер а значок все равно красный.что я делаю не так????

    Thumb up 1 Thumb down 0

  29. Феликс:

    Здравствуйте! А можно таким способом прошить APM 2.8?

    Заранее благодарю.

    Thumb up 0 Thumb down 0

    • Конечно! Даже нужно! Отличие только в перемычке (см. крайнюю картинку в статье).

      Thumb up 0 Thumb down 0

      • Феликс:

        Ой точно)) Извините не заметил что для 2.8

        Thumb up 0 Thumb down 0

      • Феликс:

        Версия прошивки которая сейчас установлена на моем контроллере как раз совпадает с той версией что вы предлагаете 🙂

        Получается что мне не надо ничего прошивать?

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

        01490 64 75 50 50 4D 76 32 2E 33 2E 31 36 00 30 20 00 duPPMv2.3.16.0 .

        Скажите нужно ли мне мой контроллер прошивать?

        Thumb up 0 Thumb down 0

        • Совпадает, ну значит делать ничего не надо. Если только для своего успокоения — что теперь будет сделано своими руками.
          Картинки в комментариях можно добавить ссылкой на внешний ресурс.

          Thumb up 0 Thumb down 0

  30. Пётр:

    Нужна помощь. Как прошить PPM Encoder на APMpro (мелкая копия APM 2.6) FailSafe НЕ работает. Помогите.

    Thumb up 0 Thumb down 0

  31. Nini:

    Кто нибудь еще остался на теме? у меня прошивается загрузчик на arducopter 2.8. проходит потом обнова в МП но по визарду вылетает на последней проше 3.3.3 с ошибкой sisid 1 compid 1? менял и прошивки и МП разных версий. нормально прошивается и коннектится после прошивки 2.6 но калибровка не проходит………… месяц уже сижу и начинаю думать что нужно купить другой APM

    Thumb up 0 Thumb down 0

    • Залейте для начала 3.1-rc5 или 3.1 и попробуйтесь подключиться к терминалу. Если подключается, то запустите тест датчиков командой test. Дальше по подсказкам.

      Не пользуйтесь визардом, частенько там все глючит.

      Thumb up 0 Thumb down 0

      • Nini:

        Залить 3.1-rc5 через ардуино? На 2.6 после тест датчиков проходит но я не догоняю как калибровать датчики если не через Визард. У меня уже мозг не соображает что я делаю не так. Кстати при прошивке через мп на версию 2.6 горит синий диод после соединения usb, если более поздняя прошивка то красным — это плохо?

        Thumb up 0 Thumb down 0

      • Nini:

        http://joxi.ru/krD14Eqt0BMJpm
        http://joxi.ru/eAO0MKeh4Zwkar
        капец у меня тоже контроллер питалки сгорел что ли
        http://joxi.ru/bmo6dwYSMQNyPr

        Thumb up 0 Thumb down 0

        • 5yoda5:

          Казалось бы, причем тут ППМ — энкодер?
          Проверяйте питание на 3.3 вольта, возможно сгорел стабилизатор. (на одном из скринов не инициализируется аксель, что бывает при улёте стабилизатора).
          Простите, дальше консультировать ТУТ не буду. Ждем вас на форуме, это несложно.

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

          Thumb up 1 Thumb down 0

    • 5yoda5:

      А идите-ка вы….. на форум 😀
      Полагаю, будут заданы ещё много уточняющих вопросов, и решение-таки вы найдете.

      Пока же ответ будет таким: Если у вас контроллер АРМ, то на него прошивка 3.3.3 — не встанет! Производитель поддержку АРМ прекратил на версии 3.2.1, а последующие версии для более быстрых процессоров и контроллеров типа ПиксХок.

      Thumb up 0 Thumb down 0

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

    У меня ситуация когда не могу подобрать драйверов , те что с программой flip в папке usb не подходят виндовс пишет что «Windows не удалось установить драйвер для Arduiono Mega 2560 DFU». Как мне поступить дальше ?

    Thumb up 0 Thumb down 0

  33. Артем:

    Доброго времени суток.Помоги те пожалуйста.Залил вместо нужной прошивки вот такую «ArduPPM_v2.3.16_ATMega328p_for_ArduCopter.hex»Теперь естественно не определяется плата.Как быть куда копать?

    Thumb up 0 Thumb down 0

    • Куда залили? В 2560? Тогда поможет очистка контроллера и через ISP сторонними средствами залить загрузчик.

      Thumb up 0 Thumb down 0

      • Артем:

        Да залил в 2560.А как очистить контроллер?

        Thumb up 0 Thumb down 0

        • Изучить команды avrdude, либо воспользоваться любым прошивальщиком. Например AVR Burner или Khazama, только не помню, поддерживают ли они 2560. Ну а так не проще просто заново залить загрузчик и потом прошивку через планер?

          Thumb up 0 Thumb down 0

  34. Федор:

    Привет всем! APM 6.2 был подключен к USB порту ноутбука. При подключении аккумулятора что-то произошло. Выключился ноутбук. После включения обнаружил что USB пот перестал работать. После этого АРМ переключил на другой порт. АРМ обнаруживается (инкодер прошивается) но не контачит с МП (‘no heartbeat packets received’)и. Регулятор напряжения показывает 3,23В. Вопрос: Я сжёг АРМ? Или можно как-то реанимировать? Как диагностировать?

    Thumb up 0 Thumb down 0

  35. Федор:

    Александр не могу открыть скины. Птшет: У Вас нет прав для просмотра этой страницы или для выполнения этого действия. Регистрацию прошел.

    Thumb up 0 Thumb down 0

  36. Василий:

    Друзья, можете ругать меня матом, но я нуб, поэтому спрошу, если я настроил FailSafe и при отключении питания коптер врубает RTL и летит на место взлёта, значит ничего прошивать не надо?

    Thumb up 0 Thumb down 0

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

      Thumb up 0 Thumb down 0

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

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