Потребление разрабатываемого мной беспроводного сенсора действительно можно в какой-то степени назвать словом "микро". Произвел, может и не очень точный, но все же в чем-то показательный эксперимент: запитал сенсор батарей из четырех ионисторов 0.33F, включенных параллельно. Ионисторы старые, надерганные из умерших струйных принтеров Epson, т.ч. суммарная их емкость, скорее всего, несколько ниже, чем простая сумма написанных на них номиналов. Зарядил их от регулируемого источника напряжения так, чтобы запасенная энергия составила примерно 1мА/ч. Сейчас уже не вспомню, сколько точно это было в вольтах, но кажись где-то в районе 3.25 (можно посчитать точно, расчет простейший). К сенсору подключил только один датчик -- BMP180, который раз в минуту опрашивал и отправлял полученные с него данные о температуре и давлении через NRF24L01. Целью эксперимента было установить, за какое время сенсор израсходует 1мА/ч. Целиком эту емкость израсходовать не возможно даже теоретически, т.к. все равно в ионисторах должно немного остаться, когда они уже не смогут отдавать нужный ток, но меня устраивала точность и в приблизительном исчислении. В общем, перед тем, как умолкнуть по причине исчерпания источника питания, беспроводной сенсор в течении 31-го часа (+ несколько минут) исправно передавал данные. Экстраполируя полученные результаты, можно грубо посчитать время, которое сенсор проработает с источника 2000мА/ч (пара алкалиновых батарей АА): 31 * 2000 = 62000 часов или семь с небольшим лет. Все больше похоже, что первоначальные расчеты оказались заниженными в несколько раз.
Следующим экспериментом было "подпереть" ионисторный источник солнечной батареей. Ионисторов оставил только два, а в качестве солнечных батареек взял две маленькие панельки от декоративных садовых светильников. Светильники померли от попадания в них воды, но панели при этом не пострадали. Панельки включил последовательно. Ясным днем, вне попадания на панели прямых солнечных лучей, такой источник выдавал до 4.95в без нагрузки. Получалось ни два, ни полтора -- одна панелька мало, две много. Пришлось оставлять две и ограничивать напряжение, чтобы вписаться в 3.6в. Сделал по простому -- выход с панелей зашунтировал двумя последовательно включенными зелеными светодиодами. По расчетам, падение напряжения на зеленом светодиоде около 1.8в и пара таких диодов должны были ограничить напряжение около 3.6в, но получалось все-равно немного больше. Последовательно с источником включил еще обычный диод (1N4007) и это позволило добиться, чтобы при самом ярком освещении на месте установки, напряжение с батарей не превышало 3.55в.
Плоскость солнечных батарей располагается перпендикулярно земле. Т.е. батареи "смотрят" не в небо, а параллельно земле. Пока не определился, останется такое размещение постоянным или будет изменено. В принципе, энергии батареи дают больше, чем достаточно и в самый пасмурный день напряжение на ионисторах не бывает ниже 3.22-3.25в.
На время экспериментов солнечные батареи и датчики (bh1750, si7021 и bmp180) закреплены на листе пластика и вставлены в окошечко бетонной решетки сушилки, т.е. "смотрят" прямо на улицу. В самом начале эксперимента эту конструкцию залило дождем и сенсор "потух". Сделал сверху небольшой козырек и пока вроде с дождем больше проблем не возникало.
На таком питании и в таком виде сенсор работает с конца апреля. Работает, в принципе, устойчиво. О каком-то значительном аптайме пока говорить не приходится, т.к. в конструкцию и ПО постоянно вносятся изменения, но был период, что суток двадцать оно работало без перерыва.
Не так давно из старого нетбука с убунтой соорудил логгер. Ардуина с NRF24L01 подключен к USB нетбука. Слушает эфир, пишет все, что услышал. Попрактиковался в написании скриптов на awk и perl-е для вытаскивания данных из логов. Раньше распаковкой принятых данных занимался ардуина (а данные в эфире идут в виде упакованных записей), теперь можно все это делать скриптами в линуксе. Оно может и без разницы, кто будет заниматься распаковкой, но логи удобнее хранить в виде шестнадцатиричных дампов пакетов, а данные для анализа или визуализации вытягивать скриптами. Например, для иллюстрации я сейчас сделал экспорт в эксел и визуализацию реальных данных, как менялось напряжение питания на МК 18-19 июня:
Можно, конечно и по таблице анализировать, но с графиком нагляднее. Так можно сразу увидеть, что где-то час требуется на полный заряд ионистора после ночной разрядки, когда взошло солнце. Разряд батареи после захода солнца -- почти прямая, с слабо выраженным загибом "под логарифм". Я не привожу здесь погодных графиков, т.к. их можно и так посмотреть много где, а вот как ведет себя ионистор, питая МК, я, например, не видел.
Раз данные оказываются в линуксе, то и в веб отправить не проблема. Тем же скриптом, который пишет лог, отправляю по сети на роутер с OpenWRT, где другим скриптом складываю в файл данных, откуда их будет брать по мере надобности встроенный в OpenWRT веб-вервер. Все это, можно сказать, в реальном времени. Веб-программист из меня никакой, т.ч. на пробу просто изобразил текстовую страницу с динамическим отображением содержимого (страницу не нужно обновлять, т.к. данные на ней обновляются сами):
Если страницу нарисовать покрасивше, а в прихожей повесить на стену старый планшет с браузером, открытым через вайфай на этой странице, то получится погодная станция.
Сейчас заброс данных сделан по обходной схеме, через нетбук, но есть мысль посадить приемник на консольный порт роутера. Разъем я туда подпаял еще тогда, когда раскирпичивал померший роутер вследствии неправильной прошивки. Простейшее устройство из МК и NRF24L01 можно подключать напрямую, а графики рисовать средствами веб-сервера роутера, благо он это умеет. Нужно будет только разобраться, как он это делает.
Вобщем, пока вот такое развитие получила история с беспроводным сенсором.
- Вложения
-
- 2016-06-22_063629.jpg
- (32.79 KiB) Скачиваний: 2022
-
- VCC.jpg
- (43.52 KiB) Скачиваний: 2033