Activity
стм…
я не юзал, попробуйте.
А интересная тема организовать свой канал телеметрии на модулях за 3$ esp8266 и передавать mavlink хоть в аппу, хоть на граунд стейшн, хоть на андроид 😃
Причем прошивку для esp8266 можно написать на Arduino IDE
я так понимаю важен грамотный буфер на стороне радио-сериала или он особой роли не играет?
напряжение логики пульта и АПМ 5 вольт,т.е. на stmы я еще не разжился,а на rfmки стоят ттл конвертеры
…или я не о том?)
да в общем просто все.
Важно как организован обратный канал, или телеметрия.
Обычно передатчик передает а приемник принимает - так было раньше, потом приемник научился передавать телеметрию на землю. Тут каждый производитель делает как хочет. FrSky, например использовал RS232 (не TTL уровни) да еще и вывернутые наизнанку сигналы. Я уж не говорю о собственном протоколе, который вообще был закрыт, а любители сделали реверс-инжиниринг. Другие производители аналогично делают как хотят. Поэтому чтобы состыковать все - нужно допиливать.
Весь мавлинк никто не парсит - не нужен просто, да и много там всего.
В моей прошивке это ограничено и скорость FrSky телеметрии в 9600 (APM выдает на 57600)
Кроме того мега в турниге - унылая для парсинга мавлинка - ни памяти ни производительности не хватит, поэтому делается в ардуине на отдельном проце
какую прошивку мне залить в turnigy9x,что бы она читала данные с АПМ,хотябы напрямую подключенные между собой?
но по железу уточняйте, потому что “напрямую” может быть по-разному реализовано.
Т.е. очень еще зависит и от пары модуль передатчика+приемник
я их ставил,они работают на пульте,только данные не ципляют…
имелось ввиду, что если хотите получить “картинку”, как в этой теме, то те прошивки вам не помогут, т.к. у них “другая картинка” на аппе
Миксы работают правильно на 817 (на любой)
Моя прошивка основана на 812, поэтому сравнение с 817 ни о чем не говорит. Залейте обычную 812
Существуют разные вариации пультовых прошивок: er9x-ardupilot;er9x-frsky;opentx-mavlink;opentx-ardupilot;opentx-frsky и.т.д.
Что я делаю не так?
Этот проект основан на двух прошивках - одна для Turnigy, другая для Arduino, т.е. ни er9x-ardupilot;er9x-frsky;opentx-mavlink;opentx-ardupilot;opentx-frsky и.т.д. не подойдут.
Почитайте code.google.com/p/er9x-frsky-mavlink/…/Russian
Или что ?
Оригинальную er9x без моих изменений вот отсюда code.google.com/p/er9x/source/browse/?r=812
если при изменении настроек в миксах проблемы останутся - значит проблема не в моих добавлениях, а в самой r812 и я тут не помогу
Возможно и проблемы с eepe, если настройки восстанавливаете, т.к. в er9x было много изменений и сейчас уже актуальная версия r817
на обычной er9x frsky такого нет
проверьте, пожалуйста, на стандартной er9x версии r812
Такая же ботва, высота от 0 до 1 метра показывается с минусом, выше метра нормально.
Может и глюк.
Весна наступает, скоро полетаем, так что поправлю (в мае ориентировочно)
Ещё такой вопрос, сообщения системы как вывести на экран аппы??
для 64 версии - никак (памяти не хватило), а для других все само выводится, ничего делать не нужно
Подскажите какая последняя версия прошивки для М128, от какого числа. У меня показывает 05,10,2014 V: 1.117.
да, это самая последняя версия.
Вернее не так написал, пока нет спутников мигает NO Fix и hdop 9,99, потом спутники зафиксировались, пишет 3D fix и hdop начал показывать, но всё равно они мигают, может hdop надо меньше 2.00 , просто у меня дома он меньше 2,54 небыл ни разу.
Я писал полоска-шкала полностью заполнена, я про неё в курсе, что она показывает поток данных от Ардуины
да, конечно, до 2,00 надо.
Это понятно, но они мигают и когда данные пришли, т.е спутники зафиксировались, пишет 3D-fix, sat 7, hdop 2,54 и 3D fix и hdop 2,54 мигают а данные то идут.
А в каком состоянии индикатор буфера (полоска слева внизу) ?
Вот спасибо, стало показывать.
И кстати длинная стрелка на радаре перестала прыгать, Север-реальный указатель компаса.И ещё 3D-fix, hdop всё время мигают, даже после фиксации спутников
и показания Rx и Tx тоже всё время мигают
Эти параметры мигают когда данных нет от ардуины
Да есть побаночные напряжения
Попробуйте пересобрать прошивку для ардуино со следующими изменениями:
в папке APM_Mavlink_to_FrSky в файле defines.h строки 112 и 113
#define VOLTAGE 0x3A
#define VOLTAGEDEC 0x3B
заменить на
#define VOLTAGE 0x29
#define VOLTAGEDEC 0x2A
Приветствую.
Спасибо автору темы, всё вообщем понятно и доступно.
Сделал мод на аппаратуре FlySky9x, проц мега64, передающий модуль XJT, сигнал взял с S-порта через инвертор, приёмник D8R-XP, Ардуину подключил к Пиксхавку, настроил, работает и показывает телеметрию. Но почемуто не показывает напряжение самой Батареи 3S квадрика, в Миссион планер через 3Д-радио показывается, а на пульте только заряд 99%, потом 0,0, потом питание проца 5В и напряжение батареи пульта 11,5В.
В настройках порылся не фига не увидел, мож подскажите куда копать???
А на четвертом экране стандартной телеметрии в нижних двух строчках есть напряжение побаночно?
Питаю от батареи, USB отключено, про настройки МР читал но немного не понял. Буду ещё раз шерстить. В приёмник я правильно подключаю в RSSI(PWM)? У него сбоку есть ещё цифровой вход для хаба, но он только свой фрскай хаб.
Сорри, ввел вас в заблуждение. С модулем D4R-II я не тестировал, но теоретически все должно работать. Только подключайте не к RSSI, а к RX хаба.
Добрый день. Собрал схемку на арду про мини и D4R-II, данные с АРМ не передаются. Телеметрия с Фрскай передаётся, Rx Tx напряжение батареи через делитель и аналоговый порт А2 на аппе видны. Ардушку прошивал через Ардуино и XLoader, по виду сетодиодов типа работает, сначала загрузка частое мигание потом раз в секунду передача данных. Причем отключаю питание аппы медленное мигание становится более частым. Приёмыш подключен через РРМ на 1 канале, на 3 4 канале перемычка, к арду про через 2 канал одним проводом. Питание одно общее через АРМ. В АРМ паралельно 3DR, Rx Tx местами менял и по одному подключал. Куда копать дальше не знаю, правильно ли к приёмышу подключаю и вообще будет он работать в этой схеме?
При подключении совместно с 3DR нужно подключать к ардуине только TX (TX на порте телеметрии и RX на ардуине). Дополнительно нужно прописать настройки в MP. Не спеша почитайте эту тему, такая схема подключения уже обсуждалась, все работает. Ну и не забудьте USB отключить.
В “Pro” версии и процессор “pro” версии, какой-то там Atmel STM32. Так что все намного сложнее.
Это без разницы - тот же С, тот же ATMEL, что и MEGA
4refr0nt, ну тогда самый первый вопрос) В чем diff делаете и открываете прошивку? в eePe прям?
diff - утилита сравнения текстовых файлов, сравнивать нужно не прошивки, а исходные коды прошивок, по одному файлу.
Файлы открываются в любом текстовом редакторе. Сначала лучше научится компилировать прошивку из исходников для вашей аппы, ну а потом уже вносить туда изменения и перекомпилировать. Нужен, хотя бы, небольшой опыт программирования на C/C++ и небольшой опыт работы с компилятором WinAVR (или чем то похожим). Если все, что я написал, для вас незнакомо, то будет трудновато и стоит подумать имеет ли смысл вообще вам эти заниматься.
Приветствую! Прочитал тему и загорелся идеей воплотить у себя, но возникли трудности(( У меня аппаратура turnigy 9xr Pro, и на нее не подошла не одна из прошивок которые выложены в теме. Так то на Pro версии стоит та же er9x, но немного измененная. Был бы рад если бы этот кусок модификации внедрили и на 9xr pro. Готов поэксперементировать на своей аппаратуре. Вот даже файл с прошивкой приложил. Надеюсь на вашу помощь.
К сожалению, без отладки такие изменения невозможно сделать и я не могу каждый билд вам на проверку отправлять - это будет утомительно долго. Можете сделать diff моей прошивки и r812 - увидите все изменения - попробуйте сделать их для вашей прошивки. На ваши вопросы, которые возникнут я постараюсь ответить.
Ну или вышлите мне аппу, такую же как у вас 😃
Стоит не ардуина а мега328 с кварцем на 16мгц. Когда появился 3d fix (правда только по 4м спутникам с подоконника), стало получше, но частота обновления неравномерная - то быстро, то скатывается до той, что без gps, и редко проскакивает NO MAV. Подключен только rx меги, т.к. будут стоять еще модемы.
В аппе миксы совсем простые, не совсем понял, где смотреть задержку.
Ясно. Не, аппа не причем.
Раз у вас не подключен TX, значит моя прошивка не может настроить частоту и набор параметров телеметрии - из-за этого и задержка. Такая схема здесь обсуждалась - почитайте внимательно.
Загрузку пишет на уровне 70%, проверял просто в комнате и gps соответственно не был пойман, спасибо за совет, попробую с ним. Задержка идет по всем параметрам примерно одинаковая. Получаемые параметры по дефолту, на этой же линии будут висеть osd и модем, поэтому снижать скорость обновления пока не хочется.
А ардуина 3.3в или 5в ? У 3.3в версий частота снижена
Сделал все по инструкции, после некоторых танцев с бубном вроде завелось. Отображает корректно, но с приличной задержкой в секунду или более. Возможно ли как-то увеличить скорость реакции?
Минимально возможная задержка около 200мсек
Если вы смотрите задержку по режиму полета, то имейте ввиду, что режим достаточно долго может переключаться в самом ардукоптере. посмотрите задержку остальных параметров, не обращая внимания на полетный режим.
Задержка в 1сек в начале работы, до 3D FIX, возможна. Погоняйте подольше, полетайте - может все и нормально будет.
Если нет:
- Посмотреть загрузку меги у ардукоптера - если более 90%, то разгрузить проц ардукоптера (сам ардукоптер не успевает слать телеметрию)
- Снизить количество получаемых от ардукоптера параметров (уже обсуждалось, отключите TX и настройте передачу параметров)
- Выбрать ардуину с более мощным процессором и более высокой частотой
- Проверьте загрузку меги у аппы (есть там время ответа в us) - если у вас куча микшеров и т.п. может проц аппы не успевает и пропускает пакеты
День добрый! Прошивка супер, но столкнулся с маленьким нюансом, не отображаются некоторые режимы полета: position и drift. Турнига 9хr
Специально посмотрел github.com/diydrones/ardupilot/blob/…/defines.h (версия ArduCopter V3.3-dev)
// Auto Pilot modes
// ----------------
#define STABILIZE 0 // hold level position
#define ACRO 1 // rate control
#define ALT_HOLD 2 // AUTO control
#define AUTO 3 // AUTO control
#define GUIDED 4 // AUTO control
#define LOITER 5 // Hold a single location
#define RTL 6 // AUTO control
#define CIRCLE 7 // AUTO control
#define LAND 9 // AUTO control
#define OF_LOITER 10 // Hold a single location using optical flow sensor
#define DRIFT 11 // DRIFT mode (Note: 12 is no longer used)
#define SPORT 13 // earth frame rate control
#define FLIP 14 // flip the vehicle on the roll axis
#define AUTOTUNE 15 // autotune the vehicle's roll and pitch gains
#define POSHOLD 16 // position hold with manual override
что в точности соответствует режимам в моих последних прошивках.
Может у вас прошивка не arducopter, а что-то из клонов?
Последовательность действий: аппарат стоит на полу, выполнил арм-дизарм, alt обнулился, дальше руками аппарат плавно поднимаю, при поднятии до 1м показания не меняются (равны 0), дальше на высоте 1.1м показания становятся -0.1 и далее меняются от -0.1 до -0.9 ближе к высоте 2м. После -0.9 отображается 1.0 (реально высота 2м). Дальше вроде нормально (только с погрешностью минус 1м). В Mission Planner такого не наблюдается. Er9x 64, прошивка 3.20 - может из-за нее?
Иногда “мертвая зона” меньше - т.е. показания alt начинают меняться на 0.7м, но всегда последовательность 0, -0.1, …, -0.9, 1.0, 1.1,…
В любом случае лучше использовать последние версии прошивок и в ардуине и в аппе. Вроде был какой-то баг на малой высоте, вроде его исправлял. Зимой не летаю, так что сам уже все забыл 😃 Попробуйте перепрошится, если баг останется, отпишитесь здесь. Как начнется полетный сезон я достану свой квадрик и баги поправлю.
Почему то параметр alt ниже метра отображается с “минусом”. Т,е. 2…1.5…1.0…-0.5… 0. Это нормально?
может взлетали со стола, а не с земли?
Да у меня просто все это дело под крышкой и каждый раз снимать/одевать не совсем удобно. А чем она мешает - она что-то тоже шлет черзе Тх или просто “держит линию” и таким образом создает помеху? Не поможет диод поставить на Тх ардуины?
Если нужных ей данных телеметрии нет некоторое время (вроде 3сек, точно не помню), то она шлет пару пакетов в APM.
Подключил их вместе ак вы советовали - заработало … не смог записать маршрут для автопилота из МР в АМП, выдавало все время ошибку
ну это да, ардуина мешает, когда кто-то активно передает данные в APM. Может ее просто физически отключать перед записью маршрута?
Не подскажете в какую сторону копать?
А попробуйте TX от ардуины и 3DR соединить. Ардуина Передает данные только один раз, через минуту после включения - делает настройки под себя. Потом подключится MP, свои настройки сделает, ардуина если увидит, что телеметрии нет нормальной, то снова на TX несколько пакетов кинет. А еще вариант - оставить TX только от ардуины. Если в MP вам не нужно слать команды на ардукоптер, то вполне должно работать. Почитайте эту тему, у нас был успешный опыт параллельного включения 3DR
было бы логично иметь второй выход на ардуине (с инверсией)
К сожалению, на ардуине уже не осталось свободных пинов после реализации управления 8-ми канальной подсветкой.
Для переключения инверсного сигнала на обычный необходимо в файле APM_Mavlink_to_FrSky.ino в строке 125
frSkySerial = new SoftwareSerial(6, 5, true);
заменить на
frSkySerial = new SoftwareSerial(6, 5, false);
отлично работает и с openlrsng orange, но желательно вывести на платке атмеги инверсный сигнал frsky (d5), иначе приходится применять внешний инвертор.
Не могли бы вы подробней рассказать о том, как это все у вас реализовано.
Но есть же дефолтное значение. Вот его и подправить.
Дефолтное есть, если вы свои настройки не заливаете через eePe после прошивки. Но ведь мало кто заново все настройки делает? Поправьте меня, если я не прав.
Виктор, так может сразу собирать прошивку для 128 со значением ON?
я рассматривал такой вариант, но мы же надеемся, что пятый экран телеметрии смержится в основную ветку er9x, а там это будет не к месту 😃 Переговоры с Майком, разработчиком er9x, уже ведутся, но он пока занят, жду когда он все посмотрит.
А само значение параметра находится не в прошивке, а в EEPROM, которую мы редактируем с помощью eePe. А совместимость с eePe точно терять не хочется.
Упс. даже не знал.Спасибо,завтра попробую.
Да не только вы. Многие владельцы 9X с 128 мегой, когда сделают FrSky мод, то как написано в er9x wiki, заливают ER9x-FRSKY. А это версия для 64 меги только. Телеметрия FrSky давно уже интегрирована в обычную er9x-128. После того как сделали мод, то ничего прошивать не надо, только в настройках FrSky Mod Done=ON. Надеюсь, они когда-нибудь обновят wiki.
Сейчас другу ставил прошивку на 9RX 128меги,почему то пульт не видит телеметрию,и не только мавлинк,но и рсси тх и rx.😦
На тот же пульт слил прошивку меги64 , телеметрия появилась.😃
Виктор вы уверены,что 128 (последняя) прошивка рабочая?
Может забыли, что в 128 прошивке надо FrSky Mod Done=ON ?
Спасибо! То, что нужно! Искал в настройках что нибудь на имя MAV, но оказалось надо SR1 )))
Настроил так (было SR1_PARAMS=0, выставил на SR1_PARAMS=3):
Теперь при отключенном BT соединении пульт отображает все, что нужно.
При подключении и последующем разрыве поток сообщений MavLink не прекращается и пульт снова работает корректно.
Все же рекомендую EXTRA1 и EXTRA2 сделать 5, иначе “радар” будет работать с большим запаздыванием.
Но у меня не получается одновременное подключение Bluetooth модуля + Ардуино.
Arducopter, как это ни парадоксально, по умолчанию не шлет телеметрию в порт телеметрии. Поэтому, любым телеметрийным устройствам (все OSD и ардуина с моей прошивкой) необходимо сначала изменить параметры по умолчанию ардукоптера - подключение TX нужно только для этого. После старта ардуина ждет около минуты пока загрузится ардукоптер, после этого шлет команду, которая заставляет ардукоптер выдавать различные данные телеметрии с определенной частотой. Позднее никакие данные и команды от ардуины в ардукоптер не передаются (если телеметрия приходит), а идет только прием. В случае, если в течение 5 секунд нет телеметрии (например, какое-то устройство изменило наши настройки, что очень маловероятно), то снова шлем команду на передачу телеметрии. Исходя из этого предлагаю два решения:
-
Подключать линию TX ардуины только на период старта и после того, как начнете уверенно получать все данные на пульте - TX ардуины можно отключить (блютус все время остается подключенным)
-
Изменить параметры по умолчанию ардукоптера и не подключать TX ардуины вообще.
В MissionPlanner: Config/Tuning - Full Parameter List - Find - SR1
SR1_RAW_SENS=2 ( 2hz for raw imu sensor data )
SR1_EXT_STAT=2 ( 2hz for waypoints, GPS raw, fence data, current waypoint, etc)
SR1_RC_CHAN=2 ( 2hz for radio input or radio output data )
SR1_POSITION=2 ( 2hz for location data )
SR1_EXTRA1=5 ( 5hz for attitude)
SR1_EXTRA2=5 ( 5hz for VFR_Hud data )
SR1_EXTRA3=2 ( 2hz for AHRS, Hardware Status, Wind )
Остальные SR1_ оставить как были (у меня 0)
Это должно сработать на ардуино с моей прошивкой и на всех OSD.
Т.е. от OSD тоже можно не подключать TX.
Параметры SE1_ у разных OSD могут немного отличаться - смотрите исходный код (ищите поиском MAV_DATA_STREAM_EXTENDED_STATUS)
Единственный подводный камень с одновременным использованием блютус, это то, что MP выставляет свои параметры на период сеанса (он же тоже принимает телеметрию). Попробуйте и отпишитесь - я думаю, что ваш опыт будет интересен многим.
А использование второго порта под телеметрию возможно, но настоятельно не рекомендуется по причине высокой загрузки процессора. Но можете попробовать (в полете контролируйте cpu_load!)
Using UART2 port
This way you dont have to connect with the 3dr radio to get the mavlink data going. The Arduino will make a mavlink rate request to the APM. This is done by modifying system.pde around line 149 to look like this(AC 3.1RC7).//#if CONFIG_HAL_BOARD != HAL_BOARD_APM2 // we have a 2nd serial port for telemetry on all boards except // APM2. We actually do have one on APM2 but it isn't necessary as // a MUX is used hal.uartC->begin(map_baudrate(g.serial3_baud, SERIAL3_BAUD), 128, 128); gcs3.init(hal.uartC); //#endifBe aware that enabeling uart2 on the APM will add more processor load to the already cogged CPU. Alt hold and auto modes can be affected by this hack. As of AC 3.1 a lot of improvements has been made to lower the load on the APM by the dev team. Running a extra mavlink port should work but do this at your own risk!
У меня последний пункт что-то про переключалку звука, я думаю что прошивка именно та что надо, экран mavlink-овый имеется
очень похоже, что вы залили 64 прошивку. Как раз настройки между 128 и 64 действительно несовместимы и в 64 версии нет настройки про FrSky
а что делать если нет такого пункта и THR и AIL всегда включены, стики как будто не откалиброваны и THR начинает жутко мигать когда копетр включаю (данные вроде как должны начать сыпаться)?
брал 128 прошивку с форума и черех svn (чип 128A), все настройки поменялись, подсветки нет, при включении после прошивки пишет что EEPROM плохой и форматирует (не смотря на то что заливал прошлый eeprom, как в инструкции)
- Если честно, то что-то не сходится. Если вы прошили эту прошивку для меги128 то настройка “FrSky mod done ON” точно должна быть. Причем эта фича не моя - эта настройка из обычной r812-128.
- Какая была версия прошивки раньше? И настройки от er9x? Настройки с r813 не проверял. И в какой версии формата ранее были настройки? (там есть варианты v2 и v3 в eePe на вкладке настройка, последняя строка) Если у вас v2, то такое возможно - я проверял только на v3. Попробуйте залить мои настройки (в аттаче к этому посту)
- FrSky Hardware Mod у вас точно сделан? На обычной r812-128 телеметрия (аналоговый датчик напряжения) работает?
Тут мне еще маленькую идею подали.
А что если на наземную ардуинку добавить, какой то дешевенький жпс модуль.
И на радаре уже точно знать,где ты и где квад.
Плюс можно создать доп экран для поиска.Где стрелка на радаре будет показывать куда направлятся.😒
Жду 128…😦
Для схемы с WiFi (или Bluetooth) в аппе планировалось использовать cмартфон и его экран для поиска аппарата. В этом случае дополнительный наземный GPS не нужен. Кроме того на смартфоне можно подключить GoogleMap и видеть в реалтайме где летит квадрик (ну или упал) как в MissionPlaner по данным бортового GPS. При наличии встроенного GPS в смартфоне можно выводить обе точки (местоположение квадрика и пилота) ну и направление, разумеется. Так что вариантов масса.
Кто-нибудь сможет потестить такой вариант?
Конвертировать mavlink->FrSky не в воздухе, а на земле.
APM -> 3DR radio AIR -> 3DR radio ground -> Arduino -> 9X

D6 можно не подключать. Но на будущее может пригодится.
Нашу ардуину ставим не на квадрике, а в аппу. Принимаем mavlink по радиоканалу и конвертируем в FrSky протокол уже на земле. Аппе отдаем FrSky поток. Аппа будет думать, что данные ей шлет телеметрийный модуль FrSky и будет все отображать на экране.
Прошивка аппы - наша, прошивка ардуины тоже. Никаких модификаций в прошивках не требуется вроде. Единственный подводный камень: правильно подключить 3DR radio ground module - нужно взять TX и RX до USB. Возможно придется физически отключить FTDI на 3DR (наверное можно убрать пару резисторов)
Питание и землю я не нарисовал, они подразумеваются. Вопрос только в энергопотреблении: выдержит ли стабилизатор питания на аппе такую нагрузку? Можно запитать 3DR пока отдельно. Ардуину лучше запитать прямо от акка, чтобы она не мешала при перепрошивки аппы.
Преимущества такого решения: не требуются модули с телеметрией FrSky.
Недостатки: нужен hardware mod 3DR и аппы.
Обсудим?