Salve a tutti.
Dopo un periodo impegnatissimo torno a prendere mano ad arduino, sto cercando di realizzare un cronometro abbastanza preciso con arduino.
Utilizzando il clock interno mi rendo conto che effettivamente dopo un paio di secondi lo sfasamento è abbastanza evidente anche ad occhio, vorrei sapere se esiste un modo per avere una precisione decente, ho visto che esistono integrati che danno un segnale preciso al secondo, mi chiedevo se esistessero anche che ne diano uno preciso al centesimo di secondo.
In alternativa un 555 come astabile, con i valori calcolati nel modo giusto, potrebbe funzionare?
Se ti serve un'alta precisione, metti un oscillatore esterno di precisione che attiva un interrupt su un piedino e nella ISR incrementi il contatore del tuo orologio.
Per questa cosa puoi utilizzare il segnale generato sul pin SQW dei più comuni chip di RTC (DS1372 o DS3231).
Guglielmo
Attenzione solo che si hanno in uscita frequenze multiple di 2, esempio 1024 Hz (PCF8563) o 4096 Hz (DS1307), non 1000 o 4000 Hertz. Per cui nel calcolo di conversione va tenuto conto che 1024 Hz non sono 1000 millesimi.
Si, esatto, se usi gli RTC, hai il vantaggio della precisione (vd. DS3231), dall'altro lo svantaggio che devi fare delle correzioni SW per evitare l'accumulo dell'errore ...
Altrimenti occorre farsi un oscillatore esterno ... ma non so se la stabilità (... specie in temperatura e precisione alimentazione) che si raggiunge facendoselo alla fine dia una precisione superiore all'accoppiata RTC/SW ... ![]()
Guglielmo