Я вже писав, що зробив собі з ESP8266 та BMP280 маленьку пого́дну станцію, а потім ще одну. Зараз експерименту́ю з третьою. Вона ще не завершена, але вже якось працює.
Перші дві станції, попри деяку різницю у зовнішньому вигляді, схематично та софтва́рно були однаковими. Третя відрізняється.
Є різниця у платі з ESP8266. Попередні дві використовували NodeMCU v3, а в цій я використовую WeMos D1 mini. Це маленька плата, її можна поставити на крихітну маке́тку SYB-170. Купив їх декілька по $1.59 за штуку, наче норм.
Є різниця у термо́метрі. Датчик BMP280 це ж, в першу чергу, цифровий барометр. Барометр мене наразі цікавить мало. Я вирішив спробувати DS18B20, він дешевше і простіше, хоча точність в нього посере́дня. Ще в нього зручни́й корпус TO-92.
І, нарешті, є радикальна різниця в живленні. Попередні дві живляться через USB від чого попа́ло (від блока живлення, наприклад). Ця станція живиться від літієвого акумулятора формату 18650, а саме NCR18650B. Номінальна напруга акумулятора 3.7 В, номінальна ємність 3700 mAh.
Здається, 3.7 В це дуже близько до напруги 3.3 В, якими живиться ESP8266. Чи можна подати прямо на контакт 3V3? Ніт. Фактична напруга повністю зарядженого літієвого акумулятора такого типу складає близько 4.2 В, що забагато. (І все ще менше того, що можна подати на контакт 5V). Та головна проблема, що (згідно з документацією) ESP8266 дуже примхлива, потребує стабільної вхідної напруги. Може й не згори́ть, але Wi-Fi працюватиме гірше.
Тому мені потрібен якийсь стабілізатор живлення. Я спробував використати LDO регулятор напруги HT7333-1. Можливо, то не найкращий вибір, але з наявних у мене альтернатив був лише AMS1117, який мені здався менш підходящим для такої задачі.
HT7333-1, згідно зі специфікацією, потребує конденсаторів на вході та виході. Я поки що поліни́вся захищати вхід. На виході в мене стоїть керамічний конденсатор на 0.1 µF та електроліти́чний конденсатор на 10 µF, як рекомендує datasheet. (По темі: посилання на тред в твітері з обговоренням стабілізаторів).
Наче працює.
Зізна́юся, HT7333-1 у мене знайшовся лише в корпусі SOT89-3. Мені б він ідеально підійшов у корпусі TO-92. Але HT7333-1 у потрібному корпусі приїде з AliExpress колись у далекому світлому майбутньому. Зараз є тільки SOT89.
Так а що робити з цим SOT89 такому чайнику як я? Якось зі страше́нними матюками я тримтя́чими руками припаяв до його крихітних ніжок три мідні проволочки, витягнуті з витої пари. Дивно, але воно не згоріло. Фото результату викладати соромно.
Так. Ну і на оста́нок, є деяка різниця у софті́. Там такий самий MicroPython і схожа прошивка, тільки вже для іншого датчику.
Трохи арифметики
Режим сну у цієї станції триває не 1 хвилину, а вже цілих 5. Навіть 5 хвилин це досить часто, це 288 вимірювань на добу. Для загальної оцінки можна було б вимірювати раз на годину і все одно бачити динаміку.
Тривалість активної роботи модуля при кожному прокида́нні, судячи по світлодіо́дній індикації, десь приблизно 4 секунди. (Варто буде якось виміряти це точніше). За кожну годину часу станція проводить 48 секунд в активному режимі. А за добу 1152 секунди (0.32 години) активного режиму.
Струм в активному режимі до 200 mA. Буду рахувати по верхній межі.
Струмом в режимі deep sleep знехтую, він там поря́дку 10 µA. (От якби станція прокидалася раз на 5 годин, то був би сенс його враховувати). Також проігнору́ю струм, що споживає DS18B20 в режимі спо́кою, він ≤ 1 µA.
Номінальна ємність нового акумулятора 3700 mAh. Фактична ємність, звісно, менша і з часом стає все меншою. Також не буду чіпати питання захисту акумулятора від надто глибокого розряду.
В ідеальному світі, ідеальні 3700 mAh — це 3700 годин роботи при струмі 1 mA, або 1 година при струмі 3.7 A, або 18.5 годин при нашому струмі 200 mA. В реальності складніше, але порядок цифр приблизно має збігатися. Один мій друг казав, що не дуже свіжого 18650 для ESP8266 в безперервному активному режимі вистачає десь на половину дня. Тож наче правдоподібно.
Окей. Значить, якщо моя погодна станція працює 0.32 години активного режиму на добу, то такого акумулятора має їй вистачити на 57.8 діб. За цей час вона зробить приблизно 16 тисяч вимірювань. А якщо збільшити періоди сну, то і загальний час роботи збільшиться.
Така цікава арифметика.
Мої наступні плани
Кілька днів подивлюся, як працюватиме ця станція. Зокрема, спостеріга́тиму за напругою.
Акумулятор 18650 я заряджа́в від контро́лера заряду на базі TP4056, що живиться від USB або 5 В. Наразі в цій схемі той контролер відсутній. У майбутньому я його туди плану́ю підключити; це дасть можливість заряджати акумулятор «на ходу», а ще дасть захист від глибокого розряду.
Ще в ме́не є маленька сонячна батарея. Зовсім маленька. (Звісно, я обрав найкращу пору року для експериме́нтів з нею). Під прямими променями сонця вона дає струм 60 mA при напрузі трошки більше 6 В. В описі цієї батареї заявлено, що струм може бути вп’ятеро більший. Ну, може влітку.
Так от, програма-максимум щодо цієї станції у ме́не така: підключити сонячну батарею до входу контро́лера на TP4056. Можливо, в мене нарешті вийде побудувати повністю автономну погодну станцію, що піджи́влює акумулятор від сонця.
Що ще почитати
Дуже рекоменду́ю одну цікаву статтю про систему з ESP, що живиться від 18650 і живе тривалий час. Там рівень схемотехніки незрівня́нно вищій, ніж у ме́не. Для ме́не ця стаття була джерелом натхнення і деяких ідей.