marvin ha scritto:[CUT[@double[/usermention] mi interessa conoscere la procedura in generale.
provo a fare un paio di esempi su come procedere
clock ritardato: tempo di mareail tempo fra due passaggi della luna al meridiano è mediamente di 24,8412 ore (24 ore, 50 minuti e 28 secondi)
luna al meridiano 89.428 secondi
sole al meridiano 86.400 secondi
kappa= 89.428/86.400= 1,035046296
E' necessario rallentare l'orologio di un fattore 1,035050
la frazione 1.063/1.027 fornisce il valore 1,035054:
partendo da un oscillatore a 32.768 si ottiene
32.768 Hz x (1.027 / 1.063)= 31.658 Hz
in secondi si ha 86.400 x (1.063/1.027)=89.428 =24 ore 50 minuti 28 secondi
clock accelerato: tempo sideraleIn un anno civile il Sole passa 365 volte al meridiano mentre il punto γ (punto d'ariete o vernale) ci passa 366 volte quindi il clock di un orologio siderale deve essere 366/365 volte più veloce di un orologio civile.
Per essere più precisi l’anno tropico è lungo 365.2422 giorni ed il coefficiente esatto è pari a 366.2422/365.2422 = 1.002737909
la frazione 1.465/1.461 fornisce il valore 1.002737851
in secondi si ha 86400 x 1461/1465= 86164 23 ore 56 minuti 4 secondi
(il valore esatto è 23 ore 56 minuti e 4,0905 secondi)
con un clock a 32768 Hz si ha
32768 Hz x( 1465/1461) = 32875 Hz
Una volta calcolata la costante kappa (di accellerazione o rallentamento) serve trovare una frazione che la approssimi al meglio.
L'implementazione puo' essere fatta con integrati discreti (PLL per la moltiplicazione e divisore digitale per la divisione) oppure facendo fare i calcoli ad un microcontrollore usando variabili intere unsigned long (la divisione fra interi tronca il risultato!) prendendo il clock da un timer interno. Probabilmente si puo' generare direttamente la frequenza, serve verificare i valori dei prescaler e dei divisori