Isi kandungan:

PROGRAM CIRCUITO TEMPORIZADOR BASADO EN ARDUINO: 3 Langkah
PROGRAM CIRCUITO TEMPORIZADOR BASADO EN ARDUINO: 3 Langkah

Video: PROGRAM CIRCUITO TEMPORIZADOR BASADO EN ARDUINO: 3 Langkah

Video: PROGRAM CIRCUITO TEMPORIZADOR BASADO EN ARDUINO: 3 Langkah
Video: Interrupciones por Temporizador ISR + Ejemplos | Arduino101 | Registros y Modos 2024, November
Anonim
PROGRAM CIRCUITO TEMPORIZADOR BASADO EN ARDUINO
PROGRAM CIRCUITO TEMPORIZADOR BASADO EN ARDUINO

Les voy a compartir este proyecto de utilidad en empresas de manufactura y otras en donde se requiere activar alguna máquina de manera periódica sin intervención de algún operario.

Estos sistemas ya وجود wujud komersil y son bastante robustos y económicos, pero si queremos hacerlo nosotros mismos, un poco mas económico y a nuestra manera, pues aquí les dejo una guía para ello.

Circuito temporizador de 256 tiempos desde 60 segundos hasta 4.27 horas, en intervalos de un minuto, colocados desde un minidipsw de 8P, con salida de relevador de 110 VAC @ 10A o 250v @ 7A y activación temporizada a 1, 2, 3, 4, 5, 10, 20, 30, 40, 50, 60, 120, 180, 240 y 300 segundos fijados en otro minidipsw de 4 polos utilizando un micro controlador ARDUINO NANO. Por: Luis Lapham @ lapham25 Inicio: 18/05/16 Versión 2.0: 05/07/17

Langkah 1: Explicación Del Diagrama Eléctrico

Explicación Del Diagrama Eléctrico
Explicación Del Diagrama Eléctrico

La parte más interesante del timer, pues es el programa de arduino en el que se codificarán los diferentes tiempos, de acuerdo al estado de los interruptores o minidipsw de entrada.

Diagram rajah atau perkakasan es bastante mudah dan ringkas sekarang: Diagram rajah, perisian hecho en el Eagle, podemos apuntar lo siguiente:

1.- La salida del pulso de activación es por la terminal A1 / D15 hacia un transistor, con su diodo de protección para cargas inductivas, que actúa como interruptor para activar la bobina de un relevador de 5V ya su vez su salida de 110 ó 220V.

2.- La salida A2 / D16 da el pulso de auto Reset al final del tiempo de activación para que el arduino inicie la temporización nuevamente. Perhatikan la RED de retardo formada por R18 y C1, que sirve para retardar el pulso el tiempo suficiente para el arduino lo dete en su terminal RST y se reinicie.

3.- Terminal esta misma RST va interruptor o push boton N. A. para hacer, si es necesario, una inicialización manual. Notis que el reset manual y el autoreset van en paralelo sin ningún problema de interferencia.

4.- En la terminal 4 de 5V, colocamos un puente o jumper para retirarlo en caso que se requiera cargar nuevamente el programa de la computadora al arduino.

5-. Los dipws deben de llevar las resistencias de PULL UP, en este caso de 2.2K para fijar un nivel alto 5V, en las entradas del arduino cuando cada interruptor esta abierto, cuando estos se cierran introducen un cero, drenando la corriente respiva (5V / 2, 200 ohm) resistor dichos.

6.- Como última entrada tomé A0 / D14, porque D13 hacia cosas raras y pues no la use?

Langkah 2: Código Del Timer Boleh Diprogramkan

Código Del Timer Boleh Diprogramkan
Código Del Timer Boleh Diprogramkan
Código Del Timer Boleh Diprogramkan
Código Del Timer Boleh Diprogramkan
Código Del Timer Boleh Diprogramkan
Código Del Timer Boleh Diprogramkan

En el paso 2, les comparto el programa o código en Arduino del temporizador o pemasa boleh diprogramkan.

En la primera imagen tenemos los comentarios pertinentes al programa.

