Полетные режимы вашего квадрика и направление на экране аппы

shalex

Спасибо за отличный проект!

Но у меня не получается одновременное подключение Bluetooth модуля + Ардуино.

Если не подключать TX ардуины, то без активного соединения с Mission Planner на пульте не обновляется статус GPS. Пульт все показывает только с Mission Planner, т.к. если подключиться с планшета, то опять не отображает статус GPS на пульте. Вероятно, в таком подключении, пульт будет показывать корректно только при активном обмене телеметрией с Mission Planner (думаю, FrSky победит BT в соревновании на дальность, потом телеметрия на пульте “остановится”)

Есть ли возможность подключить Ардуино к другому порту APM, включая TX на Ардуино?
Или возможность настроить APM, чтобы он отправлял достаточно параметров по MavLink?
Возможно этот баг уже исправлен? ))

Пока вижу только один путь: переключатель TX-ов ардуино и BT-модуля. Но это означает, что либо телеметрия на планшете(компе), либо на пульте.

P.S. Пробовал даже странное одновременное подключение TX от BT и TX ардуино: APM не может подключиться к Mission Planner, но пульт корректно отображает параметры ))

4refr0nt
shalex:

Но у меня не получается одновременное подключение Bluetooth модуля + Ардуино.

Arducopter, как это ни парадоксально, по умолчанию не шлет телеметрию в порт телеметрии. Поэтому, любым телеметрийным устройствам (все OSD и ардуина с моей прошивкой) необходимо сначала изменить параметры по умолчанию ардукоптера - подключение TX нужно только для этого. После старта ардуина ждет около минуты пока загрузится ардукоптер, после этого шлет команду, которая заставляет ардукоптер выдавать различные данные телеметрии с определенной частотой. Позднее никакие данные и команды от ардуины в ардукоптер не передаются (если телеметрия приходит), а идет только прием. В случае, если в течение 5 секунд нет телеметрии (например, какое-то устройство изменило наши настройки, что очень маловероятно), то снова шлем команду на передачу телеметрии. Исходя из этого предлагаю два решения:

  1. Подключать линию TX ардуины только на период старта и после того, как начнете уверенно получать все данные на пульте - TX ардуины можно отключить (блютус все время остается подключенным)

  2. Изменить параметры по умолчанию ардукоптера и не подключать 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);
//#endif

Be 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!

shalex

Спасибо! То, что нужно! Искал в настройках что нибудь на имя MAV, но оказалось надо SR1 )))

Настроил так (было SR1_PARAMS=0, выставил на SR1_PARAMS=3):

Теперь при отключенном BT соединении пульт обновляет все параметры.
При подключении BT и последующем разрыве поток сообщений MavLink от APM не прекращается и пульт снова работает корректно!

4refr0nt
shalex:

Спасибо! То, что нужно! Искал в настройках что нибудь на имя MAV, но оказалось надо SR1 )))

Настроил так (было SR1_PARAMS=0, выставил на SR1_PARAMS=3):

Теперь при отключенном BT соединении пульт отображает все, что нужно.
При подключении и последующем разрыве поток сообщений MavLink не прекращается и пульт снова работает корректно.

Все же рекомендую EXTRA1 и EXTRA2 сделать 5, иначе “радар” будет работать с большим запаздыванием.

HATUUL

Сейчас другу ставил прошивку на 9RX 128меги,почему то пульт не видит телеметрию,и не только мавлинк,но и рсси тх и rx.😦
На тот же пульт слил прошивку меги64 , телеметрия появилась.😃
Виктор вы уверены,что 128 (последняя) прошивка рабочая?

4refr0nt
HATUUL:

Сейчас другу ставил прошивку на 9RX 128меги,почему то пульт не видит телеметрию,и не только мавлинк,но и рсси тх и rx.😦
На тот же пульт слил прошивку меги64 , телеметрия появилась.😃
Виктор вы уверены,что 128 (последняя) прошивка рабочая?

Может забыли, что в 128 прошивке надо FrSky Mod Done=ON ?

HATUUL

Упс. даже не знал.Спасибо,завтра попробую.
Ура меги 128 приехали.😃

4refr0nt
HATUUL:

Упс. даже не знал.Спасибо,завтра попробую.

Да не только вы. Многие владельцы 9X с 128 мегой, когда сделают FrSky мод, то как написано в er9x wiki, заливают ER9x-FRSKY. А это версия для 64 меги только. Телеметрия FrSky давно уже интегрирована в обычную er9x-128. После того как сделали мод, то ничего прошивать не надо, только в настройках FrSky Mod Done=ON. Надеюсь, они когда-нибудь обновят wiki.

HATUUL

