You are on page 1of 5

UNIVERSIDAD ANDINA “NÉSTOR CÁCERES

VELÁSQUEZ” SUBSEDE PUNO
TEMA:
CONTROL DE NIVEL DE UN TANQUE DE AGUA
CON PIC 18F4550
PRESENTADO POR:
MICHAEL CÁCERES GARCÍA
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

INTRODUCCIÓN:

Los controladores de nivel son dispositivos cuya finalidad es la de obtener la
garantía de mantener el nivel del líquido o fluido en un rango de variación
establecido. Estos equipos son herramientas muy importantes en lo que
son procesos de producción, almacenamiento (ya sea de algún tipo de líquido o
de un sólido), etc. También se ha visto la necesidad de utilizarlos
en automatización de procesos y es que proporcionan mayor precisión en la
fabricación de piezas, llenado de envases y en nuestro caso controlar el nivel
de un tanque de almacenamiento de líquido. Mantener controlado el nivel del
líquido en los diferentes depósitos nos ayuda a
obtener información del volumen del líquido así como también el nivel de
llenado.

OBJETIVOS:

 Controlar el sistema de nivel de un depósito de agua con la finalidad de
mantener el agua en un rango en donde no pase de su nivel mínimo
pero que tampoco sobrepase el nivel máximo deseado para evitar que
desperdicie.

 Para este sistema la finalidad es mantener el depósito 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 ½”
- Potenciómetro 1k






FUNCIONAMIENTO:

 El funcionamiento del circuito comienza cuando el electrodo que indica
el nivel bajo señala un 0 lógico encendiendo el motor.
 Cuando el electrodo de nivel bajo señala un 1 lógico 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 lógico 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
pequeño delay para evitar que el balanceo del agua por la presión 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 alimentación del
protoboard, cancelando el funcionamiento del PIC y demás.

Al conectar el PIN 4 del MOC3021 al PIN T1 del TRIAC BT136 el
sistema comienza a funcionar correctamente como es deseado, pero
eso sólo sucede si se mantiene la doble conexión (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 Cáceres García
Jordy Cristian Condori Mamani
Cristhians Joshep Vilca Barreda

DOCENTE A CARGO DEL PROYECTO:
Ing. Jhon Carlos Quispe Chambi
INGENIERÍA MECTRÓNICA EN CAMINO HACIA EL ÉXITO
PUNO - PERÚ - 2014
SÉPTIMO 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)