Телеметрия (часть 2)
Спасибо за логи.
Начальный разворот на базу при включении может быть неоптимальным, вместо поворота направо, скажем на 160 градусов, он сделает разворот налево на 200 градусов.
Но так надо.
Ибо если поворачивать на базу просто в ту сторону, куда угол меньше, то при положении базы строго сзади, ~180 градусов влево или вправо, получается точка неустойчивости: если ветер пинает и гпс шумит, то он может очень долго пытаться свернуть вектор в ту или иную сторону, пока случайности не сложатся так, что вектор по компасу или гпсу достаточно ушел от тех 180 градусов и он вошел в устойчивый поворот.
В итоге угол доворота на базу у меня “внутри” меняется от -90 до +270 градусов, вместо рапортуемых -180…+180.
С таким вот поведением он, кстати, после возврата на базу всегда с левым креном - по-мужски - круги возле базы наворачивает 😃
Ветер сильный был? Судя по логам, подколбашивало самик градусов в среднем на 5-8 постоянно.
Еще там хорошо видно, что по крену самик хорошо рулится, требуемый угол крена выставляется более-менее быстро, а по тангажу - почти не слушается. Надо вернуть полные расходы 😃
>Может быть чуть резче авторуление и не помешало бы
Поставьте допустимые углы крена/тангажа повыше, до 30/20 градусов, и
верните полные расходы 😃
Летал сегодня в Москве. Ветер был 3-4 м/с у земли и 5-6 - на высоте. Вылетел против ветра, проверил включение автопилота, оставил стабилизацию и пошел на Юго-Запад, намереваясь уйти как можно дальше и выше. На удалении 1200 м и высоте ок. 300 м приемник ушел в FailSafe (время 6:04 по таймеру телеметрии). Причем по RSSI до этого было 0.5 В (а обычно нижний предел где-то 0.14-0.16 В). Автопилот включился, сбросил высоту до 180 м (как и было заданно) стал разворачивать Изю к базе, но почему-то не довернул порядка 90 градусов и повел саммик по широкому кругу - с радиусом порядка 1 км. Я пытался вернуть управление, поднимал передатчик вверх, даже перевключал его, - все тщетно. RSSI скачет от 0 до 2.5 В (что видимо говорит о поиске родного передатчика), но не цепляет. В какой-то момент удаление снова начало расти, и достигло 1280 м (момент 7:12). Автопилот включает максимальную мощность двигателя, но направление полета по прежнему - порядка 90 градусов к базе. В итоге, Изя заходит ко мне со спины (на удалении 1-1.2 км), снова становится против ветра и, (о чудо!) наконец-то, доворачивает на 0-й угол и начинает стабильно приближаться к базе (момент 9:30). Управление возвращается только на расстоянии менее 300 м (момент 10:15). Далее Изя спокойно сажается визуально.
Сделал еще один полет. На сей раз вверх. Но на высоте около 300 м и удалении 280 м - все повторилось. Приемник с RSSI=0.45 В ушел в FailSafe и вернулся только при приближении на <300 м.
Вот такая история. 😃
Прошу Тимофея взглянуть на лог автопилота и видеозапись телеметрии. Файлы здесь: files.mail.ru/33ZMR5
Вопросов у меня несколько.
К Тимофею:
- Почему Изя недоворачивал по курсу? Связано ли это с уменьшением той пресловутой константы или есть другие причины?
- Как кодируется состояние автопилота в логе? Помимо привычных кодов 0/2/7 обнаружил 8/10/15. Что означает 4-й бит?
- Как-то давно поднимался вопрос о третьем напряжении акк на экране телеметрии: что-бы последняя не пыталась вычислять побаночные напряжения при некоторых условиях. Это было сделано? Я к тому что сейчас вывожу только значение RSSI, а хотелось бы еще и состояние FailSafe (сигнал со светодиода приемника).
Ко всем:
4) Кто-нибудь изучал логику выхода приемника из FailSafe (в частности у меня - FUTABA R617FS)? Почему возврат происходит на гораздо меньшем расстоянии, чем потеря? На записи есть еще один момент (5:23), когда на 1 сек включился FailSafe (при этом двигатель выключается), но тут же все восстановилось.
- Кто-нибудь летал на большие дальности в Москве внутри МКАД на 2.4 ГГц? Были ли проблемы с помехами?
4й бит - включено форсирование газа.
Логи получил, разбираюсь
В логах вся математика корректна: на всём протяжении работы автопилота база правее на 60…120 градусов, и автопилот исправно формирует требование на правый крен в районе 15…30 градусов. Самик точно (с точностью до дергания в 5 градусов) повторяет этот крен, если судить по пирометрам.
Но! Если смотреть по видео, то правого крена нет, самик по крену болтается в районе горизонта.
Возможные причины и их исправление:
- Криво поставлена пироголова. Поправить по горизонтальной оси самика.
- Оптические окошки на пиродатчиках забило грязью-пылью. Почистить ватной палочкой.
Помимо этого, сохранив такую же резкость поддержания заданного угла крена или сделав её даже поменьше, надо раза в два увеличить чувствительность автопилота по курсу - чтоб он требовал больше крена при довороте на базу. Тогда даже сильная ошибка с точностью установки пироголовы будет пофигу.
Все эти параметры в новой программе регулируются, надеюсь скоро ее добью до победного конца. А сейчас пока могу новую прошивочку с жестко заданными коэффициентами сделать.
Сейчас выложу графики по логам.
>Как-то давно поднимался вопрос о третьем напряжении акк на экране телеметрии: что-бы последняя не пыталась вычислять побаночные напряжения при некоторых условиях. Это было сделано? Я к тому что сейчас вывожу только значение RSSI, а хотелось бы еще и состояние FailSafe (сигнал со светодиода приемника).
Не, на это успешно забито 😃
Посмотрите на видео момент 9.55 - 10.10 по времени телеметрии. База чуть справа, автопилот формирует крен в районе 10 крадусов вправо, но по видео видно, что по факту самик кренится влево.
Наличие напряжения на
Причем по RSSI до этого было 0.5 В (а обычно нижний предел где-то 0.14-0.16 В)
Ничего не говорит о качестве принимаемого сигнала, оно лишь показывает что на этой частоте принимается нечто. а это нечто может быть как сигнал с передатчика так и широкополосная помеха и RSSI будет уверенно показывать наличие приема…
Все эти параметры в новой программе регулируются, надеюсь скоро ее добью до победного конца. А сейчас пока могу новую прошивочку с жестко заданными коэффициентами сделать.
Спасибо, пока не надо. Подожду регулируемой версии.
А если я увеличу в настройках максимльные углы Roll это даст более точную наводку?
И еще, по нескольким логам заметил, что базовые координаты у автопилота и телеметрии немного различаются. В телеметрии точнее. Видимо она дольше накапливает GPS показания вначале. А автопилот берет первые появившиеся.
Наличие напряжения на
Ничего не говорит о качестве принимаемого сигнала, оно лишь показывает что на этой частоте принимается нечто. а это нечто может быть как сигнал с передатчика так и широкополосная помеха и RSSI будет уверенно показывать наличие приема…
Судя по записи (этой и предыдущих) - не совсем так. Когда связь есть, RSSI относительно стабилен и меняется в диапазоне от 0.12 до 1.5 В (условные вольты). А когда связи нет - скачет хаотически от 0.5 до 2.5 В. Возможно в этом случае он сканирует весь диапазон и действительно показывает помехи.
А качество - это дискретный сигнла со светодиода: есть управление/нет управления. 😃
Посмотрите на видео момент 9.55 - 10.10 по времени телеметрии. База чуть справа, автопилот формирует крен в районе 10 крадусов вправо, но по видео видно, что по факту самик кренится влево.
Понятно. Значит не всякии крывые руки/саммики поддаются автоматизации. 😃 Тримировать и проверять крен надо в каждом полете.
>И еще, по нескольким логам заметил, что базовые координаты у автопилота и телеметрии немного различаются. В телеметрии точнее. Видимо она дольше накапливает GPS показания вначале. А автопилот берет первые появившиеся
Я посмотрю в коде. По-моему, там одинаковое количество пачек для накопления. Можно увеличить в автопилоте. Посмотрите, кстати, по логам, сколько дампов данные с ГПСа уже есть, а автопилот еще не запомнил start_lat, start_lon и start_alt.
>А если я увеличу в настройках максимльные углы Roll это даст более точную наводку?
Наводка и так точная, точнее не бывает 😃
Если увеличить Rol, то максимално допустимый угол крена будет увеличен. Но с Вашими коэффициентами он и так почти никогда не достигается.
Картинка большая, форум ее уменьшает, так что лучше сохранить ее на винт и смотреть с винта.
Какие у народа будут мысли?
У меня при потере РУ сигнала, если высота больше заданной, совершается разворот на полном газу (на случай встречного ветра) и далее плавное снижение газа с отслеживаением данных стабилизатора. как только самолёт начинает валиться в штопор (идут клевки), добавляется 10% газа и так идём со снижением до заданной высоты.
Навигационный блок с магниткой и датчиками давления никак не прицеплю… всё на другие дела дёргаюсь 😦
Кстати, факт разворота против ветра и движения задом легко сечётся комбинацие GPS курса и магнитного. Лекарство - снижение и попытка полёта против ветра у земли. Если не летит - газ в минимум и снижение.
Понял, что приключилось вчера с управлением.
Причина была не в городских помехах, а в видеопередатчике.
Раньше я летал на 1-м канале - частота 1080 МГц - но дальность была невысока после 1 км, начинались сильные помехи, и где-то на 1.2 связь обрывалась (высота 300 м).
Недавно перешел на 4-й канал - 1200 МГц. Дальность видео сразу выросла - на 2-х км помех не наблюдалось. Но еще дома заметил, что при включении видео, в квартире вырубается WiFi. Видимо 2-я гармоника хорошо укладывалась в его спектр. Так-же и на управлении - помеха была на уровне 0.5 В (по условным цифрам RSSI), а при выключении РУ (или потере сигнала) RSSI начинал плясать от 0.5 до 2.5 В. Сегодня попробывал перейти на другой канал 1, 2, 3 - помеха исчезает. Без РУ RSSI стабилен и показывает 0.15-0.17 В. По WiFi тоже помех нет.
Интересно теперь насколько далеко будет на 3-м канале (частота 1160 МГц) будет работать видео?
Тимофей, вчерашний вопрос о неодинаковых GPS координатах базы - частично снимается. Я думал, что в предыдущем 2 км полете неточно сработала уставка дальности (стояло 2000 м, я автопилот вступил в действие на 1910 м). Сейчас вижу, что это возможно был FailSafe.
Кстати, что значит бит 3 (4-ка) в статусе автопилота?
>Кстати, что значит бит 3 (4-ка) в статусе автопилота?
dumpsample.ap_status=0;
if(apstate.rcsignal_lost) dumpsample.ap_status|=1;
if(apstate.assist_active) dumpsample.ap_status|=2;
if(apstate.autopilot_active==1) dumpsample.ap_status|=4;
if(apstate.throttle_boosted) dumpsample.ap_status|=8;
if(apstate.assist_active) dumpsample.ap_status|=2; if(apstate.autopilot_active==1) dumpsample.ap_status|=4;
Значит все-таки уставка дальности сработала на 1910 м. Там 6-ка в логе.
Срыв в FailSafe пошел позже, когда саммик раскачивать начало.
А у меня косяк с видеоаппаратурой - приемыши разные к диверсити подключены, так что на передатчике и приемниках, увы, совпадает только один канал. Не помню точно какой, по-моему 1200 с копейками. Дальность в хорошую погоду в пределах действия аппы спектрум-7 около 1,3 км, увы предел даже с патчем (передатчик 300 мватт). Никто ничего не забивает к счастью.
ЗЫ. По выписке займусь победой помех в видео, так и не решил их, даже подключив телеметрию через балансир. Пока с ферритом не колдовал и не менял регулятор, хотя такой же (Маркус СЛ40) работает замечательно с Блэкшторком. Очень не хочется ставить вторую батарею, так как поставил цель снизить вес Изи по максимуму, хотя со второй батареей помех нет вааще ! Заметил, что помеха как таковая проявляется в зигзагообразовании как видеосиганала так и текста телеметрии при раскрутке двигателя (выхода его на мощность при токе более 25 ампер), как раскрутится - все на крепкую 4-ку.
ЗЗЫ Проскакивала инфа про тень под текстом, вопрос еще раз - это аппаратная доработка новой мини-телеметрии или будет прошивон и для “классики” ?
Попробуйте не ферриты, а дроссель на 1-10 мГ по питанию.
Эээ, а как втыкать, схемку организуйте плиз.
Получил платки:
О! Они уже и шкурку к зиме поменяли на белую…
Беленькие, да. Понты дороже денег 😃
Хвост Слона, контактики под радиомодем я не забыл, разведены 😃
Супер! Где очередь и кто последний?
Хватит всем, тут без вопросов. Просто ждем-ждем-ждем и по-прежнему ждем ГПСы… 😦
Получил платки:
Планар - 0603? Паять в печке будешь? Или в Китае? 😃
Поздравляю!
Там много всякого мелкого. 0603, CAT16, SOT23-6… Кстати, всё это на автопилотах стоит, никаких проблем с пайкой не было 😃