Bom dia pessoal,

Estou criando um protótipo de um sistema de coleta de dados com o Mega. Os dados dessas coletas vêm de sensores e devem ser registrados com uma data-hora (que está funcionando com a lib Time.h) para que possam ser utilizados em uma "linha de tempo".

Acontece que, para o ajuste do relógio UTC dentro do Mega é utilizado um protocolo na rede.

Se não houver rede, ele não consegue sincronizar o relógio, porém as leituras devem ser feitas continuamente e armazenadas no SD (que também está funcionando).

A questão é: Como saber em qual momento as coletas foram registradas para que a linha de tempo foi coerente?

Vocês conhecem algum protocolo ou modo de registrar uma tabela de referência de clocks para isso ou algo parecido?

Exibições: 229

Responder esta

Respostas a este tópico

Colocar um relogio em hardware (RTC) não resolveria ?

http://www.labdegaragem.org/loja/index.php/modulo-real-time-clock.html

Pensei em considerar a hora inicial = 00:00:00 01/01/2000 se não houver relogio disponível.

Datas anotadas antes de 2010 significam datas não corrigidas.

Assim que o relógio se tornar disponível vc anota:

Relogio atual nesse momento, relogio real nesse momento.

Aih vc faria uma rotina pra fazer a varredura em todos os dados já gravados atualizando o relogio anotado (relativo) para o relogio real.

Tb, tendo um arquivo com essa informação: Estado do relogio antes de ser acertado e para que estado foi vc tem exatamente a informação para a correção. Que pode ser feita depois, no PC.

Mas se vc perder a energia antes de descobrir qual o horario correto perdeu definitivamente os dados de horario.

Não sei teu uso, quem sabe pode ajudar: GPSs e Modulos GSM são ótimas fontes de tempo real tb.

Olá Eduardo, obrigado pela resposta.

RTC é sim uma alternativa, porém gostaria de apresentar outra alternativa.

Cheguei a mesma conclusão quando pensei sobre 2 desligamentos/religamento do circuito antes do relógio ser acertado. Era justamente nesse cenário que há o impasse.

O protocolo de acerto do relógio foi feito para funcionar tanto com shield Ethernet quando GSM, porém tenho que considerar o cenário em que estes não foram configurados, mas as leituras precisam ser feitas.

Imagino que seja um risco incômodo, mas aceitável.

Geovani, 

Não tenho muita experiencia pratica, 

mais já li vários comentários sobre fazer um timer com o clock interno do CI,

pelo que li, até funciona para curtos períodos de tempo,

Agora, se for pra ficar ligado direto acaba não funcionando bem, pois qualquer mínima variação do clock a longo prazo daria atrasos ( ou adiantamentos) bem razoáveis, ainda mais se o regulador de tensão de alimentação não tiver 100%

Concordo com o Eduardo, RTC é uma solução simples e funcional.

até

Obrigado pelo comentário João.

Concordo que esta seja a maneira mais coerente.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço