Полетные режимы вашего квадрика и направление на экране аппы
Удаление от старта пока под вопросом. Отпишусь когда разберусь с этим.
Посмотрел, как это сделано в коде MinimOSD-extra. Действительно, считается отдельно, но не бог весть как. См. code.google.com/p/minimosd-extra/…/OSD_Func.h , строка 44 //------------------ Home Distance and Direction Calculation ----------------------------------
UPD : откровенно не понял, зачем они пересчитывают длину градуса долготы в каждом цикле :
// shrinking factor for longitude going to poles direction
float rads = fabs(osd_home_lat) * 0.0174532925;
double scaleLongDown = cos(rads);
double scaleLongUp = 1.0f/cos(rads);
Здравствуйте.
Не нашел у нас дешевых ардуин, сделал сам.
Т.к. я использую приемник D8R-II без корпуса, жестко воткнутый в разъемы полетной платы (минус провода, минус разъмы, минус SPPM/SBUS = выше надежность, имхо), то сделал переходник, сразу втыкаемый в приемник.
Вот что получилось 😃
Скомпилировал прошивку (для тараниса), прошил, все работает.
Но есть вопросы.
- Время от включения APM до отображения параметров телеметрии на пульте очень велико - минут 10. Причем полетный режим, напряжение, какой-то Vfas отображаются мгновенно. Спутники ловит тоже почти сразу, так что дело в не спутниках 100%.Иногда вообще так и не начинает показывать телеметрию, кроме режима полета. С чем может быть связано?
- В чем измеряется высота? Загнал квадрик чуть-ли не в тучу - на экране 1,1. 1,1 чего? На уровне 3 этажа дома показывает 0,1.
- Что за параметр Dist? Изменяется от 2700 до 2850. Реагирует на поворот.
- Можно ли как-то увеличить скрость обновления данных телеметрии, хочется четко выдерживать углы поворота коптера, а т.к. задержка большая, смысла в этом не наблюдается.
Да, это все на экране тараниса, на турниге не пробовал еще. Но, думаю, разницы быть не должно - телеметрию же дает переходник в приемник, а не пульт.
Скорее всего что не хватает скорости быстродействия atmega. Какая у вас частота? От контроллера данные приходят со скоростью 57600 (несколько разных параметров примерно 2 раза в секунду, другая часть параметров 5 раз в секунду) по прерыванию. Отправка на frsky со скоростью 9600 происходит “в свободное время”, поэтому может просто не успевает все отправить, т.к. идет активный прием телеметрии от контроллера. В моей версии прошивки это немного оптимизировано, но требования к быстродействию ардуины тоже высоки.
Частота отдачи телеметрии с контроллера на ардуину задается (!) в прошивке ардуины
в файле github.com/vizual54/…/Mavlink.cpp
строка MAVRates[maxStreams] = {0x02, 0x02, 0x05, 0x02, 0x05, 0x02}
где 0x02 - частота 2 Гц, где 0x05 - частота 5 Гц. Что именно отдается долго объяснять (параметры отдаются группами) подробнее смотрите в файлах прошивки контроллера.
Также вам пригодится частота отдачи телеметрии от ардуины к frsky
смотрите github.com/vizual54/…/FrSky.cpp
там есть функции sendFrSky5Hz, sendFrSky1Hz - параметры, которые отдаются с частотой 5Гц и 1Гц соответственно.
Как можете там увидеть курс передается с частотой 1Гц, поэтому да, он бесполезен. Перенесите строку “bufferLength += addBufferData(COURSE, dataProvider);” из функции sendFrSky1Hz в функцию sendFrSky5Hz, еще в функции sendFrSky5Hz уберите строчки про ACCX, ACCY, ACCZ.
Это должно помочь и с быстродействием и с курсом.
Частоту выставил фьюзами как в обычной ардуино -осциллятор на 16 Мгц.
Правда сейчас не помню, убрал ли галочку “делить частоту на 8” - надо проверить.
Еще раз проверил и перепроверил свою платку - вроде все ОК.
На таранисе ведет себя так - режимы полета, напряжения, и VFas изменяются всегда и стабильно.
Количество спутников, координаты и прочее - далеко не всегда. Иногда спутники ловятся уже давно и стабильно - а в телеметрии данных нет.
Сброс телеметрии, сброс платки и мозгов коптера ситуацию не меняют.
Однако. На турниге, прошитой этой спецпрошивкой в это же время, с этой же платой и мозгами, приемником и мозгами все отлично. Перебиндиваю на таранис - координаты не отображаются.
Значит, дело в таранисе?
может достаточно будет просто обновить родную прошивку.
А лучше сразу прошить последнюю OpenTX
Нужна же:
-> Модифицированная прошивка er9x FrSky 812
Нужна же…
у человека две аппы. речь шла о таранисе. схема подключения ардуины и ее прошивка почти одинаковые для турниги и тараниса, если использовать телеметрию FrSky
Нужна же
На турниге все отлично работает.
Таранис чет тупит, то работает, то не работает.
Я дико извинияюсь, если не разобрался. Вот openrcforums.com/…/Er9x_firmware_information есть строка
#ARDUPILOT - used if you have modified your radio to receive ardupilot data
Это про ваш мод как раз ?
PS большое спасибо за проект.
Я дико извинияюсь, если не разобрался. Вот openrcforums.com/…/Er9x_firmware_information есть строка
#ARDUPILOT - used if you have modified your radio to receive ardupilot dataЭто про ваш мод как раз ?
Нет. В стандартной er9x этих модификаций нет. Нужно прошивать модифицированную er9x. Описание здесь code.google.com/p/er9x-frsky-mavlink/…/Russian. Скачать
схема подключения ардуины и ее прошивка почти одинаковые для турниги и тараниса,
По поводу схемы включения, я правильно понял: используется только Rx (в arduino), а Tx (из arduino) не используется? сигнал на приемник снимается с вывода 5(цифрового) arduino?
По поводу схемы включения, я правильно понял: используется только Rx (в arduino), а Tx (из arduino) не используется? сигнал на приемник снимается с вывода 5(цифрового) arduino?
да, соединения верно вы поняли, но направление передачи обратное.
Контакт RX на приемнике соединяется с D5 arduino, т.е. ардуина шлет конвертированные данные телеметрии ардупилота на приемник FrSky. А приемник FrSky передает данные телеметрии на аппу. Справедливо для приемников FrSky с каналом передачи данных телеметрии.
to 4refr0nt: если включен таймер (у меня время полета считает, если газ не в нуле), то вместо батарейки в правом-верхнем углу 5-го экрана раз в секунду сыпется графический мусор
пульт Turnigy 9x
процессор м64
прошивка er9x-64.hex (r14)
Очень хотелось бы увидеть на экране параметр “hdop”, учитывая размеры экрана, наверное, лучше его поместить на место “SatCount”, и пусть они по очереди раз в секунду показываю себя. Такое сложно сделать?
Очень хотелось бы увидеть…
Новая версия прошивки уже в процессе, но о сроках пока не могу ничего сообщить - планов много, но времени не хватает 😃
А в OpenTX как-то можно внедрить этот мод? Просто недавно перешил обычную Турнигу с ER9X-FrSky на OpenTX-FrSky, а тут такие полезные вещи реализовали.
В OpenTX есть опции Mavlink и Ardupilot, сходу, как они реализованы, не нашел.
И правильно я понял, что стандартый хаб FrSky придется отключить?
А в OpenTX как-то можно внедрить этот мод? Просто недавно перешил обычную Турнигу с ER9X-FrSky на OpenTX-FrSky, а тут такие полезные вещи реализовали.
В OpenTX есть опции Mavlink и Ardupilot, сходу, как они реализованы, не нашел.
И правильно я понял, что стандартый хаб FrSky придется отключить?
-
В OpenTX модуль, отвечающий за FrSky почти точь в точь как в er9x, так что да, возможно, если приложить определенные усилия. Потребуется внесение изменений в код прошивки и пересборка.
-
Ardupilot как в OpenTX, так и в er9x реализован так, что FrSky канал телеметрии не используется, а данные передаются по 3DRradio прямо в аппу.
(т.е. на аппе немного другой мод) -
Данные со стандартного хаба FrSky должны приниматься совместно с данными Mavlink (за исключением temp1 и temp2). Arduino подключайте к порту data на хабе, а хаб как обычно. Но я такую схему не тестировал - попробуйте и отпишитесь.
Предварительный макет отображения телеметрии в новой версии.
Аргументированная критика и предложения приветствуются.
Основная идея: сделать отображение на экране аппы как на FPV с OSD, только без видео.
Краткое описание:
- первая строка слева - остаток заряда батареи квадрика (рассчитывается ардукоптером на основании данных о токе с датчика 3dr power module и емкости батареи, прописанной в MissionPlanner)
- напряжение батареи квадрика (с 3dr power module или аналога)
- напряжение батареи аппы
- первая строка справа - оставлено место для таймера
- “No GPS” может принимать значения “No Fix”, “2D Fix”, “3D Fix”
- SCnt - satelites count - количество видимых спутников
- hdop в сантиметрах от 0 до 9999
- ниже hdop сейчас на экране пустая строка, но там отображается health контроллера. При дефекте компаса будет “MAG”, т.е. отсутствие сигнала с любого датчика, которые включены в конфигурации ардупилота. Например, если летаете c Optical Flow Sensor и включили его в настройках и от этого датчика пропал сигнал, то получите здесь “OPTIC”. Здесь же отображается вход в режим GeoFence и отказ AHRS.
- Alt высота в целых метрах без десятых долей (до арминга “как есть”, после - относительно высоты в точке арминга)
- GAlt - тоже в метрах, высота по GPS (до арминга “как есть”, после - относительно высоты в точке арминга)
- dhm - distance to home, в метрах - расстояние до точки, где был последний арминг. при каждом арминге обнуляется. Если была промежуточная посадка с дизармингом, то считать будет расстояние до этой точки.
- WP - way point, в метрах, расстояние до ближайшей way point, если летим по маршруту или до home position, если режим RTL
- THR% - throttle out, 0-100%, газ. значение не со стика аппы, а с контроллера, т.е., например, в режиме LAND будет плавно уменьшаться независимо от положения стика.
- RX,TX - качество сигнала FrSky в процентах
- cpu - загрузка atmega контроллера, в процентах
- A - ток с датчика 3dr power module (или аналог)
- Наверное, самая ожидаемая фича 😒 маленькая метка внизу квадрата - это направление “домой”. Отметкой “дом” помечаются координаты в точке арминга.
- осталась еще одна пустая строка слева внизу, под hdop и health. Доступная ширина - 7 знаков. Жду предложений чем ее заполнить полезным.
В новой версии, видимо, не будет accX, accY, accZ. Вообще не будет. Ни на одном из экранов, включая стандартные. Отпишитесь насколько это критично для вас.
По срокам выхода “в массы” этой прошивки пока ничего сказать не могу, сорри.
Доброго времени суток.
Помогите чем прошить конкретно 9XR c 128mega что то пробывал с code.google.com/p/er9x-frsky-mavlink/…/browse/#svn… не запускаеться пульт.
А так же какя прошвка для Mega 328 что то не понятно, и можно было бы FAQ написать для новичков.
Спасибо для отозвавшихся.
Доброго времени суток.
Помогите чем прошить конкретно 9XR c 128mega что то пробывал с code.google.com/p/er9x-frsky-mavlink/…/browse/#svn… не запускаеться пульт.
А так же какя прошвка для Mega 328 что то не понятно, и можно было бы FAQ написать для новичков.
Спасибо для отозвавшихся.
9XR с mega128 прошиваете этой прошивкой, затем заливаете свои настройки (я делаю через eePe - Write Memory To TX). Если настройки не заливать - пульт запускается, но без подсветки экрана, поэтому может создаться впечатление, что пульт не запустился.
в Arduino Pro Mini 5v заливаете эту прошивку.
Подробнее тут