Самодельный электронный альтиметр-вариометр с подачей звуковых и световых предупреждающих сигналов

от автора


Можно применять в авиационных видах спорта как дополнительное средство обеспечения безопасности при:

— выполнении парашютных прыжков;
— полётах на параплане;
— полётах на сверхлёгких летательных аппаратах

image

Достоинства данного решения:

— небольшая цена комплектующих (1200-1500р в розницу, при покупке в интернет-магазинах КНР значительно дешевле);
— простота сборки (можно собрать за вечер, на макетной плате так вообще за полчаса);
— высокая точность измерения высоты;
— компактность и небольшой вес прибора;
— открытый программный код (можно вносить изменения, изменять пороговые настройки срабатывания прибора);
— можно использовать как модуль для измерения атмосферного давления (по СОМ — порту постоянно передаётся относительная высота, вертикальная скорость и атмосферное давление ).
— Питание как от автономного источника постоянного тока (6-20V) так и по Mini-B USB — шнуру.

Предистория создания:

AltVar+, как я его назвал, был создан на основе вот этого проекта в виде вариометра – пищалки. Прототип собрал на макетной плате. На ней было всего два значимых компонента:
плата микроконтроллера Arduino Nano V3
датчик давления Gy-68

Прибор реагировал писком на подъёмы-спуски, но не было никакой индикации. Поэтому пришлось доработать программу.

image

Теперь плата транслировала значения высоты и вертикальной скорости на СОМ-порт компьютера.
Захотелось большей автономности и я добавил 4-цифровой 7-сегментный дисплей, заключил плату с датчиком в самодельный корпус, встроил в него элемент питания. На дисплей вывел значение относительной высоты.
Теперь приборчик можно было использовать как для измерения относительной высоты, так и высокоточный барометр.

image

Некоторое время я его так и использовал, т.к. уже буквально спустя несколько минут после включения на нём была видна тенденция изменения погоды.
Дело в том что точность датчика примерно -+0,17 м. Изменение атмосферного давления на десятую долю мм рт. столба изменяет показание прибора более чем на метр.

Друзья и знакомые парашютисты знали, что у меня появилась такая самоделка. Они же и сподвигли меня на следующий шаг, предложив на его основе собрать сигнализатор высоты – «пищалку».
От вывода индикации на 4-цифровой 7-сегментный дисплей, отказался почти сразу, т.к. если повесить их сразу 2, то цифровых ножек мне хватит едва-едва, да и ресурсы МК код вывода потреблял «немеряно». К тому же, при этом способе индицирования, есть заметный стробоскопический эффект, что портит зрительное восприятие информации.

Вывел данные высоты и вертикальной скорости на — LCD — дисплей 1602 (16 знаков, 2 строчки).

Так приборчик подсказал как мне его назвать.

image

AltVar+ исправно показывал малейшие изменения высоты и вертикальной скорости.

Для вывода звукового сигнала оставил часть кода исходного проекта.
Тестировал его сутками напролёт. Работал AltVar+ устойчиво.
Вернее – не было ни одного сбоя! В автономном варианте (с 200мА 9V элементом типа «Кроны») проработал 8 часов без перерыва и отключился по питанию.

Программный код для микроконтроллера создал с помощью компилятора Arduino 1.0.6. В несколько этапов, постепенно добавляя функционал.

Алгоритм программы работает просто и прямолинейно:

— значения высоты и вертикальной скорости постоянно индицируются на LCD-дисплей;
— полученные значения высоты и вертикальной скорости сравниваются с пороговыми значениями, заданным пользователем, и по итогам этой проверки выдаются звуковые и световые сигналы

При включении прибора индицируются пороговые значения высот и скоростей, заданные пользователем. На первый взгляд громоздко – зато информативно!

Видео загрузки 1

Изменения можно вносить, меняя значения в программе и после компиляции загружать в микроконтроллер.
Алгоритм работы программы построен таким образом, что перед каждым прыжком нужно AltVar+ инициализировать (выключать – включать). Мы его как бы «взводим». Для чего это нужно?

После «взведения» мы имеем:

— максимально точное значение нулевой высоты площадки;
— значения переменных, отвечающих за количество звуковых сигналов, принимают исходные значения;
— экономим заряд аккумулятора

Программа, как я уже указывал, создана для парашютистов. «Китайский стиль» написания позволит разобраться в ней даже новичку. Всё просто и однозначно, как мне кажется.
Не вижу преград адаптировать её для параплана (парамотора) и СЛА.

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

