Sei sulla pagina 1di 11

UNIVERSIDAD NACIONAL DE INGENIERIA

Abastecimiento automtico de agua potable


Urbanizacin Vivo Feliz

Kevin Nelson Quionez Mercado Norlan Benito Vlchez Francisco Telmaco Lpez Daz Ismael Garca Snchez

Este proyecto se desarrolla con la finalidad de abastecer del vital lquido a mas de 50 hogares de la urbanizacin Vivo Feliz, mediante el uso de la interfaz grafica labview y el uso de micro controladores.

Objetivo General
Implementar el prototipo de un sistema automatizado de abastecimiento de agua potable para distribuir el vital lquido a la urbanizacin Vivo Feliz

Objetivos Especficos
Censar el nivel de agua potable del tanque por medio de un sensor ultrasnico. Mostrar a travs del interfaz grafico Labview el nivel de llenado de una cisterna. Disear el sistema de automatizacin de la bomba encargada de llenar la cisterna. Presentar mediante una pantalla la cantidad de lquido contenido en la cisterna.

Antecedentes
La empresa urbanizadora Casa del futuro requiere garantizar el servicio de agua potable a las 50 casas residenciales del reparto Vivo feliz.

Actualmente el de almacenamiento de agua potable cuenta con una cisterna de 5 metros de largo, 5 metros de ancho y 2 metros de alto. Para llenar la cisterna, el agua es extrada de un pozo, se cuenta con una bomba la cual, a la fecha, es actuada manualmente por un operador. Este operador enciende la bomba si la cisterna se encuentra en el nivel inferior y la apaga cuando el nivel del lquido alcanza el lmite superior.

Con frecuencia, debido entre otras cosas a la ausencia del operador, suceden dos cosas; la cisterna queda vaca lo cual implica reclamos por parte de los habitantes o el nivel mximo es rebasado lo que se traduce en desperdicio del vital lquido.

Es por esta razn que el gerente de la urbanizadora se ve en la obligacin de mejorar el sistema de abastecimiento de agua potable para evitar los constantes reclamos y quejas de los usuarios.

Introduccin

A partir de sta problemtica, el gerente de la urbanizadora, con el objetivo de garantizar el vital lquido as como evitar el desperdicio del mismo, ha solicitado cotizaciones para la automatizacin del sistema y entre otras cosas pide que el sistema sea capaz de: Automticamente encender y/o apagar la bomba cuando el nivel del lquido se encuentre en los lmites establecidos. Tambin le interesa tener la posibilidad de cambiar los lmites inferiores y superiores, en caso de ser necesario, desde una interface ubicada en un lugar apropiado. Se deben tomar todas las precauciones necesarias a fin de evitar el dao de la bomba. Mostrar en un display, lo suficientemente grande para ver los nmeros desde una distancia de 10 metros, la cantidad de galones disponibles en la cisterna. Indicar el nmero de galones consumidos diariamente as como el total durante la semana.

Atendiendo a esta solicitud, tenemos la obligacin de disear un sistema que sea capaz de abastecer de agua potable a las 50 viviendas de la urbanizacin sin que ningn operador este pendiente del proceso.

Este es un proyecto de fin de curso determinado en la asignatura de maquinas computadoras I, mediante el cual se introduce al estudiante la utilizacin de los microcontroladores los cuales facilitan el control, monitoreo y registros de variables externas las que son procesadas para luego dar un control a las variables censadas, adems este proyecto se realiza para averiguar la interaccin entre el software Labview y sus beneficios.

Diagrama de bloques del Sistema

Labview Registro de datos Hojas de excel Set Point High-Low level

C Sensor Ultrasnico Circuito de potencia

Bomba Elctrica Circuito de control

Diagrama de bloques de la programacin


INICIO Si Declarar libreras Del LCD y PIC Enciende Bomba No Definir pines de: Trigger, Echo, Accionamiento de la bomba, Nivel low (x), Nivel High (y). Apaga Bomba Inicializar LCD no si Capacidad<=x Capacidad<=x

Imprime Pantalla de Bienvenida

Habilita el Timer_1

Enva Disparo al trigger

Inicializa el Timer_1 Desde 0

Lee Pin Echo o salida del Sensor

Guarda lectura del echo

Calcula Nivel en litros

Imprime la Capacidad en litros

Funcionamiento del proyecto


Bsicamente, el proyecto se reduce a censar una variable, en este caso el nivel de agua, procesarla y luego mandar una orden para controlar el nivel a travs de los actuadores.

Comencemos por la adquisicin de la variable. Para censar el nivel de agua se utilizara un sensor ultrasnico HC-SR04, este es necesario para censar el nivel de forma continua. El sensor enva un pulso de 5 volts con una especfica duracin en correspondencia al nivel de agua que tiene el tanque.

Luego, la seal que enva el sensor ser procesada a travs de un micro controlador de la familia 18F4455, se escogi esta familia de micro controlador por qu se puede comunicar con la computadora por medio de los protocolos USB, en nuestro proyecto usaremos comunicacin USB CDC (Class Device Communication). El micro controlador es el encargado de procesar la informacin enviada por el sensor y de controlar el nivel, y as, evitar que el nivel de agua rebase la capacidad del tanque o quede totalmente vaco. Todo esto se logra por medio a la previa programacin del integrado realizada en lenguaje C y compilada a travs del programa CCS.

El actuador, es el encargado de permitir el flujo de agua hacia dentro del tanque, este recibe una seal proveniente del micro controlador que luego es procesada por un circuito de potencia, este circuito de potencia abastecer el suficiente voltaje y corriente para alimentar el solenoide.

Posteriormente, el micro controlador deber enviar los datos obtenidos hacia un interfaz grafico en el cual el usuario podr observar el comportamiento del sistema, el interfaz que utilizamos es el laboratorio virtual de National Instruments conocido como LAVBIEW, en este fue necesario programar en lenguaje G en conjunto con los mdulos de visa para poder obtener la informacin proveniente del micro controlador.

Este sistema cerrado de abastecimiento de agua ser capaz de trabajar por largas jornadas sin consumir tanta energa y lo ms importante sin ningn tipo de trabajo humano.

Programacion en CCS
//Prueba de la programacion con modulo de USB y bootloader #include "18F4455.h" #fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN #device ADC = 8; //setea ADC a usar 8-bits (0 - 255) #use delay(clock=48000000) //Tiempo de reloj interno #include <usb_cdc1.h> //Librerias de comunicacin USB-CDC #include <picUSB_CDC.h> #rom int 0xf00000={1,2,3,4} #include <usb_bootloader.h> //Include de la libreria para utilizar el bootloader

#define LCD_ENABLE_PIN PIN_B2 #define LCD_RS_PIN PIN_B1 #define LCD_RW_PIN PIN_B0 #define LCD_DATA4 PIN_B4 #define LCD_DATA5 PIN_B5 #define LCD_DATA6 PIN_B6 #define LCD_DATA7 PIN_B7 #include <lcd.c> /************************************************************************** /Programa para realizar la lectura del sensor Ultrasnico HC-SR04 / Pin configuration (5 pin)- VCC(+5) TRIG(Trigger pin) ECHO(Output pin) GND (Ground) / Pin configuration (4 pin)- VCC(+5) TRIG(Trigger pin) ECHO(Output pin) GND (Ground) */////////////////////////////////////////////////////////////////////////////////////////////////

float32 distancia, tiempo, altura, litros;

// Definiciones de variables

// Definiendo los pines del sensor #define trigecho pin_D6 // Pin de trigger y echo al mismo tiempo #define bomba pin_D7 //Pin de activacin y desactivacin de la bomba void main() { usb_cdc_init(); usb_init(); lcd_init(); // inicializacin del LCD

output_d(0); printf(LCD_PUTC, "\f UNI-4T1-EO \n DETECTOR NIVEL ");// Mensaje de inicializacin del sistema delay_ms(1000); // Delay de arranque

setup_timer_1(T1_INTERNAL|T1_DIV_BY_8); // Enable del timer 1, T1 interno de 20MHZ //Con T1_DIV_BY_8 el contador incrementa cada 1.6uS y cada 104ms overflow while(true) { delay_ms(200); set_tris_d(0x00); //pone los pines D como salidas output_high(trigecho); // Pulso corto al sensor delay_us(5); // Enviando pulso de 5uS output_low(trigecho); //Vuelve a estado bajo delay_us(100); while(!input(trigecho)) {} set_timer1(0); // Ciclo que espera el estado alto del pin eco o salida

