Форумы paraplan.ru Снаряжение Приборы Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
XONIX
Гость
28 Мар 2017
Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
Уже обсуждался подобный девайс тут, правда он был на датчике BMP085. А мне тут недавно пришёл BMP180, решил на нём с нуля собрать прибор. Уже, кстати, есть и BMP280, надо будет и с ним попробовать сделать.
Прибор выдался суровый, люто-покрашенный, но работает приемлемо. Задержка срабатывания составляет примерно 1-1,5 секунды.

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

Список реализованных функций:
- Отображение и ввод давления на уровне моря
- Порог срабатывания вариометра при наборе высоты
- Порог срабатывания вариометра при потере высоты
- ВКЛ/ВЫКЛ светодиодной индикации вариометра
- ВКЛ/ВЫКЛ звука клавиш
- Настройка порога срабатывания сигнализации
- ВКЛ/ВЫКЛ тестового режима сигнализации
- Длинный сигнал при проходе заданной высоты в наборе высоты
- Длинный сигнал при проходе заданной высоты на сливе
- Выбор одного из двух режимов вариометра
- ВКЛ/ВЫКЛ подсветки экрана

Вот порция фоток:





И немножко видео:
смотреть прямо тут или смотреть с сайта

смотреть прямо тут или смотреть с сайта


Вот есть мануал с более подробным описанием работы и функций:
Скачать "Manual_RU.pdf"

Если кто заинтересовался, вот ссыль на Instructables с описанием, как сей девайс собирать.
Instructables-NX-Vario

Если кто соберёт, будет хорошо, ибо прошива пока сырая, а чем больше народу тестит, тем быстрее вылезают и лечатся баги...
Редактировалось: XONIX (30 Мар 2017), всего редактировалось 2 раз(а)
Алех_К
30 Мар 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
А где код?(скеч).Обратите внимание на это видео
смотреть прямо тут или смотреть с сайта

