ArduCopter Mega: порт на обычную Arduino (тестим)

SovGVD

по rx/tx никто не делал связей, просто смотрится есть сигнал на 3 канале или нет, можно в общем то привязать и качество связи, например если за 10 периодов 3 раза не было сигнала, то 70% качество, но нужно ли?
алгоритм обнаружение сигнала

  1. есть прерывание - счетчик на ноль
  2. счетчик всегда плюсуется
  3. нет прерывания - счетчик плюсуется
  4. дошел счетчик до 20 - ставим его всегда 20 (чтобы переполнения не было) и делает какой то из вариантов FS
Sir_Alex

Такс, подкрутил я немного библиотеку входных сигналов от аппы.

  1. Статус рабочего приемника не отдается, пока не получим первый правильный пакет данных от приемника. Раньше всегда отдавался “работаем”. Это пришлось подправить, что бы не активировался FAILSAFE при запуске контроллера с отключенной аппой или приемником.
  2. FAILSAFE алгоритм детектирует пропажу сигнала по каналу THROTTLE. Если в течении 0.2сек нет сигнала, включается наш механизм FAILSAFE и выставляются значения 950,1500,1500,1500 (THROTTLE, PITCH, ROLL, YAW), Остальные каналы выдают то, что было последним валидным значением.
  3. В случае сработки нашего FS - вступает в работу штатный алгоритм FS? если он конечно включен и настроен через Mission Planner. Пороговое значение PWM можно оставить по умолчанию = 975
  4. В режиме PPM_SUM, так же отрабатывается FS.
  5. Добавил маленькие проверки на ширину импульса в случае PPM_SUM.
  6. Отключить наш FS можно в файле APM_RC_Pirates.cpp, в начале файла закоментить дефайн.

Ну и собственно сам файлик прикладываю, он от версии MPNG 2.8R3. Так же обновления залиты в SVN.

P.S. Основа взята из алгоритма Глеба (SovGVD) но я более красиво оформил его и доработал 😃

APM_RC.rar

Serj=
Sir_Alex:

он от версии MPNG 2.8R3

А в 2.7R4 будет работать?

Sir_Alex
Serj=:

А в 2.7R4 будет работать?

Возможно что и заработает, если скомпилится…

Serj=

Не компилится 😦
ArduCopter.cpp: In function ‘void throttle_failsafe()’:
radio:176: error: ‘class APM_RC_PIRATES’ has no member named ‘GetFailSafeState’
Придется на 2.8 переползать.

Serj=
Serj=:

Завел себе такую табличку для тестирования

Еще два плюсика в мою табличку SuperSimple и Circle.
И подтвердил для себя еще раз, где заармился там и дом.

SovGVD
Serj=:

Еще два плюсика в мою табличку SuperSimple и Circle.

еще FPV

kren-DEL

Доброго времени суток, настраивал сегодня Stabilise P через 7-й канал в полёте, при попытке резко убрать с 6.0 до 3.0 коптер вырубил движки и шлёпнулся, это нормально? Можно ли настраивать ПИДы в полёте, или нежелательно?

Sir_Alex
kren-DEL:

Доброго времени суток, настраивал сегодня Stabilise P через 7-й канал в полёте

Разве 7й канал? Может все таки 6й?
То что вырубил движки ненормально, ИМХО, возможно главный цикл программы завис и сработал Failsafe. Жаль что нет логов…

kren-DEL
Sir_Alex:

Разве 7й канал? Может все таки 6й?

да, всё верно… 6-й, до этого я медленно начал опускать Р с 6 до 3 и обратно поднимать, чтобы найти наилучший параметр, а затем резко спустил до 3-х, судя по всему алгоритм завис, т.к. красная лампочка не мигала после падения(хотя может холод так повлиял на мою ардуинку 2560, или на датчики…) кстати, чем выше Стаб Р тем его должно больше колбасить или наоборот?

EduardNN

Где-то натыкался на описание режимов ардукоптера и зависимость этих режимов от GPS, нельзя ли подробней описать режимы , особенно те которые появились в последних версиях?

Serj=

Кто-то уже подключал к пирату minimOSD? Как заставить работать его без модема? Модем у меня стоит, но пока коннекта с наземкой нет ОСДшка данные не кажет. Tx с ОСД не подключал.
О, нашел в теме по Ардукоптеру, помню же что гдето проскакивало. Проверил, работает!
Но после подключения ОСД (подключил только к 5 В, запаял перемычки) Планер совсем фигню кажет по напряжению

Может не стоило землю AIO Pro и камеры с видео передатчиком объединять?

kren-DEL

Знатоки, подскажите, для использования сиквенсора необходимо собрать ключ для управления 12В (ведь светодиодные ленты 12 вольтовые, а плата ардуино мега 2560 питается от 5В)?

Sir_Alex

Почти завершен порт ArduCopter 2.9-rc4. Ищу бета тестеров. Прошивка доступна через SVN.

Самое главное протестировать новый код FAILSAFE! (Описание смотрите чуть выше в этой теме). Я как мог все проверил, но я последний раз взлетал пол года назад (сапожник без сапог, хы хы)

Lazyan
Sir_Alex:

Почти завершен порт ArduCopter 2.9-rc4. Ищу бета тестеров. Прошивка доступна через SVN.

Замечательно!
Завтра, надеюсь, потестирую. На что еще обратить внимание, кроме фейлсейфа?

Sir_Alex

Версия обновлена до MPNG 2.9 R2 - ArduCopter 2.9-rc5 (По прежнему в SVN - не хочу отдавать публично пока не выйдет релиз AC)

Lazyan

Залил 2.9-rc4 без проблем. Летает не хуже 2.8. Фейл проверить не получится - у меня приемыш не поддерживает.

Пользую Crius AIO 1.

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

Sir_Alex
Lazyan:

Фейл проверить не получится - у меня приемыш не поддерживает.

Так мы специально и сделали новый FAILSAFE для тех у кого приемник не имеет его. Работает он по каналу Throttle, если за определенный отрезок времени, не будет сигнала на нем, то включится штатный FAILSAFE. Так же FS сработает если например отключить питание от приемника.
Если FS есть в приемнике, то его надо настроить так, что бы при FS канал Throttle выставлял значение меньше 975.

В любом случае, FS еще должен быть включен через Mission Planner.