Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Re: STM32 на батарейках

Вт июн 07, 2016 07:17:29

Да, интересные результаты, но есть несколько вопросов: в каком смысле упомянуты 0.5 стены? Понизить частоту I2C не пытались? С какой целью там 400 кгц? Ещё не понял безопасно-ли в плане вандализма ставить оборудование на (общественных?) сушилках?

В этом семестре у меня было 5 студенческих wireless проектов: 2 на BLE и 3 на Sub-1. Один из этих трёх всё ещё в настройке. У семьи этого студента большой участок и расстояние от дома до почтового ящика на дороге около 500м. К тому-же нет прямой видимости - деревья заслоняют. Он хотел сделать устройство, которое с помощью акселерометра засекает момент открывания двери почтового ящика и посылает сигнал в дом. Как там запоёт и лампочка замигает - так пришла почта, а то иной раз туда-обратно не находишся. Этот проект спонсировался TI в рамках очередного конкурса, и одним из условий его было применять только TI-евские микросхемы, в том числе и радио. Короче, тестировали у меня дома, все работало на ура. А когда он уехал на лето к себе выяснилось, что не хватает чего-то совсем чуть-чуть. Именно, влияние железного почтового ящика в его условиях оказалось гораздо более существенным, чем в моём. Если передатчик переворачивать рядом с его ящиком, то всё работает. Чтобы уложиться в сроки TI, мы сделали это на хорошо изученном радио CC1101 + MSP430 с укороченной whip антенной, а не на CC1310. Видимо, большая ошибка. Кстати, под это дело мы приобрели силлабовский набор антенн на 915мгц и наборы для разработки приложений под CC1310 (один из них - зелёный на снимке), но начал подходить к концу семестр и... Будем продолжать веселье по осени. Кстати, забыл сфоткать антенну набора CC1310 - там штыревая длиной 165мм, видимо из тех что на снимке будет самой эффективной. Будем посмотреть.

До работы с NRF24 у меня руки так пока и не дошли и этим летом вряд-ли дойдут. Я установил их на разъёмах на монтажках и это пока все. Зато поработал с BLE модулями Nordic на основе чипов NRF51422 (радио + ARM-CM0). В общем, мне понравился их подход к разработке приложений, чтобы большой размер стека не влиял на 32К свободной версии IDE. Все достаточно логично и оригинально. Пересмотрел кучу BLE модулей разных производителей на этих чипах, а также серий 822 и 832. Они меня не порадовали не ценой, не топологией выводов. Однако, у какого-то производителя была в ДШ нарисована диаграмма направленности змеевидной печатной антенны, что совпадает с Вашими наблюдениями. Я все ищу оптимальные модули для BLE, но пока более простых и удобных в программировании чем сайпровские не нашел. Сейчас мучаю силабовские Blue Gecko, очень своеобразно. У каждого производителя свой подход и своя изюминка, может об этом позже обзор напишу. Кстати, 2 обещанные статьи по сайпроским PSoC проходят последнюю стадию шлифовки, представлю обе к публикации на этой неделе.

Ещё кстати, насчет Sub-1 модулей для проекта одной студентки мы подобрали как оказалось очень даже неплохие модули ZETA-915 производимых английской фирмой RF Solutions. У них есть и на 868 и на 430 мгц. Подключай антенну - и вперёд. Модули на основе силлабовских чипов, правда не самых лучших, но зато вся радиочасть готова и собрана на плате модуля. Она делала радиоуправление машинки на них. На максимальную дальность мы не тестировали, такая задача для машинки не имеет смысла. Тем не менее, буду их и далее использовать и очень рекомендую.

Re: STM32 на батарейках

Ср июн 22, 2016 01:25:13

Ser60 писал(а):Да, интересные результаты, но есть несколько вопросов: в каком смысле упомянуты 0.5 стены? Понизить частоту I2C не пытались? С какой целью там 400 кгц? Ещё не понял безопасно-ли в плане вандализма ставить оборудование на (общественных?) сушилках?

Отвечаю по порядку:

- Сушилка с квартирой соприкасаются углами. В точке соприкосновения их разделяет одна стена. Если бы приемник с передатчиком стояли в углу, то можно было бы говорить, что они работают через одну стену. Но устройства располагаются на некотором удалении от угла. Если по прямой, то их разделяют две стены. Формально, говорить про полторы стены не корректно, но как лучше описать мою ситуацию, я пока не придумал.

- Снижение частоты I2C берегу, как последнюю меру. Страдая маниакальным намерением беречь энергию, где только возможно, быструю I2C выбрал, чтобы обмены шли быстрее. "Танцы" с проводами пока позволили отбиться и продолжать работу на 400кгц.

