Полетные режимы вашего квадрика и направление на экране аппы
Телеметрия с APM на экране аппы через FrSky без 3DR Radio или XBee.
APM порт телеметрии-> Arduino Pro Mini -> FrSky приемник с телеметрией -> FrSky модуль аппы с телеметрией -> Turnigy с модом FrSky -> Модифицированная прошивка er9x FrSky 812
Стандартное отображение FrSky телеметрии тоже работает. На фото изображен 5-й экран телеметрии. С 1 по 4 - обычные. Все “родные” параметры FrSky сохранены, кроме Temp1, Temp2
Поддержка всех режимов, включая FLIP и AUTOTUNE.
Тестировалось на ардукоптере, но и на ардуплане должно работать.(режимы в современных прошивках у них совпадают)
Теоретически будет работать на всем, что отдает телеметрию в Mavlink формате.
Справа внизу: HEADING, т.е. “направление головы”. До арминга - север вверху, после арминга как в SIMPLE, т.е. относительно положения до старта.
Обратите внимание - это не курс, это то, куда направлен нос модели.
Совместимость с eePe - 99% (не сохраняются некоторые настройки телеметрии на старых режимах)
Исходники и бинарники: code.google.com/p/er9x-frsky-mavlink/
Пока размер кода не оптимизирован, поэтому для atmega64 некоторые функции недоступны. Протестировано на atmega128.
Комменты, вопросы, пожелания - вэлкам!
Вышла новая версия.
Описание
На мегапирате будет работать?
Если да, то куда ардуино подключать - в serial0 (тот что к компу), или в Serial3 - OSD (какой тип тогда задать?)
На мегапирате будет работать?
Если да, то куда ардуино подключать - в serial0 (тот что к компу), или в Serial3 - OSD (какой тип тогда задать?)
На мегапирате не тестил - у меня его нет, но есть некоторые соображения.
- Все зависит от Вашей прошивки. Если у Вас MegaPirateNG, то должно работать, т.к. телеметрия там вроде тоже MavLink, хотя могу и ошибаться.
- Куда подключать зависит от настроек прошивки. Подключать нужно туда, куда отдается телеметрия. У мегапирата Почитайте это docs.megapirateng.com/…/connecting_components
Основная идея в том, что не важно какой контроллер - важно какая прошивка. Проверено на APM:COPTER (arducopter). Будет точно работать на APM:PLANE (arduplane) и APM:ROVER github.com/diydrones/ardupilot
Прошивка ардуины настроена на скорость приема 57600 - если у Вас другая, то поправьте в исходниках. (Скорость на отдачу FrSky - 9600 ее не меняйте.
В исходниках еще увидите скорость 38400 - это отдается отладочная инфа на пины 11,12 - это тоже вам не надо менять)
Попробую - отпишусь.
Правда вместо ардиуно мини про есть только ардуино нано.
На нано берите те пины RX TX, которые подключены параллельно чипу FTDI - D0,D1 +питание. Pro mini точно такая же как нано, только без FTDI. Посмотрите схему - там все понятно и трудно ошибиться
А hex для прошивки турниги точно предназначен для atmega 64?
чет не прошивается, ругается на не совпадение сигнатур
и на no end file find in intel hex file…
Шью правда турнигу старую на атмега 64
hex только для atmega 128 и выше, к сожалению. Прошивка er9x c моими добавлениями не влезает в объем памяти atmega64. Попробую в выходные порезать вертолетные настройки и шаблоны - может тогда войдет. Если получится, то отпишусь здесь и выложу отдельно для 64. Я уж думал ни у кого и нет таких уже 😃
Ай яй… как это нет?! Половина модельного мира на старых турнигах летает!
Перепаять чтоль чип пока с 64 на 128?
😃
Ну, значит, придется вдвойне подумать, что тут можно сделать, чтобы все работало
Вот попробуйте версию для atmega64.
Этот релиз полноценно потестить возможности у меня не было, так что аз-из.
Размер кода оптимизирован, вертолетный раздел удалось сохранить, с шаблонами пришлось проститься (TEMPLATES=NO).
чет не прошивается, ругается на не совпадение сигнатур
Если будет ошибка про несовпадение сигнатур - причина не в прошивке. Смотрите ключ “-p” avrdude, для atmega64 должно быть “-p m64”. Если шьете через eePe поставьте правильное значение MCU в меню “Запись” - “Настройка”
Жаль… я уже перепаял атмегу в турниге с 64 на 128… Ну поторопился…
Можно вас попросить выложить hexы сюда, при прошивке аврдуд ругается на то, что не нашел конец файла.
Видимо я не могу нормально скачать чтоли…
Так и не получилось завести 128.
Хех, поменял обратно на 64 - фен конечно вещь.
Скачал. Прошил. Вроде работает.
Завтра буду прошивать ардиуну.
Спасибо за ваш труд, будет очень здорово, если заработает.
Судя по времени наших постов создается впечатление, что мы живем на темной стороне )
Такс.
Пультик прошил отлично, все экраны телеметрии есть, включая новый.
А вот с ардуиной засада - прошил ее hexом, с помощью второй такой же ардуины как AVRISP. Все прошилось, проверка прошла.
Включил ее в Crius с мегапиратом в порт, куда был включен блютус. Блютус точно настроен на 57600 бод.
С порта выходит Rx Tx +5V GND. Однако, никакой активности не замечено.
В арудино нано втыкал в D0, D1 - Rx и Tx (и менял местами для проверки), на приемник сигнал уходил с D5.
Ничего. На ардуино также не моргают диоды Rx Tx - должны?
Возможно, что проблема с правильностью скачивания hex, у меня почему-то они какие-то разные по размеру выкачиваются.
Лучше с исходников тогда заливать (во вложениях и исходники и hex)
- Качаем Arduino IDE
- Разворачиваем архив с исходниками из этого поста
- Заходим в IDE выбираем “Скетч” - “Импортировать библиотеку” - “Add library”
- Выбираем папку mavlink-driver\libraries\AP_Common\ из развернутого архива и далее повторяем с каждой папкой из mavlink-driver\libraries
- Далее “Файл” - “Открыть” - “APM_Mavlink_to_FrSky.ino”
- “Сервис” - “Плата” Выбираем ардуину и “Сервис” - “Порт” - выбираем порт
- Компилим и заливаем.
Либо берем XLoader и шьем hex без второй ардуины, как обычно через USB
Еще можете почитать это - вчера у человека долго не заводилось, а причина оказалась просто в плохом кабеле… Ну я это не к тому привел, что у Вас так же, а к тому, что там я почти все причины расписал, почему может не работать и как выяснить где проблема, также там описано как сделать отладку в в терминале.
Все получилось через Arduino IDE на старой турниге с атмега 64 и мегапирате на Crius v1.
Индикатор режимов полета работает, указатель носа крутится, спутники считает.
В полете буду пробовать на неделе, если погода и время позволит.
Виктор, большое спасибо за прошивки и подробнейшие разъяснения.
Крайне похвально, что у нас не только умеют скачивать и прошивать, но и думать, изобретать и делать свое.
Можно немного хотелок?
- Скетч арудины не лезет в атмегу 168. Только в 328. Чуть уменьшить возможно? 168 дешевле.
- Возможно ли сделать скетч для так сказать ардуино-в-одной-атмеге. Т.е. тупо взять атмегу8, сконфигурировать ее на внутренний RC, припаять к ножкам пять проводов и все - ардуина без обвеса готова. Для народа это было бы самым простым и доступным вариантом.
- Возможно ли на пятом экране телеметрии вывести высоту и удаление от старта? Для полетов “по приборам” на коптере было бы полезно, если далеко отлетаешь, так что не видно куда нос, то возвращаясь по индикатору направления носа, неплохо бы знать - как высоко и далеко еще лететь.
- А что с таранисом?
Еще раз спасибо!