Reloj digital multifuncional en el microcontrolador Attmega8.

Hogar

diagrama de circuito electrico

Un dispositivo combina dos funciones: la medición real de temperatura y tiempo (reloj). La visualización se realiza de forma alternativa, cambiando cada diez segundos. Para configurar el reloj se utilizan dos botones, similares a un simple reloj electrónico chino: uno se encarga de seleccionar un parámetro y el segundo de cambiarlo. El dispositivo se alimenta de la red mediante una fuente de corriente constante estabilizada de cinco voltios (placa del cargador del teléfono).

El sensor de temperatura es un chip DS18B20. Dado que el dispositivo Reloj-Termómetro no tiene batería propia, si se corta la energía, las lecturas naturalmente se perderán. Y para que esto no haga que una persona llegue tarde a asuntos vitales, hay un "truco" interesante: cuando se aplica energía, se mostrarán guiones en la pantalla en lugar de la hora hasta que presione uno de los dos botones de configuración.

El cuerpo del medidor de temperatura casero era una caja de gemelos adecuada. En él se colocaron la propia placa del reloj-termómetro y la placa extraída del cargador del teléfono. El sensor DS18B20 se realiza de forma remota y se conecta mediante un conector.

  • Lista de piezas requeridas
  • Microcontrolador Atmega8 - 1 ud.
  • Cuarzo 32768 Hz - 1 ud.
  • Sensor de temperatura DS18B20 - 1 ud.
  • Indicador de siete segmentos (4 dígitos) - 1 ud.
  • Resistencias SMD tamaño 0805:
  • 620 ohmios - 8 uds.
  • 0 ohmios (puente) - 1 ud.
  • 4,7 kOhmios - 1 ud.

Botones táctiles - 2 uds.

Vídeo del dispositivo en el canal de YouTube.

¡Hola a todos! Me gustaría llamar su atención sobre un simple reloj de hélice que monté en el controlador Atmega8. Están hechos de piezas fácilmente disponibles y son fáciles de replicar y fabricar. Lo único es que necesitas un programador para flashear el controlador del reloj y el panel de control.
Se utilizó un ventilador (refrigerador) normal de 120 mm para la base del reloj. Puede usar cualquier ventilador para este reloj, tanto en el sentido de las agujas del reloj como en el sentido contrario a las agujas del reloj, porque mientras ensamblaba este reloj, modifiqué un poco el programa y cambié la visualización de símbolos desde el control remoto mediante programación.
El reloj funciona con una bobina receptora, cuya energía se transfiere desde un generador con una bobina transmisora. Ambas bobinas forman un transformador de aire.

No hubo problemas especiales con el circuito y el diseño del generador, ya que se utilizó un generador hecho de una bola de plasma.

El generador está ensamblado en un microcircuito común TL494 y le permite cambiar el ancho y la frecuencia de los pulsos de salida en un amplio rango.
Incluso con un espacio de un centímetro entre las bobinas, el voltaje es suficiente para poner en marcha el reloj. Solo tenga en cuenta que cuanto mayor sea el espacio entre las bobinas, mayor será el ancho del pulso y, en consecuencia, aumentará el consumo de corriente de la fuente.

Al encender el generador por primera vez, ajuste el ancho del pulso (factor de trabajo) al mínimo (la perilla de control está en la posición superior de acuerdo con el diagrama, es decir, la pata 4 se pasa a través de la resistencia R7 a la pata 14, 15 , 2 de la TL-494). Giramos la frecuencia del generador hasta que desaparece el chirrido, esto es aproximadamente 18-20 KHz (sintonización de oído), y si hay algo para medir la frecuencia, la ajustamos en consecuencia dentro de estos límites.
El tablero del generador también contiene un regulador de voltaje adicional en el LM317, diseñado para regular la velocidad del ventilador.
No está en el diagrama, no lo dibujé yo.
. Mire un vídeo de demostración del reloj en acción.

Video.

El tablero del reloj está unido a la base del ventilador. Lo aseguré con cinta adhesiva de doble cara.

Luego modifiqué ligeramente el circuito del reloj de un fotorresistor a un fotodiodo infrarrojo (imagen a continuación).
En lugar de un simple LED en el transmisor, ahora tengo uno de infrarrojos.
La resistencia se configuró en 100k en lugar de 2k.


Los momentos críticos en la fabricación de un reloj son la fabricación de un transformador de aire y la alineación (o más bien el equilibrio) del tablero del reloj sobre la base del ventilador.

Tómate estos momentos más en serio.

Transformador de aire.

Se basó en un enfriador normal de 120 mm con casquillos de bronce. El tablero del reloj se pega a la base con cinta adhesiva de doble cara.
Arrancamos las cuchillas de la hielera y las trituramos y nivelamos con una lima y papel de lija. Las bobinas se fabrican sobre un marco de canal para cables. No se me ocurrió este diseño, simplemente tomé esta idea de Internet. Para enrollar el transformador, se hace una base a partir de un canal de cable. Cada 5 mm hacemos un corte en los lados del canal y lo enrollamos con cuidado formando un círculo; seleccionamos el diámetro para que encaje bien en la base de plástico del ventilador.

A continuación, enrollamos 100 vueltas de alambre esmaltado con un diámetro de 0,25 en el mandril del canal del cable.
El consumo de corriente del transformador ensamblado resultó ser de 200 mA (esto con un espacio bastante notable entre las bobinas).
En general, junto con el motor del ventilador, el consumo de corriente ronda los 0,4-0,5A.
Hacemos lo mismo para la bobina primaria (transmisora), pero intentamos dejar un espacio mínimo entre las bobinas. La bobina transmisora ​​también contiene 100 vueltas de cable de 0,3 (o 0,25).
En el diagrama tengo datos de bobinado ligeramente diferentes para estas bobinas.

Tarifa de horas.

La tira con LED está realizada en fibra de vidrio. Se perfora un orificio en él, se inserta un trozo de tubo de una antena telescópica en este orificio y se suelda a la placa (el tubo de la antena debe limpiarse de la capa brillante). Puedes utilizar cualquier tubo adecuado o fijar la placa de otra forma, por ejemplo mediante un tornillo con tuercas.
Conecté el tablero con LED al tablero del reloj con un cable esmaltado (bobinado) normal, es más rígido que el cable de montaje y no se deshilacha cuando se gira;

Para equilibrar todo el tablero, en el otro lado pegamos un tornillo con un diámetro de 3-4 mm con pegamento caliente, atornillando varias tuercas en el tornillo del otro lado; logramos una vibración mínima.
Para comprobar el funcionamiento del tablero del reloj, cortocircuitamos el fotorresistor con un destornillador o unas pinzas, los LED deben parpadear;
El reloj comienza a funcionar cuando aparece 5V (unidad lógica) en la quinta pata del atmega. Es decir, cuando el fotorresistor está iluminado, debe haber 5 V en la quinta pata,
Cuando el fotorresistor no está iluminado, debe haber un 0 lógico (aproximadamente 0V) en el quinto tramo del atmega, para esto seleccionamos una resistencia a tierra del quinto tramo. El diagrama muestra 2 kOhm, obtuve 2,5 Kohm.
En la parte inferior de la base del ventilador pegamos un LED para que con cada revolución del motor del ventilador, el fotorresistor pase lo más cerca posible de la fuente de luz (LED).

Panel de control.

El panel de control está diseñado para controlar el funcionamiento del reloj, cambiar los modos de visualización mediante indicación (cambiando la dirección de rotación del ventilador) y configurar la hora del reloj.

El circuito de control remoto está ensamblado en un microcontrolador ATTINY2313. El tablero contiene el propio MK con un arnés y seis botones diseñados para controlar el reloj.

No monté la carcasa del mando a distancia, así que sólo una foto del propio tablero.

Información sobre el propósito de los botones del control remoto;
Configuración del reloj H+ y H-
Ajuste de minutos M+ y M-
Cambio de dirección R/L (para tornillos que giran en sentido horario y antihorario)
fuente de cambio de fuente (fina, negrita e inscripción del sitio web)
Al escribir un sitio, utilice los botones H+ y H - para ajustar el ancho de la inscripción.

El archivo adjunto contiene todos los archivos necesarios para montar el reloj;

Archivo del artículo.

