Автопилот iNav полёты с GPS

Rumata

Доброго всем дня!
Есть ПВД (трубка Пито) aspd-7002 от Матека. В прошлом году на 2.4 работала нормально. В этом решил поставить 3.0 и заметил что в покое показывает приборную скорость на 20км/ч, также в полете она на 20 км/ч выше. Почитал даташит, датчик оказывается аналоговый, полетник (f722-wing) делает АЦП и дает показания в OSD. Ну и недолго думая воткнул в цепь сигнала подстроечник на 10кОм. Дома настроил на 0 показания и поехал в поле. В итоге на земле 0, а в полете на 20 км/ч больше фактической. Я так понял, что я не сдвинул напряжение идущее к АЦП подстроечником, а масштабировал (растянул). Может кто сталкивался, или есть какие-нибудь идеи как можно сдвинуть напряжение сигнала без масштабирования? Доброго неба всем!

Simoom

Никогда с этими трубками не работал, но может есть клибровка 0 для этой трубки.
есть ещё какая то настройка типа set pitot_lpf_milli_hz = 350.
Ну и на всякий отшить на 2.4 и убедится что продолжает работать как надо. А то может сам датчик решил дуба дать.

R0K
Rumata:

Дома настроил на 0 показания и поехал в поле. В итоге на земле 0, а в полете на 20 км/ч больше фактической. Я так понял, что я не сдвинул напряжение идущее к АЦП подстроечником, а масштабировал (растянул).

Судя по тому, что на земле 0 - Вы всё же сдвинули ноль. Теперь надо масштабировать pitot_scale, по умолчанию 1.0 можно менять от 0 до 100. Удачи.

P.S. Надеюсь в iNAV ещё не успели автокоррекцию воздушной скорости из арды втянуть 😃

.

Rumata
R0K:

Теперь надо масштабировать pitot_scale, по умолчанию 1.0 можно менять от 0 до 100. Удачи.

Спасибо! Что-то получается, показания изменились. Буду пробовать в небе)

Koloboff
Rumata:

Что-то получается, показания изменились.

iNAV калибрует (запоминает напряжение) “ноль” аналогового датчика Пито при старте прошивки. Аналоговый датчик имеет на выходе напряжение от 0,5 до 4,5 В с “нулём скорости” в районе 2,5 В, а АЦП STM-ки имеет рабочий диапазон от 0 до 3.3 В, поэтому в iNAV программно заложено, что аналоговый Пито подключается через резисторный делитель “пополам” (номиналы резисторов 1:1) - соответственно, пересчёт напряжения в давление (которое потом пересчитывается в скорость) выполняется именно по “половинному” коэффициенту - посмотрите вот эти определения: github.com/iNavFlight/inav/…/pitotmeter_adc.c#L37 и текст вот этой функции github.com/iNavFlight/inav/…/pitotmeter_adc.c#L53

Таким образом, подстроечник будет давать откровенный бред - нужно ставить делитель 1:1 и предохранять воздуховоды датчика от порывов ветра во время калибровки при старте прошивки, а ещё лучше перед взлётом делать программный ребут прошивки, так как датчик успеет нагреться, отчего его показания “поплывут”.

Simoom:

set pitot_lpf_milli_hz

Вы бы почитали описание параметра, если из названия не можете понять его смысл - к масштабным коэффициентам он никаким боком не относится, это просто параметр “сглаживания” значений воздушной скорости: github.com/iNavFlight/inav/blob/…/pitotmeter.c#L19…

R0K:

pitot_scale

Насколько помню “математику” в прошивке - этот коэффициент масштабирует уже саму “воздушную скорость”, а она нелинейно зависит от давления: github.com/iNavFlight/inav/blob/…/pitotmeter.c#L22… зато напряжение датчика линейно пропорционально разнице давлений: github.com/iNavFlight/inav/…/pitotmeter_adc.c#L39

Rumata
Koloboff:

что аналоговый Пито подключается через резисторный делитель “пополам”

в f722 есть особые пины AirS которые подключаются согласно таблице на сайте Matek через прямую сигнальную линию без делителя. Важно это озвучить, мало ли кто-то будет также искать и будет ошибочно подключаться. Попробую еще вариант с перепрошивкой. Было еще указано где-то на английском ресурсе, что датчик плывет от влажности и температуры, однако час в холодильнике и час около кулера ноутбука (6 С и 40 С) никаких заметных изменений не дали. Трубки свободны. Где-то еще писали что калибруется Пито при включении питания, но этого я не заметил. Тесты делал и в квартире, где стоячий воздух и в поле, разницы не было

Rumata
Koloboff:

программный ребут прошивки

это типа каждый раз перед полетом прошиваться заново через dfu и закидывать diff?

