Stap 11: Reddingspoging twee
Zoals we weten, duurt het theoretisch 8 pulsen naar de stappenmotor te draaien van de tweede schacht met 6 graden. We weten ook dat dit maakt de klok snel lopen.
Daarom nemen we een nieuwe aanpak. Vergeet de infrarood sensor contraption.
We draaien de klok gedurende een bepaalde tijd en registreren het aantal seconden die de klok afwijkt van de real time. Zoals is, vond ik dat het fout ongeveer 18 seconden snel per uur was. Dat is één seconde (8 pulsen) elke 200 seconden of een pulse elke 25 seconden.
Wij vervolgens geïnstrueerd de Arduino schets te vertragen van de motor door het sturen van slechts 7 pulsen per 25 seconden.
De klok opnieuw uitvoeren voor een langere periode, zien specifiek 22.3 uur en we een kleinere fout, ditmaal 5 seconden langzaam. Wiskunde vertelt ons dat we de klok moet versnellen door 1/8ste van een seconde (1 puls) elke 2006 seconden. Zetten dat in de code en de klok opnieuw uit te voeren.
Na 337 uur werd de klok twee seconden snel. Extrapoleren die naar een volledig jaar dat de fout ongeveer 50 seconden worden zal. Dat is bijna zo goed als één van de RTC klok verwacht.
Men kan nu een derde correctie toevoegen aan de code, vertragen de klok door 1/8ste van een seconde elke 75.000 seconden.
Dit is waarschijnlijk goed genoeg omdat andere factoren zoals stroomstoring dreigen te knoeien met de mechanische klok.
Als de patches in de code van de Arduino klinken als de Band steun aangebracht, hebt u gelijk. Ik ben niet Microsoft. Ze zijn bekend toe te passen van tienduizenden "correcties" over het leven van een besturingssysteem.
Echter besloten als soort van een stickler, heb ik om nog een andere verandering. Zie de volgende stap.