Smalltim OSD and autopilot (часть 1)

baychi
delfin000:

А где можно взять USB программатор для плата телеметрии мини. Плата телеметрии есть, а программатора нет.

Программатро нужен, если планируется использовать телеметрию без АП.
Готовый программатор можно приобрести у Тимофея. Или использовать любой другой, поддерживающий Мегу 8: разъем подключения программатора описан в документации.

smalltim:

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

Версия эта весьма правдоподбна. По крайней мере она объясняет все чудеса прошлого сезона, когда в стабилизации все было идеально, а включение АП начинало раскачку (наверное, режим АП потребляет больше выч. ресурсов?), а так-же поведение в последнее время.

Я на всякий случай заосциллограффировал сигналы на вых приемника: на первом рисунке каналы 1 и 2; на втором - 1 и 4. Период следования импульсов 16-17 мс.
А также снял скриншот КП в режиме ручного полета и со включенным АП (Впрочем, они не отличаются).
Возможно тебе, Тимофей, это чем-то поможет. Хотя я, признаться, не вижу здесь отличий от других приемников.

baychi

Опять нарвался на заморозку. На сей раз дома, без подключения к ПК.
Никаких особенных действий не делеал, проверял заменённый регулятор движка. Заметил, что на экране, горизонт заморозился. Подключил КП и снял скриншоты с АЦП платы пилота (показания на экране не менялись). Возможно это поможет.
Судя по картинкам - проблема в прекращении прерываний от АЦП меги пилота.

Dronavt

Попробовал сегодня АП в условиях сильно переменной облачности и не слабого порывистого ветра.
Пирогоризнт слегка путался, но не на столько, чтобы не справится с Изиком.
Техническое видео прилагаю.

PS При развороте на посадке боковой ветер, провода и отсечка регуля,- адреналинчика отведал…

smalltim

Нашел причину неадекватности пирогоризонта с новым АП, проявляющейся в плохую погоду или при некоторых особенностях установки.

На новом АП стоят резисторы 1к в линиях от датчиков ко всем входам АЦП. Это защита от КЗ, прочих неприятностей, в общем, в правилах хорошего тона.
В старом (зеленом) АП такого не было, поэтому проблема не проявлялась.

Итак, проблема: в чипе по умолчанию, с завода, включен JTAG интерфейс, который использует те же ноги, что и АЦП, причем, половину, т.е. 4 из 8 ног.
Так вот: даже если JTAG не используется по прямому назначению, и входы эти сконфигурированы как аналоговые, резисторы подтяжки на этих ногах всё равно остаются. На новом АП эти резисторы образуют делитель, подвешенный к 5В, и по 4 из 8 входов АЦП показания оказываются искаженными где-то на 5%. Этого хватает, чтобы горизонт, особенно в плохих погодных условиях, начал работать некорректно.
Убил JTAG специально прямо в коде, не трогая fuse биты, и всё вернулось к норме.

Вторая новость. Иногда при подключении всех 8 входных каналов ППМ к приемнику и подключенном USB автопилот не четко детектировал наличие телеметрии на старте. Примерно в 1-2 разах из 10 он считал, что телеметрия не подключена.
Проблема былла из-за того, что синхронизация по времени с телеметрией была сделана не оптимальным образом. Подправил код, теперь детект телеметрии на старте работает в 100% случаев, а по ходу работы АП на синхронизацию с телеметрией теперь тратится в 10 раз меньше времени.

Пофикшу “замерзание” пирогоризонта и добавлю возможность отключения форсирования газа в круге определенного радиуса над базой, выбор размаха отображаемых на экране углов тангажа, и будет свежая прошивка. По пути, кстати, еще в 2 раза повысится скорость отработки пиродатчиков и отображения горизонта.

delfin000, пожалуйста, напишите в почту smalltim собака mail.ru. Небольшую пачку пилотов, пока я был в отпуске, сделали, так что передам полный комплект прямо из рук в руки.

baychi
Dronavt:

Попробовал сегодня АП в условиях сильно переменной облачности и не слабого порывистого ветра.

Любопытное видео, Андрей! Ветер был метров 7 в среднем, так? И это растягивало эллипс кружения вокруг базы до 400 м от центра. Причем недоворот за счет ветра не превышал 50-70 градусов. Если бы рулил человек, достаточно было чуть резче доворачивать при небольших углах отклонения, а у АП логика пропорциональная, чем ближе к 0, тем меньше угол. Интересно, как на настоящих АП это сделано, ведь большие самолеты держат курс +/- пару градусов?
И еще, по тактике пилотирования, я заметил, что ты почти всегда идешь на моторе. Даже при посадке - 3-5 А тока. Свалится не боишся? Просто на малых оборотах винт превращается в тормоз.

