DIY Arduino Variometer for Paragliding / Делаем Вариометр На Ардуино

8,419

37

23

Introduction: DIY Arduino Variometer for Paragliding / Делаем Вариометр На Ардуино

About: My name is Andrei and I'm from Russia. I love paragliding, photography and making different stuff with my own hands! Hope that my posts can be useful for you! =)

All paraglider and hang glider pilots can be devided into two categories: those who have the variometer and those who want to have it. In this post you'll see, how you can make such device with your owh hands and not pay a lot of money. Of course, the DIY device will not have such precision as the factory one, but it's still enough for flights.

So, let's go...

/////

Все пилоты парапланов и дельтапланов делятся на два типа: те, у кого есть вариометр, и те, кто не отказался бы его заиметь. В этой инструкции вы увидите, как можно собрать подобный девайс самостоятельно на базе Ардуино Нано, и обойдётся он гораздо дешевле, чем заводской прибор. Разумеется, добиться такой точности, как у заводского, у нас навряд ли получится, но, тем не менее, прибор будет вполне полётопригоден.

Итак, поехали...

Step 1: What We'll Need / Нам Понадобится

Also we'll need some software:

- Arduino IDE - https://www.arduino.cc/en/main/software

- Libraries for BMP180, LCD I2C and for buttons (four attached zip-archives)

After installing the IDE, just unpack archives to "Program Files\Arduino\libraries".

/////

Нам так же понадобится немного софта и библиотек:

- Arduino IDE - https://www.arduino.cc/en/main/software

- Библиотеки для датчика BMP180, LCD экрана с I2C переходником и для правильной работы кнопок (четыре прикреплённых zip-архива)

После установки среды Arduino просто распакуйте архивы по этому пути: "Program Files\Arduino\libraries".

Step 2: Connection Diagram / Схема Подключения

Step 3: Development / Разработка Устройства И Прошивки

Firstly I wanted to make a simple small beeper with a screen to show the vario and altitude values. But then I wanted more and more. As a result the device has a big bulky case with several buttons, but it can do much more useful things than I originally planned! Here are some pictures of the development process.

To reduce the firmware development time, the algorithm of the variometer averager was borrowed from these two awesome projects:

https://www.instructables.com/id/GoFly-paraglidingh...

http://redhats.ru/variometer-arduino-2015/

A lot of thanks to their authors!

P.S. I have to honestly admit, this is my first serious project on Arduino and this is my first code for seven years after graduation from University. Therefore, the code itself is creepy enough, complicated, poorly optimized and all stands on crutches! But it works! And, as is known, works - do not touch! And, in general, this is not a bug, it's a feature! =)

The first version of ino-file - Vario_nX_v1.0.ino!

P.S. The new firmware version Vario_nX_v1.1.ino has more pleasant descent sound! Check it out! =)

P.P.S. The next version - Vario_nX_v1.2.ino

Changes: Added new values to the series of preset values.

For treshold on descent the extended line is: -0.5, -0.7, -0.9, -1.1, -1.3

For treshold on falling the extended line is: -2.5, -3.0, -4.0, -5.0, -6.0, -7.0, -8.0

/////

Сперва я хотел сделать простую маленькую пищалку с экраном, что бы видеть скороподъёмность и высоту. Но с каждой новой фичей хотелось всё большего. В результате получилась неуклюжая коробка с кнопками, которая умеет делать намного больше полезностей, чем изначально планировалось! На фотках запечатлено несколько моментов процесса разработки.
Что бы не тратить время на изобретение велосипеда, я позаимствовал алгоритм усреднителя из этих двух наикрутейших проектов:

https://www.instructables.com/id/GoFly-paragliding...

http://redhats.ru/variometer-arduino-2015/

Огромное спасибо их авторам!

P.S. Я должен честно признаться, это мой первый серьёзный проект на Arduino и это мой первый код за семь лет после выпуска из универа. Поэтому сам код достаточно жуткий, сложный, плохо оптимизированный и весь стоит на костылях! Но он работает!

А, как известно, работает – не трогай! И, вообще, это не баг, это фича! =)

Первая версия прошивки (ino-файлик) - Vario_nX_v1.0.ino!

P.S. В следующей версии прошивки Vario_nX_v1.1.ino ощутимо изменён звук варика на снижении. Он стал более приятным, не режет слух.

P.P.S. Очередная версия - Vario_nX_v1.2.ino

