Уже обсуждался подобный девайс тут, правда он был на датчике BMP085. А мне тут недавно пришёл BMP180, решил на нём с нуля собрать прибор. Уже, кстати, есть и BMP280, надо будет и с ним попробовать сделать.
Прибор выдался суровый, люто-покрашенный, но работает приемлемо. Задержка срабатывания составляет примерно 1-1,5 секунды. Основной экран после запуска прибора показывает значения вариометра, выбранной высоты, температуры воздуха и полётного времени. Так же прибор может отображать экран максимальных набранных высот и экран максимального и минимального значений вариометра. Список реализованных функций: - Отображение и ввод давления на уровне моря - Порог срабатывания вариометра при наборе высоты - Порог срабатывания вариометра при потере высоты - ВКЛ/ВЫКЛ светодиодной индикации вариометра - ВКЛ/ВЫКЛ звука клавиш - Настройка порога срабатывания сигнализации - ВКЛ/ВЫКЛ тестового режима сигнализации - Длинный сигнал при проходе заданной высоты в наборе высоты - Длинный сигнал при проходе заданной высоты на сливе - Выбор одного из двух режимов вариометра - ВКЛ/ВЫКЛ подсветки экрана Вот порция фоток: ![]() ![]() ![]() ![]() И немножко видео: ![]() ![]() Вот есть мануал с более подробным описанием работы и функций: Скачать "Manual_RU.pdf" Если кто заинтересовался, вот ссыль на Instructables с описанием, как сей девайс собирать. Instructables-NX-Vario Если кто соберёт, будет хорошо, ибо прошива пока сырая, а чем больше народу тестит, тем быстрее вылезают и лечатся баги... |
Алех_К
30 Мар 2017
|
А где код?(скеч).Обратите внимание на это видео
![]() Что интересно задержки сигнала практически нет, ну и датчик там ms5611, уже классом выше. В вашем коде имеется фильтр калмана? |
Код лежит в посте на Instructables вместе с необходимыми библиотеками.
Этот видос видел, там человек очень серьёзно подошёл к созданию устройства. Мало того, что он применял ms5611 и фильтр Калмана, так ещё и, судя по всему, завязал работу на данные с акселерометра. Всё это плюс оптимизация кода фильтра дают практически нулевую задержку. И, по ходу, даже корпус на принтаке распечатал! Мой прибор использует фильтр на основе скользящей средней (я позаимствовал код фильтра вот отсюда http://redhats.ru/variometer-arduino-2015/). Сейчас в запасах уже лежат BMP280 (который, судя по даташиту и отзывам, как минимум на порядок лучше чем использованный тут BMP180) и OLED-дисплей. Надеюсь в обозримом будущем собрать варик на их основе, и тут уже применить именно фильтр Калмана. |
Алех_К
30 Мар 2017
|
А на сколько сильно греется ms5611, по идее не должен, может с питанием какие проблемы? Если ms5611 без дополнительного стабилизатора питания то его напряжение питания должно быть 1.8 to 3.6 V, если дать больше, будет греться, и быстро выйдет из стороя.
|
вот интересный проект на гитхабе
аппаратно основы возьму как у него только датчик и экран другие, да забыл сказать управление энкодером планирую сделать |
Вот насчёт энкодера, честно, у меня лично есть сомнения. Да, удобно в том плане, что всё управление в одной крутилке, но удобно оно на земле. А вот в полёте крутить по щелчкам, особенно если рука в перчатке, будет не очень. Хотя, если сделать все данные на одном экране, или переключение информационных экранов просто по нажатию кнопки, будет терпимо.
Я тоже думал насчёт энкодера, но в конечном итоге отказался. Разнесенные кнопки, всё же, проще нащупываются и нажимаются укутанным в перчатку пальцем! ![]() |
Алех_К
30 Мар 2017
|
Тоже думаю что энкодер лишний, хотя как говорят на вкус и цвет..... Мне , на данный момент, из того что я пробовал больше всего нравится код из соседней темы, который выложил vladk1965, там имеется только одна кнопка, присутствует фильтр калмана, вот бы его немного доработать под библиотеку U8glib вывести показания температуры, и дополнительный экран с компасом, было бы очень здорово. Вы тоже проделали большую работу спасибо!
|
Тут можно порыть на эту тему.
|
А в чем польза очень быстрой реакции варика? Ну можно получить быстродействие в десятки герц с акселерометром, но зачем?
https://paraplan.ru/forum/topic/101691/postdays=0&postorder=&vote=viewresult |
Там речь об усреднителе скороподъемности по которой можно оценить силу потока. Звуковой индикатор ни на одном приборе усреднителя не имеет, разве только настройку чувствительности.
з.ы. Да, там есть фильтр, который в простейшем варианте работает как усреднитель, но его задача только убрать шумы самого бародатчика. |
vladk1965
16 Май 2022
|
Вот еще слепил вариант. На датчике MS5611, дисплейчике 128x64 и бюджетном, но щустром чипе LGT8F328. Скетч vario_128x64_1.ino. Там кроме основного экрана есть экран с максимальной и минимальной скороподъемностью и погодная станция, выводящая температуру и давление и графики их изменения за крайний час. Графики пока сыроваты. Мысль была, что бы когда ждешь погоду было на что посмотреть. Надо проверить. Сам варик работает хорошо. Хотя разницу с датчиком BMP280 я не заметил. Хотя MS5611 используется в режиме повышенной точности и с тем же фильтром Калмана с теми же настройками. На счет нагрева, вывожу его температуру, градуса на три выше среды. Не думаю, что это скажется на измерении давления, но неприятно. Фильтры, которые есть в его библиотеке мне не понравились, возможно, я их не распробовал. Короче, нет смысла его использовать. Вторая кнопка выключает и включает звук. В планах еще сделать старт стоп при взлете и посадке оперативные настройки чувствительности и громкости. Памяти осталось еще 2 килобайта. https://disk.yandex.ru/d/lxdj62vt_C_Rrw
|
sky_dreamer1
25 Апр 2017
|
добрый день!
А можно взглягнуть на ваш скетч с датчиком BMP280? Пытаюсь допилить вот эту пищалку http://redhats.ru/variometer-arduino-2015/, но не могу разобраться как туда подцепить BMP280 вместо BMP180. |
Да пожалуйста https://www.dropbox.com/s/v5ldiigh21yrni4/_2016.02.19_Vario5.ino?dl=0
Но мне как уже говорил выше мой программный код не нравится, все же датчик надо через SPI цеплять |
Как подключить BMP-280 через SPI
https://learn.adafruit.com/adafruit-bmp280-barometric-pressure-plus-temperature-sensor-breakout/wiring-and-test |
Датчик выдает данные со скоростью, скажем 100 Гц. (это очень низкое разрешение, в высоком скорость еще ниже). Данные типа флоат, длина 4 байта. Итого нам нужна скорость передачи 400 байт/сек (3.2 кбит/с). (накладными расходами пренебрежем, ну и там еще два байта команда самому датчику занимает, итого 4.8 кбит/с). I2C даже в самом тяжелом случае имеет 10 кбит/с что уже с избытком. Но обычно реализована скорость в 400 кбит, что на пару порядков выше требуемой. В чем смысл SPI? Не, можно и его использовать, но в плане быстродействия это ровным счетом ничего не даст, узкое место не в интерфейсе.
|
Ну, во-первых, искренняя благодарность за серьёзное тестирование!
![]() Далее, касательно некоторых пунктов по порядку: Цитата: Время - врет безбожно. При реальном времени полета 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)))) Цитата: От себя : неплохо бы в комментариях в прошивке написать, где именно можно поправить дефолтные настройки меню. А то хочется, чтобы прибор включил, обнулился, и полетел, а он настройки только до выключения держит. Сам пока нашел только Light - true/false. Где выставляются дефолтные настройки рядов - не понял, поскольку мои знания по программированию весьма начальные)))) ![]() В общем, добавил в комменты в коде формулировку "МОЖНО МЕНЯТЬ!!!". В той строке, где стоит такая фраза, значение можно менять. Но из-за некоторой костыльности кода некоторые значения надо менять в паре с другими, там же в комментах описал, с какими именно. Вообще, изначально хотел сделать возможность сохранения настроек в энергонезависимой памяти, но руки пока ещё до этого не дошли. Цитата: Там же в комментариях указать, что у китайских экранов I2P адрес может быть 0x3F (как у меня), а не 0x27. Цитата: В целом - все гуд) Если ещё будут пожелания, выдвигайте! Новые результаты испытаний тоже пишите! |
Переходите на стм32. И звук будет без дискретности и потребление всего 0.5-1 мА при 3V.
Мой вариант варио. ![]() |
Читайте внимательно даташит. У 280 даже разрешение выше.
Я опробовал все эти датчики живьем. У 180 собственных шумов в 3-4 раза больше. У 280 собственный шум на уровне естественных шумов давления в воздухе, при этом колышется только последний знак, на 180 последние два. Разницу улавливаете? Следовательно со 180-ым хорошего быстродействия и чувствительности одновременно не получить, придется дольше сглаживать. Так же в 280 можно активировать встроенный фильтр, что экономит математику микроконтроллера. Для ардуины это очень важно, потому что для правильного фирменного пищания с высоким разрешением по тону, у нее ресурсов впритык. Самое лучшее чего я добился это вот такого звука. Дискретность тона все-равно ясно слышна. Режет слух. И это пищание через прямое обращение к регистрам ШИМ, быстрее уже некуда.. ![]() Не вижу никакой проблемы применить 280 на ардуино. В отличии от стм32 под ардуино все готовенькое. Перед использованием на СТМ, я все датчики проверял на ардуино на исправность. Ознакомиться с моим проектом на стм можно пока только в виде готового устройства. Вопросы в личку. |
vladk1965
20 Дек, 19:43
|
Напишу здесь, возможно не совсем по теме. Китайцы продают ЖПС велокомпьютеры. например такойhttps://es.meilancycling.com/upload/202009/23/202009231400375048.pdf По сути это варик ЖПС. глонас и т.п. за 1500р. Влагозащищенный. Аккума хватает на сутки. датчик давления на борту. Пишет трек и передает в приложение. В отличии от варика не вычисляет скороподъемность и не пищит. Соединяется с четыремя внешними датчиками по стандартному протоколу. Было бы конечно красиво переписать ПО этому дивайсу. Как вариант, подключить внешний блютузный варик взамен датчика каденса. Там нет минуса, но это можно понять по звуку. Еще, неудобно калибровать высоту на ноль, придется это делать через меню. Если кому интересно, поковыряйте. А то нет времени пока на это.
|