Forum: Mikrocontroller und Digitale Elektronik ESP32-C6 Ruhemodi funktionieren nicht mit der Arduino IDE


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Reinhard T. (reinhard_t884)


Lesenswert?

Hallo,

ich möchte zwei ESP32-C6 über BLE verbinden, das Empfangsmodul soll mit 
einem LiPo Akku betrieben werden. Das funktioniert auch alles, das 
Problem ist der Stromverbrauch, ich komme nicht unter 50mA.
Mir ist aufgefallen, das ich bei diesem Modul (beim ESP32-C3 auch nicht) 
keinerlei Ruhemodi aktivieren kann. Wenn alles angeschaltet ist und ich 
die CPU auf 10MHz runtertakte, dann komme ich auf 6mA, nützt mit aber 
nichts, weil das Modul ständig empfangsbereit sein muß.
Mit 30mA könnte ich leben, das muß doch machbar sein.
Kurz und gut, alle Ruhemodi werden schlichtweg ignoriert.
Das Programm soll den Light Sleep aktivieren, seht ihr da einen 
grundsätzlichen Fehler:
1
C-#include "esp_sleep.h"
2
#include "esp_bt.h"
3
#include <BLEDevice.h>  // BLE-Bibliothek einbinden
4
#include "esp_wifi.h"
5
6
void setup() {
7
  esp_wifi_stop();
8
  esp_wifi_deinit();
9
  btStop();
10
11
  BLEDevice::init("BLE_Receiver");
12
  BLEDevice::setPower(ESP_PWR_LVL_N12);
13
14
  esp_sleep_enable_timer_wakeup(1000000); 
15
  Serial.println("Gehe in Light Sleep...");
16
  esp_light_sleep_start();
17
}
18
19
void loop() {
20
 
21
}

Gruß Reinhard

von Εrnst B. (ernst)


Lesenswert?

Reinhard T. schrieb:
> esp_sleep_enable_timer_wakeup(1000000);

das ist nur eine Sekunde.
Danach läuft die "loop()" ohne sleep, mit maximaler CPU-Auslastung.

-> pack esp_light_sleep_start(); in die loop(), damit der nach jedem 
Aufwachen auch wieder schlafen geht.

Zum debuggen kannst du dir dort auch die esp_sleep_get_wakeup_cause() 
ausgeben lassen.

von Reinhard T. (reinhard_t884)


Lesenswert?

Oh Mann, ich habe keine Ahnung und davon ganz viel!

Ich habe diese Zeile falsch interpretiert und dachte, das sind 
Millisekunden!
esp_sleep_enable_timer_wakeup(1000000);

Herzlichen Dank!

Gruß Reinhard

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.