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.Pulsos reloj analógico
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 las 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
No hay comentarios:
Publicar un comentario