Что интересно задержки сигнала практически нет, ну и датчик там ms5611, уже классом выше. В вашем коде имеется фильтр калмана?
Редактировалось: Алех_К (30 Мар 2017), всего редактировалось 1 раз(а)
XONIX
Гость
30 Мар 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
Код лежит в посте на Instructables вместе с необходимыми библиотеками.
Этот видос видел, там человек очень серьёзно подошёл к созданию устройства. Мало того, что он применял ms5611 и фильтр Калмана, так ещё и, судя по всему, завязал работу на данные с акселерометра. Всё это плюс оптимизация кода фильтра дают практически нулевую задержку. И, по ходу, даже корпус на принтаке распечатал!
Мой прибор использует фильтр на основе скользящей средней (я позаимствовал код фильтра вот отсюда http://redhats.ru/variometer-arduino-2015/).
Сейчас в запасах уже лежат BMP280 (который, судя по даташиту и отзывам, как минимум на порядок лучше чем использованный тут BMP180) и OLED-дисплей. Надеюсь в обозримом будущем собрать варик на их основе, и тут уже применить именно фильтр Калмана.
Stasmor
(аноним)
30 Мар 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
ms5611 имеет один маленький и неприятный нюансик(про неприятную цену я вообще молчу), сильный нагрев корпуса и по этой причине уплывающие показания... можно конечно софтово корректировать, но "бок" не очевиден с первого взгляда.
XONIX
Гость
30 Мар 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
Вот отчасти и из-за этого не стал его заказывать.
Хотя, в принципе, при желании, наличии лишнего времени и свободного места в памяти контроллера с дрейфом можно справиться.
Алех_К
30 Мар 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
А на сколько сильно греется ms5611, по идее не должен, может с питанием какие проблемы? Если ms5611 без дополнительного стабилизатора питания то его напряжение питания должно быть 1.8 to 3.6 V, если дать больше, будет греться, и быстро выйдет из стороя.
Редактировалось: Алех_К (30 Мар 2017), всего редактировалось 1 раз(а)
Stasmor
(аноним)
30 Мар 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
конечно питание стабилизировано на уровне 3.0В

Греются они, инженерные просчеты видимо...
X-Alex
2-й разряд
30 Мар 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
Тоже недавно добил свой прибор

Есть мысль след прибор сделать таким:
1 бародачик оставть 280 но через SPI интерфейс (скорость опроса повысится)
2 Экран 12864
3 Ардуинка про мини для простоты питания
4 Все таки впаять RGB светодиод (програмный код написан но отключен)
5 питание один элемент 18650 (сейчас 2 элемента, месяц работы это конечно хорошо но габариты смущают)
XONIX
Гость
30 Мар 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
Зачётный аппарат!
Корпус печатался?
Как ведётся себя 280 датчик?
X-Alex
2-й разряд
30 Мар 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
Да корпус печатал на 3Д принтере
280 дачик однозначно лучше, но цеплять его надо не через I2S интерфейс, а через SPI т.к. I2S имеет меньшую скорость опроса и плюс адафруитовская библиотека написана под ихний 280 датчик, ее править надо, а имеено адрес датчика.
kr. Gena
пилот выходного дня
30 Мар 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
Цитата:
но цеплять его надо не через I2S интерфейс, а через SPI т.к. I2S имеет меньшую скорость опроса
Смысл? Скорость в данном случае определяется самим датчиком, вернее режимом его работы. Но в любом случае скорости I2S за глаза и за уши.
X-Alex
2-й разряд
30 Мар 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
вот интересный проект на гитхабе
аппаратно основы возьму как у него только датчик и экран другие, да забыл сказать управление энкодером планирую сделать
XONIX
Гость
30 Мар 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
Вот насчёт энкодера, честно, у меня лично есть сомнения. Да, удобно в том плане, что всё управление в одной крутилке, но удобно оно на земле. А вот в полёте крутить по щелчкам, особенно если рука в перчатке, будет не очень. Хотя, если сделать все данные на одном экране, или переключение информационных экранов просто по нажатию кнопки, будет терпимо.
Я тоже думал насчёт энкодера, но в конечном итоге отказался. Разнесенные кнопки, всё же, проще нащупываются и нажимаются укутанным в перчатку пальцем!
Редактировалось: XONIX (30 Мар 2017), всего редактировалось 1 раз(а)
Алех_К
30 Мар 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
Тоже думаю что энкодер лишний, хотя как говорят на вкус и цвет..... Мне , на данный момент, из того что я пробовал больше всего нравится код из соседней темы, который выложил vladk1965, там имеется только одна кнопка, присутствует фильтр калмана, вот бы его немного доработать под библиотеку U8glib вывести показания температуры, и дополнительный экран с компасом, было бы очень здорово. Вы тоже проделали большую работу спасибо!
XONIX
Гость
30 Мар 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
Благодарю!
Вот, как раз, хочу в следующей модели реализовать ещё и компас. И на работу акселерометра код завязать, что бы варик реагировал быстрее. Посмотрим, что из этого выйдет!
X-Alex
2-й разряд
06 Апр 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
С акселерометром у меня давно мысль крутится но алгоритм работы придумать не могу.
Там же 3 оси, нам из этих трех осей нжна вертикальная составляющая относительно земли, при этом исключить составляющие от радиальных и прочих ускорений, с учетом того что прибор не всегда в горизонтали лежит да и положение свое во время полета меняет, если например на ноге закреплен.


А это экран для следующего прибора
Михась
07 Апр 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
А в чем польза очень быстрой реакции варика? Ну можно получить быстродействие в десятки герц с акселерометром, но зачем?

https://paraplan.ru/forum/topic/101691/postdays=0&postorder=&vote=viewresult
kr. Gena
пилот выходного дня
07 Апр 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
И какое-же усреднение у пищалок?
kr. Gena
пилот выходного дня
08 Апр 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
Там речь об усреднителе скороподъемности по которой можно оценить силу потока. Звуковой индикатор ни на одном приборе усреднителя не имеет, разве только настройку чувствительности.
з.ы. Да, там есть фильтр, который в простейшем варианте работает как усреднитель, но его задача только убрать шумы самого бародатчика.
Редактировалось: kr. Gena (08 Апр 2017), всего редактировалось 1 раз(а)
vladk1965
16 Май 2022
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
Вот еще слепил вариант. На датчике MS5611, дисплейчике 128x64 и бюджетном, но щустром чипе LGT8F328. Скетч vario_128x64_1.ino. Там кроме основного экрана есть экран с максимальной и минимальной скороподъемностью и погодная станция, выводящая температуру и давление и графики их изменения за крайний час. Графики пока сыроваты. Мысль была, что бы когда ждешь погоду было на что посмотреть. Надо проверить. Сам варик работает хорошо. Хотя разницу с датчиком BMP280 я не заметил. Хотя MS5611 используется в режиме повышенной точности и с тем же фильтром Калмана с теми же настройками. На счет нагрева, вывожу его температуру, градуса на три выше среды. Не думаю, что это скажется на измерении давления, но неприятно. Фильтры, которые есть в его библиотеке мне не понравились, возможно, я их не распробовал. Короче, нет смысла его использовать. Вторая кнопка выключает и включает звук. В планах еще сделать старт стоп при взлете и посадке оперативные настройки чувствительности и громкости. Памяти осталось еще 2 килобайта. https://disk.yandex.ru/d/lxdj62vt_C_Rrw
sky_dreamer1
25 Апр 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
добрый день!
А можно взглягнуть на ваш скетч с датчиком BMP280?
Пытаюсь допилить вот эту пищалку http://redhats.ru/variometer-arduino-2015/, но не могу разобраться как туда подцепить BMP280 вместо BMP180.
X-Alex
2-й разряд
26 Апр 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
Да пожалуйста https://www.dropbox.com/s/v5ldiigh21yrni4/_2016.02.19_Vario5.ino?dl=0
Но мне как уже говорил выше мой программный код не нравится, все же датчик надо через SPI цеплять
kr. Gena
пилот выходного дня
27 Апр 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
Датчик выдает данные со скоростью, скажем 100 Гц. (это очень низкое разрешение, в высоком скорость еще ниже). Данные типа флоат, длина 4 байта. Итого нам нужна скорость передачи 400 байт/сек (3.2 кбит/с). (накладными расходами пренебрежем, ну и там еще два байта команда самому датчику занимает, итого 4.8 кбит/с). I2C даже в самом тяжелом случае имеет 10 кбит/с что уже с избытком. Но обычно реализована скорость в 400 кбит, что на пару порядков выше требуемой. В чем смысл SPI? Не, можно и его использовать, но в плане быстродействия это ровным счетом ничего не даст, узкое место не в интерфейсе.
Редактировалось: kr. Gena (27 Апр 2017), всего редактировалось 1 раз(а)
Монах
пилот выходного дня
06 Июн 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
После некоторых заморочек собрал работающую версию прибора на Arduino UNO. Пока на макетной плате и без корпуса. Все работает, осталось все это распаять и затолкать в корпус.
Автору респект однозначный.
XONIX
Гость
09 Июн 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
Благодарю!
Рад, что статейка пригодилась! =)
Ждём сборку в корпус и результаты тестов!
Монах
пилот выходного дня
26 Июн 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
Все собрано в корпус и испытано.


