Comments 24
«Барокамеры» заложены явно больше, чем необходимо. Это даст дополнительную инерцию при определении скорости и уменьшенную точность вариометра. Хотя, конечно, это ещё зависит и от сечения/длины подводящих трубок.
А вообще интересно, какая точность получилась в результате.
Глянул по спецификации датчика - с одной стороны, заявлена красота, с другой стороны, ниже 20°C начинается разброд и шатание.
Плюс есть риски попадания ( или конденсации) влаги в барокамерах и на датчиках.
И вообще, делать на 2-х отдельных датчиках - появление ошибки на не идентичных датчиках. При нагреве или смене атмосферного давления датчики могут вести себя по разному.
Лучше ставить дифференциальный датчик с герметизацией объёма датчика.
Для того, чтобы влага не попадала в барокамеры, на линиях подвода воздуха устанавливают влагоотстойники, которые расположены нИже чем компьютеры воздушных данных, вся влага стекает в них - если появляется и они опорожняются перед каждым полетом в регионах где имеются температуры для образования росы и конденсата.
Почему вы думаете, что в датчиках дифференциального давления стоит НЕ два датчика?
Лучше покупать боинги - зачем нам развитие своего?
Почему вы думаете, что в датчиках дифференциального давления стоит НЕ два датчика?
У половины датчиков так и есть. Если обобщить, то есть два типа дифф датчиков.
У одних измерительный элемент один, и на него воздействует давление с двух сторон. Такие как правило имеют вид пластины и двух пластиковых крышек-штуцеров на ее плоскостях. Упомянутые MS4525DO и MPX12DP относятся как раз к этому типу.
У второго типа два раздельных измерительных элемента. Находятся на одной общей подложке, каждый работает со своим объёмом, но соединены между собой электрически. Семейства SM933х, ABP2 - типичные представители.
Первый тип в силу конструктива применим только при небольших перепадах давлений, но при этом имеет высокую чувствительность и точность. Второй тип допускает больший перепад давлений, но вот точность страдает.
Но независимо от типа измерительным элементом как правило является мост Уитстона.
Скрытый текст


А вообще интересная идея, надеюсь будет развиваться и дальше. Думаю как вариант можно попробовать на двух аналоговых сенсорах/датчиках типа MPS20N0040D и общей обработки на условном HX710B (или вообще забрать сигнал каким ни будь дифф ADC с нужной разрядностью и заслать в микроконтроллер).
То есть у простых датчиков дифф.давления простой тензодатчик на мембране?
Скажем так - это самый распространенный вариант не только для дифф, а вообще. Есть конечно и другие, но там применения специфичные.
Я потому про MPS20N0040D и упомянул - можно взять пару аналоговых датчиков и обработать сигнал с нужной точностью. А разностный сигнал получится еще до преобразования в цифровую форму - можно взять сигнал с разных плеч разных датчиков.
Ошибался, был не прав. MPS20N0040D - уже дифф датчик. Измеряет разницу между атмосферным давлением и давлением в трубке.
Результаты сравнивал с авиационным прибором фирмы MGL - Stratomaster Ultra Horizon XL
1. Высота сходится до десятков метров
2. Воздушная скорость в узлах(knots) сходится +-10
3. Вертикальная скорость в установившемся снижении или наборе - тренд и более резвый отклик, сравнить сложно - даже с механическим вариометром бывает отставание сертифицированных электронных приборов
Температурная коррекция у датчиков MEAS довольно хорошая.
2. Воздушная скорость в узлах(knots) сходится +-10
Для подтверждения работоспособности может и нормально, но для реального использования - это очень большая погрешность. Садиться с ошибкой прибора ±20 км/ч как-то стрёмно.
Тот же КУС-450 даёт ~±3 узла; FAA заявляет требования не более 5 узлов или 3% (максимальное из значений).
1. Высота сходится до десятков метров
Десятки - это несколько расплывчато. Но в суперточность датчика (заявлено 10 см во высоте) тоже верится с трудом.
Спасибо за ваш дискусс😃
Облеты покажут, стоила игра свеч или нужно просто покупать комплекты импортной авионики за 40К и ничего не делать своими руками.
Ну не это я имел в виду. Респект Вам за работу и статью.
Это действительно интересная инженерная задача, и рабочая версия прототипа - уже большой плюс. И замечательно, если доведёте до состояния, достаточного для прохождения СЛГ ;)
Если датчик не измеряет дифференциальное давление между двумя камерами, то не проще использовать 2 отдельных датчика абсолютного давления и избавиться от магистралей? Провод явно меньше весит.
Не будет точность выше, если всё же измерять дифференциальное давление? У двух датчиков разная погрешность, притом она ещё и плавать в зависимости от показаний каждого будет. Что будет, если один из датчиков износится и начнёт сбоить, сложно ли будет отличить такие данные от настоящих?
А если 3д принтер невысокого качества то можно получить вообще решето как ниже не фото

Надо отрегулировать количество шагов на миллиметр подачи, и печать станет нормальной.
Смотрите, вы скопипастили код вариометра, который не очень оптимально работает (как минимум можно убрать копирования в начале), и который вы, полагаю, не до конца понимаете, как работает.
Это код, который написал какой-то итальянец 15 лет назад со словами "я тут из аппнота копирнул и чуть оптимизировал", и дальше логика его работы всё сильнее терялась, путешествуя между форумами и проектами.
Скажите, вот вы сами поняли, что именно считает этот кусок кода?
Спасибо за интерес к теме.
Если честно, до конца не понял😃
Вы также можете показать более технологичный, оптимальный и правильный код - welcome!
Код, по идее, аппроксимирует физическое явление при перепаде давления в капилляре - который находится в физическом вариометре, чтобы создать задержку изменения давления в барокамере и внешней атмосфере.
Код неким образом это симулирует и по большому счету не важно, будет это скользящая средняя, простой конечный автомат с уменьшающейся задержкой или целый класс написанный для вычисления виртуальной вертикальной скорости.
Код протестирован в симуляторе полетов, там же кстати есть своя реализация вычисления вертикальных скоростей
https://sourceforge.net/p/flightgear/flightgear/ci/next/tree/src/Instrumentation/inst_vertical_speed_indicator.cxx
Здесь важен результат и он выражается в конкретном значении вертикальной скорости в м/сек или в фут/мин, стабилизируясь в течении 2-3 секунд.
Т.е. от момента начала изменения вертикальной скорости и время измерения этого составляет 2-3 секунды, что более чем отлично, учитывая то, что даже механические вариометры очень тугие и плавные.
В стабилизированном наборе или снижении значение установившейся вертикальной скорости полета близко к реальной.
P.S. О каких "копированиях в начале" речь?
P.S. О каких "копированиях в начале" речь?
Если аккуратно переписать код, то можно pressureArray и timeArray использовать как циклический буфер, тогда не придётся копировать данные сразу после комментария "// move the array one position to the left".
(Специально пишу отдельным комментарием)
С точки зрения реализации в коде, вариометр с капиляром корректнее всего реализовать в виде экспоненциального скользящего среднего, где коэффициент α равен соотношению сечения входящей трубки к сечению капиляра, либо соотношение между сечением капиляра и объёма полости, в зависимости от устройства вариометра.
P.S. Дада, конечно, программистам знать математику совершенно не обязательно, эти основы ЦОС любой же может загуглить :)
Ну вот, по заголовку подумал о компьютере с пневматической обработкой данных, и такой облом. Но всё равно интересно.
Эксперименты с самодельным компьютером воздушных данных