// Inicializa el contador timer1 en 0

while(input(trigecho)) {}

// Espera por el estado alto del pin eco

usb_task(); //Inicia tarea USB if(usb_enumerated()) //Condicion de comunicacin { tiempo=get_timer1(); // Instruccin que obtiene el tiempo del pulso altura=(11.75-(tiempo*11.75/2524))+5.25; //Calculo de altura distancia=(tiempo*10)/2198 ; // Calculando la distancia

if(altura<16.25){ litros=((altura-5.25)*3.785/1.22)+11.36; printf(lcd_putc, "\fMEDIDA CAPACIDAD"); printf(LCD_PUTC, "\nlitros = %f lt",litros); // Imprimiendo el nivel en litros printf(usb_cdc_putc,"%fu ",litros); // Enva dato de litraje a la PC

delay_ms(1000); } else { printf(lcd_putc, "\fMEDIDA CAPACIDAD"); printf(LCD_PUTC, "\nlitros = %f lt",litros); // Imprimiendo el nivel en litros printf(usb_cdc_putc,"%fu ",litros); // Imprimiendo el nivel en el USB delay_ms(1000); } } if(litros<=11.36 | litros==45.51) // si el nivel < a 11.36litros enciende bomba output_high(bomba); if(litros>=29.2) //si el nivel>= a 29.2 litros apaga bomba output_low(bomba); } }

Metodologa de trabajo
El mtodo de trabajo a efectuar consistir en buscar primeramente los conocimientos necesarios sobre los procesos de adquisicin de las variables, as como la utilizacin del software adems se deber contar con los conocimientos necesarios para crear la programacin del micro controlador. Posteriormente el diseo del sistema del control y monitoreo mediante la informacin obtenida al trabajar con el software, los pasos a seguir en el diseo del sistema se realiza de manera grupal segn cada quien aporte ideas, siendo tambin auto-crticos y auto didactas pero tambin advocndonos al profesor. Cada da que fuese necesario, de manera grupal comentar y hablar sobre los avances a presentar as como posibles modificaciones para la mejora del proyecto.

Cronograma de actividades
Abril S4 Mayo S2 S3 Junio S2 S3 julio S1 S2

Actividades Investigar sobre Labview Investigar sobre al sistema a disear Proporcionar ideas de los integrantes del grupo Diseo del sistema Revisiones, hacer correccin Presentacin del diseo

S1

S4

S1

S4

Resultados Obtenidos
Logramos implementar un prototipo que se asemeja a lo inicialmente pretendamos realizar. Se tomo mucho en cuenta que necesitbamos hacer un diseo a escala para hacer la presentacin del proyecto por lo que se tomo la decisin de realizar una serie de modificaciones.

Inicialmente se pretenda utilizar una bomba para extraer agua de un pozo, en el diseo a escala esta no fue necesaria y decidimos reemplazarla por una vlvula solenoide, que se conecta directamente al caudal de agua potable.

La presentacin de la capacidad del tanque se presentara en un arreglo de leds lo suficientemente grandes para poder ser vistos a una distancia de 10 metros, en lugar de eso reemplazamos ese medio por un display lcd de 16x2.

Por problemas tcnicos tuvimos, obligatoriamente, que cambiar el modelo de sensor que tenamos previsto usar (HC-SR04) por un ping de parallax el cual se asemeja un poco al sensor original.

Logramos disear una interfaz grafica para que el usuario pueda monitorear el nivel del tanque por medio de la computadora a travs programa LABVIEW. Adems conseguimos mostrar los registros de las mediciones del sensor. Lastimosamente, por falta de tiempo, no logramos concluir la etapa en la que el usuario puede modificar los lmites superior e inferior por medio del software.

Bibliografa
[1] Comunicacin Serial Utilizando LabVIEW con un Microcontrolador. National Instrument, disponible en: http://zone.ni.com/devzone/cda/tut/p/id/7907 [2] Compilador C CCS y simulador PROTEUS para microcontroladores PIC. Eduardo Garcia Breijo. [3] Manual de usuario del compilador PCW de CCS. Andrs Cnovas Lpez. [4] PIC 18F4455 Datasheet. [5] HC-SR04 Datasheet.

Potrebbero piacerti anche