FY-20A/FY-21AP - Катайский трёхосевой стаб на MEMS гирах и акселерометрах + OSD и автопилот

serj
Drinker:

Arduino nano + 5dof imu от sparkfun. Платку от спарка взял только для макетирования, чтоб не заморачивацца с пайкой мелких деталюх. Там гира 2-х осевая IDG500 и 3-х осевой аксель ADXL335.
Примененный алгоритм с фильтром Калмана позволил увязать гиры с акселями таким образом, что шумы, дрейф и линейные ускорения просто не играют никакой роли.

Попробуйте применить ваш алгоритм в условиях длительного постоянного ускорения, большего чем земное. (поездите на машине быстро по кругу или полетайте.)

Drinker
serj:

Попробуйте применить ваш алгоритм в условиях длительного постоянного ускорения, большего чем земное. (поездите на машине быстро по кругу или полетайте.)

Нууу…имея 20 и 21, изучив их поведение, почитав описания китайцев, представил для себя мат. модель стаба фишки. Я выше говорил, что применил алгоритм, взаимоувзывающий гиру и аксель: гира калибруется по акселю, аксель НАПРОТИВ калибруется по гире. Представте себе простую ситуацию: вектор ускорения находится не в условном кубе, а в параллепипеде, при этом вращения нет. Это линейные ускорения. Плюс разбор того, что предшествовало этому моменту времени. Ну вот как-то так. Я попытался применить в том числе физ. модель самолета а не тупо статической гироплатформы.

TREX-olet

Вот видео как фишка первый раз спасла мой EagleWing, пропало видео пытался вырулить в режиме удержания высоты, но надо было сразу включить АП, тогда фишка меньше бы глючила. А так уплыл горизонт и тангаж в плюс, включаю АП и синий экран. Самик при развороте потерял около 30 метров высоты, но четко полетел домой. Теперь работаю над антеннами видео.
Видео не резал, как было так и выложил со всеми помехами …
И почему фишка глючит только в самые ответственные моменты, думаю может вибрация, так как установлена на липучку, но вибрации нет на самике у меня, сильной …
Купил лампочку 12в. 1.2ватта, буду ей греть фишку изнутри.

Сергей_Вертолетов

Видео в студию… видать не вложилось…
В режиме удержания высоты не держал горизонт?? Не могёт такого быть!

baychi
TREX-olet:

пропало видео пытался вырулить в режиме удержания высоты, но надо было сразу включить АП, тогда фишка меньше бы глючила. А так уплыл горизонт и тангаж в плюс, включаю АП и синий экран. Самик при развороте потерял около 30 метров высоты, но четко полетел домой.

30 м он потерял когда Вы перешли от FAF к RTL. И в том и в другом режиме целевая высота фиксируется в момент включения режима. После разворота фишка врала по тангажу - думала что вверх летит. После включения RTL, сначала провалилась немного, а через некоторое время выровнелась и вернула потерянное. В общем прямолинейные участки рулят. Вибрации не заметно. Рост AERR весьма незначительный. С температурой тоже все в порядке - +21С внутри фишки. У моей температурные эффекты начинают сказываться при <+10C или при большом изменеии температуры относительно момента включения. Поэтому после 10 мин. прогрева электроники на земле, перевключаю питание , жду появления спутников - и вперед. 😃

TREX-olet:

Купил лампочку 12в. 1.2ватта, буду ей греть фишку изнутри.

Выше +35 градусов нагревать так-же не советую.

Сергей_Вертолетов:

В режиме удержания высоты не держал горизонт?? Не могёт такого быть!

Горизонт теряется при разворотах (при слишком плавных и слишком резких), режим при этом значения не имеет. 😦

Сергей_Вертолетов
baychi:

Горизонт теряется при разворотах

Лечу на ЛК в режиме стабилизации. Естественно, управляю ЛК, постоянно поворачиваю то туда, то сюда - летаю недалеко от себя в визуальном режиме. Как только отпускаю ручки, крыло летит горизонтально и по прямой. Что же я делаю не так, что никуда ничего не уплывает?

Пы.Сы. Уже давно всем понятно, что отображение горизонта на экране - малополезный фейк. Так я и не брал 117 модуль к 21-й ФИшке… Толку то от него? Но и не об этом уходе горизонта речь? А о том, что самолет не падает, ибо ФИшка горизонт держит, что бы там куда не уходило…

baychi
Сергей_Вертолетов:

Как только отпускаю ручки, крыло летит горизонтально и по прямой. Что же я делаю не так, что никуда ничего не уплывает?

Уплывает, только Вы этого не видите.

Сергей_Вертолетов:

Уже давно всем понятно, что отображение горизонта на экране - малополезный фейк. Так я и не брал 117 модуль к 21-й ФИшке…

Вот именно поэтому и не видите. И не будете видеть, пока погрешность не превысет 20-30 градусов.

