Forum: Mikrocontroller und Digitale Elektronik Ungenauigkeit bei deep sleep am ESP32


von Egon M. (knut735)


Lesenswert?

Hallo

bei einem ESP32 weicht die tatsächliche Schlafdauer deutlich von dem 
eingestelltem Wert ab: stelle ich z.B. 25 Sekunden ein, dann erwacht der 
ESP32 erst nach ca 35 sec, stelle ich auf 30 sec, dann dauert es ca 39 
sec. Ob es linear ist, kann ich nicht sagen, so genau habe ich nicht 
gemessen.

Ist das normal oder ist bei meiner Einstellung etwas falsch?
Zu Beginn des Programms steht
1
#include <esp_sleep.h>
und später, beim Aufruf der deep-sleep-Passage in loop, steht
1
esp_sleep_enable_timer_wakeup(30 * 1000000); 
2
esp_deep_sleep_start();

Ich könnte zwar im realen Betrieb damit leben, wenn die Zeit auf z.B. 
120 sec eingestellt ist, aber eigenartig finde ich es doch. Gibt es eine 
Erklärung dafür?

VG
knut735

von N. M. (mani)


Lesenswert?

1
RTC Timer Clock Sources
2
The RTC timer has the following clock sources:
3
4
Internal 150 kHz RC oscillator (default): Features the lowest Deep-sleep current consumption and no dependence on any external components. However, the frequency stability of this clock source is affected by temperature fluctuations, so time may drift in both Deep-sleep and Light-sleep modes.

https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/system_time.html#rtc-timer-clock-sources

Im Internet sprechen sie von +-5%.
Im DB steht das bestimmt irgendwo, finde es aber nicht.
Warum es bei dir soviel mehr ist, ist merkwürdig.

Es gibt allerdings genügend Artikel im Internet wo Leute das gleiche 
Problem haben.
Bei den Clock Sources steht noch folgendes dabei:
1
Internal 8.5 MHz oscillator, divided by 256 (~33 kHz): Provides better frequency stability than the Internal 150 kHz RC oscillator at the expense of a higher (by 5 μA) Deep-sleep current consumption. It also does not require external components.

Wenn dich 5uA nicht umbringen wäre das evtl noch eine Möglichkeit.

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.