Trä Gear Clock med Stepper Motor Drive (12 / 19 steg)
Steg 12: Räddningsförsök tre
Vi har sett att klockan går snabbt genom ca 18 sekunder per timme utan justeringar och några 50 sekunder per år med två justeringar som beskrivs i föregående steg. Kan vi förbättra på det?
Svaret är ja genom att lägga en axel encoder till den andra axeln och avkänning som Axel roterande ställning.
Kodaren är en skiva med en enda hål på en diameter och 60 hål på en andra diameter. Två foto vakuumbrytarna är ståndpunkten att anar man den enda hål, de andra sinnena 60 hålen. Detta kallas en inkrementell axel kodare (kräver en återställning för varje tuen).
Resultaten av vakuumbrytarna är anslutna till Arduino producerar två olika avbrott. "Enda avbrottet" återställer roterande ställning till noll. "60 avbrottet" delar av roterande index i en.
Därför får vi den andra handen faktiska position varje sekund. Då kan vi jämföra den positionen (i sekunder) med RTC andra vid något tillfälle som 30-sekunders mark och påskynda eller fördröja mekaniska klockan genom att justera puls räkningen tillfälligt.
Detta fungerar på ett liknande sätt som det första försöket (infraröd läge sensing) men inte eller lider av skuggning av andra händer.
Detta är sista (det är åtminstone vad jag trodde) version jag antagit och elektroniken kommer att beskrivas i detalj nedan.