Уфф.
Заменил на 128ую,не без происшествий,внвчале экран отказался включаться,затем стик тротола не работал,3-х часовая промывка и пропайка решили проблему.😎

Сегодня вместе с другом полетали,все супер,сейчас думаю сделать наконец подсветку.😒

strizhmax
4refr0nt:

После того как сделали мод, то ничего прошивать не надо, только в настройках FrSky Mod Done=ON.

Виктор, так может сразу собирать прошивку для 128 со значением ON?

4refr0nt
strizhmax:

Виктор, так может сразу собирать прошивку для 128 со значением ON?

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

strizhmax
4refr0nt:

А само значение параметра находится не в прошивке, а в EEPROM, которую мы редактируем с помощью eePe.

Но есть же дефолтное значение. Вот его и подправить.

4refr0nt
strizhmax:

Но есть же дефолтное значение. Вот его и подправить.

Дефолтное есть, если вы свои настройки не заливаете через eePe после прошивки. Но ведь мало кто заново все настройки делает? Поправьте меня, если я не прав.

andreyda

отлично работает и с openlrsng orange, но желательно вывести на платке атмеги инверсный сигнал frsky (d5), иначе приходится применять внешний инвертор.

4refr0nt
andreyda:

отлично работает и с openlrsng orange, но желательно вывести на платке атмеги инверсный сигнал frsky (d5), иначе приходится применять внешний инвертор.

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

andreyda

передатчик турнига (переделан для работы с frsky телеметрией, но без инверторов в фриске сигналы берутся до преобразователя уровней) . вместо фриски ставим орандж (в орандже тх и рх заводим на контакты также как в фриске) , в модуле приемника на рх подаем телеметрию с ардуино — но для того чтобы вся эта фигня заработала нужен доп инвертор либо на приемной либо на принимающей стороне , поэтому было бы логично иметь второй выход на ардуине (с инверсией) . есле непонятно будет позже разрисую

4refr0nt
andreyda:

было бы логично иметь второй выход на ардуине (с инверсией)

К сожалению, на ардуине уже не осталось свободных пинов после реализации управления 8-ми канальной подсветкой.

Для переключения инверсного сигнала на обычный необходимо в файле APM_Mavlink_to_FrSky.ino в строке 125

frSkySerial = new SoftwareSerial(6, 5, true);

заменить на

frSkySerial = new SoftwareSerial(6, 5, false);
11 days later
Norgvan

А какая у кого загрузка центрального процессора?
А то у меня процессор в покое 50-60%
97-99% в полете.
Амп 2,6

zveruga

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

4refr0nt:
  1. Изменить параметры по умолчанию ардукоптера и не подключать TX ардуины вообще.

Подключил параллельно ардуину и 3DR модем (точнее его китайский клон), Тх ардуины не подключал, в МР выставил параметы SR1 как вы советовали.
Теперь, если подключиться к МР через модем - данные на пульте обновляются корректно, даже после отключения, если же к МР не подключаться, то периодически, там где выводится полетный режим, пишет NO MAV, а потом опять выводит полетный режим (частота неск. герц). Данные не обновляются, кроме полетного режима (он обновляется). Не подскажете в какую сторону копать? Как я понимаю дело как раз в том, что

4refr0nt:

Единственный подводный камень с одновременным использованием блютус, это то, что MP выставляет свои параметры на период сеанса (он же тоже принимает телеметрию).

4refr0nt
zveruga:

Не подскажете в какую сторону копать?

А попробуйте TX от ардуины и 3DR соединить. Ардуина Передает данные только один раз, через минуту после включения - делает настройки под себя. Потом подключится MP, свои настройки сделает, ардуина если увидит, что телеметрии нет нормальной, то снова на TX несколько пакетов кинет. А еще вариант - оставить TX только от ардуины. Если в MP вам не нужно слать команды на ардукоптер, то вполне должно работать. Почитайте эту тему, у нас был успешный опыт параллельного включения 3DR

zveruga

Подключил их вместе как вы советовали - заработало. На пульте No mav мигал только пока МР получал данные при коннекте, дальше работало параллельно без проблем. Единственное “но” - не смог записать маршрут для автопилота из МР в АМП, выдавало все время ошибку (см. вложение). А так в целом - супер! Очень удобно стало летать, раньше подал питание на коптер и ждешь не зная - словились спутники или нет, приемлимый ли hdop, а теперь все видно. Так же удобно следить в каком состоянии питание, какое потребление тока. Проект - отличный, еще раз спасибо автору.

Norgvan:

А какая у кого загрузка центрального процессора?
А то у меня процессор в покое 50-60%
97-99% в полете.
Амп 2,6

У меня точно так же.