Изменения: по просьбам братьев-пилотов расширены ряды значений порога срабатывания на сливе и для тревоги.

Новый ряд порога на снижении: -0.5, -0.7, -0.9, -1.1, -1.3
Новый ряд порога при падении: -2.5, -3.0, -4.0, -5.0, -6.0, -7.0, -8.0

А так же в комменты (в коде) добавлены пометки "МОЖНО МЕНЯТЬ!!!". Эти пометки указывают, какие начальные значения можно поправить, что бы более гибко настроить прибор под себя любимого! =) Там, где нет такой пометки, трогать ничего не стоит, иначе код может поломаться!

Step 4: Assembly / Сборка

The assembly doesn't look pretty good. I used a lot of heat-shrink tubing and hot-melt glue, but the elements are fixed firmly, nothing hanging. The BMP180 sensor can be found by the yellow heat-shrink tube. Sensor board is covered with foam rubber.

/////

После сборки в корпус внутрянка выглядит слегка не по-заводскому - сплошняком термоклей и кембрик. Но держится всё намертво, разумеется, если не кидаться прибором в стену! Сам датчик можно найти по изогнутому куску жёлтого кембрика. Плата датчика укутана в поролон.

Step 5: Description / Описание

As a result I got such devise. I'm really bad at painting, so the box looks a little creepy in style of FallOut world. But it works and works not too bad.

The video shows main screens and menu items, also there is a small room test.

Main screen shows you the Vario value, one of three altitudes, air temperature and flight time (and some more features, which are described in more detail in the Instruction manual).

The device has also the screen of Maximal altitudes and the screen of Max and Min Vario values.

The Menu has 11 items:

- Sea level pressure setup

- Vario treshold on climb

- Vario treshold on descent

- LED Vario light ON/OFF

- Button sound ON/OFF

- Falling alarm treshold set

- Falling alarm test mode ON/OFF

- Long beep at certain altitude on climb

- Long beep at certain altitude on descent

- Vario mode (one of two)

- LCD Backlight ON/OFF

All these features are more detailed in the Instruction manual (in English and in Russian).

/////

В результате получился вот такой девайс. Художник из меня не очень, поэтому после покраски прибор выглядит довольно жутко, будто из мира FallOut. Но он работает и работает вполне неплохо.

Видео показывает главные экраны устройства, пункты меню, а так же в нём есть небольшой комнатный тест.

Основной экран после запуска прибора показывает значения вариометра, выбранной высоты, температуры воздуха и полётного времени (и ещё несколько полезных штучек, которые подробно описаны в мануале, приложенном к этому посту). Так же прибор может отображать экран максимальных набранных высот и экран максимального и минимального значений вариометра.

В меню есть 11 пунктов:

- Отображение и ввод давления на уровне моря

- Порог срабатывания вариометра при наборе высоты

- Порог срабатывания вариометра при потере высоты

- ВКЛ/ВЫКЛ светодиодной индикации вариометра

- ВКЛ/ВЫКЛ звука клавиш

- Настройка порога срабатывания сигнализации

- ВКЛ/ВЫКЛ тестового режима сигнализации

- Длинный сигнал при проходе заданной высоты в наборе высоты

- Длинный сигнал при проходе заданной высоты на сливе

- Выбор одного из двух режимов вариометра

- ВКЛ/ВЫКЛ подсветки экрана

Все эти опции подробно описаны в мануале (на английском и русском языках).

Step 6: Results and Tests / Результаты И Тесты

Here is a small video of the second flight test.

By the time this post was written, the device had passed several elevator tests on the ground for calibration and two final tests in the flight. Several bugs have been fixed, and now, in general, the device is ready. Of course, in future there will be more bugs, but they are unlikely to be critical.

If, or more correctly, when the
device shows up bugs, throw me a description on my E-mail (xonix2004@list.ru), or you can find me in VK or Facebook for more convenient communication. If you know some tricky function that should be built into the variometer, but did not find it in the list of available ones, also write. If it’s possible, I’ll try to implement and upload a new version of the firmware.

Live long and fly safe! =)

/////

А вот небольшое видео со второго испытательного полёта.

К моменту написания данного поста прибор качественно накатался в лифте для калибровки, а так же прошёл два боевых теста в воздухе. Было исправлено несколько багов, и теперь, в принципе, девайс готов к эксплуатации. Конечно, в будущем проявятся ещё баги, но навряд ли они будут критичными.