Результаты "коллегиальных" испытаний на моторах: прибор вполне работоспособный. Сравнивали с двумя заводскими вариками. На свободке еще не пробовали.
Скороподъемность - расхождение +/- 0,1 м/с, инерция начала срабатывания незначительная , конца срабатывания - чуток великовата (пищит еще примерно 0,7...1,5 секунды после окончания подъема)
Высота - расхождение +/- 1...2 м. Вообще гуд !
Время - врет безбожно. При реальном времени полета 1ч 20м показало 53 минуты (возможно, косячные характеристики китайской ардуины)
Температура - показывает правильно первые 3 минуты, потом ардуина нагревает "подкапотное пространство" градусов на 5 вверх)))
Вопит громко, моргает ярко. За LED индикацию мотористы прямо радовались очень-очень))) Батарею сильно вроде бы не просаживает. За пять часов испытаний, по крайней мере, ничего не село.
Предложения и дополнения:
Просят расширить ряд чувствительности спуска примерно так: -0,5; -0,7; -0,9; -1,1; -1,3 вместо -0,9; -1,1; -1,3
Аналогично расширить ряд чувствительности тревоги -2,5; -3,0; -4,0; -5,0; -6,0; -7,0; -8,0 (а то есть у нас любители в спираль завернуть на -8,5))))

