Ungenauigkeit von millis() / Interne Uhr NANO 33 IoT

Moin Moin,

ich habe mit einem NANO 33 IoT über WLAN eine Abfrage auf einen NTP gemacht.
anschließend lasse ich über millis() bzw. halt die interne Uhr den NANO laufen und lasse mir in regelmäßigen Abständen die "Uhrzeit" loggen.

das habe ich jetzt mal fast 2 Tage am Stück gemacht. das Loggen habe ich dabei über die serielle Schnittstelle gemacht und dabei die Rechnerzeit ebenfalls geloogt.
nach 2 Tagen läuft die Arduinozeit der Rechnerzeit fast 1h nach.

Ist das normal / zu erwarten?

Ja, das ist normal.

Gruß Tommy

hilft also nichts außer alle paar Stunden die interne Uhr wieder zu aktualisieren oder mit der NTP Zeit eine RTC zu speisen?

Hi

Dann lege den Arduino Mal in den Kühlschrank - in zwei Tagen passen die Uhren wieder.

Der Arduino (Keiner davon) wurde je als Uhr konzipiert - warum sollten Die also eine Taktgenauigkeit an den Tag legen, Der NIE gefordert wurde?
Klar: Würde den Käfer nur einige hundert Mal so teuer machen :wink:

Wenn Du eine Uhr willst: Benutze eine Uhr!
Wobei mir der Sinn noch nicht gekommen ist - da Du per NTP eine sehr genaue Uhrzeit hast.

MfG

PS: Sofern die Umgebung des Arduino halbwegs konstant ist, kannst Du doch einfach einen Korrekturfaktor bestimmen!
Wenn der Arduino alle Sekunde im Schnitt bis 1002 zählt, statt bis 1000 - dann musst Du doch nur intern mit den 1002 statt den 1000 rechnen, bis Du wieder eine genaue Uhrzeit bekommst.
Oder Du nimmst eine RTC - dann kannst Du Dir aber NTP sparen.

dass es keine Uhr ist, ist mir klar :slight_smile: ... aber dass die Abweichung so groß ist, hätte ich einfach nicht erwartet. gut .. wenn das "so ist" dann hole ich mir halt öfter die Zeit vom NTP :slight_smile: --- wollte das ursprünglich 1x/Woche oder so machen - nun gut.

man lernt immer was dazu ... im Projekt geht es um das loggen von Messdaten unterschiedlicher Sensoren mit zugehörigem Zeitstempel - nix kompliziertes eigentlich. der Rest passt auch so langsam zusammen

Bitte nicht unterschätzen, den kleinen .....
SAM D21 Real-Time Counter
Das Datenblatt des µC wird wohl genauere Auskunft geben.