Reloj electr贸nico casero, elemento base - parte 1, medici贸n del tiempo

Probablemente, cada geek aficionado a la electr贸nica casera, tarde o temprano, tiene la idea de hacer su propio reloj 煤nico. La idea es bastante buena, descubriremos c贸mo y en qu茅 es mejor hacerlos. Como punto de partida, suponemos que una persona sabe c贸mo programar microcontroladores, entiende c贸mo enviar 2 bytes a trav茅s de i2c o puerto serie, y puede soldar varios cables juntos. En principio, esto es suficiente.

Est谩 claro que la funci贸n clave de un reloj es medir el tiempo (驴qui茅n hubiera pensado, s铆?). Y es deseable hacer esto con la mayor precisi贸n posible, hay varias opciones y dificultades.

Entonces, 驴qu茅 m茅todos de medici贸n del tiempo disponibles en el hardware podemos usar?

Generador RC incorporado


La idea m谩s simple que se le ocurra es simplemente configurar un temporizador de software y contar los segundos. Entonces, esta idea no es buena. El reloj ciertamente funcionar谩, pero la precisi贸n del generador incorporado no est谩 regulada de ninguna manera y puede "flotar" dentro del 10% del valor nominal. Es poco probable que alguien necesite horas que desaparezcan por mes durante 15 minutos.

M贸dulo de tiempo real DS1307


Una opci贸n m谩s correcta, que tambi茅n se utiliza en la mayor铆a de los productos "populares", es un reloj en tiempo real. El chip se intercambia con el microcontrolador a trav茅s de I2C, requiere un m铆nimo de uni贸n (cuarzo y un par de resistencias). El precio de emisi贸n es de aproximadamente 100 rublos por microcircuito, o alrededor de $ 1 por ebee para una placa terminada con un microcircuito, un m贸dulo de memoria y un conector de bater铆a.

Esquema de la hoja de datos:



igualmente importante, el chip est谩 disponible en un paquete DIP, por lo que cualquier radioaficionado novato puede soldarlo. La bater铆a incorporada mantiene el reloj funcionando incluso si se ha apagado la alimentaci贸n.

Parecer铆a que todo est谩 bien, si no fuera por un problema: baja precisi贸n. La precisi贸n aproximada del reloj de cuarzo es de 20-30 ppm. La designaci贸n ppm - partes por mill贸n, muestra el n煤mero de partes por mill贸n. Parecer铆a que 20 millon茅simas es super, pero para una frecuencia de 32768Hz resulta 20 * 32768/1000000 = 卤 0.65536Hz, es decir Ya medio hertz. Mediante c谩lculos simples se puede ver que el generador con esa diferencia por d铆a "se adhiere" a los 56 mil ciclos adicionales (o faltantes), lo que corresponde a 2 segundos por d铆a. El cuarzo puede ser diferente, algunos usuarios escribieron sobre un error de 5 segundos por d铆a. De alguna manera no es muy preciso: en un mes, tal reloj desaparecer谩 al menos por un minuto. Esta es una diferencia decente, notable a simple vista (cuando la serie favorita de la abuela comienza a las 11.00 y el reloj muestra 11.05, el desarrollador de tal reloj frente a sus familiares se sentir谩 inc贸modo).

Sin embargo, dado que la temperatura en la habitaci贸n es m谩s o menos estable y la frecuencia del cuarzo no cambiar谩 mucho, puede agregar la correcci贸n del software. Otro consejo que se da en los foros es usar un reloj de cuarzo de placas base antiguas; de acuerdo con las revisiones, son bastante precisas all铆.

M贸dulo de tiempo real DS3231


No somos los primeros en hacer la pregunta de precisi贸n, y Dallas, cumpliendo nuestros deseos, ha lanzado un m贸dulo m谩s avanzado: DS3231. Se llama "Reloj de tiempo real extremadamente preciso", tiene un generador incorporado con correcci贸n de temperatura. La precisi贸n es 10 veces mayor y es de 2 ppm. El precio de emisi贸n es un poco m谩s alto, pero la carcasa del microcircuito est谩 dise帽ada para montaje SMD, la soldadura no es tan conveniente, pero puede comprar una placa lista para usar.


