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

baychi
Drinker:

Да, заменил

А те что были до, выкинули уже? Их легко проверить, подключив к тестеру с измерением емкости, и посмотрев насколько уходит номинал при нагревве паяльником и охлаждении в холодильнике. У хороших емкость не должна уходить более чем на 10%. Я свои выпаял, проверил и впаял на место (отклонения при -15 и +80 не превышали 6%). Просто хотелось бы понять, действительно есть ошибки, связанные с кондерами, или это миф?

Vadim_AK
Drinker:

Так при изменении температуры плывет именно крен, а тангажу все по барабану. Явно перемудрили с программой. Вот в 20-фишке железо точно такое-же, но я так понял из-за отсутствия датчика температуры там несколько другой механизм компенсации. Может быть даже используется встроенная термокомпенсация гир и акселей. Так вот я ее ни разу не ресетил! И -20 ей пофиг! НИ ОДНОГО косяка не было.

FY-20A, черная, куплена в ноябре здесь (не реклама). При -20°С за бортом - элероны враскоряку, РВ в зависимости от курса изменяет положение от вверх до вниз и обратно через “0”. Например, N - вверх, W - “0”, S - вниз, E - “0” (стороны света только для примера). Перекалибровку пока не делал.

Drinker
Vadim_AK:

FY-20A, черная, куплена в ноябре

20-я синяя, куплена в августе, в США. 90-я чорная, куплена в январе, в США. Обе без проблем. 21-я синяя куплена в ноябре, в Китае. Проблемная.

Catsw
Vadim_AK:

элероны враскоряку

Я смотрю, вроде ИМХО проблема одна - ФИшка путает где земля? У кого в инверт становится, и дальше в инверте летает прекрасно, у кого носом вниз под 90 градусов идти начинает, верно?

Drinker
Catsw:

Я смотрю, вроде ИМХО проблема одна - ФИшка путает где земля?

Именно, у нее при низких температурах уплывает “внутренний” горизонт, соответственно она и ставит модель в некорректное положение. В инверт становится когда “внутренний крен” переваливает за ±90 градусов.

Catsw
Drinker:

Именно, у нее при низких температурах уплывает “внутренний” горизонт, соответственно она и ставит модель в некорректное положение. В инверт становится когда “внутренний крен” переваливает за ±90 градусов.

Аксели? Алгоритм? Аксели не могут уплывать на 90 градусов аж никак. По крайней мере по их даташиту дрейф на порядок меньше. Откуда же такая ошибка??

baychi
Catsw:

Аксели? Алгоритм? Аксели не могут уплывать на 90 градусов аж никак

Аксели не могут сильно уплыть. Но корректировка по акселям делается при определенных условиях (когда алгоритм считает, что это можно сделать). А в отсутсвии корректировки дрейф горизонта - это дрейф гироскопов в чистом виде. Один критерий возможности корректировки, очевиден, это |G| ~= 1. Но другие, нам неизвестныю Например можно ввести условие значенияугловых скоростей (по гироскопам!) ниже некоторого порога. В тепле и при калиброванных гироскопах, порог не превышен, на холоде - превышен и получаетс парадокс. 😃

TREX-olet

А я тока пока потихоньку разбираюсь с ФИ 21-II и OSD 117AP, обе коробочки синие, еще из самых первых партий.
Вроде во всем разобрался, дома работает все четко, намечаются тесты на улице при +5С. Непонравилась пока одна вещь, переключения режимов автопилота SWITCH IN-II, в первом положении возврат на базу,в среднем положении (50% ручки ) выкл, в крайнем положении полет по кругу. В инструкции не так. Тоесть я подлючил управление автопилотом на двухрежимный переключатель,в верху у меня вкл, тоесть 100% расход,а в нижнем положении переключателя 50% расходов(выкл АП) все работает, но как то неправилно это, выкл должен быть в крайнем положении расхода как в инструкции…
У меня Оптик-6 АП на переключателе, а вот стабилизация на рычажке слева,получается работают все три режима стаба, рычажок внизу,в середине и в верху, удобно если че фишку отключить…

pivankin
TREX-olet:

Не понравилась пока одна вещь, переключения режимов автопилота SWITCH IN-II

это из-за того что нужно 2 трехпозиционных переключателя, отключение это режим RC,
расходы по каналам управления -100 0 +100

Drinker
baychi:

Аксели не могут сильно уплыть.

baychi:

Аксели не могут сильно уплыть.

Аксели как раз и не уплывают. Алгоритм стабилизации основывается на показаниях акселей и гир. Только на акселях - было бы замечательно, если бы не линейные ускорения вдоль осей. Алгоритм при сильно плывущих гирах больше начинает доверять им, считая, что присутствует сильное вращение модели. Соответственно ошибка накапливается. В 20-й фишке аксели и гиры более-менее сбалансированы. Но в 21-й более чем уверен завязались на термосенсор, ну и законы коррекции акселей и гир видимо не верно заложили. В “теплой области” вроде угадали, а вот с минусом не срослось чета. Думаю, пресловутые -127 -126 -125 и т.д. гдето в формулы подставляются вместо как у людей -1 -2 -3… Как результат - за нулевое вращение у ГИРОСКОПОВ фишка считает совсем другое напряжение на их выходе и думает, что имеет место быть вращение. При чем если посмотреть на даташиты гир, то мысленно продлив кривые графиков зависимости от температуры в запредельные -128 по цельсию, какие там значения на выходе гир получим? И какие значения будем ожидать на их выходе? То-то.

