Автономное питание для ESP8266

Kuiper

New member
Всем привет!
Осваиваю ESP8266, язык Си, решил первым проектом повторить как и многие, метеостанцию.

Провел теоретический расчет, но не уверен, что все правильно. Кому не сложно - посмотрите и, если где-то неправильно, скажите об этом, хорошо?



Потребитель:
Потребление ESP8266-12: 200мА
Напряжение ESP8266-12: 3,3В
Мощность ESP8266-12: 0,2А * 3,3В = 0,66 Ватт

Аккумулятор:
Емкость ("китайская") батареи 18650: 4000мАч
Напряжение 18650: 3,7В
Мощность 18650: 4Ач * 3,7В = 14,8 Ватт

Теоретическое время работы ESP8266-12 от батареи 18650: 14,8 / 0,66 = 22,4 часа

Солнечная батарея:
4В 40мАч * 6 панелей, подключеных параллельно = 4В 240мАч

Вопрос:
1. Жизнеспособна ли такая система?
То есть, если потребление 200мА, восполнение 240мА от солнечной панели и "запас" на 18650 4000мАч, которого хватит на 22 часа работы без солнца (теоретически, т.к. батарея китайская).

2. Если система рабочая, то как лучше сделать - поменять панели на 5-вольтовые и добавить зарядный модуль для Li-Ion или заменить 18650 на сборку из Ni-Mh батареек АА, запитывая от солнечных панелей напрямую (то есть, что лучше для стабильной работы - Ni-Mh с прямой зарядкой или Li-Ion с зарядным модулем, который рассчитан на USB 5V 1A to 3.7V).

3. Если я помещу все это, кроме солнечных панелей, в короб из пеноплекса, батареи ведь будут "прогреваться" даже зимой и не нужен будет подогрев для них, чтобы не уменьшалась емкость и долговечность работы?

Спасибо!
 

demchik

New member
я тоже пытаюсь найти схему приемлемого (для меня) автономного питания для своей "метеостанции" - ESP8266-01+2DHT22+BMP180

в теоретические расчеты надо внести коррективы:
1) ESP работает не постоянно...
поэтому следует использовать не мощность, а необходимое кол-во эл.энергии.
практически установил, что б/у аккумулятора 18650 на 1800-2000 мАч (измерено iMAX B6AC) в корпусе Повер-банка через Ардуино УНО (для получения 3,3В на "метеостанцию") хватает примерно на 34-36 часов (моя отправляет данные на thinkspeak.com примерно раз в час и (вроде как!..) спит (deepsleep, "грязный хак" ESP-01); при обычной паузе (delay) и отправке данных каждые 15 мин. тех же аккумуляторов хватало на прим. 24 часа. надеюсь, что заменив Ардуинку простым DC-DC, время работы еще немного увеличится
2) "китайские" Ач аккумулятора следует очччень сильно пересмотреть в сторону снижения.
3) солнечная батарея также даст значительно меньше заявленной мощности. к тому же, благоприятных условий для работы солнечной панели не так уж и много в течение суток.
т.е. надо брать с большим запасом... потому я подумываю о 12В АКБ (возможно свинцово-кислотный, у меня еще планируется изредка локальное освещение и есть возможность убрать АКБ от воздействия атмосферного влияния) с последующим преобразованием в 5В (вычитал, что DHT22 более стабильно и точно работают при таком напряжении питания) и 3,3В (для ESP и BMP)

посему, имхо - надо пробовать, экспериментировать, перепроверять... тогда и станет ясно - работоспособна и достаточна ли схема
 

tolyan23

