TEMA: CONTROL DE NIVEL DE UN TANQUE DE AGUA CON PIC 18F4550 PRESENTADO POR: MICHAEL CCERES GARCA CRISTHIANS VILCA BARREDA JORDY CONDORI MAMANI DOCENTE A CARGO: ING. JHON CARLOS QUISPE CHAMBI CURSO: MICROPROCESADORES Y MICROCONTROLADORES II SEMESTRE: VII
PUNO PER MAYO DEL 2014
CONTROL DE NIVEL DE AGUA CON EL PIC 18F4550
INTRODUCCIN:
Los controladores de nivel son dispositivos cuya finalidad es la de obtener la garanta de mantener el nivel del lquido o fluido en un rango de variacin establecido. Estos equipos son herramientas muy importantes en lo que son procesos de produccin, almacenamiento (ya sea de algn tipo de lquido o de un slido), etc. Tambin se ha visto la necesidad de utilizarlos en automatizacin de procesos y es que proporcionan mayor precisin en la fabricacin de piezas, llenado de envases y en nuestro caso controlar el nivel de un tanque de almacenamiento de lquido. Mantener controlado el nivel del lquido en los diferentes depsitos nos ayuda a obtener informacin del volumen del lquido as como tambin el nivel de llenado.
OBJETIVOS:
Controlar el sistema de nivel de un depsito de agua con la finalidad de mantener el agua en un rango en donde no pase de su nivel mnimo pero que tampoco sobrepase el nivel mximo deseado para evitar que desperdicie.
Para este sistema la finalidad es mantener el depsito con agua de manera automatizada.
COMPONENTES DEL SISTEMA:
- PIC 18F4550 - Protoboard - Cables - Resistencias - MOC 3021 - Triacs BT136 - LM 325 - 2 Baldes (Pozo y Tanque) - Bomba de 0.5hp - Tubos de y 1 - Codos de - Potencimetro 1k
FUNCIONAMIENTO:
El funcionamiento del circuito comienza cuando el electrodo que indica el nivel bajo seala un 0 lgico encendiendo el motor. Cuando el electrodo de nivel bajo seala un 1 lgico encender un LED rojo que indica el nivel bajo, sin afectar el funcionamiento del motor Cuando el nivel del agua llegue al segundo electrodo, el cual indica un nivel medio, enviar un 1 lgico al PIC mediante el integrado LM324 encendiendo un LED anaranjado que indica el nivel medio sin afectar al funcionamiento del sistema. Cuando el nivel del agua llegue al nivel del tercer electrodo, se dar un pequeo delay para evitar que el balanceo del agua por la presin de llegada active y desactive el sistema, se encender un LED verde que indica el nivel lleno, al mismo tiempo se encender un buzzer y desactivar la bomba. Si el nivel del agua llega hasta el nivel alto el llenado del tanque ha terminado y se proceder con el vaciado del mismo, apagando el buzzer y luego llegando a un nivel medio, luego un nivel bajo y terminar con el reinicio del funcionamiento del sistema.
PROBLEMAS DEL CIRCUITO:
Al conectar el PIN 4 del MOC3021 al PIN G del TRIAC BT136 el sistema deja de funcionar correctamente, cortando la alimentacin del protoboard, cancelando el funcionamiento del PIC y dems.
Al conectar el PIN 4 del MOC3021 al PIN T1 del TRIAC BT136 el sistema comienza a funcionar correctamente como es deseado, pero eso slo sucede si se mantiene la doble conexin (resistencia de 330ohmnios y el cable), en caso de que el cable sea retirado la resistencia no soportar toda la carga y se encender en llamas como se puede ver en el video001.
DESARROLLO DEL PROGRAMA EN CCS:
#include <18F4550.h> #fuses HS,NOWDT,NOPROTECT,PUT,NOLVP,NODEBUG,CPUDIV1, NOVREGEN,NOMCLR #use delay(clock=20000000) /*PROGRAMACION REALIZADA POR EL GRUPO INTEGRADO POR LOS SIGUIENTES ESTUDIANTES: Michael Francisco Cceres Garca Jordy Cristian Condori Mamani Cristhians Joshep Vilca Barreda
DOCENTE A CARGO DEL PROYECTO: Ing. Jhon Carlos Quispe Chambi INGENIERA MECTRNICA EN CAMINO HACIA EL XITO PUNO - PER - 2014 SPTIMO SEMESTRE */ void main() { set_tris_b(0b00001111);//Configura las entradas y salidas del puerto B output_B(0x00); //Pone las salidas del puerto B en 0 while(1) //Bucle infinito { if(input(PIN_B2)==1)//Si se detecta nivel alto { delay_ms(1000); //Retraso para evitar el balanceo del agua output_high(PIN_B3);//LED de nivel alto encendido output_low(PIN_B7);//Motor apagado output_low(PIN_B6);//LED de nivel bajo apagado output_low(PIN_B5);//LED de nivel medio apagado output_high(PIN_B4);//Buzzer encendido } else //Si no se detecta nivel alto { output_low(PIN_B3);//LED de nivel alto apagado output_low(PIN_B4);//Buzzer apagado if(input(PIN_B1)==1)//Si se detecta nivel medio { output_high(PIN_B5);//LED de nivel medio encendido output_low(PIN_B6);//LED de nivel bajo apagado } else //Si no se detecta nivel medio { if(input(PIN_B0)==1)//Si se detecta nivel bajo { output_high(PIN_B6);//LED de nivel bajo encendido output_low(PIN_B5);//LED de nivel medio apagado }
else //Si no se detecta nivel bajo { output_low(PIN_B6);//LED de nivel bajo apagado output_high(PIN_B7);//Motor encendido } } } } }
DIAGRAMA EN PROTEUS DEL SISTEMA DE CONTROL DE NIVEL DE AGUA (FORMA REDUCIDA)