Koloboff
Rumata:

в f722 есть особые пины AirS которые подключаются согласно таблице на сайте Matek через прямую сигнальную линию без делителя. Важно это озвучить, мало ли кто-то будет также искать и будет ошибочно подключаться.

Если этот “кто-то” изволит почитать инструкцию к полётнику, то увидит строчку “AirS: Analog airspeed sensor (0-6.6V) 1:1 divider resistance build-in”
И не нужно там никакого колхоза в виде подстроечника - получится лютый бред, а не показания. Почитайте даташит на датчик 7002.

Rumata:

это типа каждый раз перед полетом

*facepalm*
Это типа каждый раз перед полётом зайти в OSD-меню и нажать save and reboot - ну не батарею же передёргивать.

Rumata
Koloboff:

Если этот “кто-то” изволит почитать инструкцию к полётнику


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

Koloboff:

OSD-меню и нажать save and reboot

даже через конфигуратор “Save and reboot” не меняет показаний датчика. OSD меню здесь не поможет, вызывая ту же функцию

Pilot737

Летаю и с аналоговым и цифровым датчиками от Matek и ничего не калибрую. Подключаю согласно схемы для конкретного полетника и ничего не калибрую- все отлично и так работает. Проверьте, может подключили не так, как надо? Например в некоторых ПК от Matek есть место (Air) для подключения аналогового датчика скорости, а для некоторых надо подключать с особенностями ( например F-405 wing)

wolk72
Rumata:

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

Koloboff
Rumata:

Не понял что я сказал неправильно.

Вы попросту весьма невнятно сформулировали - о какой таблице речь (не в доках полётника, а в доках датчика). Всё примитивно как таблица умножения - собственно датчик нужно подключить к АЦП через делитель 1:2. Где будет находиться этот делитель - на плате полётника, плате датчика (на не-матековских делителя нет) или в виде отдельной пары резисторов - совершенно неважно, но он должен быть ОДИН, как вам Pilot737 и нарисовал. Про встроенный делитель в F722-wing написано в его доках, выходы матековского датчика (с делителем и без) подписаны совершенно наглядно - ХЗ что тут обсуждать пол-страницы 😁

Rumata
Pilot737:

Летаю и с аналоговым и цифровым датчиками от Matek и ничего не калибрую.

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

wolk72:

дать для сравнения работы

Виталий, спасибо) Но боюсь времени и терпения не будет на опыты, мне даже будет проще без Пито летать, чем с такими танцами) Жду на полетах)

Koloboff:

ХЗ что тут обсуждать пол-страницы

Вот и я думаю, развели флуд)

Добрался до полетника. Перешил на 2.4 показания на земле 0. Скачал 3.0.1 вместо 3.0 и прошился. На земле 0. С одной стороны хорошо, что 0 (в небе еще не проверял), с другой а что еще может пойти при прошивке не так, что после верификации и успешной загрузки вылезают потом какие-то жуки. Жаль нет осциля, так бы проверил что с датчика уходит, было бы ясно аппаратная беда в датчике/полетнике или все же программная. Спасибо всем за помощь, доброго неба!

khomyakk

Осциллограф и не нужен, достаточно тестера, если датчик аналоговый.

wolk72
Rumata:

Жаль нет осциля, так бы проверил что с датчика уходит

Могу подогнать, только у него предел 10kHz. Школьник. (

Как жара спадет так и полетаем. Сейчас только нырять могу.

Летун_классический

Подскажите пожалуйста почему у меня мигает высота и расстояние до дома? Знаю, что есть какие-то максимальные значения, при превышении которых начинает моргать индикатор, но название этих пределов не помню.

r-andrey
Летун_классический:

почему у меня мигает высота и расстояние до дома

Нужно изменить значение предупреждения дистанции и высоты. Можно внести изменение в CLI
set osd_alt_alarm = 10000
set osd_dist_alarm = 10000
Или изменить значение в настойках ОСД

Роман_С_А

Были на поле сегодня, тестили Талон с 2.6.1 . Высота возврата указана 100 метров. Всё нормально, возвращает. Это при высоте более 100 метров. Если же щёлкнуть тумблером RTH когда Талон ниже 100 метров, он резко подхватывается, довольно сильно задирает нос и старается “выгрести” во все лопатки почти “свечкой”.

Koloboff
Роман_С_А:

Если же щёлкнуть тумблером RTH когда Талон ниже 100 метров, он резко подхватывается, довольно сильно задирает нос и старается “выгрести” во все лопатки почти “свечкой”.

set nav_rth_climb_first = off

Serpent

Или настроить параметры nav_ ограничений - угол подьёма, газ и т.д.