От себя : неплохо бы в комментариях в прошивке написать, где именно можно поправить дефолтные настройки меню. А то хочется, чтобы прибор включил, обнулился, и полетел, а он настройки только до выключения держит. Сам пока нашел только Light - true/false. Где выставляются дефолтные настройки рядов - не понял, поскольку мои знания по программированию весьма начальные)))) Там же в комментариях указать, что у китайских экранов I2P адрес может быть 0x3F (как у меня), а не 0x27.


В целом - все гуд)
Редактировалось: Монах (27 Июн 2017), всего редактировалось 2 раз(а)
XONIX
Гость
29 Июн 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
Ну, во-первых, искренняя благодарность за серьёзное тестирование!

Далее, касательно некоторых пунктов по порядку:

Цитата:
Время - врет безбожно. При реальном времени полета 1ч 20м показало 53 минуты (возможно, косячные характеристики китайской ардуины)
Честно сказать, это меня слегка удивило. Конечно, китайские платы не отличаются точностью, но что бы было такое расхождение - это какая-то дичь!
Вчера специально проверял свой прибор, обнулил таймер и запустил секундомер на телефоне (не эталон, конечно, но что было под рукой), как итог, за час расхождение с эталоном составило 6 секунд. 6 секунд за 60 минут - это, конечно, много, но это точно не 80 и 53 минуты!
Как вариант разгадки, могу предположить, что во время полёта примерно на 27-ой минуте таймер случайно был сброшен (хотя это странно - достаточно трудно случайно удерживать кнопку зажатой в течение секунды).

Цитата:
Температура - показывает правильно первые 3 минуты, потом ардуина нагревает "подкапотное пространство" градусов на 5 вверх)))
Эт да, такой косяк есть, и, вроде, я его в мануале даже описывал. Тут уж при данной конструкции ничего не поделать. Для решения проблемы нужно либо выносить датчик за пределы корпуса и делать для него маленький корпусок, что бы его не клинило порывами, приходящими ровно в отверстие датчика, либо же городить отдельный внешний температурный сенсор на отдельной линии и отдельно его обрабатывать. Но это задачи, вероятно, следующих версий прошивок! =)

Цитата:
Вопит громко, моргает ярко. За LED индикацию мотористы прямо радовались очень-очень))) Батарею сильно вроде бы не просаживает. За пять часов испытаний, по крайней мере, ничего не село.
Вот это прям порадовало!

Цитата:
Просят расширить ряд чувствительности спуска примерно так: -0,5; -0,7; -0,9; -1,1; -1,3 вместо -0,9; -1,1; -1,3
Аналогично расширить ряд чувствительности тревоги -2,5; -3,0; -4,0; -5,0; -6,0; -7,0; -8,0 (а то есть у нас любители в спираль завернуть на -8,5))))
Новая прошива уже лежит на Instructables. Версия 1.2, можно тестить!

