Temporizador de Cargas Monofásicas con Pic

11
Trabajo Práctico de Electrónica Temporizador de Cargas Monofásicas con Pic Electricidad e Informática Industrial 2012 ITU

description

Temporizador de Cargas Monofásicas con Pic

Transcript of Temporizador de Cargas Monofásicas con Pic

Page 1: Temporizador de Cargas Monofásicas con Pic

Trabajo Práctico de Electrónica

Temporizador de Cargas Monofásicas con Pic

Electricidad e Informática Industrial2012ITU

Javier Chiappa

Page 2: Temporizador de Cargas Monofásicas con Pic

En este proyecto el objetivo es poder controlar una carga monofásica de alto consumo. Por ejemplo artefactos eléctricos hogareños como calefones, estufas, lámparas, etc.

La necesidad de crear este proyecto está dada por la falta de un temporizador para el nivel hogareño. En el mercado podemos encontrar temporizadores para aplicaciones industriales, que son muy caros, como estos:

También podemos encontrar dispositivos para encender o apagar luces a determinada hora, como estos:

Estos dispositivos son más económicos, pero sólo funcionan si especificamos la hora a la que vamos a encender el equipo. En artefactos de alto consumo para calefacción, no podemos determinar precisamente la hora a la que los vamos a encender. Usualmente se activan cuando se van a usar. Lo que necesitamos es poder controlar cuanto tiempo van a quedar encendidos, por ejemplo, en el caso de una estufa, la activamos antes de ir a dormir y queremos que se mantenga encendida durante 1 hora y 30 minutos.

Page 3: Temporizador de Cargas Monofásicas con Pic

Este dispositivo está diseñado para hace específicamente eso, mantener un relay activado durante un tiempo determinado y luego interrumpir el flujo de corriente.

El método de funcionamiento es el siguiente:

Tenemos 3 botones y 2 leds, como se detalla en el panel:

Si queremos programar 1 hora y 40 minutos, hacemos lo siguiente:

Presionamos una sóla vez en el boton “+1 Hora” y cuatro veces el boton “+10 Minutos”. Luego presionamos el boton “Encender/Apagar”.

Una vez que cargamos el tiempo y presionamos el botón, destellan los leds indicadores para confirmar el tiempo que hemos cargado. En este caso, enciende una vez el led “Horas” y cuatro veces el led “Minutos”. Luego enciende el relay y se mantiene así durante el periodo de tiempo mencionado.

En cualquier momento mientras está encendido, o si nos equivocamos al cargar el tiempo, podemos volver a presionar el boton “Encender/Cancelar” y el dispositivo automáticamente interrumpe el relay y vuelve al estado inicial.

El Código fuente se realizó en el compilador PIC Simulator IDE de Oshonsoft. Este programa incluye un compilador de BASIC y un

Page 4: Temporizador de Cargas Monofásicas con Pic

simulador del microchip. Una vez que nuestro programa funciona correctamente, produce un archivo .hex que se carga en el PIC 12f629 mediante el Programador USB ORION:

De la empresa RDSS Electrónica, usando el software que provee la compañía que fabrica el microcontrolador, que se llama “PICkit 2 Programmer”:

Una vez realizado este proceso ya tenemos el microcontrolador listo para funcionar.

Page 5: Temporizador de Cargas Monofásicas con Pic

Código Fuente del Microcontrolador:

Symbol canal0 = GPIO.0Symbol canal1 = GPIO.1Symbol canal2 = GPIO.2

Symbol pulsador_go = GPIO.5Symbol pulsador_horas = GPIO.4Symbol pulsador_minutos = GPIO.3

AllDigital

TRISIO = %111000 'GPIO: 0 = salidas

'Define SIMULATION_WAITMS_VALUE = 1

Dim tiempo As WordDim rebote As WordDim horas As WordDim minutos As WordDim segundos As WordDim salida As BitDim bucle As WordDim cuenta As WordDim activado As Bit

Gosub setea_variables

'bucle principalmain:

Gosub leer_botones

Goto main

End

setea_variables:

bucle = 0tiempo = 290 rebote = 200salida = 0

Page 6: Temporizador de Cargas Monofásicas con Pic

horas = 0minutos = 0segundos = 0canal1 = 0canal2 = 0canal0 = 0cuenta = 0activado = 0

Return

blink: 'subrutina que cuenta el tiempo y mantiene el relay prendido

canal2 = 1 'enciende el relay

segundos = (minutos * 600) + (horas * 3600)

For bucle = 0 To segundos Step 1

WaitMs tiempo canal0 = 0WaitMs tiempocanal0 = 1WaitMs tiempocanal1 = 0WaitMs tiempocanal1 = 1

If pulsador_go = 1 And activado = 1 Then WaitMs reboteWhile pulsador_go = 1

WaitMs reboteWendminutos = 0horas = 0canal2 = 0 'apaga el relayactivado = 0Gosub setea_variablesGoto main

Endif

Next bucle

cuenta = 0segundos = 0activado = 0bucle = 0canal1 = 0canal2 = 0 'apaga el relay

Page 7: Temporizador de Cargas Monofásicas con Pic

canal0 = 0minutos = 0horas = 0Return leer_botones:

If pulsador_horas = 1 ThenWaitMs reboteWhile pulsador_horas = 1

WaitMs reboteWendhoras = horas + 1

Endif

If pulsador_minutos = 1 ThenWaitMs reboteWhile pulsador_minutos = 1

WaitMs reboteWendminutos = minutos + 1

Endif

If pulsador_go = 1 Thenactivado = 1WaitMs reboteWhile pulsador_go = 1

WaitMs reboteWend

Gosub mostrar_seleccionEndif

Return

mostrar_seleccion:

For bucle = 1 To horas Step 1canal0 = 1WaitMs 500canal0 = 0WaitMs 500

Next bucle

For bucle = 1 To minutos Step 1canal1 = 1WaitMs 500canal1 = 0WaitMs 500

Next bucle

Page 8: Temporizador de Cargas Monofásicas con Pic

bucle = 0

Gosub blink

Return

Diagrama de conexiones:

Distribucion de puertos de E/S del PIC 12F629:

Page 9: Temporizador de Cargas Monofásicas con Pic

Diagrama de conexiones de la fuente de alimentación:

En esta fuente, la salida de 12V sólo se usa para comandar el relay, por lo tanto no necesita estar estabilizada. La salida de 5V se usa para alimentar el circuito y es regulada por un integrado 7805.