Forum: Mikrocontroller und Digitale Elektronik ESP Genauigkeit der Zeitmessung


von Phillipp (Gast)


Lesenswert?

Guten Abend

Wie sehr kann man sich auf die Genauigkeit der Zeitmessung
(delay oder millis) verlassen?

Gibt es da Spezifikationen?

Es geht darum, mehrere ESP gleichzeitig für 5 Minuten schlafen zu legen.
Nach dem Erwachen sollen diese dann wieder untereinander kommunizieren 
können.

Danke Phillipp

von Fragezeichen (Gast)


Lesenswert?

ESP mal 5 Minuten schlafen legen?

Wofür steht bei dir ESP (in Worten)?

Oder meinst du SPS, oder häääh?

von Phillipp (Gast)


Lesenswert?

Gemeint ist der µC ESP8266.
Bitte entschuldige die fehlende Bezeichnung.

von Werner P. (Gast)


Lesenswert?

Das Problem dürfte weniger die Schlafzeit sein, sondern WANN die 
schlafen gehen. Dazu müssen die synchron laufen.

Möglichkkeit: Die ESP holen sich die Zeit von einem Zeitserver und gehen 
bei voller Minute schlafen.

von Sascha_ (Gast)


Lesenswert?

Die Zeitbasis vom ESP8266 ist ja genau genug für UART, ergo sollte die 
Ungenauigkeit der internen Uhr im Bereich von 5 Minuten vernachlässigbar 
sein.

Wenn die ihre Uhrzeiten abgleichen und dann schlafen gehen, wachen die 
ziemlich zeitlgleich wieder auf.

von Fragezeichen (Gast)


Lesenswert?

Kenne das Ding nicht, aber wenn kein Quarz daran ist,
werden die 5 Minuten unterschiedlich lang sein.

Danach könnte (je nach Kommunikationsprotokoll) eine
Synchronisierung erforderlich sein, wie sie auch beim
Start der 5 ESP nötig war.

(Einfach mal LOGISCH gedacht.)

Bestimmt (?) kommen gleich schlauere Hinweise.

von Dirk K. (dekoepi)


Lesenswert?

Naja, meine 300s DeepSleep sind so grob real 280s. Bei allen aber 
relativ gleich.

von Phillipp (Gast)


Lesenswert?

Danke für die schnellen Antworten.

Einen Zeitserver übers Internet wird es nicht geben können,
aber die Zeit kann ja auch von einem Laptop im selben WLAN kommen.
Es kommt ja auch nicht auf die Genauigkeit der absoluten Zeit an.

Im Grunde reicht es ja, wenn der Startzeitpunkt bei allen gleichzeitig 
gesetzt wird
und dann die Sekunden gezählt werden.

Und, eigentlich ne blöde Frage,die Uhr läuft auch im SleepMode weiter?

Rein aus Interesse: Wie funktioniert die Zeitmessung in einem µC?

von Thomas E. (thomase)


Lesenswert?

Phillipp schrieb:
> Wie sehr kann man sich auf die Genauigkeit der Zeitmessung
> (delay oder millis) verlassen?

So genau, wie es die Taktquelle hergibt. Mit Quarz über 5min praktisch 
100%.

Phillipp schrieb:
> Es geht darum, mehrere ESP gleichzeitig für 5 Minuten schlafen zu legen.

Wenn er delays oder millis runterzählt kann er nicht schlafen.

von Sascha_ (Gast)


Lesenswert?

Phillipp schrieb:

> Rein aus Interesse: Wie funktioniert die Zeitmessung in einem µC?

Man lässt nen Timer mit bekannter Frequenz laufen und zählt damit hoch.

Wenn die CPU schläft, muss es einen Hardware-Timer geben der nicht 
schläft und die CPU wieder wecken kann.

Die Doku vom ESP8266 war bisher immer etwas lückenhaft wenn es um die 
Hardware ging, hat sich das geändert?

von Thomas E. (thomase)


Lesenswert?

Phillipp schrieb:
> Und, eigentlich ne blöde Frage,die Uhr läuft auch im SleepMode weiter?

> Rein aus Interesse: Wie funktioniert die Zeitmessung in einem µC?

Ich kenn den Controller nicht. Aber ich habe im Schnelldurchlauf durchs 
Datenblatt gesehen, daß er eine RTC hat. Das Teil läuft natürlich im 
Sleep weiter. Zumindest wird es einen Mode über Koma geben, in dem es 
das tut.

Es kommt auf die Konfigurierbarkeit dieser RTC an, wie lang die 
Aufweckintervalle eingestellt werden können. Fünf Minuten halte ich für 
unrealistisch. Eher was im Sekundentakt.

Angenommen er weckt den Controller im Sekundentakt. Dann muß eine 
Variable, die auf 300 gesetzt wurde, jedesmal um 1 runtergezählt werden. 
Wenn die auf 0 ist, macht der Controller Action, ansonsten geht er 
wieder in den Sleep.

Wenn alle fertig sind, setzen alle die Variable gleichzeitig(!) auf 300 
und das Spiel beginnt von vorn.

von This is a required field (Gast)


Lesenswert?

>Es geht darum, mehrere ESP gleichzeitig für 5 Minuten schlafen zu legen.
>Nach dem Erwachen sollen diese dann wieder untereinander kommunizieren
>können.

Einen als Chef deklarieren, der die anderen aufweckt, ist Dir zu 
einfach?

von Purzel H. (hacky)


Lesenswert?

Allenfalls waere es interessant, etwas zur Anwendung zu erfahren.

von Kurt (Gast)


Lesenswert?

This is a required field schrieb:
>>
>
> Einen als Chef deklarieren, der die anderen aufweckt, ist Dir zu
> einfach?

Wie denn aus dem Schlafmodus aufwecken?

von rtc (Gast)


Lesenswert?

Phillipp schrieb:
> Es kommt ja auch nicht auf die Genauigkeit der absoluten Zeit an.

...ach nicht? Genau das wäre das, was als einheitliches Zeitnormal zur 
Synchronisation untereinander zur Verfügung stehen würde, vorhanden ist!

von Michael U. (amiga)


Lesenswert?

Hallo,

der ESP8266 hat einen Sleeptimer. Geweckt wird er dann mit Reset. GPIO16 
liefert einen Low-Impuls bei Ablauf des Sleeptimers.
Eine andere Möglchkeit ihn zu wecken gibt es wohl nicht.
Wie genau der Timer ist habe ich nie nachgeschaut. Zur RTC habe ich auch 
wenig bis nichts gefunden, allerdings auch nicht sonderlich gesucht.

Was heißt untereinander kommunizieren? Gemeinsamer AP oder wie?
Die ESP müßten ja zumindest feststellen könne, ob alle wach sind und 
dann müßte einer eben den Befehl zu Schlafen schicken.

Gruß aus Berlin
Michael

von This is a required field (Gast)


Lesenswert?

>Wie denn aus dem Schlafmodus aufwecken?

Per (GPIO, UART, ...-) Interrupt?
Oder geht das bei dem gar nicht?

von This is a required field (Gast)


Lesenswert?

Kolban's Book on ESP8266:

"In deep-sleep mode, the device is really asleep. Neither CPU nor WiFi 
activities take
place. The device is to all intents and purposes off ... with one 
exception ... it can wake up at a specified regular interval."

>Oder geht das bei dem gar nicht?

Scheint so...
Aber vielleicht genügt einer der anderen Sleep Modes


Ansonsten: G**gle:
ESP8266 Sleep Mode Function Description

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.