Trä Gear Clock med Stepper Motor Drive (11 / 19 steg)
Steg 11: Räddningsförsök två
Som vi vet, tar det teoretiskt 8 pulser till stegmotor att vrida den andra axeln 6 grader. Vi vet också att detta gör klockan springa fort.
Därför tar vi en ny strategi. Glöm den infraröda fjärranalys grej.
Vi kör klockan för en viss tid och registrera antalet sekunder klockan avgår från realtid. Som är, fann jag att felet var ca 18 sekunder snabb per timme. Det är en sekund (8 pulser) var 200 sekunder eller en puls varje 25 sekunder.
Vi instruerat sedan Arduino skiss att bromsa motorn genom att skicka bara 7 pulser varje 25 sekunder.
Kör klockan igen för en längre period, Observera speciellt 22.3 timmar och vi en mindre fel, denna gång 5 sekunder långsamt. Matte berättar det vi bör påskynda klockan 1/8th av en sekund (1 puls) var 2.006 sekunder. Sätt som in i koden och kör klockan igen.
Efter 337 timmar var klockan två sekunder snabb. Extrapolera som till ett helt år felet kommer att vara ca 50 sekunder. Det är nästan lika bra som man förväntar sig av RTC klockan.
Man kan nu lägga till en tredje korrigering till koden, sakta klockan genom 1/8th av en sekund var 75.000 sekunder.
Detta är förmodligen tillräckligt bra eftersom andra faktorer såsom strömavbrott sannolikt att bråka med den mekaniska klockan.
Om plåstren Arduino koden låter som Band Aids, har du rätt. Jag är inte Microsoft. De är kända att tillämpa tiotusentals "fixar" över livet på ett operativsystem.
Dock är typ av en pedant, bestämde jag mig att göra en annan förändring ännu. Se nästa steg.