Página principal
Arduino
Pulsos reloj analógico
He realizado muchos relojes con el
arduino, utilizando interrupciones internas, con el chip DS1302,
e incluso utilizando delay, este último muy
inexacto.
El otro día compré en un rastrillo un reloj analógico (de
agujas), no funcionaba, era para experimentación.
Me encontré que tenía dos bobinas, una para segundos y otra para
minutos (minutos/10).
Por lo cual debemos generar un pulso para los segundos, y otro
pulso cada 10 segundos para los minutos.
Investigue de como funcionaban este tipo de relojes y que tipo
de pulsos debía crear para mover las agujas.
Son pulsos de 31mS cada segundo.
Los pulsos deben ser positivos y negativos
alternativamente.
El primer circuito utiliza interrupciones internas que se
generan cada segundo.
(16MHZ/1024)/15625= 1Hz
TCCR1A=0;
TCCR1B=0;
OCR1A=15624;
TCCR1B |= (1<<WGM12); // 0 1
0 0 CTC OCR1A Immediate MAX
TCCR1B |= (1<<CS10); // clk
I/O /1024 (From prescaler)
TCCR1B |= (1<<CS12);
TIMSK1=(1<<OCIE1A); //
Timer/Counter1, Output Compare A Match Interrupt Enable
Este circuito funciona bastante bien, pero con el paso de los
días se adelanta o se retrasa algún segundo.
Está claro que para que sea bastante mas
exacto debemos emplear un chip especial , el DS1302.
Este chip sirve para mantener la hora y la fecha, incluso con una
pequeña batería de botón puede mantener la hora, aunque para este
circuito no sea necesario, solo se emplea para generar los pulsos de
reloj.
Al utilizar un cristal de 32768 Hz especial para relojes, la
exactitud es la del cristal de cuarzo, bastante exacto.
Debido a que no tiene ajuste manual para las agujas, he añadido
un pulsador para mover al agujas rápido.
La alimentación se realiza mediante una batería 16850 de 3.7 V.
El consumo del circuito con un arduino nano es de 14 mA, por lo
cual la autonomía con este tipo de batería es de 6 días.
Espero que este montaje os haya parecido interesante.
En un próximo montaje explicaré como conseguir que la batería
pueda llegar a durar alrededor de 3 meses. ;)
PROGRAMAS
Saludos.
Juan Galaz
Bibliografía:
artime.html
arduds.html
ardurab.html
arduraa.html