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

Maksut

Ну вот прошли все в норме. Теперь остаеться прикрутить ардуинку к коптеру и в полет.
А вот интересно будет все паралельно работать телеметрийный модуль + osd+ mavlink arduino все с одного порта?

4refr0nt
Maksut:

телеметрийный модуль + osd+ mavlink arduino все с одного порта?

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

Maksut
4refr0nt:

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

Да конечно, но это не скоро.

evgbog
4refr0nt:
  1. Проверьте MUX - он тоже может пострадать при проблемах при одновременном подключении отдельного источника питания и USB
  2. Можно использовать другой UART2, если UART0 спалили, но потребуется небольшое (пара строк кода) внесение изменений в исходники ардукоптера
    и запайка джампера

Спасибо за ответ. В общем, ситуация сейчас следующая - Nano прошита нормально, активно мигает при старте, а потом с периодом 1сек, и при подключении D5 на аппе высвечивается NO MAV. Т.е. сигнал с Ардуино идет. На порту телеметрии сейчас “тишина” - получается, это у меня вылетел порт MUX TX/RX судя по схеме. Чем мне это грозит? Я так понимаю порт телеметрии можно джамперами перекинуть с MUX на UART2, подскажите - где это в прошивке править? На порту UART0 сигнал присутствует, т.е. он рабочий. Через USB связь есть. Получается, мне микросхему TS5A23157 нужно менять?

4refr0nt
evgbog:

На порту UART0 сигнал присутствует, т.е. он рабочий

  1. Если живой, то попробуйте взять телеметрию не с разъема, а с боковых контактов UART0 - если будет работать, то можно и не менять ничего, просто будете вручную по очереди подключать разъемы USB/телеметрии.
  2. По ремонту MUX - позадавайте вопросы в соответствующей теме про ардупилот - наверняка люди помогут.
  3. Про UART0->UART2
    запаяйте джампер и сделайте это:
    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
    Только сначала попробуйте залить в ардупилот старую версию ардукоптера, в которой уже поменян UART0 на UART2
    теоретически данные должны пойти в стандартный порт телеметрии, только с UART2, независимо от состояния MUX
evgbog
4refr0nt:
  1. Если живой, то попробуйте взять телеметрию не с разъема, а с боковых контактов UART0 - если будет работать, то можно и не менять ничего, просто будете вручную по очереди подключать разъемы USB/телеметрии.

Я ошибся - телеметрия живая, ее не было т.к. запитался от USB. В общем, проблема остается как была раньше - при подключении телеметрии в RX Arduino меняется вид сигнала.

См. осцилограммы. 1ая - сигнал телеметрии до подключения, вторая - после.

evgbog

Похоже, разобрался:

  1. При подключении напрямую к UART0 - все заработало, сигнал в норме (как на 1 осциллограмме).
  2. При подключении к порту телеметрии - не работает, сигнал как на 2ой осцилограмме.
  3. Провел эксперимент - TX c порта телеметрии посадил через резистор 2к на шину +5в. И получил ровно такую же картину - просадку сигнала в сторону +5в как на 2ой осциллограмме.

Выводы: С порта TX телеметрии (MUX TX) идет очень слаботочный сигнал, который не предполагает наличии в цепи резисторов, подтягивающих на +5в шину. Т.е. сигнал не стандартный для TTL логики. На Arduino Nano стоит стандартный FTDI конвертер, который запитывается даже при отсутствии подключения USB, при этом лог “1” с TX FTDI заведена на RX Arduino через резистор 1к. В результате сигнал просаживается (осцилограмма 2) и прием от APM не работает.

Вообще, странно, в даташите на MUX микросхему TS5A23157 указан макс ток ключа 50 мА, подтяжка через 1к на +5в дает ток всего 5 мА, стандартная логика 74ALS держит при лог “0” 8 мА. В моем случае (не выпаивать же FTDI) поставлю стандартный TTL повторитель на 74ALS, надеюсь, все заработает.

P.S. Плохо, что в Er9X не видно пропадания связи с телеметрией, в OpenTX сразу пишется NO DATA.

evgbog

Все, наконец дошло. Посмотрел по схеме, оказывается, UART0 подключен к микросхеме MUX через резистор 1к. В итоге при лог “0” с TX UART0 мы получаем делитель 2:1 (1к резистор в APM, 1к резистор в Arduino Nano). Значит на Nano нужно ставить повторитель. Надеюсь, мои изыскания кому-то пригодятся. Не все Arduino “одинаково полезны”.

4refr0nt
evgbog:

при подключении телеметрии в RX Arduino меняется вид сигнала.

а как сейчас организовано питание и что с землей?

evgbog:

Плохо, что в Er9X не видно пропадания связи с телеметрией, в OpenTX сразу пишется NO DATA.

В новой версии это реализовано следующим образом: при пропадании сигнала телеметрии начинает мигать строка с полетным режимом, армингом и числа в % RX TX

evgbog
4refr0nt:

а как сейчас организовано питание и что с землей?

Земля с Arduino общая, 2 контура питания APM соединены перемычкой (т.е. +5в Inputs соединен с +5в Outputs). Питание от BEC в ESC.

Еще пожелание - отображать координаты GPS, при этом, если телеметрия пропала, отображать последние значение. Очень может помочь при поиске упавшего аппарата, и тогда FrSky хаб со своим датчиком можно спокойно убрать будет. Я так понимаю на один экран это уже не влезет, может быть можно сделать 2 экрана - один с оперативной информацией для полета, второй - дополнительной для контроля, поиска и т.п.

