Dimentica per un momento la posizione GPS. Un GPS o GNSS Calcola anche il tempo. E lo fa con grande precisione. Con una precisione di 10 nanosecondi. Questo equivale a 0.00000001 secondi.
Immagina di avere 2 dispositivi in 2 paesi diversi o 2 sensori in 2 luoghi diversi e di voler sincronizzare qualsiasi azione o misurazione stiano eseguendo. Potresti usare internet per ottenere una precisione di circa 10 millisecondi, oppure usare un ricevitore GPS su ciascun dispositivo per ridurla a 10 nanosecondi. E la cosa migliore è che non serve internet.
Quando raggiungiamo questo livello di accuratezza temporale, è anche importante sapere in quale scala temporale stiamo lavorando. I ricevitori GNSS di solito si sincronizzano con la scala temporale UTC globale, ma possono anche sincronizzare la scala temporale con una costellazione specifica (GPS, GLONASS, Galileo, Beidou). Ogni scala temporale ha il suo contatore assoluto (ad esempio, ci sono pochi secondi di differenza tra GPS e UTC), ma in generale la variazione di secondo è sincronizzata al millisecondo. In ogni caso, la morale della favola è: verifica che tutti i tuoi sensori utilizzino la stessa scala temporale.
La teoria è molto interessante, ma come puoi utilizzare concretamente l'impulso temporale del GPS nel tuo progetto?
Tutti ArduSimple le schede hanno un pin chiamato Timepulse, PPS o TPS. Sono nomi diversi per lo stesso segnale. Per impostazione predefinita, questo timepulse è configurato a 1 impulso al secondo (PPS). Ciò significa che ogni secondo, al momento esatto della variazione di secondo, questo segnale verrà attivato per informare l'applicazione del momento esatto della variazione di secondo. Il ricevitore potrebbe impiegare del tempo per calcolare la nuova posizione effettiva e la renderà disponibile il prima possibile. Nell'immagine successiva troverete una rappresentazione visiva di questo.
Nella tua applicazione puoi connettere il Timepulse e l'uscita dati seriale al processore o al computer. A un certo punto, l'applicazione leggerà che sono le 8:30:00. È ora di prepararsi per il prossimo impulso temporale, che indicherà esattamente le 8:30:01.
Ma potresti dire: cosa succede se il segnale che voglio misurare è compreso tra 2 impulsi temporali?
- Opzione A. All'interno del processore è presente un oscillatore ad alta velocità (MHz o superiore) che è possibile sincronizzare ogni volta che si verifica un impulso temporale.
- Opzione B. Utilizzare un'altra caratteristica dei ricevitori GPS: la EXTINT o EVENT Input. Parleremo di questo segnale un altro giorno, aggiorneremo questo post con un link.