- Дверь в сушилку на замке. Ими у нас никто не пользуется. Большинство стоят закрытыми и пустыми. На некоторых этажах жильцы туда выносят то, что лень тащить на помойку. На моем этаже, подозреваю, что ключ сохранился только у меня, т.к. соседи менялись несколько раз. В этом смысле сушилка относительно вандалоустойчивая.

А когда он уехал на лето к себе выяснилось, что не хватает чего-то совсем чуть-чуть. Именно, влияние железного почтового ящика в его условиях оказалось гораздо более существенным, чем в моём.


Я, как тот вшивый о бане, конечно же сразу хотел бы приплести внешние антенны. Тем более, что железный ящик уже есть и его стенку можно использовать, как рефлектор. Антенна же делается не просто, а очень просто: два одинаковых куска медной проволоки, длиной равной длине волны, сгибаются в кольца и спаиваются вместе с образованием зазора в 2-3мм. Кольца располагаются над плоскостью рефлектора на расстоянии 1/8 длины волны (~15,3мм). Кольца припаиваются к разъему, вкрученному в рефлектор. Вот и вся недолга.

Как раз недавно я переделывал антенну, чтобы более-менее соблюдались все размеры. В кладовке нашел старую жестяную аптечку, крышка которой стала теперь рефлектором. Чтобы обеспечить нужное расстояние от вибратора до рефлектора, нарезал стойки из авторучки и сточил до точного размера на наждачке. Врезал RP-SMA разъем в центре жестянки. Получилось вот так:

Изображение

Может и не гламурно, но работает неплохо.

Пересмотрел кучу BLE модулей разных производителей на этих чипах, а также серий 822 и 832. Они меня не порадовали не ценой, не топологией выводов.

Я 822-е на таобао разглядывал. Торгуют их там по $2.5.

Изображение

Покупка оттуда потребует, разумеется, оплаты стоимости пересылки и услуг посредника, но все равно получается не дорого. Если мне сейчас понадобился BLE, то определенно начал бы именно с них.

Ещё кстати, насчет Sub-1 модулей для проекта одной студентки мы подобрали как оказалось очень даже неплохие модули ZETA-915 производимых английской фирмой RF Solutions. У них есть и на 868 и на 430 мгц. Подключай антенну - и вперёд. Модули на основе силлабовских чипов, правда не самых лучших, но зато вся радиочасть готова и собрана на плате модуля. Она делала радиоуправление машинки на них. На максимальную дальность мы не тестировали, такая задача для машинки не имеет смысла. Тем не менее, буду их и далее использовать и очень рекомендую.

А я тут почитывал про радиомодули в интернетах и наткнулся на прелюбопытный 868мгц девайс SX1272

Изображение

Пишут, что обеспечивает связь до 2-х километров в условиях городской застройки и до 20 км в чистом поле.
Вложения
51822.jpg
(80.3 KiB) Скачиваний: 2119
IMG_5426_CR.jpg
(166.08 KiB) Скачиваний: 2226

Re: STM32 на батарейках

Ср июн 22, 2016 02:09:06

Нашел на даче, лежащими в банке со всяким хламом, старые алкалиновые батарейки Duracel Turbo (нынче такой модели у дюраселов уже нет) 2008-го года выпуска. Судя по виду, где-то поработали.

Изображение

Месяц и год изготовления наносится матричной печатью, а "MAR 2014" означает "использовать до". Стало интересно посмотреть, остался ли в них хоть какой-нибудь милливольт. Данные измерений слегка озадачили.

Изображение

За восемь лет батарейки сохранили значительную часть своей емкости. Сейчас уже не установить, где и сколько они эксплуатировались, но цифры на экране невольно подсказывают, что пальчиковые батарейки могут оказаться относительно неплохим источником для долгоиграющих устройств. Мысль проверить, сколько они отдадут под значительной нагрузкой мне в голову не пришла -- раритет все-таки -- но проверить, как от них будет работать сенсор, мне захотелось. Сутки они проработали в сенсоре и я не обнаружил, чтобы по окончанию "пробной эксплуатации", напряжение на них изменилось. Отложил, пока не придумаю, какую еще полезную информацию можно получить с их помощью.
Вложения
IMG_5405_CR.jpg
(190.23 KiB) Скачиваний: 2135
IMG_5401_CR2.jpg
(123.31 KiB) Скачиваний: 2148

Re: STM32 на батарейках

Ср июн 22, 2016 05:58:03

Потребление разрабатываемого мной беспроводного сенсора действительно можно в какой-то степени назвать словом "микро". Произвел, может и не очень точный, но все же в чем-то показательный эксперимент: запитал сенсор батарей из четырех ионисторов 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

Re: STM32 на батарейках

Чт июн 23, 2016 02:02:34

Ну не знаю насчет антенн - пока не готов на такие. Какая у неё диаграмма направленности? Почтовый ящик тыльной стенкой не совсем в сторону дома смотрит.

По модулям - китайские я во внимание не принимал, может и зря. Модуль этот на 822 скорее всего несертифицированный. Для домашних поделок, впрочем, сойдет. Я поработал с Нордиевскими BLE немного, но достаточно чтобы понять, что они мне не нужны. Такого удобства с программированием BLE как у Cypress не встречал, поэтому не вижу для себя причин слезать с них на Нордик, даже если они дешевле. Кстати, нашел у Кипарисов BLE модули на основе чипов 012012-10, легко паяемые но тоже несертифицированные без внешнего экрана по $8.80 (такие-же сертифицированные стоят где-то на доллар дороже). Даже купил и на макетке опробовал. Если уж слезать с них, то на Силлабовские Blue Gecko вообще с рекордными параметрами.

Не понимаю почему эти Лоры такие дорогие. По дальности то-же самое пишут при СС1310. Сегодня как раз взял по ним вебинар. Для грамотного их использования следует усвоить TI-RTOS - в процессе.

По солнечным батареям данные интересные. Тоже давно вынашиваю эту идею. До этого работал с контроллером BQ25504, потом с процессорами и и платами для Energy harvesting от Cymbet. Но в последнее время они куда-то не туда ушли. Недавно эксперементировал с Сайпровской платкой Solar-Powered IoT Device Kit
Работает у меня уже пару недель, правда только в светлое время. Подключал к нему кондер на 100мкф из набора, но погоду это не делает. Как руки дойдут - переделаю на более редкое вещание и с внешним ионистором. Спасибо напомнили - надо будет ионистор заказать. Сдёрнуть у меня его неоткуда.

Re: STM32 на батарейках

Пт июн 24, 2016 19:45:20

Кстати об антеннах: получил в сегодняшней рассылке новостей линк на тест на дальность с использованием штревой антенны на передачу и решеточной на приём. По-моему при излучаемой мощности модуля +19.5dbm хоть и на 2.4 ггц, результат более чем скромный, хотя тест на максимальную дальность там не делался. Что можете сказать про эту решёточную антенну?

Re: STM32 на батарейках

Сб июн 25, 2016 06:27:31

+19,5дбм -- это 100мвт. Такой мощностью обычно работают вайфай-устройства, радиус действия которых редко превышает сотню метров, если мы говорим о железе из категории ширпотреб. На направленных антеннах с хорошим усилением речь может идти уже о 1-2 километрах, а если повезет, то и с приличной скоростью. Параболическая антенна -- весьма неплохой агрегат, но в эксперименте этого перца ей было просто негде раскрыть свой потенциал. Он бы и на антеннах попроще вполне мог пробить эти пятьсот метров. Только не на штырях, естественно.

24dBi (усиление антенны в эксперименте) -- это довольно большая величина. Круче только тарелки и навороченные патчи. Но чем больше КУ, тем точнее должна быть ориентирована антенна. Если промахнуться с направлением, то работать оно может даже хуже, чем антенны с меньшем КУ, но более широкой диаграммой. Впрочем, это очевидно.

У биквадрата КУ поменьше, где-то 10-12dBi. Диаграма примерно такая:

Изображение

для сравнения диаграмма решетки:

Изображение

Насчет кипарисов. Из вашей статьи мне тоже очень глянулась среда разработки. В принципе, я еще давным-давно грызся с корифеями эмбеда на этом форуме по тому поводу, что средства визуализации и генераторы кода -- это благо. Корифеи, напротив, ратовали за то, что только вызубривание назначения каждого бита и программирование на ощупь есть наше все. Вот я из-за этого "на ощупь" вчера пол-ночи потерял. Собрал на макетке приемник NRF24L01 + STM8S003. Прицеливаюсь поставить внутрь роутера с OpenWRT. Запустил. МК работает, ногами дрыгает, отладка идет, но на SPI-интерфейсе нет клока. Десять раз перепроверил инициализации, двадцать раз полистал мануал, чесал репу без счета, но должного эффекта это не произвело. Все нужные выводы что-то там щелкают, один клок (SCK) стоит в одном и том же положении, что бы ни происходило. Ну не может такого быть. А STM8 я уж не помню, когда последний раз в руки брал. В общем, убил кучу времени, нашел, что это option byte задает альтернативные конфигурации некоторым пинам, каковую альтернативную конфигурацию я когда-то раньше задавал для пина клока, о чем уже давно забыл раз и навсегда. И описывается этот option byte не в референсе на линейку, а в мануале на конкретный чип. Ну и нафига, спрашивается, столько счастья сразу? Как я себе представляю, для всех этих битов, разбросанных по всему МК и влияющих друг на друга самым не очевидным способом, должен быть инструмент интерактивного конфигурирования, который бы позволял видеть всю картину сверху вниз, любой раздел, блок, регистр, бит, значение, влияние и т.п. Только у ST ничего подобного нет. Сиди, вспоминай, гадай, где там какой бит застрял или мог застрять. Тоска, в общем.

По солнечным батарейкам. Время года сейчас для наблюдений и экспериментов не самое подходящее. Солнца и света много, ночи короткие, 0.66F (2 x 0.33F) оказывается больше, чем достаточно, что не доходит даже до включения повышайки. Интереснее будет посмотреть, что будет осенью и зимой. На длинную ночь 0.66F может и не хватить, а бОльшая емкость может не успеть зарядиться за короткий пасмурный день. Влияние холода, опять же. Увеличивать мощность панели -- какое-то сомнительное направление. Если в холодное время года с питанием от солнечных элементов возникнут проблемы, то вижу смысл вообще отказаться от этой схемы.

Re: STM32 на батарейках

Сб июн 25, 2016 07:14:15

Вы знаете, я сам раньше так как уромянутые Вами корифеи битов думал, что чем ближе к коду, ткм правильнее подход. Но с каких-то пор мнение изменил, поработав с системами типа сайпровской. Время она экономит сильно и заметно сокращает время выхода продукта на рынок. Пусть код получится не таким оптимальным, каким-бы его мог сделать грамотный программист, затратив N-нное количество времени, но время получения надежно работающего кода - это один из параметров оптимизации продукта. Соответственно, не смотрю свысока на ардуину и злом ее не считаю. Еще один гвоздь мне в это вбил семинар про сенсорные приложения (см. мое последнее сообщение в теме арм или не арм). Помню сколько я потратил времени чтобы разобраться как настроить сенсорный блок у Кинетис и разработать алгоритм, а на семинаре тоже самое и даже с лучшим результатом получилось буквально за 5 минут.

Спасибо за инфу по антеннам. А насчет солнечных элементов зимой еще сложность с заснеживанием. Возможно я что-то путаю, но по-моему небольшие солнечныe элементы способные работать на морозе ниже -30 еще поискать надо.

Re: STM32 на батарейках

Пн июн 27, 2016 07:56:24

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

Собрал на плате и довел до ума приемник STM8S + NRF24L01. Схема простая, только МК и разъем для NRF. Код тоже очень простой. Трансивер ставится на прием и все, что оттуда падает, тут же отправляется на аппарататный консольный порт роутера (DIR-620) через UART МК. Попробовал было воткнуть юсб-шный преобразователь интерфейса в юсб порт роутера, чтобы зайти в роутер через юсб, но упомянутый приемник не заработал. Подозреваю, что ему не нравится питание. Своего стабилизатора у приемника нет и на юсб-адаптере тоже нет, а 3.3 вольта берутся откуда-то с ноги PL2303 -- немыслимое ноу-хау китайцев. Вобщем, чего ж хотеть от адаптера в пол-доллара ценой.

Путь от беспроводного сенсора до интернета оказался короче, чем я предполагал изначально. По первости были мысли насчет прикручивания ESP8266 и заползания в домашнюю сеть и интернет с этой стороны, но игрища со скриптами внутри OpenWRT натолкнули на простую и изящную мысль зайти через последовательный порт роутера (та самая аппаратная консоль). Порт поддерживает стандартные скорости (конфигурабельные), на нем есть нормальное питание и получив данные внутри линукса, можно с ними делать все, что угодно, начиная от погодной странички в домашней сети и заканчивая отсылкой их на публичные интернет-сервисы.

На настоящий момент у меня есть и работают четыре прибора: 1) сам беспроводной сенсор на STM32F030, который выплевывает раз в минуту в эфир данные с трех датчиков; 2) исполнительное устройство на Atmega8, которое вылавливает из эфира передаваемые данные насчет освещенности на улице и включает/выключает дежурную подсветку внутри квартиры; 3) логгер на ардуине, который пишет все даныне из эфира в журнал на нетбуке; 4) похожее устройство на STM8S, которое засовывает данные в роутер.

Пункт №3 вероятно скоро перестанет использоваться, т.к. перекрывается по функционалу п.4. Говорю вероятно, т.к. приемник на роутере испытывает проблемы с качеством принимаемого сигнала. Логгер на ардуине теряет 0.5-0.8% передаваемых пакетов. У приемника на роутере эта цифра выше на порядок. Оно может и не много, но есть от этого некий моральный дискомфорт. Мне кажется я догадываюсь, что является этому причиной и попробую с ней разобраться.

Интересно получается с кодом. Код, который я несколько раз переписывал для STM32F030 без особых усилий переехал на Атмегу. Для приемника на STM8 код заимствовался в основном с атмеги. Понятно, что инициализация железа везде своя, но все остальное практически без изменений, кусками, кочевало с одного МК на другой. Что-то дописывалось, что-то немного правилось, но общий каркас оставался. Забавно, что кочуя от одного МК к другому, возникали кое-какие исправления и улучшения и вот теперь оно прямо просится в виде своеобразного бэк-порта обратно в STM32. И только код ардуины не дал никакого полезного выхлопа и как был изначально на основе библиотеки maniacbug, так и остался.

Re: STM32 на батарейках

Пт июл 08, 2016 14:45:16

Попеняли мне тут (почему-то на другом форуме), что слов в этой ветке много, а результатов мало. Не вполне соглашаясь с подобными обвинениями, тем не менее хочу внести ясность. То, что начиналась с простых вопросов и незамысловатых набросков в виде кучи проводов на беспаечной макете, потихоньку собирается в, можно уже сказать, проект из нескольких устройств, с функциональным наполнением несколько большим, чем это представлялось в самом начале. Сам беспроводной сенсор уже практически готов и функционирует непрерывно с весны, но так как кое-какие небольшие доработки все еще случаются время от времени, пока не готов представить его, как законченную конструкцию. Хочу убедиться, что функционал его подходящ и достаточен для работы в составе некой группы устройств, объединенных для решения задач домашней автоматизации.

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

Все эти задачи можно локально решать в домашней сети, но тогда всю обработку и реализацию придется придумывать и делать самому. Наглядно представляя, что это значит и в какие сроки выльется, захотелось как-то ускорить и упростить путь до получения нужных результатов, отчего возникли мысли о поиске подходящих онлайн-сервисов в интернете, благо в последнее время они развиваются довольно стремительно. Так как данные с беспроводного сенсора до домашнего роутера я уже дотащил, отправка их в интернет теперь, что называется, дело техники и осталось только определиться, куда слать.

Немного покопавшись на форумах и других ресурсах в поисках нужной информации, решил попробовать ThingSpeak, как возможный вариант вышеозвученного направления. Так как данные у меня в реальном времени затягиваются в линукс (OpenWRT), то оперативно манипулировать ими средствами скриптовых языков можно, как угодно, включая составление нужных обращений к веб-сервисам по отправке данных туда. В общем, сложностей с ThingSpeak никаких не возникло и разместиться (если можно так сказать), получилось достаточно быстро. Попутно организовал заброс погодных данных и на narodmon.ru, что называется, чтобы уж два раза не вставать.

Сам ThingSpeak предлагает лишь базовые и самые простые средства визуализации, но прелесть данного сервиса в другом -- он предоставляет стандартизованное API по доступу к данным, которым можно пользоваться с других сервисов. Мне давно хотелось посмотреть, как сочетаются графики с датчика освещенности и уровня заряда ионистора на беспроводном сенсоре, что я даже пытался изобразить это дело в экселе, но так как простым способом это сделать не получилось, в конечном счете бросил эту затею. Теперь же, пользуясь API с ThingSpeak для доступа к данным и API с HighChart для визуализации, с помощью скрипта отсюда, очень быстро удалось получить желаемое. Вот так, например, выглядел перегиб кривой разряд-заряд для источника, питающего беспроводной сенсор, сегодняшним утром.

Изображение

Меня в первую очередь интересовали технические подробности функционирования моего сенсора и поэтому я в первую очередь направился в сторону визуализации данных об этом, но подобным образом можно визуализировать любые данные, хранение которых допускает ThingSpeak. Причем, данные могут храниться и обрабатываться снаружи, а полученные результаты размещаться внутри домашней сети и служить целям домашней автоматизации. Вышеприведенную картинку я получил через пол-часа с того момента, как узнал, что такое возможно. Это без программирования и вникания в тонкости API. Просто малость прикрутил готовый скрипт под свои нужды. Оказалось, что это совсем не сложно.
Вложения
2016-07-08_121829.jpg
(37.03 KiB) Скачиваний: 1937

Re: STM32 на батарейках

Вт июл 12, 2016 23:26:33

Использование ионистора в качестве источника питания оказывается весьма удобным, если нужно вычислить усредненный ток потребления устройства. Из законов физики известно, что количество электричества (заряд), электрическая емкость, и напряжение связаны формулой Q = C * U. Измеряя напряжение на ионисторе в определенные промежутки времени можно легко вычислить насколько за то же время уменьшился заряд или какое количество электричества потребила нагрузка.

Чтобы сделать такой расчет для своего беспроводного сенсора, я взял две точки на графике разряда, когда влияние солнечных батарей исключено.

Изображение

Таким образом в 22:00 напряжение на ионисторе равнялось 2.9 вольта. Через шесть часов на графике можно видеть следующую картину:

Изображение

Ионистор разрядился до 2.5 вольта, что означает снижение заряда на 0.264 Кулона. Делим последнюю цифру на период между измерениями и получаем снижение заряда на 0.044 Кулона в час. Так как Кулон это Ампер в секунду, то поделив найденное значение на 3600, получаем усредненное потребление нагрузки в 12.22мкА * Ч. Именно столько, получается, потребляет беспроводной сенсор в составе трех I2C датчиков, МК и модуля передатчика. Данные цифры несколько обескураживают. Получается, что от двух щелочных АА сенсор проработает 2000маЧ/0.01222 = 163934 часа или без малого девятнадцать лет. Даже если отнять отсюда потери на саморазряд батарей, то все равно получается уже слишком дофига. Речь идет о сроке автономной работы больше десяти лет. Не пойму, то ли я где-то ошибаюсь в расчетах, то ли питание от дешевых батареек действительно не лишено смысла.
Вложения
f_time_cr1.jpg
(41.75 KiB) Скачиваний: 1802
s_time_cr1.jpg
(40.51 KiB) Скачиваний: 1648

Re: STM32 на батарейках

Ср июл 13, 2016 08:03:08

Очень интересные сообщения, спасибо! Я в последнее время плотно занимался с BLE продукцией фирмы Silicon Labs, даже представил статью сюда на прошлой неделе. Сейчас занимаюсь с их WiFi модулями, время позволит, напишу про них потом тоже.

Насчет алкалиновых баратеек, проблема с ними в том, что они текут со временем. Причем, как я заметил, текут они больше если вставлены в держатель, даже если при этом никуда не подключены. То-ли давление пружины на текучесть влияет, не знаю. В рассчётах Вы, кажется, не приняли ток саморазряда, который также на уровне 10мкА. Если так, то рассчётное время работы сокращается раза в 2.

Re: STM32 на батарейках

Вт июл 19, 2016 10:57:52

А мне понравилось про ионистор и солнечную батарею. Так что есть и благодарные читатели этой темы :)

Re: STM32 на батарейках

Чт авг 18, 2016 19:43:49

Есть, конечно, я также из их числа :beer:
Выше обещал опубликовать здесь на сайте свои статьи о работе с BLE и WiFi продукцией фирмы Silicon Labs. Первая у Кота лежит неопубликованная с начала июля, вторую представил на прошлой неделе. Однако, через 3 дня здесь начинается конкурс и публикаций новых статей, по-видимому, не предвидится до его окончания. С учётом голосования это произойдёт в лучшем случае в начале октября. Поэтому, если кому-то интересны вышеупомянутые темы, архивы статей (.doc формат + исходники) можно получить здесь (BLE) и здесь (WiFi). Буду признателен за комментарии.

Re: STM32 на батарейках

Вс мар 19, 2017 20:22:22

Продолжаю эксперименты с автономным питанием МК. Давно мучал вопрос, насколько целесообразно размещать на плате устройства повышайку, с целью вытягивания из подсевших батарей остатков энергии. Мнения о том, что при падении напряжения на источнике ниже минимально-допустимого напряжения питания МК батарейки уже "пустые" звучали и в этой ветке и в других местах мне их приходилось встречать. Теоретические расчеты вроде бы показывали, что на неделю-другую повышайка вполне способна оттянуть срок замены батарей. Но одно дело теория (да к тому же весьма приблизительная), а другое дело натурный эксперимент. Чтобы проверить, как быстро повышайка "добьет" батарейки, была использована пара севших ААА, которые были извлечены из пульта ДУ, когда последний окончательно перестал работать. Включенные последовательно, эти батарейки выдавали 1.7в без нагрузки. Для запитки МК напрямую этого уже недостаточно, а для работы через повышайку -- самое то. Вобщем, взял для пробы одну из платок своего беспроводного сенсора (которых уже набралось несколько разных версий), прикрутил к нетбуку логгер на ардуине, отложил на край стола и приготовился к наблюдениям, как постоянно включенный сенсор будет "высаживать" остатки батарей. Ничего не вышло. За время проведения эксперимента (один месяц без выключения), обнаружить снижение напряжения на источнике не удалось ни средствами измерения сенсора, ни при помощи мультиметра. Вот так номер! Вместо исчерпания "в ноль" за две недели, имеется месячная эксплуатация без ухудшения параметров источника. Мнения могут быть разными, но лично я делаю вывод, что повышайка в составе сенсора вещь вполне нужная, хоть и были сомнения (в т.ч. и у меня) на сей счет.

Теперь о том, что произошло за то время, пока я сюда ничего не писал.

Где-то во второй половине сентября, когда начались затяжные осенние дожди, схема питания "ионистор + солнечные батарейки" оказалась полностью несостоятельной и устройство вырубилось где-то в первой половине вторых суток непрекращающегося дождя. На разрядном графике можно было видеть, что светлая часть суток отличается оно ночного периода только более пологим наклоном кривой, спадающей без малейших попыток вернуться к росту. Т.е. в дневные часы не случалось даже минимального увеличения напряжения на ионисторе. Ловить тут уже было нечего и устройство было переведено на питание от все тех же солевых батареек, про которые я тут уже говорил ранее.

