Почему использование ESP8266 в режиме глубокого сна быстро разряжает батарею?
Я сделал «метеостанцию» с помощью ESP8622. Для экономии заряда батареи я использую спящий режим, но через пару дней батарея все равно разряжается. Согласно этому сообщению его должно хватить не менее года.
Я еще не проводил никаких измерений, хотел узнать, не пропустил ли я что-то очевидное, что могло бы объяснить, почему батарея разряжается так быстро? Прикрепляю код и изображение, показывающее настройку оборудования.
#include "DHT.h"
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#define DHTPIN D2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
const char* ssid = "xxxx";
const char* password = "xxxx";
const char* host = "xxxx";
void setup() {
Serial.begin(115200);
dht.begin();
delay(10);
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
readSensorsAndPost();
ESP.deepSleep(18e8); //30 минут
}
void readSensorsAndPost() {
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
char charVal[10];
dtostrf(t, 5, 2, charVal);
makeAnHttpRequest(charVal);
}
bool makeAnHttpRequest(String msg) {
//отправляем значение
}
void loop() {
}
@Christian, 👍3
Обсуждение1 ответ
В примере показана вещь Sparkfun Thing, которая, как отмечается в статье, не имеет дополнительных периферийных устройств. Вы показываете что-то другое, например, плату разработки NodeMCU, которая обычно имеет линейный регулятор, возможно, светодиод питания (который, как указано в статье, можно снять).
Я вижу, вы используете DHT11 или DHT22 с подтягивающим резистором. Подтягивающий резистор постоянно потребляет энергию. Вместо того, чтобы подключать подтягивающее устройство к шине питания, вы можете подключить его к контакту GPIO и перевести этот контакт в НИЗКИЙ уровень перед тем, как перейти в режим сна, что эффективно отключает датчик и останавливает его от потребления энергии только для поддержания высокого уровня на линии данных.
Можно с уверенностью сказать, что где-то что-то потребляет энергию. Измеряли ли вы фактическое потребление тока во время глубокого сна или вы только замечаете, что ваши батареи разряжаются раньше, чем ожидалось?
Замеры пока не делал, как сделаю, выложу результат. Также изменю настройку по вашему предложению., @Christian
Вы также обеспечиваете питание чипа интерфейса USB, который никогда не переходит в спящий режим., @Majenko
@Маженко, есть ли простой способ отключить питание чипа интерфейса USB?, @Christian
Перейдите на автономный модуль без всего лишнего мусора и используйте внешний USB-адаптер., @Majenko
- Как поддерживать состояние переключения в спящем режиме?
- Переключатель управления энергосбережением esp8266
- ESP8266 глубокий сон и MQTT
- Вывод ESP8266 из deepSleep с помощью кнопки
- PIR движение выводит ESP8266 из глубокого сна
- Память ESP8266 RTC (для загрузки)
- Считать напряжение батареи и значение аналогового датчика с помощью NodeMCU ESP8266.
- Легкий сон ESP8266 — не могу проснуться
Сначала сделайте замеры, @Pararera