В данной версии программы заданы три высоты для большой вертикальной скорости:

— готовности (Ready) – 1 звуковой сигнал (установил 1000 м);
— оповещения (Alert) – 3 звуковых сигнала (800 м);
— тревоги (Alarm) – непрерывный звуковой сигнал (600 м)

image

Сигнал будет снят при уменьшении вертикальной скорости до пороговой (установил – 25 м\с)

image

Ввёл ещё два информационных звуковых сигнала:
— при достижении определённой высоты (Climb) на борту летательного аппарата (300 м при вертикальной скорости более +1 м\с);
— при достижение определённой высоты (Baza) при спуске на парашюте (200 м при вертикальной скорости более –1 м\с, здесь высоту срабатывания ограничил минимумом в 25 метров т.к. на земле после включения AltVar+ возможны различные непредвиденные скачки давления, что вызовет сигнал);

image

Информация выводится в формате:
1 строка Alt: * * * * (метры) — (признак отрицательной высоты)
2 строка Var: * *. * (метры в секунду) -V- (снижение) +^+ (подъём)
Использовал стандартный знакогенератор компилятора, не русифицировал. Поэтому всё по английски.

Кроме того, все звуковые сигналы дублировал светодиодом.

Подключив AltVar+ через СОМ-порт можно с помощью какого-нибудь стороннего устройства вести запись вертикального профиля полёта. Поначалу эту возможность я использовал для отладки программы и решил оставить.
Для получения точного значения атмосферного давления, необходимо внести поправку в переменную кода, зарезервированную для этих целей. Тогда будут предельно точные показания атмосферного давления.
В остальном, прибор и без этой поправки обеспечивает измерения высоты и вертикальной скорости с достаточно высокой точностью.

Наращивать функционал можно и дальше.

Например:
— измерение напряжения источника питания;
— записывать с лог данные по аварийным режимам (этакий «виртуальный «SyPReS»);
— поставить виброзвонок;
— т.д. и т.п.
Но пока остановился на этом наборе сигналов.

Сборка прототипов для испытаний в «полевых условиях».

Спаял на макетных платах все компоненты AltVar+

image

Плату разместил под LCD-экраном, что конечно не догма. Можно разместить и рядом ним. Прибор станет площе, но шире.

image

Изготовил из 4-мм пластика корпус для самого прибора и для элемента питания (9V «Крона»). Обработал стыки и кромки, задул из аэрозольного баллончика.
Что сказать… «Кондово» получилось.

image

Возможно, не достаточно компактно. Вообще то можно было использовать маленькую мыльницу с прорезанными отверстиями под индикацию, включатель и звуковой разъём. Но что получилось – то получилось.

Есть что тестировать по крайней мере.

Этапы этого самого тестирования представляются следующими:

— устойчивость работы в статическом состоянии;
— проверка автономности;
— «лифтовый тест» с сильно заниженными пороговыми значениями высот и вертикальных скоростей;
— парашютные прыжки с завышенными (по высотам) порогами срабатывания прибора

Видео 2 «лифтовой тест»

Считаю что пройден удачно.

Были заданы:

— высоты срабатывания 20=>15=>10 м;
— вертикальная скорость -0.6 м\с (на пределе чувствительности);
— высота в наборе 8 м;
— высота на спуске 5 м

При прохождении всех высот AltVar+ «проблеял» заданное количество раз. И светодиодом помигал.
После снижении вертикальной скорости ниже порогового значения — снял сигнал тревоги. То есть вёл себя вполне предсказуемо, как я и планировал.

Будем тестировать его и дальше.

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

Резюмирую

Использованные комплектующие:

плата микроконтроллера Arduino Nano V3
датчик давления Gy-68
LCD — дисплей 1602
— 3,5 мм аудиоразьём;
— резисторы 4к7, 1К, 330 ом;
— 5V светодиод;
— элемент питания «Крона»;
— включатель;
— макетная плата с проводниками

Программное обеспечение:

Arduino 1.0.6., подключив библиотеки порта, датчика, дисплея и динамика
финальный скетч (программа, что загружается в микроконтроллер)

P.S. Разработал плату, чтобы упростить сборку AltVar+. Но пока не изготавливал.

image

А ещё AltVar+ можно использовать как зелёный светодиодный фонарик 🙂

ссылка на оригинал статьи https://geektimes.ru/post/271080/