New member
практически установил, что б/у аккумулятора 18650 на 1800-2000 мАч (измерено iMAX B6AC)
хватает примерно на 34-36 часов
1800/36=50мА
Согласно этой таблице http://bbs.espressif.com/viewtopic.php?t=133
тут не то что deep sleep даже modem sleep не пахнет. Что то жрет электричество в немеренных количествах, вооружайтесь мультиметром и ищите обжору
Хотя и так скажу выкидывайте свой повер банк поставьте XC6206 должно хватить мощности.
1. Ульра малое собственное потребление
2. На ebay 1$ за десяток
3. Падение напряжения 0.25 В а это значит 3,6В еще хватит для работы
Кстати он уже стоит на BMP180!

Все рассчеты не верны но система жизнеспособна при правильном подходе к энергосбережению
1. Ваша батарея 1000-1500 мАч (хорошие аккумы имеют емкость 2400) но хорошие аккумы так нагло не врут о своей емкости.
2. Если пасмурно следует ожидать 10% мощности от заявленной, а если солнечно 50-70% и следует учитывать продолжительность дня вообще.
Т.е. грубо пусть день 10 часов пасмурно 5 часов солнечно 5 ситаем 240*0,1*5+240*0,5*5=120+600=720мач 720/24=30ма
Итого вы можите себе позволить среднее потребление 30мА если верить вышеуказанной таблице можно особо не парясь передавать данные раз в 20-40 секунд
 

demchik

New member
...Что то жрет электричество в немеренных количествах...
[off]Я же указал, что 3,3В я получаю от постоянно работающей Ардуино УНО (нею же и прошиваю ESP, кстати)...
Для начала мне надо было определиться (весьма грубо!) с чем придется иметь дело в плане энергоснабжения, с работой "режима сна" как такового, с возможностью подключения нужного кол-ва датчиков и т.п. А дальше уже буду принимать решения для конкретно моих задач.
...как-то так.[/off]
 

pvvx

Активный участник сообщества
Всем привет!
Осваиваю ESP8266, язык Си, решил первым проектом повторить как и многие, метеостанцию.
А какой алгоритм вы хотите использовать для опроса датчиков?
Точечный, с потерей измерений между точками, для нормальной метеостанции не катит. Надо использовать какое-то усреднение показаний без разрывов.
К примеру возьмем замер магнитного поля, температуры или давления, или силы ветра ... Измерив в момент порыва скорость ветра (температуры в момент закрытия тучкой датчика и т.д.) и заснув на пол часа получим неверные показания. Т.е. опрос датчиков для усреднения следует вести постоянно, а вот передачу значений это не особо касается, т.к. используется накопление и усреднение. В итоге получаем, что включение блока WiFi в чипе большую часть времени не требуется. А он жрет хорошо.
Ну а далее оптимальный алгоритм работы такого устройства с минимальным потреблением уже рассчитан. Тут уже описывал часть что и как: http://esp8266.ru/forum/threads/nuzhna-pomosch-za-voznagrozhdenie.621/#post-10795
http://esp8266.ru/forum/threads/vyxod-iz-light-sleep-po-komande.630/#post-10912
...
Только за счет “модернизации” SDK вы сможете уменьшить потребление в десятки раз, при этом ведя фиксацию (логирование) средних и граничных значений с датчиков.
Большая часть программных решений для этого уже предоставлена, но конечного продукта типа спец. SDK или подобного нет. Это оставлено для того, чтобы “первым” был кто-то другой, а не я. У меня нет желания и возможностей поддерживать все проекты. :)
 
Последнее редактирование:

Kuiper

New member
@demchik, @tolyan23, @pvvx, большое спасибо!

Тогда буду увеличивать количество солнечных панелей до пол-Ватта в теории, 50мВт на практике.

@pvvx, не подумал об этом, спасибо!
Вот реальная и интересная задача хорошо все изучить в плане прошивки, софта, буду ею заниматься. Если все успешно создам, то выложу проект, может кому-то тоже пригодится :)
 

pvvx

