Почему использование 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() {

}

esp8622 и DHT22

, 👍3

Обсуждение

Сначала сделайте замеры, @Pararera


1 ответ


4

В примере показана вещь Sparkfun Thing, которая, как отмечается в статье, не имеет дополнительных периферийных устройств. Вы показываете что-то другое, например, плату разработки NodeMCU, которая обычно имеет линейный регулятор, возможно, светодиод питания (который, как указано в статье, можно снять).

Я вижу, вы используете DHT11 или DHT22 с подтягивающим резистором. Подтягивающий резистор постоянно потребляет энергию. Вместо того, чтобы подключать подтягивающее устройство к шине питания, вы можете подключить его к контакту GPIO и перевести этот контакт в НИЗКИЙ уровень перед тем, как перейти в режим сна, что эффективно отключает датчик и останавливает его от потребления энергии только для поддержания высокого уровня на линии данных.

Можно с уверенностью сказать, что где-то что-то потребляет энергию. Измеряли ли вы фактическое потребление тока во время глубокого сна или вы только замечаете, что ваши батареи разряжаются раньше, чем ожидалось?

,

Замеры пока не делал, как сделаю, выложу результат. Также изменю настройку по вашему предложению., @Christian

Вы также обеспечиваете питание чипа интерфейса USB, который никогда не переходит в спящий режим., @Majenko

@Маженко, есть ли простой способ отключить питание чипа интерфейса USB?, @Christian

Перейдите на автономный модуль без всего лишнего мусора и используйте внешний USB-адаптер., @Majenko