Tempo, ancora!

Dec 24 2022
Qualche tempo fa, ho scritto un lungo post su un orologio che ho costruito per tenere il tempo metrico. Ho promesso che l'avrei lucidato, costruito una custodia per esso e ne avrei ricavato un bel mobile da scrivania.

Qualche tempo fa, ho scritto un lungo post su un orologio che ho costruito per tenere il tempo metrico. Ho promesso che l'avrei lucidato, costruito una custodia per esso e ne avrei ricavato un bel mobile da scrivania.

Non l'ho ancora fatto.

Invece, ho realizzato un paio di versioni diverse di quell'orologio, utilizzando diverse fonti per il segnale orario autorevole, diverse tecnologie di visualizzazione e così via.

Ho anche pensato che sarebbe stato interessante tenere traccia del tempo metrico in base non solo al fuso orario locale, ma anche in base alla posizione effettiva del sole nel cielo.

Il momento in cui il sole è al suo massimo nel cielo varia, ovviamente, in base a dove ti trovi sul pianeta. Si scopre che è più complicato di così, però. L'orbita terrestre attorno al sole è ellittica, non perfettamente circolare, e questo significa che mezzogiorno (e mezzanotte!) si spostano un po' durante l'anno.

Mi sono divertito a sguazzare su quell'argomento. C'è una cosa chiamata equazione del tempo che cattura la variazione. Misuri attentamente l'istante esatto in cui il sole è sopra la testa al primo meridiano e prendi nota di ciò che il tuo preciso orologio UTC ti dice che è l'ora. Quella differenza è l'"equazione del tempo" per quel giorno.

Equazione del tempo nel corso dell'anno. Credito immagine: utente Drini, CC-BY-SA 3.0, su https://en.wikipedia.org/wiki/Equation_of_time#/media/File:Equation_of_time.svg

Non è molto utile, ovviamente, perché devi passare molto tempo in piedi sul primo meridiano, guardando in alto. Quello che vuoi veramente è una formula che sputa il numero giusto, in base alla data.

I ricercatori del Jet Propulsion Laboratory della NASA hanno svolto quel duro lavoro per un lungo periodo, e poi hanno escogitato una formula che fa quello che vuoi. Hanno tracciato una curva dei valori EoT nel corso dell'anno, hanno utilizzato un'analisi di Fourier per suddividere quella curva nelle sue componenti e quindi hanno utilizzato la regressione lineare per determinare i coefficienti per ciascuna di tali componenti. Il risultato è una funzione matematica piuttosto semplice da implementare. Ti dice quanto è lontano il mezzogiorno solare dal mezzogiorno UTC. La funzione è precisa entro 13 secondi per qualsiasi ora di qualsiasi giorno nel secolo in corso.

Se conosci la tua longitudine, puoi fare dei semplici calcoli per calcolare l'ora solare corrente dall'EoT e l'ora corrente all'UTC.

Quindi ovviamente l'ho codificato!

Una volta che ho avuto un'implementazione funzionante di quella funzione, ho deciso di aggiungere l'ora metrica solare al mio precedente progetto di orologio. Ancora una volta utilizzo un circuito di clock in tempo reale per la precisione. Sincronizzo periodicamente quell'RTC (una volta ogni 50 giorni, per il mio DS3231, poiché è accurato a due parti per milione) tramite il server NTP presso NIST. Non mi piacciono ancora i dispositivi intelligenti sulla mia rete domestica, ma risulta essere così semplice e affidabile e la tecnica funziona in tutto il mondo (a differenza del segnale WWVB) e lontano dalle finestre (a differenza del GPS).

Ecco come appare su una breadboard:

Orologio metrico solare breadboard

Il display in alto a sinistra mostra l'ora metrica solare (6175). Il display in basso a sinistra è l'ora metrica locale (6246, quindi proprio in quel momento a casa mia il mezzogiorno solare ha ritardato il mezzogiorno metrico di 71 cento microgiorni). È stato interessante vedere - ha perfettamente senso se ci pensi - che i due orologi metrici girano le loro cifre in momenti diversi. Il display in basso a destra è l'attuale ora locale hh:mm (14:59).

Se sei interessato alla build di Arduino, dai un'occhiata al project hub .

Questo è stato divertente! Ho scoperto che alcune librerie Arduino sono costruite per chipset specifici sulle diverse schede Arduino e, se mescoli e abbini, il software può friggere la scheda. Sono felice di saperlo, anche se non così felice di aver speso poco più di $ 100 per la lezione. Sono sempre stato un po' un nerd delle mappe e un po' un nerd del tempo, quindi conoscere l'equazione del tempo e includere la longitudine nella mia aritmetica di che ora è fornisce entrambi questi tipi di colpi di dopamina.