С батарей сенсор проработал без малейших проблем до самой весны. Примечательным оказался период, когда в январе ударили сильные морозы. Если верить показаниям BMP180, самой низкой температурой в январе были -32 градуса Цельсия. Несмотря на существующее мнение, будто солевые батарейки крайне плохо себя начинают чувствовать при отрицательных температурах, АЦП stm32f030 "намерял" снижение напряжения питания лишь на 70 милливольт по сравнению с тем периодом, когда на улице был ноль (опять же, в начале января). Причем, не совсем понятно, откуда у этих 70мв растут ноги. То ли батарейки немного "просели" от холода, то ли это АЦП МК чуть приврал по той же причине. В любом случае получается, что влияние сильных холодов на работу устройства несущественно и особого внимания не заслуживает.

В течении этой зимы обнаружил для себя факт, что зимой большую часть суток (а иногда и сутки целиком) относительная влажность находится на максимальном значении, т.е. 100%. Как-то так совпало, что стоило мне лишь начать переживать насчет никак не защищенного от влаги прототипа, находящегося на открытом воздухе, как напряжение на батареях довольно быстро начало убывать. Это резко контрастировало с тем, что самого сентября батареи выдавали практически одно и то же напряжение, не считая периода январских морозов. Нескольких недель в конце февраля и начале марта хватило на то, чтобы батареи ушли практически в ноль. Сначала было не совсем понятно, то ли это дешевые батарейки так скоропостижно иссякли, то ли схема подмокла, но проверка с помощью ионистора однозначно показала, что изменилось потребление. Полностью заряженный ионистор, от которого схема работала раньше более суток, не протянул теперь и двух часов. Ставить новые батарейки не имело смысла и устройство было снято с "постоянного дежурства" и перенесено в помещение для предметного изучения. До года непрерывной работы на открытом воздухе схема не дотянула около двух месяцев.

Осмотр платы с МК и отдельной платы с датчиками, тем не менее, не выявил значительных повреждений. Последствия воздействия влаги можно наблюдать по размыванию в некоторых местах слоя пыли, осевшей почти за год на плату с датчиками, но сильной коррозии, однако нигде не видно. Больше всего отчего-то пострадали хромированные (никелированные?) болты, на которых крепятся платки датчиков. Ржавчина со стальных болтов пробилась через покрытие и даже сползла частично на несущую платку. В общем, подчистил все подозрительные места, которые смог разглядеть, но это ничего не дало. Судя по ионисторному тесту, питание где-то подкорачивает на землю. Заказал новые датчики, т.к. давно хотел сделать плату с ними во влагозащищенном исполнении, а эти оставлю для "учебных" целей. Сам сенсор пока работает на аккумуляторах, которых, несмотря на сильно возросший ток, все равно хватает надолго.

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

Re: STM32 на батарейках

Пн мар 20, 2017 05:13:35

А всё-же интересно что именно сгнило? То-ли BMP, то-ли сенсор влажности, то-ли плата или ещё что? У меня несколько лет назад на первой модели также наблюдался подобный эффект. Оказалось, что дело во флюсе, который (мне) трудно вымыть из-под QFN корпуса в домашних условиях. Тогда я использовал слишком активный флюс Kester #2331-ZX. Когда сдул Si7005 (тогда ещё) с платы, то обнаружил проводящую зелень под ним, которая и разрядила батарею. С тех под этом флюсом не пользуюсь. Не пробовали отключить по одному сенсоры и замерить токопотребление? Как я писал ранее, ставить BMP на улицу не вижу смысла, даже если он и не сгнил. Хотя, у него отверстие ничем незащишённое от влаги. В противоположность этому, на сенсоре влажности (некоторых, в т.ч. в моём устройстве) имеется фильтр, предохраняющий его ёмкостный элемент от пыли.

Мои устройства, запитанные от тех-же литиевых 3.6В батарей всё ещё продолжают работать без проблем. Самому старому будет уже скоро 5 лет. Снижения напряжения батареи после зимних периодов не заметно, хотя, напряжение её несколько снижается в морозы, но потом восстанавливается. Для экономии её энергии, я в модели уличного датчика на CC1101 напряжение на схеме снижаю до 2.1В во время передачи DC-конвертером, в то время как спит схема запитанной от 3.6В. Однако, в модели передатчика на Si4461 я этим решил не заморачиваться, т.к. он в 2 раза экономичнее. А сейчас появились ещё в 2 раза более экономичные трансиверы для BLE. Да, Вы правы - зимой часто бывает влажность под 100%, особенно во время падания или таяния снега.

Re: STM32 на батарейках

Чт янв 14, 2021 19:26:15

Предыстория: в двадцатых числах декабря 2018-го года у меня опять все залило. Так получилось, что в залитом состоянии все хозяйство находилось несколько дней. Батарейки (2 x AA последовательно) высадились практически в ноль, но после чистки и просушки напряжение поднялось примерно до 1.8в. Батарейки можно было поменять, но мне захотелось посмотреть, на сколько реально хватит таких батареек, что называется, на издыхании. Запустил я все в таком виде и принялся ждать. Прежде мне приходило в голову, что кончающиеся батарейки под повышайкой вряд ли продержатся больше пары недель или месяца в лучшем случае. Практика показала иное: понадобилось более двух лет, чтобы энергия из батарей иссякла. Батарейки сказали "всё" только сегодня. Вот так выглядели последние "мгновения":

последние две колонки -- это напряжение на батареях и напряжение на выходе повышайки.

Из наблюдений: помирающие батарейки реагируют на понижение температуры заметно острее, чем батарейки, находящиеся в тонусе -- напряжение валится на существенно бОльшую величину. Токоотдача, подозреваю, меняется так же. Полагаю, что если бы не январские морозы, конструкция еще бы поработала какое-то время.

Часто бывает, что из пары последовательно соединенных батареек одна оказывается разряженной заметно больше, чем другая. В моем случае это оказалось не так. Отогревшись, обе батарейки показывают примерно одинаковые 0.7в без нагрузки. Обе батареи (Panasonic Alkaline Power) сильно потекли. Это обстоятельство надлежит учитывать при продумывании конструктива.

Звучавший здесь ранее вопрос о том, а нужен ли весь этот геморрой с повышайкой в подобных схемах, хоть и не получил однозначного ответа, тем не менее, обрел некоторые нюансы. Два года на издыхающих батарейках -- это все-таки срок. Напомню, батарейки в моем случае были аккурат после их клинической смерти. Если же взять обычные севшие батарейки, например, из какого-нибудь лазерного уровня или фонаря, то там остаточной энергии будет явно больше, что и на сроке эксплуатации скажется соответствующе. И в этом смысле приходит на ум схема дополнительного периода эксплуатации батарей, когда вместо того, чтобы отправиться в мусорное ведро, батарейки идут доживать два-три года куда-нибудь в устройства IoT.

Re: STM32 на батарейках

Пт янв 15, 2021 19:41:27

Результаты об издыхающих батарейках интересные и оригинальные. Нигде подобного не встречал. Спасибо!
Перечитал несколько последних сообщений в теме и осознал, что многое за последние 4 года изменилось. Прежде всего, потребление современных BТ модулей на мощности 0dBm снизилось до уровня 2-4мА у разных моделей. В пересчёте на работу броадкастера с периодом 1 сек, его среднее потребление стало ниже саморазряда алкалиновых батареек. На картинке для примера показано потребление моего датчика слежения за положением двери гаража на основе силлабовского модуля BGM220. Каждую секунду он передаёт температуру в гараже и положение двери, которые измеряются с периодом 10сек сенсором TMP112 и акселерометром LIS2DE12. В остальное время всё спит. Пики потребления, конечно выше при более детальном их рассмотрении, но измеренное Студио среднее потребление оказалось 6.2 мкА. Он у меня питается напрямую от CR2032 (под платой на снимке).
Средства разработки также шагнули вперёд. Сайпровская студио, которую я ранее считал идеалом для БТ разработок отодвинулась на задний план. Силлабы сделали огромный шаг вперёд в плане улучшения их Simplisity Stodio v5 и сейчас она для меня N1. Подумываю написать статью про неё, так что здесь пока коротко. Следут упомянуть также изменения в технологии самих чипов. Многие фирмы перешли на 40нм технологию, на архитектуру Cortex-M33, и на двухядерные BT модули, где одно ядро CM0+ задействовано исключительно под нужды БТ стека. Всё это способствует понижению энергопотребления.

Мой уличный сенсор температуры и влажности всё ещё работает от той-же самой 3.6В литиевой батарейки и конца ей не видно. Я его снимаю каждое лето и очищаю от пыли, которая туда проникает несмотря на маленькие отверстия в корпусе и нахождениe самого корпуса в трубе, как описано в статье. Сенсор влажности Si7021 стал сильно завышать показания. Пока не знаю что это - то-ли фильтр сенсора засорился, то-ли сенсор деградирует со временем при нахождении в экстремальных условиях влажности во время дождей и таяния снега. Я его прокаливал внутренним подогревателем летом, но это мало помогает. Следующим летом хочу попробовать отодрать фильтр от сенсора, и если не поможет, то заменить сенсор на плате. Хотя тот-же самый сенсор дома работает исправно много лет. Не сталкивались с таким эффектом?
Ответить