En la segunda gráfica ilustramos la Decaración de variables: SET es la suma de valores ponderado del tiempo de retardo Principal, SET1 es la suma de valores ponderador para el tiempo de activación del relevador de salida. TB y TB1 son los tiempos base para los calculos, TR y TA son los tiempos de retardo y activación respectivamente y de A a L son las 12 variables asignadas a los 8 + 4 interruptores de entrada, en donde programaremos los tiempos requeridos a nuestra aplicación y damos un valor inicial a todos de cero. En la tercera imagen se presenta el SETUP en donde se decaran que pines del Arduino serán entradas y cuáles serán salidas. Me brinque el pin 13, no por superstición:(, sino por que no me funcionaba como entrada.

Para la cuarta imagen, comienza en si el programa (LOOP) e iniciamos leyendo digitalmente los interruptores del A al H, si no activamos ninguno el programa vuelve a la etiqueta nada: y vuelve a leerlos. Los que estén activados asignaran a las variables respectivas, un valor ponderado es decir, 1, 2, 4, 8, 16, 32, 64 y 128. (o sea de acuerdo a su posición). Se aplica un retardo de 100 mS a cada lectura para que el micro lea los interruptores ya estables y sin ruido de contactos.

En la quinta imagen leemos los dipsw que programan el tiempo de activación con las variables I, J, K, L que igual se asignan ponderadas, de acuerdo a la posición de cada interruptor.

Con la sexta pantalla vemos que se suman los valores ponderados y se multiplican con los tiempos base predefinidos para los dos tiempos TR y TA.

En la séptima imagen, vemos como se calculan los tiempos de activación TA, del uno al 5 son directos, es decir se multiplica la lectura de los interruptores por uno, dos, tres, cuatro o cinco segundos. De 6 en delante, hay que multiplicar por el factor necesario para obtener 10, 20, 30, 40, 50, 60, 120, 180, 240 y 300 segundos. Oleh ejemplo para obtener 10 segundos hay que multiplicar el 6 por 1.67.

Finalmente el la octava pantalla se muestra la activación del relevador y el autoreset o reset por software, para reiniciar el proceso. Espero que les sea de utilidad este programa que sé que se puede mejorar y hacer mas eficiente, y dejo en sus manos el modificarlo y superarlo.

Langkah 3: Pemprogram Del Del PCB

PCB Del Timer Boleh Diprogramkan
PCB Del Timer Boleh Diprogramkan
PCB Del Timer Boleh Diprogramkan
PCB Del Timer Boleh Diprogramkan
PCB Del Timer Boleh Diprogramkan
PCB Del Timer Boleh Diprogramkan

En esta última entrega les comparto el diseño de un PCB dobel cara untuk el sirkuit ya probado en tarjeta de experimentación o proto.

El circuito se primueba primero en PROTO o tarjeta de experimentación, en donde se pueden hacer los cambios necesarios, antes de pasar los componentses electrónicos al PCB, en la primera imagen se ve la foto de timer en el PROTOBOARD.

El tamaño de la tarjeta PCB resulta de 7 X 7 cm, y en la segunda imagen se ve la distribución de los komponen, utilizando el programa EAGLE, que es gratuito hasta tarjetas de 10 X 10 cm, creo, si ocupas mas grandes hay que perisian pagar por el.

En la tercera foto se ve la cara superior (TOP) del PCB, que debe contener el menor número de pistas posibles para tener pocos orificios con necesidad de alambre (TRUE HOLE) que conecten ambas caras.

Y en la cuarta imagen se ve la cara de abajo de la PCB. También este diseño es preliminar y se puede mejorar bastante, aunque creo que no reducir de tamaño demasiado, jejeje.

En la siguiente liga de dropbox podrás disponer de los Principales archivos del diseño para tu uso escolar o comercial, siempre citando la fuente (Ley de Weathon):

www.dropbox.com/…/dnwtb3…/AADqXDRw5WxnFFp5…

Finalmente, si la programación de micros no es lo tuyo, pues te comparto un diseño de un timer analógico, que cumple una función serupa, aunque mas Limitado en cantidad de tiempos, que el timer digital yang dapat diprogramkan.

Este timeresponde a la ultima imagen del álbum, y puedes observar que se forma de 2 circuitos LM555, autentico guerrero de la electrónica desde hace ya varias décadas, el primero se configura como multivibrador astable y genera los pulsos de disparo para el segundo que es un multivibrador monestable que genera un solo pulso de duración fija.

Entonces el primero genera el tiempo de retardo y el segundo el tiempo de activación del timer. En este diseño la clave es el transformador de acoplamiento 1: 1 de los dos Circuitos pues el monoestable solo respon a las bajadas del disparo y luego debe mantenerse en voltaje alto.

Espero que estos circuitos sean de utilidad para estudiantes y entusiastas de la electrónica y la programación, y cualquier duda o comentario lo recibiré con gusto.

Saludos y buen domingo.

Disyorkan: