Hallo liebe Community,
ich hoffe ihr könnt mir bei meinem Problem helfen. Ich besitze ein Arduino Uno (rev. 3) und ein Mega (rev. 2) und bin gerade dabei eine art Uhr zu bauen. Ich bin mir auch der Optionen über DCF77 oder RTC-Module bewusst, will aber auch bewusst darauf verzichten, eine Genauigkeit um die 100ppm ist mir vollkommen ausreichend, theoretisch sollten aber bei meinem Aufbau 60ppm und weniger möglich sein, dazu später mehr.
Zu erst habe ich die Zeitgenauigkeit mit der fertig zusammengesteckten Uhr getestet und war enttäuscht, ich habe mit einem Funkwecker über einen tag hinweg die zeitabweichung gemessen und kam auf eine relativ lineare abweichung von ca. einer sekunde pro 10 minuten, was so 140 sekunden pro tag darstellt, und somit bei über 1000ppm ungenauigkeit liegt. In einem zweiten Test habe ich die Uhr noch mit der Time.h lib betrieben und kam auf die gleiche abweichung. gestern habe ich dann noch, um den quarz des UNO als fehlerquelle auszuschließen, eine langzeitmessung auf dem mega gestartet (mit zeitabgleich über ein processing-programm mit der systemuhr) und komme (nur grob berechnet auf den letzten tag) auf nahezu genau den gleichen abweichungswert. ich habe zwar noch keine daten zu dem quarz des UNO und mega gefunden, aber 1000ppm sollten sehr unüblich für quarze sein, im endbetrieb soll ein ATmega328 mit einem 30ppm quarz (+-30ppm thermische abweichung) betrieben werden, was ja mir theoretisch ausreicht. jedoch glaube ich, da beide arduinos mit der gleichen abweichung laufen, dass es ein problem in meiner software oder in der implementierung von irgendetwas gibt. habt ihr auch schon solche erfahrungen gemacht und könnt mir vielleicht tips geben?
P.S. ich denke nicht das es besondere fehler durch meine software gibt, da die referenzmessung auf dem mega im prinzip nur auf einer leicht modifizierten version des beispielprogramms für zeitabgleich über die serielle verbindung aus der Time.h lib basiert.