Catsw
Drinker:

В 20-й фишке аксели и гиры более-менее сбалансированы.

А чтооо, с 20й ФФИИшкой проблем ни у кого нет?? 😃 Вагон и тележка.

Drinker:

пресловутые -127 -126 -125 и т.д. гдето в формулы подставляются вместо как у людей -1 -2 -3…

Знание Си рулит 😃 Хвост дам на отсечение, что unsigned не объявили, и в компиляторе галочка не стояла, вот и получился он что он (темп-ра) signed. Или ещё проще - этого не учли в алгоритме, предположив, что он изначально unsigned, вот и вылезло боком. При попытке обработки переменной компилятор старший разряд учёл как знак. Сбивчиво объяснил, но да поймут знающие 😃 😃

baychi
TREX-olet:

Непонравилась пока одна вещь, переключения режимов автопилота SWITCH IN-II, в первом положении возврат на базу,в среднем положении (50% ручки ) выкл, в крайнем положении полет по кругу. В инструкции не так.

Все работает именно так как Вы говорите, но и в инструкции точно так-же написано: 900-1200 мкс (-100%) =RTL; 1200=1800 (1500-0%) - АП отключен; 1800-2100 мкс (+100) = ACM.

TREX-olet:

подлючил управление автопилотом на двухрежимный переключатель,в верху у меня вкл, тоесть 100% расход,а в нижнем положении переключателя 50% расходов(выкл АП) все работает, но как то неправилно это, выкл должен быть в крайнем положении расхода как в инструкции…

Для отключения АП, нужно было 0% настроить. С 50% - Вы на гарнице диапазона 1200-1800 мкс.

TREX-olet:

У Оптика 0 - 100, 50-среднее положение.

Хитрая логика. Тогда - все как описано работает. 😃

Drinker:

В 20-й фишке аксели и гиры более-менее сбалансированы. Но в 21-й более чем уверен завязались на термосенсор, ну и законы коррекции акселей и гир видимо не верно заложили.

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

Drinker:

И какие значения будем ожидать на их выходе?

Андрей, здесь files.mail.ru/5YYQ13 лежит последняя версия програмки fy21ap.exe. Там, помимо исправления глюка с -127 градусов, добавлена запись лога. Если будете еще проводить темпереатурные эксперименты с фишкой, включите, пожалуйста “Write sate to log”, очень интересено сравнить Ваш экземпляр с моим.

Catsw:

Хвост дам на отсечение, что unsigned не объявили

Там чуть хитрее, но суть - та-же. Смотрите описание протокола (там - правильно). 😃

Catsw
baychi:

Смотрите описание протокола (там - правильно).

У меня 20я, поэтому протоколов к ней не вижу 😃 Всё в себе держит…

baychi
Drinker:

подключать 21-ю фишку к компу и управлять через их софт GCS

Чего-то нигде не могу скачать этот софт. Дайте живую ссылочку. Или посмотрите перехватчиком COM портов, что за команда соответствует этой “GYRO INIT”?

pivankin

Александр,

baychi:

лежит последняя версия програмки fy21ap.exe.

а не сообщите распиновку 21 по com?
я с телефона не могу найти, программу скачал по Вашей ссылке

baychi
pivankin:

а не сообщите распиновку 21 по com?

Распиновка самого FY-21AP в документации есть (разъем к OSD): слева направо GND, +5В,TX, RX.
А распиновку Вашего преобразователя USB -> UART (3 в TTL) или COM->3В ТТЛ надо на преобразователе смотреть. Я купил первый подходящий дата-кабель для мобильника, потом нашел описание разъема мобильика и перепаял под 4-х ножечную фишку для FY-21AP. Питание 5 В оттуда же взял.

Drinker:

Ну как же! У Роберта!

Да, уже нашелв черась. Тока Вы правы, без модуля к приемнику - не работает. Поиск команды в коде тоже пока ничего не дал. Вот засада! Явно есть команда инициализации гир, но подглядеть негде. Можно конечно перебором попробывать, но боюсь нарваться на какие-нибудь команды перепрограммирования - сотрешь STM-ку и ку-ку. 😉

Catsw
baychi:

Можно конечно перебором попробывать, но боюсь нарваться на какие-нибудь команды перепрограммирования - сотрешь STM-ку и ку-ку.

Во-во, Александр - рисковать не стоит КАТЕГОРИЧЕСКИ!!! Кортекс М3 хитрый камень, и если там установлены биты защиты (и если мне память не изменяет) - то при попытке считывания, в отличии от той же АТМеги, он не даст 00,01 и т.д., а СОТРЁТ всю память себе!!! Вот такие нынче биты защиты… НЕ обязательно “угадать” стирание, достаточно и “чтение” угадать…

Drinker
baychi:

Или посмотрите перехватчиком COM портов, что за команда соответствует этой “GYRO INIT”?

Вот такой набор данных соответствует GYRO INIT
A5#5A#04#82#86#AA
Команда 0x130

baychi
Drinker:

Вот такой набор данных соответствует

Огромное спасибо, Андрей! Это то что нужно. Вечером дополню программку.
(Откуда информация, елси не секрет? Может Вы еще какое команды знаете, не вошедшие в официальный документ?).