4refr0nt
evgbog:

Еще пожелание - отображать координаты GPS, при этом, если телеметрия пропала, отображать последние значение.

на 4 экране телеметрии так реализовано. причем еще до меня. По крайней мере у меня так и работает - координаты на 4 экране отображаются всегда. При отсутствии связи они мигают.

Maksut

А как прошить Hex в ардуинку а то что то не работает xloader я шью через Ft232, т.е. RX TX?

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

4refr0nt
Maksut:

А как прошить Hex в ардуинку а то что то не работает xloader я шью через Ft232, т.е. RX TX?

ну хотя бы логи или скриншоты дайте, а то так сложно помочь, когда никакой инфы нет.

может вам проще будет из Arduino IDE прошить:

  1. Скачиваете Arduino IDE
  2. Устанавливаете любой SVN клиент, например этот
  3. В командной строке “svn checkout er9x-frsky-mavlink.googlecode.com/svn/trunk/ er9x-frsky-mavlink” - скачиваются исходники
  4. Из появившейся папки er9x-frsky-mavlink/mavlink-driver/libraries устанавливаете в пару кликов библиотеки в Arduino IDE (погуглите - описание этого процесса легко найти)
  5. В Arduino IDE открываете файл er9x-frsky-mavlink/mavlink-driver/APM_Mavlink_to_FrSky/APM_Mavlink_to_FrSky.ino
  6. В Arduino IDE Сервис -> Плата -> выбираете вашу ардуину
  7. В Arduino IDE Сервис -> Порт -> выбираете ваш порт
  8. В Arduino IDE в панели инструментов жмете вторую кнопку слева (выглядит как стрелка вправо) - все компилируется и заливается в ардуину
  9. Profit!
Maksut
4refr0nt:

ну хотя бы логи или скриншоты дайте, а то так сложно помочь, когда никакой инфы нет.

может вам проще будет из Arduino IDE прошить:

  1. Скачиваете Arduino IDE
  2. Устанавливаете любой SVN клиент, например этот
  3. В командной строке “svn checkout er9x-frsky-mavlink.googlecode.com/svn/trunk/ er9x-frsky-mavlink” - скачиваются исходники
  4. Из появившейся папки er9x-frsky-mavlink/mavlink-driver/libraries устанавливаете в пару кликов библиотеки в Arduino IDE (погуглите - описание этого процесса легко найти)
  5. В Arduino IDE открываете файл er9x-frsky-mavlink/mavlink-driver/APM_Mavlink_to_FrSky/APM_Mavlink_to_FrSky.ino
  6. В Arduino IDE Сервис -> Плата -> выбираете вашу ардуину
  7. В Arduino IDE Сервис -> Порт -> выбираете ваш порт
  8. В Arduino IDE в панели инструментов жмете вторую кнопку слева (выглядит как стрелка вправо) - все компилируется и заливается в ардуину
  9. Profit!

ОЙ спасибо! Прошил с помошью Arduino Hex Uploader and Programmer! как написал выше просто нада вовремя сбросить ардуинку.

evgbog

Собрал с Arduino Nano, в цепи RX включил повторитель на КР1533ЛП16. Теперь все работает.

Maksut

Спасибо за разработку, все работает. Вывел с Ардупилота 3 линии TX на телеметрию на ОСД и на ардуинку, без проблем а RX оставил только на телеметрию.

Freepooh
4refr0nt:

предложения приветствуются…

SCnt - satelites count. может нагляднее будет не SCnt, а CSat?
hdop - это аббревиатура, может лучше HDOP?
GAlt - по-мне, так вообще ненужный параметр
dhm - distance to home - опять аббревиатура, предлагаю DTH
“A - ток с датчика 3dr power module (или аналог)” и “напряжение батареи аппы” может быть местами поменять?

4refr0nt
Freepooh:

может нагляднее будет не SCnt, а CSat?

согласен. а может вообще просто “sat” ?

Freepooh:

hdop - это аббревиатура, может лучше HDOP?

Тут маленькие буквы с умыслом - заглавные буквы перетягивают на себя акцент внимания.
В шрифте er9x почему-то цифры ощутимо меньше, чем буквы, даже по ширине.
Заглавные буквы подряд в количестве больше двух мне видятся “выпячивающимися” и заслоняют собой цифры. Хотя мое мнение может оказаться субъективным.
Можно проголосовать - кто за hdop - ставьте “Спасибо” за этот пост, а кто за HDOP - за предыдущий.

Freepooh:

“A - ток с датчика 3dr power module (или аналог)” и “напряжение батареи аппы” может быть местами поменять?

напряжение лучше оставить в целях “совместимости” для тех кто уже привык, т.к. на остальных экранах телеметрии напряжение в этом же месте.

Maksut

После сегодняшних полетов возник вопрос как показывает высоту в метрах сантиметрах или еще как? А то у меня на земле показывает 330 а на высоте 600 что это?

Freepooh
4refr0nt:

на остальных экранах телеметрии напряжение в этом же месте.

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

evgbog

Некорректно отображаются координаты GPS и и абсолютная высота над уровнем моря (на экране с координатами). Через FrSky хаб отображается корректно.

Очевидно, что число после точки нужно делить на 6000, чтобы корректно отображались доли минуты в десятичном формате. С высотой не понял - вроде в 10 раз больше, но тоже не точно.

Ниже пример в картинках (FrSky, Mavlink, Garmin):