Цитата:
От себя : неплохо бы в комментариях в прошивке написать, где именно можно поправить дефолтные настройки меню. А то хочется, чтобы прибор включил, обнулился, и полетел, а он настройки только до выключения держит. Сам пока нашел только Light - true/false. Где выставляются дефолтные настройки рядов - не понял, поскольку мои знания по программированию весьма начальные))))
Да, вроде, старался максимально комментариями упростить понимание, где чего менять надо! Видать, перестарался - всё стало ещё запутаннее!
В общем, добавил в комменты в коде формулировку "МОЖНО МЕНЯТЬ!!!". В той строке, где стоит такая фраза, значение можно менять. Но из-за некоторой костыльности кода некоторые значения надо менять в паре с другими, там же в комментах описал, с какими именно.
Вообще, изначально хотел сделать возможность сохранения настроек в энергонезависимой памяти, но руки пока ещё до этого не дошли.

Цитата:
Там же в комментариях указать, что у китайских экранов I2P адрес может быть 0x3F (как у меня), а не 0x27.
Уже тоже сделано! =)

Цитата:
В целом - все гуд)
Это радует! =)
Если ещё будут пожелания, выдвигайте! Новые результаты испытаний тоже пишите!
VVS_
пилот выходного дня
09 Июн 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
Переходите на стм32. И звук будет без дискретности и потребление всего 0.5-1 мА при 3V.
Мой вариант варио.
смотреть прямо тут или смотреть с сайта
Utenok
пилот выходного дня
13 Июн 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
а можно подробнее про проект на stm32 ?

еще, не пойму откуда эти слухи, про то, что точность bpm280 выше, чем у bmp180, а у того выше, чему у bpm085.
по даташитам, никаких принципиальных различий не вижу.
VVS_
пилот выходного дня
14 Июн 2017
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
Читайте внимательно даташит. У 280 даже разрешение выше.
Я опробовал все эти датчики живьем. У 180 собственных шумов в 3-4 раза больше. У 280 собственный шум на уровне естественных шумов давления в воздухе, при этом колышется только последний знак, на 180 последние два. Разницу улавливаете? Следовательно со 180-ым хорошего быстродействия и чувствительности одновременно не получить, придется дольше сглаживать.
Так же в 280 можно активировать встроенный фильтр, что экономит математику микроконтроллера. Для ардуины это очень важно, потому что для правильного фирменного пищания с высоким разрешением по тону, у нее ресурсов впритык. Самое лучшее чего я добился это вот такого звука. Дискретность тона все-равно ясно слышна. Режет слух. И это пищание через прямое обращение к регистрам ШИМ, быстрее уже некуда..
смотреть прямо тут или смотреть с сайта

Не вижу никакой проблемы применить 280 на ардуино. В отличии от стм32 под ардуино все готовенькое.
Перед использованием на СТМ, я все датчики проверял на ардуино на исправность.
Ознакомиться с моим проектом на стм можно пока только в виде готового устройства. Вопросы в личку.
Редактировалось: VVS_ (14 Июн 2017), всего редактировалось 2 раз(а)
SSS
пилот выходного дня
29 Окт 2018
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
А лётный компьютер на базе rasberry pi или на чём то подобном никто не пробовал делать?
Stasmor
(аноним)
29 Окт 2018
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
А зачем?
Мощности и памяти средне-рядовых МК хватает за глаза...
vladk1965
20 Дек 2022
Re: Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...
Напишу здесь, возможно не совсем по теме. Китайцы продают ЖПС велокомпьютеры. например такойhttps://es.meilancycling.com/upload/202009/23/202009231400375048.pdf По сути это варик ЖПС. глонас и т.п. за 1500р. Влагозащищенный. Аккума хватает на сутки. датчик давления на борту. Пишет трек и передает в приложение. В отличии от варика не вычисляет скороподъемность и не пищит. Соединяется с четыремя внешними датчиками по стандартному протоколу. Было бы конечно красиво переписать ПО этому дивайсу. Как вариант, подключить внешний блютузный варик взамен датчика каденса. Там нет минуса, но это можно понять по звуку. Еще, неудобно калибровать высоту на ноль, придется это делать через меню. Если кому интересно, поковыряйте. А то нет времени пока на это.

  Форумы paraplan.ru Снаряжение Приборы Варик на Arduino Nano с датчиком BMP180. С экраном и полезными фичами...