Si tienes alguna duda sobre el diseño del reloj, pregúntala en el foro, intentaré ayudarte y responder tus dudas en la medida de lo posible.

Este despertador se basa en un chip de reloj en tiempo real, lo que le permite funcionar desde una fuente de alimentación de respaldo en ausencia de la principal. La hora de alarma configurada y el modo de funcionamiento se almacenan en la memoria no volátil del microcontrolador. Modo de visualización: 24 horas. Contiene imitación de "tictac". El tiempo y los modos de funcionamiento se indican mediante indicadores LED.

Principio de funcionamiento

La base de este reloj es el microcircuito DS1307, un reloj en tiempo real que intercambia información con el controlador a través de una interfaz I2C. La indicación del tiempo se realiza a través de 4 indicadores de 7 segmentos que funcionan en modo dinámico. La entrada y ajuste de la hora se realiza mediante 5 botones: “+ minutos”, “+ horas”, “set”, “alarma” y “reset”. La señal de sonido del despertador se emite a través de un emisor piezoeléctrico estándar y es una señal con una frecuencia de 1 kHz con pausas de segundos.

Se eligió Atmega48 como microcontrolador de control debido a su disponibilidad y la presencia de los periféricos necesarios a bordo (incluso en exceso). El reloj en tiempo real DS1307 está conectado a las salidas de hardware I2C del microcontrolador de control. Para operar el DS1307 en modo autónomo (en caso de un corte de energía en el controlador principal), se utiliza una batería de litio de 3 V como energía de respaldo, que durará varios años debido al bajo consumo de energía del microcircuito.

Echemos un vistazo más de cerca al programa de control:

El programa funciona según el principio de una máquina con temporizador de banderas: todos los estados y eventos se representan en forma de banderas correspondientes, ejecutadas en interrupciones de los temporizadores correspondientes de 1s, 1ms y 263,17ms. El programa utiliza 2 temporizadores de hardware.

Se sondea el chip del reloj y se presionan los botones en un intervalo de 263,17 ms. El intervalo de 1 ms se utiliza para generar la señal de sonido de campana y 1 s para modularla. El segundo intervalo también controla el parpadeo del punto en el segundo dígito del indicador, separando horas y minutos y también sirviendo como formación de un “tick”.
Veamos el diagrama esquemático del reloj.

Designaciones y denominaciones:
S4 - Aumento del reloj
S3 - Aumentar minutos
S2 - Instalación
S1 - Enciende la alarma
S5 - Restablecer

R6-R10-10k
R1-R5 - 510 ohmios

Tensión de alimentación: 5 voltios.

Configuración y uso

Un reloj correctamente ensamblado no requiere ajustes adicionales. Solo necesita configurar la hora actual y la alarma.
La configuración de la hora actual es la siguiente:
1) Utilice los botones S1 y S2 para configurar la hora actual (el punto entre los dígitos no parpadea)
2) Iniciar el reloj con el botón S3
Configurar la alarma:
1) Presione S3 y asegúrese de que el punto en el primer dígito se ilumine
2) Configure el tiempo de llamada usando los botones S1 y S2
3) Encienda la llamada usando el botón S4
Características adicionales:
Active el tictac: mantenga presionado S4 y presione S2 hasta que aparezcan los sonidos característicos. Se apaga de la misma manera.
Muestra minutos y segundos: mantenga presionado S4 y presione S1. Si presiona S3 después de esto, los segundos se restablecerán a 00. Regresar: la misma combinación.

Fotos y vídeos de relojes.

El reloj está montado en una caja hecha de “electrónica” que no funciona.


Ofrezco dos circuitos muy simples para el autoensamblaje, a saber, un reloj en un microcontrolador PIC y AVR. La base de un circuito es el microcontrolador AVR Attiny2313 y el otro es PIC16F628A.

Estos circuitos de reloj en un microcontrolador ayudarán enormemente a los radioaficionados novatos a comprender los problemas de funcionamiento y programación de los microcontroladores.

Echemos un vistazo más de cerca a este circuito simple: la energía puede provenir de tres baterías AA o de


