Esqueça por um momento a posição do GPS. Um GPS ou GNSS Também calcula o tempo. E o faz com muita precisão. Com precisão de até 10 nanossegundos. Isso equivale a 0.00000001 segundo.
Imagine que você tem 2 dispositivos em 2 países diferentes ou 2 sensores em 2 locais diferentes e quer sincronizar qualquer ação ou medição que eles estejam realizando. Você pode usar a internet para obter uma precisão de cerca de 10 milissegundos ou usar um receptor GPS em cada dispositivo para reduzir a precisão para 10 nanossegundos. E o melhor, sem precisar de internet.
Quando chegamos a esse nível de precisão de tempo, também é importante saber em qual escala de tempo estamos trabalhando. Os receptores GNSS geralmente sincronizam com a escala de tempo UTC global, mas também podem sincronizar a escala de tempo com uma constelação específica (GPS, GLONASS, Galileo, BeiDou). Cada escala de tempo tem seu próprio contador absoluto (por exemplo, há uma diferença de alguns segundos entre GPS e UTC), mas, em geral, a mudança de segundo é sincronizada com o nível de milissegundos. De qualquer forma, a lição a ser aprendida é: verifique se todos os seus sensores estão usando a mesma escala de tempo.
A teoria é muito boa, mas como você pode realmente usar o pulso de tempo do GPS no seu projeto?
Todas as ArduSimple as placas têm um pino chamado Timepulse, PPS ou TPS. São nomes diferentes para o mesmo sinal. Por padrão, este pulso de tempo é configurado para 1 Pulso por Segundo (PPS). Isso significa que a cada segundo, no momento exato da mudança de segundo, este sinal será acionado para informar a aplicação sobre o momento exato da mudança de segundo. O receptor pode levar algum tempo para calcular a nova posição real e a disponibilizará o mais breve possível. Na próxima imagem, você encontrará uma representação visual disso.
Em sua aplicação, você pode conectar o Timepulse e os dados seriais enviados para o seu processador ou computador. Em algum momento, seu aplicativo lerá que o horário é 8:30:00. É hora de se preparar para o próximo pulso de tempo, que indicará exatamente 8:30:01.
Mas você pode perguntar: e se o sinal que quero medir estiver entre dois pulsos de tempo?
- Opção A. Você tem um oscilador de alta velocidade dentro do seu processador (MHz ou mais) que pode ser sincronizado sempre que houver um pulso de tempo.
- Opção B. Use outro recurso dos receptores GPS: o EXTINT ou entrada de EVENTO. Falaremos sobre esse sinal em outro dia e atualizaremos este post com um link.