(foto del sitio del vendedor)

Precisi贸n de 6 segundos por mes, este ya es un buen resultado. Pero iremos m谩s all谩: idealmente, el reloj en el siglo XXI no necesita ser ajustado en absoluto.

M贸dulo de radio DCF-77


El m茅todo es bastante ex贸tico, pero para completar no se puede ignorar. Pocas personas lo saben, pero las se帽ales horarias exactas se han transmitido por radio desde los a帽os 70. El transmisor DCF-77 se encuentra en Alemania, cerca de Frankfurt, y con una frecuencia SDV de 77.5 KHz, se transmiten marcas de tiempo (s铆, ya ten铆an un reloj de pared y de escritorio hace 20 a帽os que no era necesario ajustar).

El m茅todo es bueno porque el circuito tiene un bajo consumo de energ铆a, por lo que incluso los relojes de pulsera con esa tecnolog铆a ahora se est谩n produciendo. El tablero de admisi贸n DCF-77 terminado se puede comprar en eBay, el precio es de $ 20.



Muchos relojes y estaciones meteorol贸gicas tienen la capacidad de recibir DCF-77, el 煤nico problema es que la se帽al pr谩cticamente no llega a Rusia. Mapa de cobertura de Wikipedia:



Como puede ver, solo Mosc煤 y San Petersburgo est谩n en el borde del 谩rea de recepci贸n. Seg煤n los propietarios, solo ocasionalmente se puede recibir una se帽al, que por supuesto no es adecuada para un uso pr谩ctico.

M贸dulo GPS


Si el reloj no est谩 lejos de la ventana, entonces un m茅todo muy real para obtener la hora exacta es un m贸dulo GPS. Estos m贸dulos se pueden comprar a bajo costo en eBay (precio de emisi贸n $ 10-15). Por ejemplo, Ublox NEO-6M se conecta directamente a los pines seriales del procesador y emite cadenas NMEA a una velocidad de 9600. Los



datos vienen en aproximadamente este formato "$ GPRMC, 040302.663, A, 3939.7, N, 10506.6, W, 0.27,358.86,200804 ,, * 1A ", y no es dif铆cil analizarlos incluso para un Arduino d茅bil. Los patriotas, por cierto, pueden comprar el m贸dulo Ublox NEO-7N m谩s caro, que admite (seg煤n las revisiones) tanto GPS como Glonass.

Obviamente, el m贸dulo GPS no sabe nada sobre las diferentes zonas horarias, por lo que el desarrollador tendr谩 que pensar por s铆 mismo para calcularlas y cambiar el horario de verano / invierno. Otra desventaja del uso de GPS es su consumo de energ铆a relativamente alto (sin embargo, algunos m贸dulos se pueden poner en "modo de suspensi贸n" con comandos separados).

Wifi


Y finalmente, la 煤ltima forma (y la m谩s obvia en este momento) de obtener el tiempo exacto es tomarlo de Internet. Hay dos enfoques. El primero y m谩s simple es usar algo como un Raspberry PI con Linux como placa de reloj, luego no necesita hacer nada, todo saldr谩 de la caja. Si quieres "ex贸tico", entonces la opci贸n m谩s interesante es el m贸dulo esp8266.



Esto es econ贸mico (el precio de la pregunta es de aproximadamente 200 rublos por eBay). El m贸dulo WiFi se puede intercambiar con el servidor a trav茅s del puerto serie del procesador, si lo desea, tambi茅n se puede actualizar (hay una gran cantidad de firmware de terceros), y parte de la l贸gica (por ejemplo, sondear el servidor horario) se puede hacer en el m贸dulo mismo. El firmware de terceros admite un mont贸n de todo, desde Lua a C ++, por lo que las opciones para "estirar el cerebro" son suficientes.

Sobre este tema, las mediciones de tiempo probablemente pueden cerrarse. En la siguiente parte, veremos m谩s de cerca los procesadores y los m茅todos para generar tiempo.

Source: https://habr.com/ru/post/es383091/


All Articles