kulikof
smalltim:

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

а телеметрии когда будут то?

Dronavt
baychi:

Любопытное видео, Андрей! Ветер был метров 7 в среднем, так? И это растягивало эллипс кружения вокруг базы до 400 м от центра…

В штиль диаметр круга составляет примерно 200м, причем точка возврата находится в центре этого круга. Т.е. расстояние до модели около 100м.
В сильный ветер при развороте над базой Изика тут же уносило по ветру и к моменту разворота удаление было уже существенным. В итоге при возврате он успевал прицелиться именно на точку возврата и так по кругу. В итоге, получился сильно вытянутый эллипс. С наветренной стороны самик разворачивался фактически над точкой старта, а по ветру - как хватало рулей. В лево он у меня всегда идет неохотно. Лечится, скорее всего, предоставлением бОльшей свободы АП по рулям.
Зато, когда он снижался правым виражем над базой с 500 метров до 150 целевых, спиралька получалась “тугая” и компактная. Причем порадовали “ступеньки для отдыха”. При включении АП опасался, что будет резкое снижение и может крылышки сложить. Ан нет! Спустился очень деликатно, с остановочками.

baychi:

И еще, по тактике пилотирования, я заметил, что ты почти всегда идешь на моторе. Даже при посадке - 3-5 А тока. Свалится не боишся? Просто на малых оборотах винт превращается в тормоз.

Спасибо за подсказку, попробую подкрректировать себя.
При планировании всегда проскакивал место посадки, поэтому и приспособился к такой кривой методе. Прижимать Изика досрочно и потом дотягивать на моторе. В этот раз из-за этого чуть не собрал провода на столбе…

sptry