Сергей_Вертолетов:

самолет не падает, ибо ФИшка горизонт держит, что бы там куда не уходило…

Падать она начнет, когда погрешность по тангажу или крену превысит 40-50 градусов. Только смотреть уже поздно будет. 😃

Хотите увидеть сошедшую с ума фишку в полете? Делаете так:

  1. Пять шесть резких качков вверх вниз (тангаж +/-45 в течении 2 сек в каждую сторону), как на американских горках.
  2. Резкий поворот c тангажом > 50 градусов на 3-5 сек.
  3. Включите режим стабилизации и отпустите ручки.

Потом расскажите, как замечательно она держала горизонт. 😃

Сергей_Вертолетов

Интересно будет попробовать! А у вас есть возможность снять на видео такую серию маневров со стороны? Чтобы было наглядно видно 😃 И я повторю это для сравнения степени сумасшествия ФИшек 😃)

TREX-olet

Судя по моей ситуации до краша было не далеко, а вот интересно если чувствительность занизить то фишка за глюками меньше следовать будет, значит команды АП будут с большими расходами отрабатываться, так получаеться …

baychi
TREX-olet:

Судя по моей ситуации до краша было не далеко,

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

TREX-olet:

если чувствительность занизить то фишка за глюками меньше следовать будет

Да, поменьше. Даже в руководстве не рекомендуют высталять максимальную чувствительность.

Drinker

Привет всем!
В субботу, то есть завтра запланирован аццкий эксперимент - перерезаю у 21 фишки печатные проводники после акселя,гиры и баро, подпаиваюсь и с помощью ардуины исследую их показания. Цель эксперимента - выяснить ликвидность комплектующих. Если все параметры в рамках датащитов, то косяк однозначно в программе. Если нет, то…

baychi
Drinker:

Цель эксперимента - выяснить ликвидность комплектующих. Если все параметры в рамках датащитов, то косяк однозначно в программе.

Ставлю 5 к одному, что дело в программе и аксели/гиры невиновны. 😃

Drinker
baychi:

Ставлю 5 к одному, что дело в программе и аксели/гиры невиновны

Посмотрим для верности.

Кто знает проц фишки - можно его перепрошить? И если есть код для атмеги, можно его портировать на фишку?
Перепрошить ее нафиг, если железо там действительо в порядке. Готов в случае успешных облетов и возможности перепрошивки посотрудничать с коллегами, знающими как это сделать. ИМХО это наиболее правильный путь для всех, имеющих 21 фишку. Разумеецца гпс будет использован и более расширенно.

baychi
Drinker:

Кто знает проц фишки - можно его перепрошить?

В STM-ке очень хорошие механизмы защиты, если они включены - считать программу невозможно. А вот полностью стереть и записать свою, ИМХО, вполне реально.

Drinker:

если есть код для атмеги, можно его портировать на фишку?

Вручную - все можно. 😃 А так - ассемблеры 32-х разрядной ARM STM-ки и 8-миразрядной меги далеко друг от друга лежат. ИМХО проще эмулировать мегу на STM, или переписать все алгоритмы на Си.

SGordon

я так понимаю алгоритм уже есть? Осталось переложить его на С, если облет пройдет успешно?

baychi
Drinker:

Разумеецца гпс будет использован и более расширенно

Как-же?

msv
Drinker:

Представте себе простую ситуацию: вектор ускорения находится не в условном кубе, а в параллепипеде

Не смог представить…😦 Что за кубы, параллелепипеды?

Drinker:

аксель НАПРОТИВ калибруется по гире

В гире, как догадываюсь, под калибровкой понимается устранение интегральной ошибки. А в каком смысле- “аксель калибруется”?

Catsw
msv:

А в каком смысле- “аксель калибруется”?

+1000 Сергей!! Что то я туплю… Слона то и я не заметил! Аксель не может калиброваться в полете ну аж никак - ФИшку для его калибровки надо было не трогать и не трясти, что бы он откалибровал своё 1G в покое.

Вернее ФИшка запомнила бы себе 1G (ну и есс-но в ЕЕПРОМ бы отложила на будущее 😃 ) по сигналу акселя, когда его не дёргают, в полёте это не возможно.

Drinker:

гира калибруется по акселю, аксель НАПРОТИВ калибруется по гире

т.е. получается, что гира калибруется по акслелю (предположим, что он есс-но имел уже какой то, хоть минимальный, но дрейф) потом аксель уже по гире, которая имеет свой дрейф + дрейф акселя… И так по кругу с увеличением ошибок. Чем то поведение ФИшки напомнило 😃

ИМХО Тёзка, если проэкт не планируется как коммерческий а пишется “для души” - выкладывайте наработки, хотя бы на уровне алгоритмов, вместе вылижем их, сам давно думал тем же заняться, да со временем беда…