ArduCopter Mega: порт на обычную Arduino (тестим)
по rx/tx никто не делал связей, просто смотрится есть сигнал на 3 канале или нет, можно в общем то привязать и качество связи, например если за 10 периодов 3 раза не было сигнала, то 70% качество, но нужно ли?
алгоритм обнаружение сигнала
- есть прерывание - счетчик на ноль
- счетчик всегда плюсуется
- нет прерывания - счетчик плюсуется
- дошел счетчик до 20 - ставим его всегда 20 (чтобы переполнения не было) и делает какой то из вариантов FS
Такс, подкрутил я немного библиотеку входных сигналов от аппы.
- Статус рабочего приемника не отдается, пока не получим первый правильный пакет данных от приемника. Раньше всегда отдавался “работаем”. Это пришлось подправить, что бы не активировался FAILSAFE при запуске контроллера с отключенной аппой или приемником.
- FAILSAFE алгоритм детектирует пропажу сигнала по каналу THROTTLE. Если в течении 0.2сек нет сигнала, включается наш механизм FAILSAFE и выставляются значения 950,1500,1500,1500 (THROTTLE, PITCH, ROLL, YAW), Остальные каналы выдают то, что было последним валидным значением.
- В случае сработки нашего FS - вступает в работу штатный алгоритм FS? если он конечно включен и настроен через Mission Planner. Пороговое значение PWM можно оставить по умолчанию = 975
- В режиме PPM_SUM, так же отрабатывается FS.
- Добавил маленькие проверки на ширину импульса в случае PPM_SUM.
- Отключить наш FS можно в файле APM_RC_Pirates.cpp, в начале файла закоментить дефайн.
Ну и собственно сам файлик прикладываю, он от версии MPNG 2.8R3. Так же обновления залиты в SVN.
P.S. Основа взята из алгоритма Глеба (SovGVD) но я более красиво оформил его и доработал 😃
он от версии MPNG 2.8R3
А в 2.7R4 будет работать?
А в 2.7R4 будет работать?
Возможно что и заработает, если скомпилится…
Не компилится 😦
ArduCopter.cpp: In function ‘void throttle_failsafe()’:
radio:176: error: ‘class APM_RC_PIRATES’ has no member named ‘GetFailSafeState’
Придется на 2.8 переползать.
Завел себе такую табличку для тестирования
Еще два плюсика в мою табличку SuperSimple и Circle.
И подтвердил для себя еще раз, где заармился там и дом.
Еще два плюсика в мою табличку SuperSimple и Circle.
еще FPV
Доброго времени суток, настраивал сегодня Stabilise P через 7-й канал в полёте, при попытке резко убрать с 6.0 до 3.0 коптер вырубил движки и шлёпнулся, это нормально? Можно ли настраивать ПИДы в полёте, или нежелательно?
Доброго времени суток, настраивал сегодня Stabilise P через 7-й канал в полёте
Разве 7й канал? Может все таки 6й?
То что вырубил движки ненормально, ИМХО, возможно главный цикл программы завис и сработал Failsafe. Жаль что нет логов…
Разве 7й канал? Может все таки 6й?
да, всё верно… 6-й, до этого я медленно начал опускать Р с 6 до 3 и обратно поднимать, чтобы найти наилучший параметр, а затем резко спустил до 3-х, судя по всему алгоритм завис, т.к. красная лампочка не мигала после падения(хотя может холод так повлиял на мою ардуинку 2560, или на датчики…) кстати, чем выше Стаб Р тем его должно больше колбасить или наоборот?
Где-то натыкался на описание режимов ардукоптера и зависимость этих режимов от GPS, нельзя ли подробней описать режимы , особенно те которые появились в последних версиях?
Кто-то уже подключал к пирату minimOSD? Как заставить работать его без модема? Модем у меня стоит, но пока коннекта с наземкой нет ОСДшка данные не кажет. Tx с ОСД не подключал.
О, нашел в теме по Ардукоптеру, помню же что гдето проскакивало. Проверил, работает!
Но после подключения ОСД (подключил только к 5 В, запаял перемычки) Планер совсем фигню кажет по напряжению
Может не стоило землю AIO Pro и камеры с видео передатчиком объединять?
Знатоки, подскажите, для использования сиквенсора необходимо собрать ключ для управления 12В (ведь светодиодные ленты 12 вольтовые, а плата ардуино мега 2560 питается от 5В)?
для использования сиквенсора необходимо собрать ключ для управления 12В
Ага, вот так например.
А еще есть такая штука и здесь.
Почти завершен порт ArduCopter 2.9-rc4. Ищу бета тестеров. Прошивка доступна через SVN.
Самое главное протестировать новый код FAILSAFE! (Описание смотрите чуть выше в этой теме). Я как мог все проверил, но я последний раз взлетал пол года назад (сапожник без сапог, хы хы)
Почти завершен порт ArduCopter 2.9-rc4. Ищу бета тестеров. Прошивка доступна через SVN.
Замечательно!
Завтра, надеюсь, потестирую. На что еще обратить внимание, кроме фейлсейфа?
Я на выходных проверю 2.9-rc4.
Почти завершен порт ArduCopter 2.9-rc4. Ищу бета тестеров. Прошивка доступна через SVN.
качнул сюда nekaka.com/d/UEJhX9t1hX
Версия обновлена до MPNG 2.9 R2 - ArduCopter 2.9-rc5 (По прежнему в SVN - не хочу отдавать публично пока не выйдет релиз AC)
Залил 2.9-rc4 без проблем. Летает не хуже 2.8. Фейл проверить не получится - у меня приемыш не поддерживает.
Пользую Crius AIO 1.
Есть вопрос по удержанию высоты. Показания высоты в полете довольно жестко скачут в полете, может за пару сек на несколько метров прыгнуть. Хотя когда на земле стоит показывает довольно стабильно, хотя уползает по-немногу вверх. Беситься начитает, когда включаешь винты. Возможно, проблема с обработкой Z акселя. Вот такие графики получились.
Фейл проверить не получится - у меня приемыш не поддерживает.
Так мы специально и сделали новый FAILSAFE для тех у кого приемник не имеет его. Работает он по каналу Throttle, если за определенный отрезок времени, не будет сигнала на нем, то включится штатный FAILSAFE. Так же FS сработает если например отключить питание от приемника.
Если FS есть в приемнике, то его надо настроить так, что бы при FS канал Throttle выставлял значение меньше 975.
В любом случае, FS еще должен быть включен через Mission Planner.