Если, верней, когда в работе устройства обнаружатся баги, скидывайте мне их описание на мыло (xonix2004@list.ru), или же можете найти меня в ВК или Facebook для более удобного общения. Если вы знаете какую-то хитрую функцию, которая должна быть заложена в вариометр, но не нашли её в списке имеющихся, тоже напишите, по возможности постараюсь реализовать и выложить новую версию прошивки.

Всем пилотам встречного ветра и пусть у вас в полёте ничего не складывается! Летайте безопасно! =)

7 People Made This Project!

Recommendations

  • Metalworking Contest

    Metalworking Contest
  • Fix It! Contest

    Fix It! Contest
  • Water Contest

    Water Contest

23 Discussions

how can i make it so it just beeps, no lcd, no botons, just that it beeps when im going up?

1 more answer

Hi!

Well, to do that you really need to throw out almost everything except averager code and sound output code.

Or you can write to the author of this video on Youtube. He made exactly what you need. Maybe he'll be kind enough to tell more about his device!

https://www.youtube.com/watch?v=runBtB6qQPA

Good luck!

Thanks for the detailed instructions! Will be building one this year!

1 reply

Great! Ask if you have any questions! =)

How does the screen hold up in bright sunlight? Still readable?
Would the same system work with a transflective TFT also work?

1 more answer

In the bright sunshine the screen is a little less contrast but still readable.

And the algorythm should work with any type of screen, but you need to adapt the code to your screen

0
None
laisch

Question 6 months ago

Really nice job! Thx for sharing!

To make the battery lasting a little bit longer, is it possible to remove the red power led on the I2C converter platine? on the arduino i already removed it because I knew it's possible, but on the I2C i don't know if it's essential for correct powering the display.

Is it possible to use EEPROM.write on a nano? I want try to store the settings I made (like treshold, lights,..). Maybe a suggestion for a further firmware version ;)

Just a tip for people struggling with their I2C display. I changed the address of the display a few times in the sketch and got no effect (still no textoutput). But then I realized the poti on the back of the display wich handles the contrast. Turning it a little bit helped ;)

Thx again!
Thomas

2 more answers

Thx for reply. Yes, removing the led was no problem, it still works ;)

I just added a few pictures. Components enclosed in a wooden box, and a softshell holder to fix it on to the harness.

Just flew with it today and it works like a charm :)

Hi! Thanks! =)

About the LED. I also thought about removing that LED, but after making a box, successfully forgot about it! But you can try, I don't think something horrible is going to happen!

Well, yep, you can use EEPROM on Nano! And this is a feature for the next firmware version, but unfortunatelly long repair in my apartment steals all my free time. But you also can try to do it yourself! According to manuals it's pretty easy! =)

And with the potentiometer I had the same thing! =)) Forgot to describe it in the instructable!

So good luck! Waiting for the pictures of your vario! =)

Hi!
Can you give me more info about the problem?
What pins you can't find?

Hi! Can you please give me more info about your display issue?
P.S. And can you please use English? It will be much easier to speak! =)

Nice job dude, thanx for sharing

My i2c LCD didnt supported LiquidCrystal_I2C lcd(0x27,16,2); line

so I changed it to LiquidCrystal_I2C lcd(0x3f,16,2);

thank you again. cheers

1 reply

Happy, you liked it, man!

About the address, yep, that happens sometimes! I mentioned about another address in the comment for LCD initialistaion line in the latest firmware version! =)

Did you test the device? What can you say?

Нужно сделать экранирование микропроцессора или всей платы ардуино. Чтобы обеспечить помехоустойчивость прибора.

Летаю с рацией на VHF 158Mhz, расстояние от антенны передатчика до вариометра, около 60см. Каждый раз при нажатии кнопки передачи, вариометр замерзает. Помогает только перезагрузка. При этом естественно сбивается высота, время и все остальные замеры.

1 reply

Интересное замечание! Ну, собственно, в данный момент разрабатывается корпус для печати, в котором, как раз, будет экранирующий слой.

Вопрос. Что за рация используется, какая мощность передатчика установлена, и какая стоит антенна?

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

1 reply

Благодарю!

Должен признаться, я сперва тоже хотел делать на голом контроллере, да всё руки не доходили. А тут Ардуионовская простота подкупила, вот и сделал на ней.

Если будут вопросы, пишите, постараюсь помочь!

This project is on my "to do list" evenso I have a really new and neat Skytraxx Vario with a 1000 functions more... many thanx to Xonix