El microcontrolador Attiny2313 tiene una frecuencia de reloj de cuarzo de 16 MHz. Como contador de tiempo, el circuito interno del microcontrolador utiliza un temporizador de 16 bits con un divisor por 256. Tan pronto como el contador interno cuenta hasta 625, se produce una interrupción. Por tanto, tendremos interrupciones 100 veces por segundo.

El intervalo de tiempo se tiene en cuenta en las variables globales y cada interrupción requiere que el valor de milisegundo se incremente en uno. Tan pronto como el número de milisegundos llegue a 100, deberá aumentar el valor de segundos en uno y restablecer los milisegundos a cero. Y así sucesivamente según el mismo algoritmo hasta decenas de horas, que se restablecen sólo cuando el valor llega a 24 y sin aumentar el siguiente dígito.

De acuerdo con este principio, creamos el valor de tiempo actual registrado en variables globales. Ahora necesitamos mostrar visualmente estos datos. Dado que el microcontrolador tiene un número limitado de puertos, utilizaremos una característica como la inercia del indicador de segmento digital sa15-11gwa. Los cátodos de sus indicadores están conectados en paralelo y los ánodos tienen un control independiente, lo que permite mostrar un número en cualquiera de los cuatro indicadores en cualquier momento.

Al cambiar rápidamente el puerto del microcontrolador al que están conectados todos los cátodos y cambiar rápidamente los ánodos, se crea la ilusión de que los cuatro números se muestran en el indicador de segmento, aunque en realidad solo uno de los segmentos está funcionando. Si la hora actual es 11:57, primero mostramos el número uno en el primer indicador del reloj, después de 1 ms mostramos el número 1 en el segundo indicador, después de otro 1 ms mostramos 5 en el tercer indicador, después de 1 ms mostramos 7 en el cuarto indicador y así sucesivamente cíclicamente, actualizando cada indicador después de 1 ms.

El estado de los botones de control del reloj se consulta al final de cada ciclo de visualización unas 40 veces por segundo.

Descargue el dibujo de la placa de circuito impreso realizado en el programa y el firmware para el microcontrolador desde el enlace de arriba. Y directamente sobre las complejidades del firmware, lea aquí.

Este diseño, aunque se basa en un tipo diferente de microcontrolador, no es menos complejo que el circuito anterior.


El algoritmo de funcionamiento del firmware también es sencillo; el archivo contiene comentarios muy detallados sobre el código del programa. Dos interruptores de palanca kn1 y kn2 están diseñados para corregir la hora: horas y minutos. La precisión del reloj depende de la frecuencia del cuarzo utilizado.

Estructuralmente, el reloj está fabricado sobre dos placas de circuito impreso ubicadas una al lado de la otra en un ángulo de 90 grados. El indicador está ubicado en la primera placa y todos los demás componentes electrónicos, en la segunda. La energía de respaldo la proporcionan tres baterías colocadas en un soporte hecho con un antiguo encendedor chino con un LED. Para el suministro de energía desde una red de CA, cualquier corriente de 5 V y 150 mA es adecuada.


El archivo, que puedes descargar desde el enlace verde, contiene el diseño de ambas placas de circuito impreso en el programa Sprint Layout y el firmware para el microcontrolador PIC con el código fuente del programa para MP_LAB IDE, con comentarios detallados.

Y el programa en sí también se puede encontrar aquí.

Este diseño tiene corrección digital de la precisión del trazo, así como un termómetro incorporado, que muestra alternativamente las lecturas de temperatura en la pantalla LED con la hora exacta. El diseño del reloj utiliza una memoria de microcontrolador no volátil que guarda configuraciones y configuraciones incluso cuando se pierde la alimentación externa.


Para controlar los ánodos de los indicadores LED, se utilizan interruptores de transistores según un circuito de conmutación estándar.

Al encenderlo por primera vez aparece una pantalla publicitaria en el display durante un segundo. Luego se muestra la hora. Al presionar el botón SET_TIME, el indicador cambia en un círculo desde el modo de reloj principal:

Por supuesto, en todas las celdas, manteniendo presionados los botones MÁS/MENOS se realiza una instalación acelerada. Si el usuario cambió la configuración, después de 10 segundos los nuevos valores se almacenarán en la memoria no volátil del microcontrolador y se leerán. Al actualizar el firmware MK, configúrelo de la siguiente manera:


