всем привет.
Имея в руках не хитрый набор элементов можно собрать вариометр. Работающий макет можно собрать за 5 минут. Такой ![]() Чтобы собрать рабочий вариант нужно будет немножко паять. Такого типа ( без дисплея) ![]() Стоимость комплектующих в Китае на сегодня Arduino uno r3 - $3.20 Датчик давления bmp085 - $7.90 (лучше брать уже на платке, распаянный) Зуммер -$0.9 Корпус для arduino uno - $4.30 Интерфейс I2C для дисплея - $1.37 Дисплей 1602 – $1.69 Итого - $19.36 Здесь нет источника питания. У меня используется 4 батарейки АА. С аккумуляторами АА дисплей не заработал. Я даже знаю почему. Небольшое видео с катанием на лифте ( по ссылке не работает, поэтому нужно скачать а потом запустить) https://yadi.sk/i/u5JvKHc2etg7C Кому интересно схему можно посмотреть здесь схема Программы скачать отсюда скетч Что бы установить программу нужно будет скачать библиотеки для bmp085 и для дисплея. Все это в интернете есть. Приятных паяний. После обсуждения на форуме решил сделать экран больше а процессор меньше. Получилась такая штука ![]() ![]() Редактировалось: Волков Василий (15 Май 2015), всего редактировалось 1 раз |
Цитата: Датчик давления bmp085 - $7.90 Цитата: Arduino uno r3 - $3.20 лично мне вот такие макетные платки нравятся http://www.ebay.com/itm/271695341867?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT Редактировалось: Igor V (27 Фев 2015), всего редактировалось 4 раз(а) |
пробежался по алиекспрессу
Passive Buzzer Module for Arduino $0.99 (на плате) BMP180 Replace BMP085 Digital Barometric Pressure Sensor Board Module For Arduino $1.73 (на плате) Nano 3.0 controller compatible with nano CH340 USB driver NO CABLE for Arduino NANO V3.0 $2.52 LCD module Yellow and green screen IIC/I2C 2004 5V 20X4 LCD board provides library files for arduino $7.49 (вместе с интерфейсом) итого 12,73 но на дисплее есть запас под аналоговую индикацию P.S. Arduino NANO V3.0 с доставкой дешевле $2.52 не нашел. Редактировалось: Messer (27 Фев 2015), всего редактировалось 2 раз(а) |
Я воспользовался твоими идеями. Экран побольше а процессор поменьше
получилась такая глюкала ![]() ![]() Пока паял сжег один процессор и пищалку. Думаю для звука использовать такую штуку. http://forum.arduino.cc/index.php?topic=117009.0 и туда можно будет записать любые звуки. |
заказаные железки ещё не приехали, за то появился свежеиспесченый парапланерист мечтающий о бюджетном варике. компект купленый по месту обошелся в 2 раза дороже (Arduino UNO, bmp180, пьезопищалка и экран 5110 + кнопка от старого принтера нахаляву), но все равно 600р. на железки - не много.
Пересмотрел несколько проектов в том числе несколько вариаций базирющихся на коде от gofly. В итоге код написал свой, фильтрацию сделал по последним 3м средним значениям с интервалом по пол секунды. на 1 режим экрана сделал вывод скороподъемности, набор от старта и температуру, на второй максимальную скороподъемность за полет и максимальны набор. осталось только дождаться погоды и полетать совместно с браунигером. |
стоит датчик 180 - чрезмерно точный
![]() http://vk.com/video?z=video15295347_170403089%2Falbum15295347 тут он просто лежит на столе (постарался нникакого движения воздуха не делать) и от тика часов показания скачут ![]() |
vnik
27 Фев 2015
|
Заказал оба дешёвых, один покомпактней. В работе разницы не ощутил. Пока только в комнате гонял, на гору ещё не возил, мой вариант и ссылки здесь: http://chexru.blogspot.co.ke/2014/12/blog-post.html
Редактировалось: vnik (28 Авг 2016), всего редактировалось 1 раз |
Цифровой компас должен быть расположен строго горизонтально. Если его ориентация меняется, то нужно добавлять датчик положения для коррекции. Кроме того, он сильно реагирует на приближение к нему даже небольшой отвертки. Так что нужно или серьезно поэкспериментировать, или отказаться от него совсем.
|
http://habrahabr.ru/post/120078/
с магнитными помехами - странно, но мой гармин на них не очень реагирует (я бы сказал, что совсем)- интересно, как они решили вопрос |
Плата Arduino Nano V3.0 мне уже пришла, датчик давления ВМР180 в пути, готов участвовать в экспериментах.
Нашел на ebay ЖКИ с большими цифрами. Может, такой лучше использовать? И некое подобие аналоговой индикации, действительно, было бы неплохо сделать. Хотя бы, как Messer предлагает - символами на лишних строчках. temp0508, что это за экран и как он смотрится при ярком солнечном свете? |
графический тачскрин - собственно солнце в окно светит (на видео), но при прямом попадании естественно засвечивает (я не делал управление яркостью подсветки).
экран не помню какой (стандартный tft для ардуино) - сейчас не посмотреть - описание работы http://habrahabr.ru/post/196600/ , но стандартные библиотеки по работе тачскрина и графики сильно подъедают память (я их по максимуму резал) и катят не на всех контролерах (у меня для пробы вроде Arduino Mega 2560 стоит) |
Извинте, что влезаю со своей головкой...
Собирал ли кто такую "монетку-таблетку"? ![]() Не пойму, почему такое повышенное потребление тока, свежая CR2032 при подключении просаживается до ничтожного напряжения. От отладчика PicKit3 еще как-то пиликает, но некузяво ![]() Ага, еще клипсу для батарейки, как на фото никак не найду..... :twisted: Печатка такая как на фото, без извратов с монтажом, пищалка ЗП-22 (закрытая) ощибка вылазит unknown escape sequence '\-' заменить "\-" на '\-' (да, капитан Очевидность ![]() Редактировалось: EHOT (11 Мар 2015), всего редактировалось 2 раз(а) |
6719602
11 Мар 2015
|
Не хочется умничать но скорей всего электролиты по питанию ошибка с палярностью при монтаже.
|
vnik
11 Мар 2015
|
Придётся подключать миллиамперметр, замерять потребление, далее "делить" схему на 2 части, определять, в какой из двух половинок дико потребляет, далее виноватую половинку опять поделить, ну и т.д. Но я бы начал, после замера общего потребления, по очереди приподнимать по одному копыту у каждой керамики, она любит превращаться в "сопротивление бесполезно"...
|
сопротивление измеренное по питанию сомнительное 200ом (((
Понятно, что йомкости мутят и дезу гонят. Да йомкости они такие. Однажды паял схеиу с стм32 розовым флюсом ТТ. Пришлось все элементы сдувать нафиг и промывать. йомкости под замену. Попробую и здесь - все керамики снять, потом припаивать по очереди. Поднимать по одному копыту - мысль, но можно площадку с дорожкой снести. Недавно припаивал корпус МК с шагом 0.8 жалом типа "волновая пайка". Понравилось до визга. ))) Ранее припаивал каждый вывод по отдельности тонким жалом. Без упоминания 100500 раз "природы вещей" никак не обошлось ![]() |
делал пару лет назад похожее http://www.pataga.net/pic24hj12vario.html питание 1 банка литий-полимер 100 ма/час ,зарядка http://www.ebay.com/itm/5V-Mini-USB-1A-Lithium-Battery-Charging-Lipo-Charger-Module-for-Arduino-A866-/131304520047?pt=LH_DefaultDomain_0&hash=item1e925bf96f итого получилось 19*25*32 мм
![]() |
какие библиотека и версия LCD дисплея использовались?
Та либа, что у меня была не подошла к дисплею (PCF8674 aka "LCM1602) Нашел тут - примеры в чистом виде можно собрать, запустить (Строка инициализации более подробная). А с вариком - ошибки компиляции. Вопрос с I2C дисплеем решил. Библиотеку отсюда нашел. Применяю arduino Nano. Попробую теперь с дисплеем без I2C. Ну и работа с высокотемпературными датчиками. (нет пока микрухи типа MAX31855 для термопары) Редактировалось: EHOT (13 Мар 2015), всего редактировалось 2 раз(а) |
Jnets
13 Мар 2015
|
Так что с датчиками? Удалось запустить нормально на 180?
|
Jnets
13 Мар 2015
|
Поскольку у меня умер мой варик( разбил), буду лепить такой. Хотелось бы на плате Нано.
|
Нона - вполне годная плата. ))) Можно Мини, если есть чем прошивать. Ну и дешевле и меньше она.
ЗЫ еще прикольно было б е-инк дисплей поставить. Однако цена конская Как для попробовать с этим дисплеем удобно STM32L0538-DISCO взять. тоже недешево (2800 руб в терраэлектронике) Но это не утилитарный подход, нужно на С библиотеки и код I2C & BMP085/180 переписывать/ портировать Зато чотко видно будет при солнечном свете и по длинной стороне можно шкалу подъепа рисовать. |
Jnets
13 Мар 2015
|
Не, после гибели моего варика, я понял, что все приборы должны быть неубиваемые, максимально компактные и независимые друг от друга. Варик - только пищалка, как вариант с минимальной индикацией и очень хотелось бы добавить функцию предпотока - чтоб пищал как нибудь, когда летишь в нулях или слабых минусах. Компактный и в прочном корпусе. Маленький. А высоту я всегда по ЖЭПЭЭС смотрю.
|
Александр Щеглов
09 Апр 2015
|
Настройте обычный варик чтобы пищал минуса -1 а полюса с +0.1
Когда он будет молчать можно глянуть взглядом насколько сильный предпоток |
G_Leo
19 Мар 2015
|
Всем привет! Как раз развиваю эту же тему, Хочу поделиться успехами.
Основой стало практически готовое решение (огромное спасибо автору!): Блог Режимщика. Вариометр из Arduino & BMP180 Скетч рабочий, взят видимо автором из проекта LK800: есть фильтрация, часть функций можно отключить, можно дописать свои. (внимательно прочитав предыдущие ссылки должен добавить - есть ошибки компиляции связанные с заменой имен в новых версиях среды Ардуино) Я поменял железо на более компактное: 1. Arduino Pro Mini 3.3v (в указанном лоте 5шт. - можно поискать и по 1 штуке, но получалось дороже и не факт что 3.3v). Платка требует дополнительного модуля (переходника )для программирования CH340G CH340 Serial Converter USB 2.0 To TTL. Arduino Pro Mini 3.3v позволяет использовать внешнее питание 3.35-12В (для модели 3.3В), т.к. рабочий уровень 3.3в - не надо заморачиваться с согласованием логических уровней датчика и контроллера. 2. Графический экранчик 0.9" 128 X 64 OLED I2C - Экранчик маленький, но яркий и высота крупным шрифтом видна хорошо, а верт.скорость мне нужна только на звук. ВНИМАНИЕ! Экранчик работает на 3.3в - испортил один, подключив к Ардуино с 5в. 3. Готовый модуль датчика BMP180 - модуль спаян аккуратно, заказывал 2 шт. , оба работают(помимо давления датчик меряет температуру, если надо кому). Остальные части покупал в местном магазинчике радиодеталей, как то: пьезо-пищалку на 5В без встроенного генератора - аналог модуля баззера для ардуино, разъем для батарейки типа крона (можно сделать из старой батарейки), полевой транзистор для правильного подключения пищалки. В рыболовном магазине нашел отличную коробочку за 37 р. Для тех кто работает с экранами - есть отличная библиотека для графических экранов u8glib. Спаял пока все без коробочки - отлично пищит, чуть хуже стандартных приборов, но не на много(наравне с телефоном с барометром, кто в теме). В планах запихать в коробочку и сделать вывод высоты на экранчик, поставить пару кнопок для обнуления начальной высоты и смены нескольких вариантов индикации. Так же жду маленькие динамики на 1 Вт - пьезо-пищалки показались тихими. Самый компактный вариант - разработать/развести плату самому, но ради одной штуки возиться нет охоты да и дорого. Редактировалось: G_Leo (19 Мар 2015), всего редактировалось 1 раз |
пьезо пищалки могут бысть громче если:
1. использовать трансформаторы для "накачки боевого лазера " 2. подавать сигнал с на пищалку к разным обкладкам 2х выводов МК в противофазе. Пример можно посмотреть |
G_Leo
19 Мар 2015
|
А я как раз первый вариант использовал. Все равно тихо показалось - надо дождаться начала сезона и проверить - может и ничего будет.
Вторую ссылку смотрел раньше, там много полезного ![]() |
valerak
22 Мар 2015
|
Датчики BMP 180 я так понимаю идут со стабилизатором (черная микруха с 3-мя выводами на плате), поэтому скорее всего уровни согласовывать не надо (поправьте, если я не прав).
Хочу тоже развлечься, сделать такую штуку.. PS: Раньше программил высотник для прыжков на TI EZ430, на них народ варики тоже делал. Основной минус - тихая пискля. Если делать усилок и динамик внешний, то колхоз получается.. http://www.skycentre.net/index.php?showtopic=10808 |
G_Leo
24 Мар 2015
|
Пробовал на MS5611 - оказалось нужен-таки конвертер уровней. На ВМР180 честно говоря не пробовал - уже есть запас ардуино на 3.3в, потому мне непринципиально. А какую конкретно схему использовал именно этот продавец - не спрашивал.
|
"упавший вниз"
на основе платы Parallax. Во вши флеши зашит бейсик интерпретатор. Ессно ПО на нем. ))) |
Сделал вот такого зверя
![]() ![]() Плюс, сделана кнопка для выбора чувствительности прибора. http://redhats.ru/variometer-arduino-2015/ |
Wladim
01 Апр 2015
|
Отличный недорогой приборчик! Если будете делать ещё - выкладывайте обязательно сюда! Люди будут благодарны я думаю.
|
Как я понял, автор кода усреднил значение с датчика функцией - скользящая средняя, хотя я пробовал функцию фильтра Калмана, но получил немного худшие результаты. А изменение чувствительности производится путём установки порога срабатывания (в коде vario_up) и дальнейшее его сравнение с текущей скороподъёмностью ( в коде vario).
|
Вариометр на Arduino nano с усилителем звука пьезоизлучателя.
![]() Если кому понадобится, вот сама схема усилителя: Резистор R1 можно не ставить, тогда на пьезодинимике будет примерно 25V, звучать будет очень громко с током потребления до 95мА. ![]() Ток потребления прибора 22мА, при активной работе пьезодинамика до 49мА. |
Я нашел такую штуку
http://forum.arduino.cc/index.php?topic=117009.0 и уже заказал . Думаю она решит все проблемы со звуком. Можно записать любые звуковые файлы и их проигрывать, например колокольчики. |
Jnets
28 Май 2015
|
Спасибо за ссылку!!! Тоже сделал себе такого монстра - все работает шикарно! Повесил его прямо на лямку подвески - звук слышно отлично! Чувствительность - порадовала, пищит без задержки! Отлично!
|
Кому не сложно - запустите пожалуйста кто нить на Arduino Nano обычный пример из библиотеки BMP085.
Каков разброс показаний высоты без сглаживания в течении 2-3 секунд? Какая чувствительность/разрешение при этом? У меня уже 3 экземпляра датчика на разных платах показывают регулярные скачки высоты (и давления соответственно) в пределах +-150м Даже с переменой знака. ![]() Пробовал разные библиотеки. И датчик подключеный на проводках, без С по питанию и резюков подтяжки. Раньше с Launch Pad (TI MSP430) такой истерики не было. Даже с датчиком на проводках. Припаивал датчики феном заклеив отверстие термоскотчем. С платой Stellaris немного стабильней. На собранной раннее сплате модельного автопилота - вообще песня - показывает перемещение платы по высоте на 20см. Подключает ли Ардуино Нано встроенные резюки подтяжки при работе по I2C? Редактировалось: EHOT (02 Апр 2015), всего редактировалось 1 раз |
Алех_К
03 Апр 2015
|
Вот еще немного информации по теме http://029ah.livejournal.com/956.html
Код проверен, как пищалка работает очень не плохо, а что бы было погромче можно добавить всего-лишь один транзистор по выходу, или использовать маленький динамик вместо пьезо В этом коде можно регулировать порог срабатывания на подъем и слив. Пищалка код.rar Редактировалось: Алех_К (03 Апр 2015), всего редактировалось 3 раз(а) |
Вот так меняются показания датчика 085. Мода стандартная.
Alt(cm): 76 Alt(cm): 25 Alt(cm): 50 Alt(cm): 0 Alt(cm): 76 Alt(cm): 50 Alt(cm): 17 Alt(cm): 50 Alt(cm): 67 Alt(cm): 0 Alt(cm): 0 Alt(cm): 76 Alt(cm): -34 Alt(cm): 50 Alt(cm): 17 Alt(cm): 25 Alt(cm): -8 Alt(cm): -8 Alt(cm): 76 Alt(cm): -8 Alt(cm): 93 Alt(cm): 144 Alt(cm): 67 Alt(cm): 101 Alt(cm): 50 Alt(cm): -8 Alt(cm): 67 Alt(cm): 25 Alt(cm): 25 Alt(cm): 25 Alt(cm): 93 Alt(cm): 50 Alt(cm): 42 Alt(cm): 25 Alt(cm): 25 Alt(cm): 0 Alt(cm): 50 Alt(cm): 50 Alt(cm): 17 Alt(cm): 0 Alt(cm): 135 Alt(cm): -8 Alt(cm): 50 Alt(cm): 50 Alt(cm): 42 Alt(cm): 135 Alt(cm): 42 Alt(cm): 42 Sigma= 39.81764729 |
Василий, Алексей, спасибо!
У ващего датчика похоже те же "грибы" ![]() Нет, ничего такого не предъявляю. Но тогда вопрос - а зачем ему пыжиться с супер-разрешением по давлению, если показатели делают такие скачки? И дальше следует вопрос вывод - а вертикальная скорость ведь тоже на "ровном месте" (без перемещения по высоте) будет показывать "освоение средств" Редактировалось: EHOT (04 Апр 2015), всего редактировалось 2 раз(а) |
Это нормальная работа датчика. Если Вы хотите высокую чувствительность, то увидите именно такой шум Т.е дисперсия порядка 40 см. Поэтому прежде чем считать вертикальную скорость необходимо проводить статистическую обработку сигнала. Как это делать в этом и заключается мастерство. Сгладить сигнал и не потерять чувствительности. Посмотрите мое видео катания на лифте. Самодельный прибор шумит не сильнее заводского. Значит можно.
|
Эх, посмотрели бы работу самодельного модельного автопилота по высоте.
Там вообще +-3 см. *(но шалят аксель, гиро и компасс понемногу) Если б не видел - не разводил бучу. Пытал автора ПО - он говорит, что не мудрил, и запасал алгоритм как в ДШ на бмп085. Потерроризироать его что-ли снова на предмет "поделиться" кодом вычисления давления? :roll: |
Нам то этого не нужно. Высоту достаточно знать с точностью до метра, тут важно что бы дрейфа существенного не было.
Добиться малого разброса по высоте не сложно, например среднее от тысячи точек уменьшит дисперсию в 33 раза. Т.е 40 делим на 33 дисперсия будет 1.2 см. То что Вы видели. При этом быстродействие прибора будет 50 - 100 секунд. Это медленно. Я использую данные датчика за 2 секунды - по 10 точек в секунду и алгоритмы более сложные. Эти алгоритмы использовал один пилот-индус для своих приборов. Еще эти алгоритмы применяются в работах торговых роботов. Там они работают хуже. Атмосфера более прогнозируемый объект, чем динамика цен на форексе. Короче:Твори, выдумывай, пробуй. Успехов. |
EfremKos
03 Фев 2017
|
А если снимать замеры одновременно с 5 датчиков давления? То ведь данных для анализа будет больше.
Далее на выбор выиграть или точноть, или скорость реакции. |
Опыт показывает, что разрешения даже одного BMP280 хватает с избытком. Основные шумы лежат в инфранизкорчастотной области в реальных условиях. Шумы обтекания, турбулентность. Эти ложные данные в диапазоне 0,5-2 Гц надо по особому компенсировать т.к. они лежат в диапазоне полезного сигнала. Компенсировать их можно не только фильтром, но и выбором времени дифференцирования при вычислении скороподъемности.
Помехи имеют гармонический или иной цикличный вид, полезный сигнал имеет вид постоянно нарастающий или спадающий, относительно этих помех. Так или иначе, в несколько этапов отделить их можно. Увеличение числа датчиков тут не поможет т.к. все будут ловить одно и то же. Редактировалось: VVS_ (03 Фев 2017), всего редактировалось 1 раз |
Jnets
30 Июн 2015
|
А блютуз прикрутить никак к этому проекту?
|
Начитался и тоже заказал Arduino NANO V3.0 и BMP180 пока смотрел что бы еще заказать, пришла мысль заказать RGB светодиод
http://ru.aliexpress.com/item/KEYES-KY-009-RGB-3-Color-Full-Color-LED-SMD-Module-For-Arduino-AVR-PIC-Free/32271687442.html и обойтись без дисплея!!! В общем за базу думаю взять разработку CompiZ но добавить не дисплей а светодиод запрограммировав его таким образом ну для примера ХХ .... +2 красный +2 ... 0 желтый 0 ...-1,8 зеленый -2... и ниже синий Ну или как вариант вообще поиграться с оттенками Как вариант сделать что бы в плюсах светодиод мигал у кого какие мысли на этот счет |
Пищалка нужна. Без нее как то тихо. И еще. Индикация должна меняться более плавно в диапазоне от 0 до 1. Нужно различать где 0.5 а где больше. Градация в один цвет от 0 до +2 слишком грубая. В этом диапазоне много чего происходит. Когда сопли обкручиваешь бывает полезна цифра. Нельзя забывать, что если на приборе 0 то это значит что ты в восходящем потоке +1. А это не слабый восходящий поток.
|
Цитата: Пищалка нужна. Цитата: Индикация должна меняться более плавно в диапазоне от 0 до 1. Нужно различать где 0.5 а где больше. Градация в один цвет от 0 до +2 слишком грубая. Цитата: Нельзя забывать, что если на приборе 0 то это значит что ты в восходящем потоке +1. А это не слабый восходящий поток. |
Jnets
06 Дек 2015
|
Необходимость иметь резервный вариометр я осознал после того, как помер мой браунигер - при падении был раздавлен дисплей.
Тогда то я и наткнулся на проект вариометра на ардуино - вот по этой ссылке http://redhats.ru/variometer-arduino-2015/. Проект действительно бюджетный и чувствительность такого вариометра если и отличается от брендовых моделей - то не критично, особенно для пилота просто летающего маршруты - для соревнований, понятное дело, нужен полноценный варик или лётный компьютер. А так - эта пищалка, на которую, при желании можно и дисплей прикрутить и еще разных датчиков - вполне жизнеспособный вариант. Главный недостаток, с которым я столкнулся - это питание 9V. Это значит либо батарейка Крона, либо акумулятор в формфакторе Кроны. И оба этих варианта имеют свои подводные камни. И камни, скажем так, неприятные. Постараюсь подробнее описать их. Итак - энергопотребление у девайса, особенно при активной работе в потоках - не маленькое. Как показывает опыт, батареи крона - хватает на 3-4 летных дня. Конечно, если взять батарейку не за 20 гривен, а какую нибудь дюрасел - хватит на дольше, но цена!!! Причем из за отсутствия индикатора разряда батареи - приходится возить с собой постоянно еще и запасную крону - потому что закон подлости работает и питание сдыхает как раз в начале хорошего лётного дня. Это не беда, если заменить батарейку. Но это на выезде в выходные. А если это Боржава? И ты приехал на неделю? Как быть? Не бегать же по селу в поисках магазина, где продаются Кроны. Да и врядли в каждом селе такой магазин имеется. Решение может быть следующим - купить 2 аккумулятора в формфакторе Кроны и пользоваться ими поочередно - посадил один - поменял на свежий, а севший - на зарядку. Недостатки такого метода в том, что эти аккумуляторы никель - металлгидридные, т. е. разряжать их нужно в 0 и только тогда заряжать. Т. е. не получится просто подзарядить аккумулятор после полетов. Тогда я решил, что наиболее оптимальным вариантом будет прикрутить к вариометру литий полимерный аккумулятор, это позволит в любой момент подзарядить устройство от зарядки для мобилки или от повер банка. Сказано - сделано! Правда вариант получается не совсем уж такой бюджетный, но затраты на аккумулятор окупятся - не нужно покупать батарейки или сразу пару никель металлгидридных аккумуляторов - они 2 по цене - ненамного дешевле литийполимерного аккумулятора повышенной емкости. Итак, что же в итоге получилось? А вот что - ![]() ![]() Я взял китайскую солнечную батарею со встроенным аккумулятором, которая долго пылилась в чулане - потому что я ее не использовал по назначению из за конструктивных недостатков. В корпус батареи легко вместилась плата ардуино и аккумулятор на 1100 мАч. Теперь мы имеем варик, который можно в любой момент как подзарядить от зарядки для мобилок или от Power Bank, так и сам он подзаряжается от солнечной батареи( правда ток заряда там всего 30 мА и то в пике. Но все равно - в солнечный день это облегчит жизнь аккумулятору! Варик можно так же запитать и от Power Bank - если отказаться от встроенного аккумулятора - то можно собрать совсем уж маленький прибор, правда, со внешним питанием от Power Bank. В догонку! Извините за качество фото - на мобилке плохая камера. И еще - как показала практика, при попытках повторения схемы у людей не получается правильно поставить нужные драйвера для платы НАНО и поэтому комп не видит плату и загрузить скетч не выходит. Все дело в том, что ставить драйвера нужно строго по процедуре, которая описана вот тут - http://arduino.ua/ru/guide/Windows Причем установку драйверов нужно делать именно по процедуре для платы, которая у вас- в данном случае ардуино НАНО! Это Важно! Делайте все по шагам и у вас всё получится! Удачи в конструировании! |
Для питания чего 9В? просто чтоб было
![]() Если не требуется обмена инфой по UART/usb то вместо Arduino Nano можно применить Arduino Pro Mini. (можно и 8Мнz/3.3V версию) Правда для ее прошивки потребуются USB-UART преобразователь и чуть большие бодания с заливкой скетча. Зато она меньше и дешевле. 16Mhz/5v версия платки еще дешевле, но не выдает питания 3.3В дл датчика давления. Мне все еще не дает покоя идея попробовать в качестве умножителя напряжения для излучателя преобразователь ttl-rs232. У него на выходе можно получить 8-12В ![]() |
Делал кто нибудь вариометр с экраном от нокии?
Вот хочу запасной варик. Программист из меня никакой, слепил скейтч из трех разных проектов, некоторые вещи для меня не понятны. Как то всё кривовато получилось. А время полёта вообще не смог сделать, а для меня это удобная функция, что бы планировать возвращение (да есть такое на LK8000 и варик просто дублирует, но это можно добавить) Ну и размер можно сделать довольно маленьким. Здесь Arduino Pro Mini 3.3в и BMP180. Первая строка - подъем/снижение, вторая - высота над стартом. ![]() |
Присоединяюсь к просьбе тоже пробую сделать подобное
но пока с библиотекой дисплея не могу определится За основу брал http://redhats.ru/variometer-arduino-2015/ ![]() Редактировалось: X-Alex (24 Дек 2015), всего редактировалось 1 раз |
Скетч вариометра брал из первого сообщения. На дисплей в интернете есть. Что я из них слепил, оно мне не нравится. Пока только это v_2.ino
|
vladk1965
26 Фев 2016
|
Под руководством Spelika тоже слепил эти платки и запихнул в корпус от мобилки. Прикрутил фильтр Калмана, который тут упоминался. Вроде работает. Оптимизирую потребление в режиме сна т.к. для вкл-выкл использую кнопки с мобильника. Хочу туда засунуть блютуз китайский (уже купил, лезет), чтобы данные в смарт передавать в прогу типа LX8000. Как я понял, есть какой то открытый протокол типа "Avis-BT выдает 10 раз в секунду строку где различные значения разделены разделителем — символом двоеточия. Формат строки:
pressure:temperature:altitude:vario:varioS:Vbat:CR+LF " это для Avis-BT, непонятно только, в каком виде идут данные. Может кто знает что то про эти протоколы? Вот фотки моего варианта: ![]() ![]() ![]() ![]() Редактировалось: vladk1965 (01 Мар 2016), всего редактировалось 1 раз |
Конечно выкладывай, особенно фильтр Калмана интересует
если кому интересно вот мой скетч https://www.dropbox.com/s/15p68r0xde51fqx/vario3.ino?dl=0 В процессе разработки корпус под 3Д принтер Сделать бы еще выкидывание точек данных, сильно отличных от вычисленного среднего значения. как это сделал VVS_ Сейчас переделываю скетч под датчик BMP280 т.к. ценник у него не намного выше 180го всего 110руб а точность уже заметно выше |
vladk1965
26 Фев 2016
|
vario.zip Вот в целом рабочий скетч. Там одна кнопка для вкл(нажать и держать 5 сек) переключения экранов (короткое нажатие) обнуления таймера, высоты старта, макс-мин значений (длинное нажатие 3 сек до писка). Чтобы включался без кнопки надо закоментировать вызов EnterSleep(). Включение подглючивает, если коротко нажать кнопку на выключеном потом уже не включится, только после сброса. Возможно это из за использования delay(100) в обработке прерывания, wakeUp() надо переписать.
|
vladk1965
27 Фев 2016
|
Дисплей 5110 из китайского ардуино. Тоже полно старых мобилок, но под него подошла только эта. Под штатные можно найти библиотеки, но цветные жрут много и плохо видны, кроме того, чтобы подключится надо навык и оборудование. К шлейфу от кнопок подключался с помощью микроскопа и паяльной станции, долго и нудно.
Плата дисплея сточена с боков до металлической рамки и в районе верхних крепежных отверстий. Пишалка от какой то игрушки из мусора, с виду как у Spelika на фото выше. Подточил её под корпус, снял пластик там, где отверстие , приклеил термоклеем на отверстие для микрофона в корпусе. Включил напрямую к ножке 12 и на GND ( по хорошему надо через резистор, чтобы в сумме с сопротивлением пишалки было порядка 100Ом при питании от 3.7В. У меня Ардуинка 5В 16МГц, но работает от 3х до 5-ти нормально. Питание дисплея зацепил от стабилизатора 3.3В на плате BMP180. Светодиод Ардуины по питанию отключил, чтоб не жрал. Батарейки родной не было, добрый человек подогнал ои чего-то плоскую, меньше 2 мм.Зарядка чарез http://ru.aliexpress.com/item/5V-Mini-USB-1A-Lithium-Battery-18650-Charging-Board-Charger-Module-LED-TP4056-DT/32517518343.html она в корпусе кверху ногами, разьемчик миниюсб выходит в родное отверстие, светодиоды светят через световод из термоклея наружу. Зрядка мне нравится , уже ёе использовал, не убивает аккум, зарядает до 4.2 В. В понедельник сфоткаю на фотоаппарат и выложу понятнее будет. |
vladk1965
02 Мар 2016
|
Отпаял резистор, программно никак, понятное дело. Сейчас фильтр настраиваю, с шумом борюсь. Нашел прогу выводит график из данных принятых на ком порт. Если в скетч добавить строку
Serial.print('*'); Serial.print('d'); Serial.write(pressure>> ![]() Serial.print('D'); Serial.write(pressure) ; Serial.print('P');// here is the data handler selector indicator to XMON Serial.write (0); pressure это 16-ти битная переменная для вывода, это самый простой вариант вывода, в архиве с прогой файл, в нем много разных описано. Подцепить варик к порту, запустить прогу, скорость и порт в ней выбрать -рисует график, автоматически выбирает шкалу по вертикали, отсекая постоянную составляющую, и горизонтали, очень удобно оценивать шум. Редактировалось: vladk1965 (02 Мар 2016), всего редактировалось 2 раз(а) |
vladk1965
27 Фев 2016
|
Сам себе отвечу, может кому пригодится. Вот протокол для связи вариометров в прогами, например по блютузу. Попробую его реализовать через эту платку.
|
vladk1965
23 Мар 2016
|
Прицепил к варику блютуз, вот скетч var_kal_dis.ino он выводит на RX TX давление и вертикальную скорость в формате OpenVario. Через блютуз связал XCSoar на смартфоне. Видит подключенные внешний варик и барометр, варик выводится а давление нет,там вроде как нет возможности вывести давление, но есть баромеррическая высота, ей не хватает чего то, пишет " нет QNH". Связь работает метров но 20, через две Ж.Б. стены . Плохое . Минут через 10 связь разрывается. Телефон пищит с задержкой порядка 1 сек относительно писка варика. Увеличилось общее потребление, с 10 до 30 мА, когда связь по блютуз разорвана, еще больше. Не очень понял, зачем оно вообще надо. Нужно будет в деле проверить
|
QNH -нужно выставлять.
Цитата: QNH (произносится как Кю-Эн-Эйч). Давление, приведенное к уровню моря. При установке этого давления на высотомере, прибор будет показывать высоту полета воздушного судна относительно уровня Балтийского моря (этот уровень является мировым эталоном). Для того, чтобы определить реальную высоту полета воздушного судна над земной поверхностью, используя этот тип давления потребуется знать лишь превышение рельефа земли над уровнем моря. Эти цифры печатают на любой топографической карте. Т.е. вычитая из высоты на высотомере, превышение рельефа местности над уровнем моря, и получают истинную высоту полета над землей. Однако, поскольку рельеф под самолетом в процессе полета постоянно меняется, значение истинной высоты полета также изменяется, и при пилотировании обычно не используется. |
vladk1965
27 Мар 2016
|
Спасибо. Там , в уставках проги , есть давление на уровне моря, 1013 по умолчанию. Возможно ему не хватает ЖПС данных, я их не включал. Посоветуйте пожалуйста, есть-ли вообще смысл передавать данные из варика в полетную программу, пищит с задержкой, высоту и так даст ЖПС,хотя и не так точно. Я не пилот пока (надеюсь). Опыта нет. Вот и думаю, запихнуть блютуз в варик, или оставить платку для чего нибудь еще (хочу сделать на даче сигнализацию переполнения бака на смарт
![]() |
Нового здесь ничего нет. Изначально все приборы прикручивались к приборной доске. Идея приклеивать на липучках парапланерная. В ряде случаев ( например на кокпите мало места для всего прибора, но экран помещается) прибор удобнее крепить с другой стороны кокпита, наружу оставляя только экран.
На видео испытание нового прибора интегрированного в кокпит. смотреть видео |
Принимайте в ряды.. тоже заболел этой штукой. Подвернулся датчик bmp180, ардуина год пылится без дела. вот и решил попробовать.
Первая проблема.. шумы датчика. Два последних разряда из 6 прыгают как кони на 20-30 единиц в спокойном воздухе. Усреднил два раза по 20 точкам, стал прыгать последний разряд, но появилась задержка примерно 200-250 мс. Как то некошерно. Сделал программный дифференциал сигнала, ужаснулся... и на него наложил двойное сглаживание по 20 точкам, но приемлемая ровность показаний(и пищания) достижима только при задержке от 1 до 2 сек. Что как то некошерно для варио, если уж делать то хорошо. У меня аналоговый варио на MPX4100A был в 2 раза быстрее, было меньше шумов. На ютубе находил флаймастер, так он реагирует на подъем мгновенно. Там что, датчик ускорения в довесок с барометру стоит? Как они этого достигли? Я пока остановился на двух программных дифференциалах.. один за время 0.8 сек, второй за время 0.2 сек. На пищалку подается сумма этих сигналов Вменяемая реакция в пределах секунды есть но и шумов добавляет... зато и смещение на 20-30 см не остается незамеченным, но через 2 сек. Как можно еще бороться с этими шумами? На видео через трубку "высасываю" из датчика давления, работа с отключенным "быстрым" диффом, иначе трубкой не имитировать ровный звук. Пищалка на аппаратном таймере. Как пищать без прерываний и средствами ардуино, чтобы это не вешало проц, я не нашел. Пришлось изучать таймеры AVR. Программный шим был просто АД, из за вычислений все заикается, прерывания от таймера не спасают, вычисления теряют данные, все скачет. И еще.. почему бы 7-сегментный индикатор не прикрутить? Зачем эти LCD.. слепнуть и мерзнут. ![]() Редактировалось: VVS_ (08 Янв 2016), всего редактировалось 1 раз |
Jnets
09 Янв 2016
|
Цитата: Зачем эти LCD.. слепнуть и мерзнут В браунигерах стоят и не мерзнут. А 7 сегментный - легко прикрутить, только не зачем. |
Цитата: У меня аналоговый варио на MPX4100A был в 2 раза быстрее, было меньше шумов. Интересно было бы посмотреть работу с этим датчиком. Обычно шумы, которые мы наблюдаем ( если сделано все правильно) связаны шумами атмосферы. Т.е без правильного осреднения 1-2 секунды шумы будут большими. Это не означает, что сглаживание даст задержку в 1-2 секунды, просто показания прибора будут нарастать плавно. У датчика bmp180 я обнаружил такой эффект: Понятно, что температура датчика не может изменятся очень быстро. Т.е если я снимаю показание датчика с частотой 10 гц, то температурную коррекцию могу проводить с частотой 1 гц. Я попробовал изменить этот алгоритм и задал температурную коррекцию раз в 5 секунд. Прибор практически перестал работать. Шумы стали очень большие. Можно ли построить прибор со временем отклика менее 1 секунды я не знаю. Для практики парапланеро летания это практически и не нужно. |
Усреднители у меня второго порядка и на данные и на выход дифф, отсюда задержки, но зато и пищит плавнее гораздо.
Однако математика творит чудеса. Удалось вдвое подавить шумы при помощи метода выкидывания точек данных, сильно отличных от вычисленного среднего значения. Это позволило "облегчить" усреднение и уложиться в скорость реакции около 0.8 сек! Реально чует перепад 25-30 см. Теперь он работает как мой аналоговый варио на MPX, только цифровой дифф. в нуль гораздо быстрее выходит. bmp180 для задачи подходит, но ценник у него стал 300-500 рублей, смотрю по efind, слегка обалдеваю от цен... Но старая тема "варио дешевле 1000 рублей" все еще возможна. |
Спасибо!
Модуль дешевле чем голый датчик? Вот еще.. https://arduinobazar.ru/datchiki-atmosfernye/149-gy-68-bmp180-barometr-termometr-kupit-arduino-moskva-peterburg-dyoshevo.html Редактировалось: VVS_ (09 Янв 2016), всего редактировалось 1 раз |
В ютубе посмотрел работу датчика MS5611 Например http://yandex.ru/video/search?text=ms5611&path=wizard&parent-reqid=1452344398824686-5569091508997623226598930-ws36-877&filmId=tH_LhzTJUXI&redircnt=1452344558.1
Видно что на экране шум порядка 0.03 мбар - это 24 см. Устройство заявлено с разрешением 10 см. Наверно так оно и есть. Оно надо? |
Есть еще BMP280 статья
но на али он продается либо голый датчик либо в сборке с гироскопом и акселерометром ссылка на датчик bmp280 вот еще статья про бародатчики Редактировалось: X-Alex (10 Янв 2016), всего редактировалось 1 раз |
Вот видео про варик на MS5611
![]() и вот ![]() Выглядит весьма не плохо А вот сравнение MS5611 vs BMP280 ![]() MS5611 лидирует но цена у него меньше 500р. не нашел нашел BMP280 по цене 110 руб!!! и заказал Редактировалось: X-Alex (11 Янв 2016), всего редактировалось 1 раз |
Дополню
в проекте http://www.blueflyvario.com/ прям на главной странице написано что используют бародатчик MS5611 |
Stasmor
15 Янв 2016
|
Использовал MS5611 достаточно давно, варик делал на Атмеле, Мега 128, после переехал на Мегу32...
Для индикации использовал Нокиевскую стекляшку от 1110i... В качестве аккума использовал BL-5C ну и в качестве зарядника max1555 Читаю по поводу усреднений, и вижу цифру 2 секунды... это же супер-аморфно!!! вы ничего не увидите кроме общей тенденции к набору\спуску... При выборке значений в 200мСек(пробовал и по 100, но бессмысленно) достаточно усреднения "скользящим средним" с возможностью выбора "размера окна"... Перепробовал много типов усреднений и пришел что наилучший эффект достигается именно "скользящим средним". По поводу датчика: MS5611 - отличный, точный датчик, быстрый, который очень требовательный к чистому питанию!!! Планирую в свободном времени попробовать BMP180 |
На сегодня у меня две скорости выборки. 200 и 500 мс. На выходе получаются два значения дифференциалов, быстрый и точный
![]() Итог, реакция на подъем 0,5 метра - 0.8 сек, точность - чует перепад 20 см, но через 2 сек. Разрешение BMP180 уже на пределе. Но без выкидывания шумных точек такой быстроты вообще добиться нереально, так что просто скользящее среднее не вариант. Слишком много шумов у датчика, пищалка дергается и не имеет внятного тона при таком раскладе.. |
Stasmor
16 Янв 2016
|
тоже практиковал исключение пиковых+частота выборки была выше(вначале, для подавления дребезговых, пиковых значений), но после нормальной обвязки датчика по питанию, правильной разводки платы, от выкидывания пиковых отказался...
Усреднения скользящим вполне адекватно ведет себя в воздухе ... Короткие "забросы" на динамику влияют малозначительно, но есть влияние, ведь они ощущаются "Попом"... Излишняя чувствительность - вредная штука имхо... Приходилось загрублять , т.к. динамика подъема - штука абсолютно переменчива, и моментальные ее значения - не интересны, интересна именно общая динамика... И обязательна настройка уровня фильтрации\усреднения в зависимости от термички... |
Ой, я не посмотрел на изменение темы. Но подозревал о чем ты...
У меня тоже есть потуги сделать на этом микрике. Но основная проблема в в портировании вычислений float поскольку ядро CortexMO (вместо CortexM3 у M4) У STM32F030 ограничения на свободу используемых портов, т.к число ножек всего 20( есть и по 14 корпуса ))) Для меня сейчас научиться "ходить по канату" т.е. _правильно_ конфигурировать GPIO, у STM32 это делается "немного" сложнее, чем у других. Поищи реализацию работы с бародатчиком на STM32F103 - по моему его проще перенести на M0. У мня есть файлик с примером, но точность вычислений не понравилась. Либо смотри AfroFlight и портируй оттуда. |
Jnets
29 Фев 2016
|
А можно ли вместо Bmp 180 вкрячить в этот же проект bmp 280?
|
Jnets
04 Мар 2016
|
А чем тебя не устраивает GPS? В плане определения скорости. Как вариант определения скорости - китайский анемометр за 5 долларов? Пристраиваешь его по потоку и всё.
А еще очень неплохой вариант с дисплеем, варио и памятью на 8 полетов https://github.com/sinseman/diy-arduino-variometer#sch%C3%A9ma |
BlueFlyVario V11 уже поддерживает подключение датчика воздушной скорости.
Если эту плату слинковать с XCSoar на eink читалке или другом планшете, то можно получить необходимое. Плюс карта и все-такое. Редактировалось: EHOT (05 Мар 2016), всего редактировалось 1 раз |
Все дело в цветных дисплеях - их нихрена не видно на солнце, а качественные - дОроги. Да и навигатор не совсем нужен - аппарат для наслаждения полета вокруг песочницы, на маршруты он несерьезен. Нужен именно черно-белый жк дисплей, который я встрою в приборку, другими словами - ничего лишнего, ибо с выносными "телевизорами" один гимор.
|
Vira уже поддерживает XCSoar (по протоколу OpenVario (POV)) и стоит 59$ а не 96$ как BlueFlyVario_Bluetooth_v11
http://www.avislab.com/vira/#more-215 |
Вот такой получился прибор. Может мне такой на параплане нужен?
https://paraplan.ru/forum/files/1875/wSjPBFhR.jpg внутренности https://paraplan.ru/forum/files/1875/o6oESDUG.jpg так делалась градуировка https://paraplan.ru/forum/files/1875/QUIA2TGe.jpg результат градуировки. максимальная ошибка на скорости 90 км/час на 4 км/час. |
vladk1965
21 Июн 2016
|
Интересно, 280-й приладили? разница с 180-м заметна? Я тоже заказал попробовать. Библиотека, как я понял от 180-го подходит?
|
Приветствую сообщество.
Вижу, что присутствуют здесь люди, хорошо знакомые с программированием микроконтроллеров, знающие и электронику. Хочу попросить здесь помощи в поисках причин не полной работоспособности летного прибора на основе эл. книги и устройства: бародатчик MS5611 + приемник GPS + МК Attini85. Понимаю, что не совсем по теме. Пробовал в профилирующей теме поспрашивать, но как то без результата. По ссылке есть схема и исходники автора, оригинальные посты с paraglidingforum. Вместо указанного на схеме GPS приемника использовал приемники PA6H и Gms-g6a. Книжка Kobo-mini с внешним миром (с МК и приемником) общается по протоколу UART-TTL (RS232 с уровнями сигналов 0-3 В). МК с бародатчиком - по I2C. GPS-приемники работают, пробовал с разными, и с их прошивками поигрался. А вот баро-данные не видны в XCSoar. Где то проблема в ПО при передаче их от МК в Kobo или при их прочтении с бародатчика МК-ашкой. Собственных знаний в программировании не достает, увы. Отстал я лет, эдак, на 25... Кто то сможет на досуге взглянуть на исходный код прошивки МК и что то подсказать? |
Михась
25 Май 2016
|
Вопросы - уверены что fuse bits выставлены правильно? Есть возможность потыкаться осциллографом на шину I2C? Подключен ли к МК звукоизлучатель?
|
Цитата: уверены что fuse bits выставлены правильно? Есть возможность потыкаться осциллографом на шину I2C? Подключен ли к МК звукоизлучатель? - проверены по даташиту тиньки и в калькуляторах, да и в Makefile они присутствуют. - осцилографа, увы, не имею. - излучатель (пьезо) подключал - не звучит. Редактировалось: Stasys (26 Май 2016), всего редактировалось 1 раз |
ваш прибор выдает данные в кобу по UART. часто это простые текстовые данные. смотрибельные даже в терминальной программе.
Чтобы промониторить, что же он выдает можно: (или) 1. на закладке настройки связи с датчиками в XCSoar нажать кнопку Monitor и посмотреть что же там идет. Для этого надо знать формат/протокол выдаваемой инфы и представлять как встраиваются данные с барометра (вертикальная скорость). собственно по этой причине я торможу с ознакомлением исходников, в голове моей опилки... ![]() 2. Подключить прибор вместо кобы к UART-usb адаптеру и посмотреть в терминальной программе что будет выдавать. Все равно нужно знать формат выдаваемых данных. 3. с учетом п. 2 - изучить исходники. возможно в тексте есть опция выдачи отладочной инфы через тот же выходной UART. для этого обычно в начале исходника программы присутствует закоментированная строка типа //#define DEBUG и далее по тексту #ifdef DEBUG print(blabala) # то есть при определенном(раскоментированном - с удаленными "//") DEBUG будет печататься отладочная инфа Теперь вы можете выводить что сочтете нужным. В том числе и данные получаемые и обработанные с бародатчика и гпс модуля. Тем самым понять происходит ли получение проиемлемых данных с внешних устройств. |
Цитата: в XCSoar нажать кнопку Monitor Такое регулярно проделываю, кроме информации GPS приемника ничего нет. Цитата: Подключить прибор вместо кобы к UART-usb адаптеру и посмотреть в терминальной программе что будет выдавать. Да, проделывал и такое. Ничего кроме информации GPS приемника нет. Цитата: возможно в тексте есть опция выдачи отладочной инфы через тот же выходной UART. В текстах исходников нет отладочного блока, можно попробовать вставить. Спасибо всем за то, что обратили внимание на мои вопросы. |
Михась
26 Май 2016
|
Ну значить надо отлаживаться. Можно попробовать отцепить GPS и в начале кода до while вставить сообщение типа "Start", будет понятно, с чего начинать.
Если старт печатается - в обработчик прерывания от GPS вставляем код, который переключает вывод под пищалку ISR (PCINT0_vect) { //called when GPS is transmitting. >>>>>> здесь дергаем выводом пищалки NMEATimer=millis+UART_TIMING_OFFSET; PCMSK=0; //disable pin change interrupt } соответственно, если есть обработка прерывания то пищалка будет пищать. Ну и так по остальным функциям. Но я думаю что или неправильно прошивка скомпилирована или фузы кривые. Редактировалось: Михась (26 Май 2016), всего редактировалось 1 раз |
нет резисторов (4-10К) подтяжки к SDA и SCL.
Почему? без них I2C шина - это "гуталин с повидлом". Просто сразу не обратил внимание, думая, что работаете с датчиком по шине SPI. При этом подключение MS5611 отличается только на одной ноге. Однако, совмещение одной линии - на выдачу в кобо и прием от гпс - это хардкор ![]() Редактировалось: EHOT (26 Май 2016), всего редактировалось 1 раз |
Михась
26 Май 2016
|
В i2c.s написано MODS: Using internal pullups
![]() Ну наверно у автора схемы все работало. |
Именно так, в тиньке85 имеются внутри подтягивающие резисторы на ножках вх/вых. Видимо автор минимализировал схему. С этим я сразу начал разбираться: где?, почему нет...
Что то я засомневался в адресации порта вывода: #define TX_MASK 0b00000001. Порт 0 или 8?... Надо разбираться. Как и с остальным, в т.ч. и с предложенным вами, ребята. Выходные у нас пока не радуют погодой, посижу. Редактировалось: Stasys (26 Май 2016), всего редактировалось 1 раз |
Докладываю результаты:
Попробовал на платах отключить GPS. Их у меня два варианта: с приемниками PA6H (GPS) и Gms-g6a (прошит сейчас для приема GPS, ГЛОНАСС и Galileo). Датчики давления в обеих стоят MS5611, в первом варианте в пластмассовом, а во втором в металлическом корпусе. В терминальной программе увидел передачу данных. Но передается не постоянно. Выдается информация с частотой примерно раз в 2,5 сек. Выдается при подключении девайса от 2-х до 20 (для 1-го вар.) или до 34-х (для 2-го вар.) строк. Возобновляется только после переподключения (физически, не программно). В XCSoar в мониторе видится тоже самое. Но на основной странице данные бароинформации не появляются, на странице выбора и настройки внешних подключений (Конфиг>Девайс) - "нет данных". Может быть ПО не успевает среагировать? Это скрин передачи информации 1-го варианта: ![]() Это скрин передачи информации 2-го варианта: ![]() Первое число (положительное или отрицательное), как я понял из текста кода - vario/100. А второе - давление в атмосферах (после запятой). Проверил, близкие значения: аэропорт (3,7 км, ниже примерно на 10 м) дает 1001 гПа, что соответствует 0.98790 атм. Числа в терминальной программе, примерно, 97100 и 97250 для обоих вариантов. Сложилось впечатление, что есть ограничение на объем буфера информации для UART (Line 189: if (bufferChar==255) { //достигнут последний байт, завершение передачи), а вот его периодической очистки не нашел. Он заполняется и передача прекращается? Может не даром в комментах автора есть TODO: ... clean up. Взгляните кто-нибудь, пожалуйста, в коде. Мне пока не хватило своих скромных знаний на поиск места "зарытия собаки". |
Неожиданно нашел на немецком форуме сообщение от автора (гуло-перевод):Я использую драйвер Леонардо, предложение выглядит следующим образом: "$ D, + v, р *,,,,,,,,,, CC", где v = подъем в дм/с, р = давление в Па, CC = контрольная сумма.
|
Там на форуме есть вариант кода и схема для ардуино мини, бмп085.
Я по быстрому подключил датчик - инфу выдает в порт (аппаратный) вместо кобо. По софт serial он общается с gps. точнее оно там сложная смесь по приему и передаче. Завта попробую найти и подключить gps модуль и все это к кобе. Однако, вопрос, не мог найти ответ - на стороне кобы какой протокол связи указывать? |
Имеете ввиду драйвер XCSoar на страничке Конфиг > Девайс? Я ставлю BluFlyvario. Где то на форуме, том самом немецком, находил сообщение от Raoul Duke (автор), что при Generic принимаются только GPS данные. При DigiFly (не помню точно написание) - только бароинформация, к слову, проверил этот драйвер для своих плат, работает...
В общем случае вид передаваемой бароинформации описан на уже упоминавшемся немецком форуме. Или так. Редактировалось: Stasys (30 Май 2016), всего редактировалось 2 раз(а) |
Михась
29 Май 2016
|
Цитата: Сложилось впечатление, что есть ограничение на объем буфера информации для UART (Line 189: if (bufferChar==255) { //достигнут последний байт, завершение передачи), а вот его периодической очистки не нашел. Он заполняется и передача прекращается? Может не даром в комментах автора есть TODO: ... clean up.
Взгляните кто-нибудь, пожалуйста, в коде. Мне пока не хватило своих скромных знаний на поиск места "зарытия собаки". Это проверка на нулевое окончание строки, т.е. строку передали. Там нет аппаратного уарта, поэтому написан такой софт-уарт. Размер буфера там char UARTBuffer[70]; 70 байт. По идее он начинает передавать быстро если на линии есть импульсы от GPS. Если импульсов нет, передает раз в 2.5 сек. И попробуйте, послушайте линию при подключенном GPS, успевают ли строки бародатчика и GPS разминуться между собой? Если комп увидит а книшшка нет, может частота уарт тиньки не соответствует частоте кобы и надо будет подстраивать осциллятор тиньки. Рассинхронизацию видно будет раньше по искаженным символам. Редактировалось: Михась (30 Май 2016), всего редактировалось 4 раз(а) |
я попробовал собрать этот приборчик на Ardu Nano c BMP180. Схема и скетч. Можно и нужно как на исходном материале на Ардуино про мини (тока версия 3.3В 8мгц), если не будет проблем с прошивкой.
![]() gps не подключал. Работало. Как раз ситуация была обратной Вашей. Вполне хорошо отображает подъемы-спуски прибора просто рукой на +-0.5м, хотя с некоторой задержкой в 0.5с Не думаю, что будут вопросы, если подключить навигационный модуль. уже делал, просто вчера не хватило времени и самочувствия. Не пойму, чего прикипели к этой ATiny, с извратом по обмену инфы через UART? :roll: |
Собрал вот такой вариометр-пищалку.
![]() https://geektimes.ru/post/277166/ Есть как дисплейный, так и бездисплейный вариант. Делал на основе разработки уважаемого CompiZ ![]() Редактировалось: Sergey 43 (29 Июн 2016), всего редактировалось 1 раз |
Вот мои библиотеки в ардуино , с ними все работает :
https://yadi.sk/d/AtVOHw81tZVrH |
Очень нужна помощь!
Пытаюсь собрать аналогичный прибор, в составе: arduino nano bmp180 I2C дисплей, 2х строчный, 16 символов. активный пьезодинамик (с транзистором) добился того, что на дисплей выводится значение высоты относительно старта. пытался загрузить скетч из первого поста, не работает: дисплей показывает цифры, но они не меняются и динамик пишит постоянно. если кто-нибудь сейчас занимается подобным прибором, можете помочь адаптировать код под мой прибор? основное отличие в том, что я скачал библиотеку для bmp180, на выдает сразу переменную с относительной высотой, что упрощает написание кода, но усложняет для меня его адаптацию. таким образом можно было бы значительно сократить код, выложить его на форум для тех, кто желает повторить прибор. вот, что пока есть: #include <BMP180.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> BMP180 sensor; LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display void setup() { lcd.init(); // initialize the lcd lcd.init(); // Print a message to the LCD. lcd.backlight(); delay(1000); sensor.begin(); sensor.read(0); } void loop() { sensor.read(); lcd.setCursor(0,0); lcd.print((String)"ALT "+sensor.alti+""); delay(1000); } Редактировалось: коричневые бусы (17 Июл 2016), всего редактировалось 1 раз |
да, усреднения нет, потому как я не знаю как его сделать. Вот попробовал взять код отсюда и немного поменять его под себя, вот что вышло:
![]() #include <BMP180.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> BMP180 sensor; LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display float vario_down = -1.1; // Установка СНИЖЕНИЯ float vario_up; float alt[51]; float tim[51]; float beep; float Beep_period; float mux; float Altitude; const float p0 = 101325; long Pressure = 101325; unsigned long bounseInput4P = 0UL; int samples=40; int maxsamples=50; int countPressVal = 0; bool tmp1 = 0; bool countPress = 0; bool bounseInput4S = 0; bool bounseInput4O = 0; boolean thermalling = false; int p = 3; void setup() { pinMode(p, OUTPUT); lcd.init(); // initialize the lcd lcd.init(); // Print a message to the LCD. lcd.backlight(); delay(1000); sensor.begin(); sensor.read(0); } void loop() { sensor.read(); lcd.setCursor(0,0); lcd.print((String)"ALT "+sensor.alti+""); //delay(1000); float tempo=millis(); float vario=0; float N1=0; float N2=0; float N3=0; float D1=0; float D2=0; for(int cc=1;cc<=maxsamples;cc++){ // усреднитель alt[(cc-1)]=alt[cc]; tim[(cc-1)]=tim[cc]; }; alt[maxsamples]=sensor.alti; tim[maxsamples]=tempo; float stime=tim[maxsamples-samples]; for(int cc=(maxsamples-samples);cc<maxsamples;cc++){ N1+=(tim[cc]-stime)*alt[cc]; N2+=(tim[cc]-stime); N3+=(alt[cc]); D1+=(tim[cc]-stime)*(tim[cc]-stime); D2+=(tim[cc]-stime); }; vario=1000*((samples*N1)-N2*N3)/(samples*D1-D2*D2); // рачёт звука if ((tempo-beep)>Beep_period) { beep=tempo; if (vario>vario_up && vario<15 ) { Beep_period=350-(vario*5); tone(p,(1000+(100*vario)),300-(vario*5)); // звук на подъёме tone(p,(1003+(100*vario)),300-(vario*5)); thermalling = true; } else if ((vario < 0 ) && (thermalling == true)) { thermalling = false; // tone(200, 800); // звук предпоток (по-желанию ) } else if (vario< vario_down){ // звук на сливе Beep_period=200; tone(p,(300-(vario)),340); tone(p,(303-(vario)),340); thermalling = false; } } } но при этом частично все работает, зук при подъеме\опускании меняется, но пищит постоянно. Помогите, пожалуйста, адаптировать код. |
Что значит меняется?
попробуйте пошаманить с этим участком кода if (vario>vario_up && vario<15 ) { Beep_period=350-(vario*5); tone_out1.play((1000+(100*vario)),300-(vario*5)); // звук на подъёме tone_out2.play((1003+(100*vario)),300-(vario*5)); thermalling = true; } else if ((vario < 0 ) && (thermalling == true)) { thermalling = false; // tone_out2.play(200, 800); // звук предпоток (по-желанию ) } else if (vario< vario_down){ // звук на сливе Beep_period=200; tone_out1.play((300-(vario)),340); tone_out2.play((303-(vario)),340); thermalling = false; Попробуйте удалить звук слива, тогда должен пищать только на подьеме Попробуйте вообще убрать эти строки, есть подозрение что сама пищалка не так работает |
Я так понимаю твоя пищалка пищит при наличии на входе логической 1
а должна быть просто пищалкой с усилителем я нашел динамик с сопротивление 100ом и подключил напрямую на плату, пищит достаточно громко потише моего фломастера б1 но все же достаточно громко, можно взять динамик 75 но не менее иначе ардуинка сгорит |
Собрал в одну кучку свой клубок проводов:
- основа плата stm32vldiscovery - распаял/распилил чтоб влезала в корпус. сейчас стоит контроллер stm32f103ret7 он пин-пин совместим с оригинальным на дисковери - код собирается и под тот и под тот, просто у нового есть усб, но сейчас ни чего не задействовано - дисплей nokia5110 - бародатчик ms5611 - пробовал bmp085/180 но у них точность по сравнению c 5611 никакущая - сильно плавает ноль - питание от одной банки lipo, зарядка от usb - схемотехника зарядки, стабилизатора питания, супервизора питания и измерения напряжения на аккумуляторе - все почти без изменений из оригинального проекта - корпус G1908 - звук два buzzer 1203 через мост от акка - громкость вроде достаточная, но хочется больше - причина слишком нелинейная АЧХ спикеров - в области резонанса звучат действительно громко - исходный код https://github.com/DD1984/skydrop_stm32 - так же там есть ссылка на оригинальный проект - разработку печатных плат не осилил, поэтому конструкция держится в основном на термоклее оригинальный проект сделан на xmega + ms5611 + жпс + блютус + датчик влажности/температуры + акселерометр я перенес код на stm32 (дисковери была в наличии, да и контроллер значительно лучше) обнес дефайнам все что связано с дополнительными датчиками и оставил только бародатчик из плюсов: - фильтр калмана - куча разных экранов, с возможностью настройки каждого - оригинальный проект - коммерческий (хотя код все равно не очень)))) - автор не против использования свое кода - код opensource ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Да я б не сказал что дорого,
Discovery сейчас действительно не менее 1300р стоит, но там в комплекте отладчик stlink, но платки с подобным контроллером Stm32f103rbt6 есть на али по 700р и отладчик за 166р - но stm32 гораздо лучше мег, одни часы реального времени чего стоят. ms5611 можно сказать что дорогой, 500р, но я думаю оно того стоит уж очень долго я мучился с bmp085/180 дисплей 150р Зарядка тоже платкой на али продается, по-моему за 30р Дешевле будет если плату развести, а так наверное около 2тр получается |
ЖЫРНО плюсанул )))
Попробуй в качестве железа взять такую платку FLIP MINI она на основе NAZE32. можно просто NAZE32 V6. Она компактная, На ней бародатчик, аксель, компас уже распаяны. Можно с некоторыми удобствами (есть контакные площадки) подключать другие устройства (GPS, экран ) есть преобразователь usb-uart и сам микро юсб разъем. Я пробовал эти платы смотреть с разными барометрами дрейф высоты. Все зависит от фильтра первичной обработки. Что ВМP085/180, что MS5611. Не в сапогах дело. :roll: Даже BMP280 есть в V6 Редактировалось: EHOT (26 Янв 2017), всего редактировалось 2 раз(а) |
Идея про платку NAZE 32 просто замечательная, по диагонали про нее почитал, неплохо бы еще схему ее найти
а так с прибором полетал немного, нормально работает, правда с режимом сна где то накосячил - жрет батарейку в выключенном состоянии, но это мелочи, поправлю - грешу на дисплей, я решил его режим сна заюзать, вместо отключения его питания полностью а про конфигуратор, что то вопрос не пойму, я ни какие оригинальные конфигураторы не юзал и даже не смотрел, только исходный код из оригинального проекта |
про NAZE32 смотреть https://github.com/cleanflight/cleanflight/wiki
bили про его старшего брата baseflight (ueukb) лучше смотреть про текущую 6 версию. Хотя он может поддерживать разные датчики. Схему его тоже найти не просто. не даётся. Я про конфигуратор имел в виду, чтоб настроить на разные МК и разные дисплеи. Как мне показалось этот проект поддерживает разные типы дисплеев. ну, хотелось попробовать с теми, что есть у меня. Там в проекте есть директория конфигуратор, с htm файлом (я пристально еще не копался в исходниках) Вот подумал что в браузере можно сделать конфиг под нужное железо. Обычно оно делается в командной строке. или файл hardware.h редактировать |
не, так как проект коммерческий то и железо у них одно и в коде тоже поддержка только дисплея nokia5110, но я заводил в этом проекте nokia1202 (не понравился, так как без подсветки фон коричневый какой то) ну и для начала заводил 128х128 цветной какой то на контроллере IL93....
вообще прилепить любой дисплей не проблема)) что за конфигураторы у них есть, я детально не разбирался, но помоему они там только аудио профиль настраивают PS: может подскажете где лучше naze32 заказать, а еще какие еще полетные контроллеры есть, может что то другое можно выбрать |
я брал FLIP на банггуде. ссылка выше. "Классический" дизайн этой платы квадратный. По моему лучше брать с 10DOF (со всеми датчиками) Более дешевые (6DOF) они только с акселерометром. но без компаса, барометра, флешки. Если есть свой подходящий бародатчик (MS5611 (V5) или BMP280 (V6) смотря какая плата) и навыки пайки безвыводных ИМС можно и самому баро припаять. Тока не жалуйтесь, если перегреете или недогреете )))
|
mwm
09 Сен 2016
|
А я вот такую штуку сделал !
![]() ![]() ![]() Правда при сйомке телефон исказил звук. Вживую намного лутше Редактировалось: mwm (09 Сен 2016), всего редактировалось 1 раз |
vnik
09 Сен 2016
|
Акцент американский. Не Тим Керби наговаривал, случайно? Титя в титю голос. Эвон:
![]() |
mwm
09 Сен 2016
|
Точно не Тим.
![]() ![]() ![]() Голос взял с навигатора IGO |
На глаза попалась почти готовая плата ArduBoy
подумал, что если добавить датчик давления и залить скетч, то получится варик в размере кредитки. Однако обещают цену в 37уе, тогда как в корцине цена 49. типа нужно набрать 100 шт. но заказано уже 128.... |
Я собрал такой вариант.Скетч и описание взял от сюда https://github.com/sinseman/DIY-Arduino-variometer
Все хорошо, даже вчера удалось запустить, пищит как надо, показывает высоту, изменения, потом правил скетч, залил снова и все перестало работать, экран показывает какую-то белиберду.... Кто-то пробовал использовать этот скетч? Не могу понять в чем проблема? Спасибо, если кто-то подскажет куда копать. ![]() |
Залей тестовый скетч для этого экрана и посмотри что покажет.
Но я и так скажу - проблема наверняка в его контактах. Дисплеи нокия 5110 слишком много внимания требуют при эксплуатации. Были-бы шлейфом припаяны к плате - цены бы им не было, но в этом исполнении небольшой перекос от зажима влияет на прилегание контактов. |
Уже разобрался. Все работает. Теперь остается немного подкорректировать скетч. Экран мне не очень нравится, вынес на балкон при 0-5 градусов. Очень туго работает экран. Заказал OLED, посмотрю как он реагирует на мороз, в даташите, что-то около -40 нормальый полет, посмотрим.
Наверное OLED энергии больше жрать будет.. ![]() Тесты в лифте ![]() Извините за качество видео. Сделаю лучше залью. Редактировалось: Nitromax (07 Дек 2016), всего редактировалось 1 раз |
Закончил наконец пищалку на СТМ32. Бюджет по деталькам около 500 руб, в зависимости от магазина.
![]() ![]() |
Характер звучания содран с браунигера IQ One. Так что в лифте информативность не высокая. Но тон между паузами меняется, звук такой же живой как на брюнике, только скорость реакции на подъем быстрее, около 0.7 сек.
Процессо STM32F030 никаких слип-модов не применяется, зато ценник на эти процессоры до безобразия низкий. |
тут можно найти как можно подружить
|
sky_dreamer1
08 Янв 2017
|
1) сколько живет от этой батарейки?
2) какие настройки и как их корректировать? (громкость, чувствительность) |
Это уже старая версия, там всего 60 часов не больше. Вот новая версия. Батарейка CR2450 и уже 250 часов. Датчик BMP280. На голову лучше 180-го.
Тон в лифте. Обычно это проблема, из за пульсаций давления в кабине. ![]() Скорость реакции и время отсечки: ![]() |
EfremKos
26 Янв 2017
|
VVS_, подскажите, где взять крайнюю схемку и прошивку? Признателен буду за разведёную печатную плату.
Соберу себе, и ещё парочку в подарок соратникам по хобби. Редактировалось: EfremKos (26 Янв 2017), всего редактировалось 1 раз |
EfremKos
09 Фев 2017
|
Ок.
![]() |
Алех_К
12 Мар 2017
|
Есть у кого нибудь код прикрученный к библиотеке u8glib. ? Есть несколько дисплеев сиеменс а55, без дела валяются, оживить бы, с этой библиотекой хорошо дружат. Здесь описано как подружить сиеменс а55 с библиотекой http://easymcu.ucoz.ru/publ/12-1-0-116 Решить проблему с тихим звуком можно вот так 1194_original.gif Если звук громкий,можно убавить с помощью подключения резистора 47-200 ом между +3.3 и коллектором транзистора. Ардуино нано я запитываю от телефонного акумулятора типа нокиа BL-5C(от старых телефонов), подключаю его через резистор 3,3 Ом (токоограничительный) к выводам 5V, в такой конфигурации аккумулятор можно заряжать напрямую от ардуино нано. Резистор ограничивает ток до 0,2 А, и не позволяет нано выйти из строя.
Редактировалось: Алех_К (15 Мар 2017), всего редактировалось 7 раз(а) |
EfremKos
22 Июн 2017
|
При этом ни телефон ни рация не мешают работе варио даже антенной в упор
![]() Спасибо за отзыв. Благодарю за видео работы ![]() ![]() Редактировалось: VVS_ (25 Июн 2017), всего редактировалось 1 раз |
![]() по всем вопросам в личку. Редактировалось: VVS_ (03 Июл 2017), всего редактировалось 1 раз |
Интересная статейка на РЦЛоцмане о подключении BMP180 к RaspberryPi3.
Для клинических опытов с датчиком. ![]() чуть тезисов насчет условий использования бородатчика: Цитата: При эксплуатации барометра следует учитывать некоторые особенности.
Помните, что BMP180 необходим доступ окружающего воздуха для измерения его давления, так что не стоит его укладывать в герметичный корпус. С другой стороны, воздействие быстро движущихся воздушных потоков или ветра могут вызвать кратковременные колебания давления, которые будут влиять на ваши показания. Защитите устройство от сильных воздушных потоков. Точное значение температуры необходимо для измерения давления, поэтому старайтесь не подвергать устройство резким изменениям температуры, держите его подальше от нагревающихся деталей и других источников тепла. BMP180 чувствителен к влаге и не должен контактировать с водой. BMP180 чувствителен к свету, который может войти в устройство через маленькое отверстие в металлической крышке корпуса чипа. Для достижения максимальной точности следует оградить датчик от окружающего света. |
хороший прием - закрывать бародатчик кусочком неопрена. Нет, прессовать неопрен с фанатизмом не надо.
И воздух через поры неопрена поступает, и сглаживает скачки давления, и свет - влагу отсекает. Еще не следует отмывать платы с установленными датчиками давления и прочими установленными МЭМС приборами в ультразвуковой ванне. В состав датчиков может входить какой-то гель, который разрушается под действием УЗ. Редактировалось: EHOT (07 Авг 2017), всего редактировалось 1 раз |
Stasmor
08 Авг 2017
|
я над своим датчиком делал "крышу", из пластины, но не очень низко, ибо датчик офигенно греется...
|