Вернулся с вечерних полётов. Очень доволен результатами!!! Пилот пилотирует, стабилизация стабилизирует!!!😃 И самое главное - без раскачки!
При включении пилота, ровными кругами набирает высоту. Без телеметрии не могу проверить соответствие высоты набранной, высоте заданной (100м), но вроде близко к этому.
Видеоотчёт с борта готовлю. К сожалению пока опять без телеметрии:(.

Тимофею: моя информация, что видеосигнал через плату телеметрии проходит, оказалась не верна… До замены АТМЕГИ проходил, а сейчас уже нет. Где, что прозвонить - померить?

smalltim

Сергей, новая Атмега точно не с поворотом на 90 градусов впаяна?

Прозвонить в первую очередь питание, например, идущее на любой внешний датчик - должно быть 5 вольт.

Dareck

Тимофей! Вопрос по установке и калибровке датчиков пирогоризонта. Как правильно установить и калибровку производить на поле или допустимо дома?

smalltim

Дома нет особого смысла, градиент температур в квартире невысокий.
Можно в целом грубо оценить корректность установки пиродатчиков руками: одну руку под вертикальный датчик, имитируя теплую землю, вторую справа-слева-спереди-сзади от горизонтальной головы, имитируя теплую землю. И смотреть на приблизительную адекватность углов крена-тангажа на экране телеметрии или в Контрольной Панели.

Устанавливать - так, чтобы детали самика минимально закрывали обзор датчиков, обзор у них - конус с углом раскрытия ~90 градусов.

Dareck

По поводу установки датчиков я наверно не правельно сформулировал вопрос. двух осевой можно установить в 4х вариациях вращая по кругу 1 осевой в 2х вариациях как будет правильно например относительно шлейфов? или особого значения не имеет и они сами определятся после калибровки?

smalltim

Калибровки пироголов нет, оно само калибруется.
4-датчиковая плата ставится микросхемой вверх, шлейфом к хвосту самолета.

smalltim

Переписал работу с АЦП, теперь всё замечательно, быстро, просто и точно. По дороге переписал подсчет дифференциального компонента ПИД по тангажу и крену, теперь он считается гораздо точнее и вообще правильнее.
До кучи прикрутил примитивный шумодав на этот компонент. В общем, теперь реально советую поэкспериментировать с дифференциальными коэффициентами (Упреждение по тангажу и крену) в пределах от 20 до 100% или даже 150%, одновременно на треть или даже на половину повышая от привычных значений чувствительность по крену и тангажу. Поведение самика, даже у тех, кто доволен своими настройками АП, должно стать гораздо четче. Ну, это с новой прошивкой, разумеется. Сейчас диф. компоненты считаются близко к правде, но не ахти.

Сильно сэкономить на времени синхронизации с телеметрией таки не удалось. Ну да ладно, там и так теперь тратится не много времени.

Придумаю, в какое место Контрольной Панели пихнуть выбор диапазона тангажа для горизонта, и придумаю, куда рисовать тангаж циферками при выходе за пределы установленного для отображения диапазона - выложу прошивку 0.9.1 и новую Панель.
А может быть, выложу и без этого, а выбор диапазона отображаемого тангажа - в следующую, 0.9.2.

Коллеги, взявшиеся за адаптацию АП под вертолеты, радуют: говорят, на днях полетел вертоль с АП. Пока только в режиме стабилизации, но всё равно радует. Сам я вертолеты не люблю 😉

baychi
smalltim:

Переписал работу с АЦП, теперь всё замечательно,

Тебе удалось воспроизвести глюк с “замораживанием” горизонта? И проверить, что он исчез в новом варианте алгоритма?

sptry
smalltim:

Сергей, новая Атмега точно не с поворотом на 90 градусов впаяна?

Тимофей, я дико извиняюсь, но видеотракт работает (перепутал вход с выходом).
Атмега стоит точкой в сторону разъёма датчика тока и скорости.
На всех разъёмах датчиков есть 5в, на сигнальном контакте разъёма АD7 тоже 5в.

Concord

Позвольте уважаемой “малой команде” задать дилетантский вопрос. Учтено ли в софте АП, что самолет в грубом приближении является колебательным звеном? Другими словами - не является ли замеченные колебания в работе автопилота следствием того, что называют “режимом звонка”. Автопилот выдает управляющее воздействие до тех пор пока рассогласование не будет выбрано, но самолет в силу своей инерционности проскакивает нулевое положение и автопилоту приходится менять знак воздействия на обратный, и так до бесконечности. Этого можно избежать, если ввести в логику АП грубую мат. модель самолета, как колебательного звена. Может эти соображения помогут победить раскачку.

blade
smalltim:

Коллеги, взявшиеся за адаптацию АП под вертолеты, радуют: говорят, на днях полетел вертоль с АП. Пока только в режиме стабилизации, но всё равно радует. Сам я вертолеты не люблю 😉

Увы!
Коллег должен огорчить: что касательно “режима стабилизации”- так это “родной” Co-Pilot делал ещё 6 лет назад и сам по себе…
Что прямо в его описании так и нарисовано 😵
А вот по поводу “летания вертолёта с АП” - тут всё гораздо хуже обстоит: купленные для МЧС в январе французские вертолётные БПЛА висеть- висят, а вот летают почему то- только “вручную”.
Несмотря на цену- больше 500000у.е.

baychi
Concord:

Другими словами - не является ли замеченные колебания в работе автопилота следствием того, что называют “режимом звонка”. Автопилот выдает управляющее воздействие до тех пор пока рассогласование не будет выбрано, но самолет в силу своей инерционности проскакивает нулевое положение и автопилоту приходится менять знак воздействия на обратный, и так до бесконечности. Этого можно избежать, если ввести в логику АП грубую мат. модель самолета, как колебательного звена.

АП для стабилизации по крену и тангажу, насколько мне известно , использует ПИД -алгоритмы (со своими особенностями, но в основе - ПИД модель), - то есть общепринятые в подобных системах регуляторы.
То что Вы предлагаете - это какой-то иной принцип стабилизации или тоже подмножество ПИД регулирования?

blade:

Увы! Коллег должен огорчить: что касательно “режима стабилизации”- так это “родной” Co-Pilot делал ещё 6 лет назад и сам по себе… Что прямо в его описании так и нарисовано А вот по поводу “летания вертолёта с АП” - тут всё гораздо хуже обстоит

А в чем там сложность, Александр? Даже любопытно стало, чем вертолет так неподдается навигации, когда с более сложной задачей стабилизации справились?

blade
baychi:

А в чем там сложность, Александр? Даже любопытно стало, чем вертолет так неподдается навигации

Если бы я это знал!
У меня обратный адрес был бы: “Сочи”, а лучше- “Тананариве”😒
Там наших начальников нет 😈
Судя по всему- вертолёт слишком динамичная машина с гораздо бОльшим чем у самолёта количеством степеней свободы. Во всяком случае- на “больших” вертолётах (друг работает инженером на МИ-8)- автопилота в в обычном понимании- нет.
Есть только система стабилизации, которая облегчает работу лётчика. Что то вроде “гидроусилителя руля”😵
Да и глядя на мучения Тима с вводом разных углов- коэффициентов для управления в общем то, примитивным самолётом- как то энтузиазм тает 😃
Ну и информации про подобные изделия для вертолётов в серийном применении- мне не встречалось, хотя тема мне интересная и всяки- разны выставки я посещаю.