Активный участник сообщества
Но вот беда c SDK 1.4.0. Время до соединения от старта модуля там почему-то сильно увеличилось.
tst4.gif
Синхронизация выставлена на отпускание RESET (метка времени 0:0). Модуль ESP8266 ST (график с него) соединяется с другим модулем ESP8266 в режиме AP (TCP2UART). На UART модуля AP постоянно идет передача пару байт c паузой в 50 ms и в конце графика видим прием модулем ST этих посылок, говорящих о полном соединении.
Что-то кривое в SDK 1.4.0 на тему долго "сканирования" до подключения к AP. :(
На 0:295 ms от старта по RESET имеем конец инициализации SDK (вызов процедуры system_init_done_cb(init_done_cb), а далее тупит часть SDK со сканированием.
И только на 1.04 секунды происходит соединение к AP.
В данном примере много лишнего и немного тормоз из-за вывода отладки (она не показана), но всё равно ранее, при ещё худших условиях TCP соединение достигалось за 0.7 секунды...
Надо сильно ковырять эту 1.4.0... Китайцы опять всё испортили. :mad:
Вставили зачем-то разную инициализацию по байту 114, которая погоды в данном случае не делает. Ещё влепили тормоз на сохранение настроек калибровки WiFi в сектор 0x7C00, где находится esp_init_data_default.bin...(лог при этом: "don't use rtc mem data", "Save rx_gain_dc table (0, 1)" ) Про двойную перезапись последних 3-х секторов с настройками WiFi при каждом старте я уже не говорю...
Китайское SDK всё больше уходит от возможности реализации экономного по питанию WiFi. Даже если его безбожно патчить...
При таком их подходе модуль ESP8266 уже начинает жрать больше чем модуль на AR9331 c OpenWRT.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Решил задачку быстрого подключения по TCP после рестарта deep_sleep:
tst5.gif
Вышло, что соединение уже передает в UART после 450..500ms от сигнала RESET просыпания... Есть возможность ещё ускорить.
Достигнуто после "ремонта" путем устранения ошибки в SDK 1.4.0
 

Kuiper

New member
@pvvx, большое спасибо!
Я еще до этого не дошел, изучаю синтаксис С, затем буду учить API ESP8266, а потом писать свою прошивку :)
 

tretyakov_sa

Moderator
Команда форума
Всем привет!
Осваиваю ESP8266, язык Си, решил первым проектом повторить как и многие, метеостанцию.

Провел теоретический расчет, но не уверен, что все правильно. Кому не сложно - посмотрите и, если где-то неправильно, скажите об этом, хорошо?



Потребитель:
Потребление ESP8266-12: 200мА
Напряжение ESP8266-12: 3,3В
Мощность ESP8266-12: 0,2А * 3,3В = 0,66 Ватт

Аккумулятор:
Емкость ("китайская") батареи 18650: 4000мАч
Напряжение 18650: 3,7В
Мощность 18650: 4Ач * 3,7В = 14,8 Ватт

Теоретическое время работы ESP8266-12 от батареи 18650: 14,8 / 0,66 = 22,4 часа

Солнечная батарея:
4В 40мАч * 6 панелей, подключеных параллельно = 4В 240мАч

Вопрос:
1. Жизнеспособна ли такая система?
То есть, если потребление 200мА, восполнение 240мА от солнечной панели и "запас" на 18650 4000мАч, которого хватит на 22 часа работы без солнца (теоретически, т.к. батарея китайская).

2. Если система рабочая, то как лучше сделать - поменять панели на 5-вольтовые и добавить зарядный модуль для Li-Ion или заменить 18650 на сборку из Ni-Mh батареек АА, запитывая от солнечных панелей напрямую (то есть, что лучше для стабильной работы - Ni-Mh с прямой зарядкой или Li-Ion с зарядным модулем, который рассчитан на USB 5V 1A to 3.7V).

3. Если я помещу все это, кроме солнечных панелей, в короб из пеноплекса, батареи ведь будут "прогреваться" даже зимой и не нужен будет подогрев для них, чтобы не уменьшалась емкость и долговечность работы?

Спасибо!
В итоге что получилось?
 
Сверху Снизу