- PVSM.RU - https://www.pvsm.ru -
— выполнении парашютных прыжков;
— полётах на параплане;
— полётах на сверхлёгких летательных аппаратах
— небольшая цена комплектующих (1200-1500р в розницу, при покупке в интернет-магазинах КНР значительно дешевле);
— простота сборки (можно собрать за вечер, на макетной плате так вообще за полчаса);
— высокая точность измерения высоты;
— компактность и небольшой вес прибора;
— открытый программный код (можно вносить изменения, изменять пороговые настройки срабатывания прибора);
— можно использовать как модуль для измерения атмосферного давления (по СОМ — порту постоянно передаётся относительная высота, вертикальная скорость и атмосферное давление ).
— Питание как от автономного источника постоянного тока (6-20V) так и по Mini-B USB — шнуру.
AltVar+, как я его назвал, был создан на основе вот этого проекта [1] в виде вариометра – пищалки. Прототип собрал на макетной плате. На ней было всего два значимых компонента:
— плата микроконтроллера Arduino Nano V3 [2]
— датчик давления Gy-68 [3]
Прибор реагировал писком на подъёмы-спуски, но не было никакой индикации. Поэтому пришлось доработать программу.
Теперь плата транслировала значения высоты и вертикальной скорости на СОМ-порт компьютера.
Захотелось большей автономности и я добавил 4-цифровой 7-сегментный дисплей, заключил плату с датчиком в самодельный корпус, встроил в него элемент питания. На дисплей вывел значение относительной высоты.
Теперь приборчик можно было использовать как для измерения относительной высоты, так и высокоточный барометр.
Некоторое время я его так и использовал, т.к. уже буквально спустя несколько минут после включения на нём была видна тенденция изменения погоды.
Дело в том что точность датчика примерно -+0,17 м. Изменение атмосферного давления на десятую долю мм рт. столба изменяет показание прибора более чем на метр.
Друзья и знакомые парашютисты знали, что у меня появилась такая самоделка. Они же и сподвигли меня на следующий шаг, предложив на его основе собрать сигнализатор высоты – «пищалку».
От вывода индикации на 4-цифровой 7-сегментный дисплей, отказался почти сразу, т.к. если повесить их сразу 2, то цифровых ножек мне хватит едва-едва, да и ресурсы МК код вывода потреблял «немеряно». К тому же, при этом способе индицирования, есть заметный стробоскопический эффект, что портит зрительное восприятие информации.
Вывел данные высоты и вертикальной скорости на — LCD — дисплей 1602 [4] (16 знаков, 2 строчки).
Так приборчик подсказал как мне его назвать.
AltVar+ исправно показывал малейшие изменения высоты и вертикальной скорости.
Для вывода звукового сигнала оставил часть кода исходного проекта [1].
Тестировал его сутками напролёт. Работал AltVar+ устойчиво.
Вернее – не было ни одного сбоя! В автономном варианте (с 200мА 9V элементом типа «Кроны») проработал 8 часов без перерыва и отключился по питанию.
Программный код для микроконтроллера создал с помощью компилятора Arduino 1.0.6. [5] В несколько этапов, постепенно добавляя функционал.
— значения высоты и вертикальной скорости постоянно индицируются на LCD-дисплей;
— полученные значения высоты и вертикальной скорости сравниваются с пороговыми значениями, заданным пользователем, и по итогам этой проверки выдаются звуковые и световые сигналы
При включении прибора индицируются пороговые значения высот и скоростей, заданные пользователем. На первый взгляд громоздко – зато информативно!
Видео загрузки 1 [6]
Изменения можно вносить, меняя значения в программе и после компиляции загружать в микроконтроллер.
Алгоритм работы программы построен таким образом, что перед каждым прыжком нужно AltVar+ инициализировать (выключать – включать). Мы его как бы «взводим». Для чего это нужно?
— максимально точное значение нулевой высоты площадки;
— значения переменных, отвечающих за количество звуковых сигналов, принимают исходные значения;
— экономим заряд аккумулятора
Программа, как я уже указывал, создана для парашютистов. «Китайский стиль» написания позволит разобраться в ней даже новичку. Всё просто и однозначно, как мне кажется.
Не вижу преград адаптировать её для параплана (парамотора) и СЛА.
Строки программы, насколько смог, снабдил исчерпывающими комментариями.
В «шапке» указаны необходимые комплектующие, взаимные соединения элементов, номиналы резисторов.
Можно открыть [7]в текстовом редакторе или в компиляторе и посмотреть.
— готовности (Ready) – 1 звуковой сигнал (установил 1000 м);
— оповещения (Alert) – 3 звуковых сигнала (800 м);
— тревоги (Alarm) – непрерывный звуковой сигнал (600 м)
Сигнал будет снят при уменьшении вертикальной скорости до пороговой (установил – 25 мс)
Ввёл ещё два информационных звуковых сигнала:
— при достижении определённой высоты (Climb) на борту летательного аппарата (300 м при вертикальной скорости более +1 мс);
— при достижение определённой высоты (Baza) при спуске на парашюте (200 м при вертикальной скорости более –1 мс, здесь высоту срабатывания ограничил минимумом в 25 метров т.к. на земле после включения AltVar+ возможны различные непредвиденные скачки давления, что вызовет сигнал);
Информация выводится в формате:
1 строка Alt: * * * * (метры) — (признак отрицательной высоты)
2 строка Var: * *. * (метры в секунду) -V- (снижение) +^+ (подъём)
Использовал стандартный знакогенератор компилятора, не русифицировал. Поэтому всё по английски.
Кроме того, все звуковые сигналы дублировал светодиодом.
Подключив AltVar+ через СОМ-порт можно с помощью какого-нибудь стороннего устройства вести запись вертикального профиля полёта. Поначалу эту возможность я использовал для отладки программы и решил оставить.
Для получения точного значения атмосферного давления, необходимо внести поправку в переменную кода, зарезервированную для этих целей. Тогда будут предельно точные показания атмосферного давления.
В остальном, прибор и без этой поправки обеспечивает измерения высоты и вертикальной скорости с достаточно высокой точностью.
Наращивать функционал можно и дальше.
Например:
— измерение напряжения источника питания;
— записывать с лог данные по аварийным режимам (этакий «виртуальный «SyPReS [8]»);
— поставить виброзвонок;
— т.д. и т.п.
Но пока остановился на этом наборе сигналов.
Спаял на макетных платах все компоненты AltVar+
Плату разместил под LCD-экраном, что конечно не догма. Можно разместить и рядом ним. Прибор станет площе, но шире.
Изготовил из 4-мм пластика корпус для самого прибора и для элемента питания (9V «Крона»). Обработал стыки и кромки, задул из аэрозольного баллончика.
Что сказать… «Кондово» получилось.
Возможно, не достаточно компактно. Вообще то можно было использовать маленькую мыльницу с прорезанными отверстиями под индикацию, включатель и звуковой разъём. Но что получилось – то получилось.
Есть что тестировать по крайней мере.
— устойчивость работы в статическом состоянии;
— проверка автономности;
— «лифтовый тест» с сильно заниженными пороговыми значениями высот и вертикальных скоростей;
— парашютные прыжки с завышенными (по высотам) порогами срабатывания прибора
Считаю что пройден удачно.
— высоты срабатывания 20=>15=>10 м;
— вертикальная скорость -0.6 мс (на пределе чувствительности);
— высота в наборе 8 м;
— высота на спуске 5 м
При прохождении всех высот AltVar+ «проблеял» заданное количество раз. И светодиодом помигал.
После снижении вертикальной скорости ниже порогового значения — снял сигнал тревоги. То есть вёл себя вполне предсказуемо, как я и планировал.
Будем тестировать его и дальше.
Собрать такой приборчик при желании может практически любой желающий и, используя открытый программный код, запрограммировать под свои задачи.
Использованные комплектующие:
— плата микроконтроллера Arduino Nano V3 [2]
— датчик давления Gy-68 [3]
— LCD — дисплей 1602 [4]
— 3,5 мм аудиоразьём;
— резисторы 4к7, 1К, 330 ом;
— 5V светодиод;
— элемент питания «Крона»;
— включатель;
— макетная плата с проводниками
Программное обеспечение:
— Arduino 1.0.6. [5], подключив библиотеки [10]порта, датчика, дисплея и динамика
— финальный скетч [7] (программа, что загружается в микроконтроллер)
P.S. Разработал плату, чтобы упростить сборку AltVar+. Но пока не изготавливал.
А ещё AltVar+ можно использовать как зелёный светодиодный фонарик :)
Автор: SergeNovo
Источник [11]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/diy-ili-sdelaj-sam/112480
Ссылки в тексте:
[1] этого проекта: http://redhats.ru/variometer-arduino-2015/
[2] плата микроконтроллера Arduino Nano V3: http://ru.aliexpress.com/item/4PCS-2pcsATmega328-Mini-USB-Board-2pcs-USB-Cable-Nano-3-0-Atmel-ATmega328/1990724032.html
[3] датчик давления Gy-68: http://ru.aliexpress.com/item/Free-Shipping-GY-68-Hot-Sale-1PCS-BMP180-Digital-Barometric-Pressure-Sensor-Board-Module-For-Arduino/32391448382.html
[4] LCD — дисплей 1602: http://ru.aliexpress.com/item/Freeshipping-LCD1602-LCD-monitor-1602-5V-green-screen-and-white-code-for-arduino/32300560926.html
[5] Arduino 1.0.6.: https://www.arduino.cc/en/Main/OldSoftwareReleases#1.0.x
[6] Видео загрузки 1: http://vk.com/id103034838?z=video103034838_171480831%2F1e385c48b90e1847d5
[7] Можно открыть : http://vk.com/doc103034838_437273389?hash=7752c33c113d117828&dl=79e302a056b28a6090
[8] SyPReS: http://kbrsky.com/materials/safetydevices/strahuyuwij_pribor_cypres/
[9] Видео 2 «лифтовой тест»: http://vk.com/video?z=video103034838_171482134%2F37a63f06084620cd46%2Fpl_updates
[10] подключив библиотеки : http://www.freeduino.ru/arduino/libraries.html
[11] Источник: https://geektimes.ru/post/271080/
Нажмите здесь для печати.