Puede evaluar el diseño externo del dispositivo a partir de las fotografías a continuación; las costuras y los archivos adicionales para el diseño se pueden descargar desde el enlace de arriba.


Los horarios de turnos están implementados en el firmware del despertador: 4/5 (cuatro en el quinto): 4 días en 1 turno, 1 día libre, 4 días en 2 turnos, 1 día libre, 4 días por la noche, 1 día libre; – día, noche, 2 días libres; De lunes a viernes: de lunes a viernes, días laborables, sábados y domingos, cerrado; (No se tienen en cuenta los días festivos); A diario.

El propio usuario selecciona el tipo de programación de alarma y establece cualquier hora de alarma. En las opciones 4/5 y día, noche, 2 fines de semana deberás seleccionar adicionalmente el turno actual.

Además, el firmware MK implementa las siguientes funciones: transición al período verano-invierno; Ajuste de tiempo; Señal de alarma acelerada; Mostrar cero en los dígitos de la hora y la fecha

El circuito de reloj se basa en el chip de reloj DS1307 y el microcontrolador MEGA8. El circuito (colocado en el archivo con firmware MK y dibujos de la placa de circuito impreso) está diseñado para el uso de indicadores digitales de siete segmentos con un ánodo común para un voltaje de 5V. (¡ATENCIÓN! Para simplificar, las resistencias de balasto no se muestran en el diagrama. Deben instalarse en cada segmento de indicadores. Hay 112 piezas en total. El valor nominal se calcula de acuerdo con la documentación. Utilicé indicadores de segmento como fys15011 y fyd-5622 Si utiliza unos más potentes, lo más probable es que no sean necesarios interruptores de transistores adicionales.

El dibujo de la placa de circuito impreso se desarrolló para una caja existente de un viejo reloj roto. Puede conectar una carga de baja potencia al conector de alarma, por ejemplo una tarjeta musical, y usar el puente JP1 para desconectar el pitido interno. El microcontrolador se puede flashear directamente en la placa, lo que simplifica enormemente la configuración en caso de modificación del diseño.

Poniendo el reloj
Para hacer esto, debe ingresar al modo de configuración de parámetros:
Parámetro-Valor-Guardar en memoria
P.01 - RELOJ [-]
P.02 - MINUTOS [-]
P.03 - DÍA [-]
P.04 - MES [-]
P.05 - AÑO [-]
R.06 - Tipo de alarma [+] (1-4/5; 2-5/8; 3 horarios ferroviarios; 4 diarios)
P.07 - CAMBIAR [+]
P.08 - Brote.1.HH [+]
P.09 - Brote.1.MM [+]
P.10 - Brote.2.CHH [+]
P.11 - Brote.2.MM [+]
P.12 - Brote.3.CHH [+]
P.13 - Brote.3.MM [+]
P.14 - Ajuste (D.H) [+]
P.15 - Periodo verano/invierno [+]
P.16 - Avisador acústico de aceleración [+]
P.17 - Visualización del cero inicial en el dígito de la hora [+]
P.18 - Mostrar cero a la izquierda en el dígito de fecha [+]

Configuración de alarma: Botón Encendido/Activado Alarma. - Se realiza On/On, en este caso: Con alarma tipo 1: Alarma 1 - 1er turno; Bud.2 - cambio; Bud.3 - 3er turno;
Horario de turnos: 1,2,3,4 - primer turno; 5 - día libre; 6,7,8,9 - segundo turno; 10 - día libre; 11,12,13,14 - 3er turno; 15.16 - día libre; Luego los días se repiten.
Con el primer tipo de alarma 2: Alarma 1: establece la hora de la alarma; Bud.2, Bud.3 - no funciona; Horario de turnos: Días laborables.
Con el tercer tipo de alarma: Alarma 1: se establece la hora del día; Bud.2: establece la hora por la noche; Bud.3 - no funciona;
Horario de turnos: – día, noche, 2 días libres;. Cuando el tipo de alarma es 4 Alarma 1, Alarma 2, Alarma 3, se configura la hora; Si planeas usar solo un despertador, configura las horas de tres a la misma hora.
Con horario de turnos: Diario. Si presiona los botones Alarma apagada. En el modo de configuración de parámetros, se saldrá de la configuración sin guardarla.
Ajuste: Al realizar ajustes se utiliza el siguiente método: +/- Ch.D, donde: Ch es el número de segundos ajustados por hora (máximo 9). D - segundos ajustados por día. ¡ATENCIÓN! No se realizan ajustes cuando se apaga la alimentación. Al encenderlo comprueba que la hora es la correcta.

Propongo repetir el circuito del reloj electrónico en el microcontrolador ATmega 8, con información mostrada por LED grandes. Reloj funcional, probado. El firmware se está ultimando actualmente. Se está haciendo un tablero más grande, que estará a una distancia de 5 metros del bloque principal. También habrá una indicación en el bloque principal: para duplicar el tablero grande. El diagrama esquemático del reloj LED se muestra en la figura; haga clic para ampliar.

Descripción del dispositivo

1. Funciones.
1.1 Reloj. El formato de visualización de la hora es de 24 horas. Corrección digital de la precisión del trazo.


1.2 Termómetro. Medición de temperatura mediante dos sensores en el rango -55,0 oC - 125,0 oC.


1.3 Visualización alternativa de información en el indicador.
1.4 Control de la fuente de energía principal.
1.5 Uso de la memoria no volátil del microcontrolador para guardar configuraciones y configuraciones cuando se apaga la alimentación.
1.6 Tres botones para instalación y configuración: MÁS, MENOS, COLOCAR.

Operación del dispositivo

Al encenderlo por primera vez aparece en la pantalla un salvapantallas publicitario durante 1 segundo. Luego se muestra la hora.
Hacer clic en FIJAR_HORA mueve el indicador en un círculo desde el modo de reloj principal (mostrando la hora actual):
– modo de visualización de minutos y segundos. Si en este modo presionas simultáneamente el botón MÁS Y MENOS, los segundos se pondrán a cero.
– configurar los minutos de la hora actual.
– configurar el reloj horario actual.
– la cantidad de corrección diaria de la precisión del reloj. Símbolo c y valor de corrección. Establecer límites -25?25 seg. El valor seleccionado se sumará/restará de la hora actual todos los días a las 0 horas 0 minutos y 30 segundos.
- símbolo t. Establezca la duración de la visualización del reloj.
- símbolo i. Tiempo de visualización para los símbolos de visualización de temperatura interna ( entero).
- símbolo d. configurar el tiempo de indicación de temperatura desde el sensor interno.
- símbolo oh. Tiempo de visualización de los símbolos de indicación de temperatura externa ( afuera).
- símbolo tu. Configuración del tiempo de indicación de temperatura desde un sensor externo.
- símbolo PAG. configurar el tiempo de visualización del protector de pantalla publicitario.
Configuración de límites para el tiempo de visualización 0-60 seg. Si se establece en 0, este parámetro no se muestra en el indicador. Si todos los parámetros están configurados en 0, el indicador mostrará un reloj.

Poniendo el reloj

3.1 En todos los modos, mantenga presionados los botones MÁS/MENOS Se realiza una instalación rápida.
3.2 Si se han cambiado las configuraciones, 10 segundos después del último cambio, los nuevos valores se escribirán en la memoria no volátil (EEPROM) y se leerán desde allí cuando se vuelva a encender la alimentación. El indicador cambiará al modo de hora principal.
3.3 Las nuevas configuraciones entran en vigor durante la instalación.

control de potencia

El microcontrolador monitorea la presencia de energía principal. Cuando está apagado, el dispositivo se alimenta desde una fuente interna. Para reducir el consumo de corriente, el indicador, los sensores y los botones están apagados. El reloj sigue contando el tiempo. Cuando se suministra energía desde la fuente principal, se restablecen todas las funciones.


Actualmente se están desarrollando placas de circuito impreso, se está corrigiendo el circuito y esto se puede hacer de forma colectiva. Si tienes ideas y sugerencias para mejorar el reloj, escribe en el foro. Autores del diseño: Aleksandrovich & SOIR (Soir&C.E.A)




Arriba