ArduCopter Mega: порт на обычную Arduino (тестим)
У меня всё руки не доходят до просто полетать (уже пол года не взлетал), не говоря уже о авторежимах… так что не знаю, как влияют стики на них 😃
Странно, разве на RTL влияют стики?
Влияет, при RTL коптером можно управлять, на прошлой странице обсуждали.
Влияет, при RTL коптером можно управлять
мдя, а я то думаю, отчего при подаче полного газа на приёмыш и отключении пульта моторы не сбрасывают обороты… жесть конечно, получается если на полной скорости залететь за препятствие то коптер автоматом переключится на РТЛ и на той-же скорости будет “пилить” домой?
Короче, надо провести будет полевые испытания…
Ну так полную 3D-модель местности в квадрик загружать пока не научились - в случае потери сигнала возвращаться квадрик будет по прямой.
Если есть опасение что влетит куда-нибудь - можно настроить высоту, на которой будет осуществляться RTH, поставить например 50м.
Имхо, тридцати за глаза, ты вспомни те вековые деревца 😃
Да, дерево 50м еще поискать надо, а секвойи у нас не растут 😃
в случае потери сигнала возвращаться квадрик будет по прямой
просто я хотел сделать акцент на
той-же скорости будет “пилить” домой
, т.е. если во время снижения пропадает связь - неуправляемая встреча с планетой обеспечена?
Да, думаю что после начала потери пакетов должен быть некий таймаут на восстановление связи (например 1с), при котором приемник будет выдавать последний принятый сигнал, а если сигнал так и не восстановился, тогда приемник переключится в failsafe.
Но ситуация потери связи именно в момент быстрого снижения имхо довольно маловероятна.
Да, думаю что после начала потери пакетов должен быть некий таймаут на восстановление связи (например 1с), при котором приемник будет выдавать последний принятый сигнал, а если сигнал так и не восстановился, тогда приемник переключится в failsafe.
сейчас так и есть, если 20 раз не удалось получить сигнал, то срабатывает FS
сейчас так и есть, если 20 раз не удалось получить сигнал, то срабатывает FS
хм… если сделали связь с приёмником по rx/tx можно ли оттуда взять цровень сигнала качества связи для срабатываения FS?
по 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, нельзя ли подробней описать режимы , особенно те которые появились в последних версиях?