96490159 abastecimiento automatico de agua potable libre

11
UNIVERSIDAD NACIONAL DE INGENIERIA Abastecimiento automático de agua potable Urbanización DzVivo Felizdz Kevin Nelson Quiñonez Mercado Norlan Benito Vílchez Francisco Telémaco López Díaz Ismael García Sánchez Este proyecto se desarrolla con la finalidad de abastecer del vital líquido a mas de 50 hogares de la urbanización Viǀo Feliz, ŵediaŶte el uso de la iŶterfaz grafiĐa laďǀieǁ y el uso de micro controladores.

Upload: nallely-arroyo

Post on 20-Dec-2015

216 views

Category:

Documents


1 download

DESCRIPTION

control de bomba de agua

TRANSCRIPT

Page 1: 96490159 Abastecimiento Automatico de Agua Potable Libre

UNIVERSIDAD NACIONAL DE INGENIERIA

Abastecimiento automático

de agua potable Urbanización ╉Vivo Feliz╊

Kevin Nelson Quiñonez Mercado

Norlan Benito Vílchez

Francisco Telémaco López Díaz

Ismael García Sánchez

Este proyecto se desarrolla con la finalidad de abastecer del vital líquido a mas de 50 hogares

de la urbanización さVi┗o Felizざ, マediaミte el uso de la iミterfaz grafiIa laH┗ie┘ y el uso de micro

controladores.

Page 2: 96490159 Abastecimiento Automatico de Agua Potable Libre

Objetivo General

Implementar el prototipo de un sistema automatizado de abastecimiento de agua

potable para distribuir el vital líquido a la urbanización “Vivo Feliz”

Objetivos Específicos

Censar el nivel de agua potable del tanque por medio de un sensor ultrasónico.

Mostrar a través del interfaz grafico Labview el nivel de llenado de una cisterna.

Diseñar el sistema de automatización de la bomba encargada de llenar la

cisterna.

Presentar mediante una pantalla la cantidad de líquido contenido en la cisterna.

Page 3: 96490159 Abastecimiento Automatico de Agua Potable Libre

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 extraída 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 líquido alcanza el límite

superior.

Con frecuencia, debido entre otras cosas a la ausencia del operador, suceden dos

cosas; la cisterna queda vacía lo cual implica reclamos por parte de los habitantes o el

nivel máximo es rebasado lo que se traduce en desperdicio del vital líquido.

Es por esta razón que el gerente de la urbanizadora se ve en la obligación de mejorar

el sistema de abastecimiento de agua potable para evitar los constantes reclamos y

quejas de los usuarios.

Page 4: 96490159 Abastecimiento Automatico de Agua Potable Libre

Introducción

A partir de ésta problemática, el gerente de la urbanizadora, con el objetivo de

garantizar el vital líquido así como evitar el desperdicio del mismo, ha solicitado

cotizaciones para la automatización del sistema y entre otras cosas pide que el

sistema sea capaz de:

Automáticamente encender y/o apagar la bomba cuando el nivel del líquido se

encuentre en los límites establecidos.

También le interesa tener la posibilidad de cambiar los límites 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

daño de la bomba.

Mostrar en un display, lo suficientemente grande para ver los números desde

una distancia de 10 metros, la cantidad de galones disponibles en la cisterna.

Indicar el número de galones consumidos diariamente así como el total durante

la semana.

Atendiendo a esta solicitud, tenemos la obligación de diseñar un sistema que sea

capaz de abastecer de agua potable a las 50 viviendas de la urbanización sin que

ningún 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 utilización 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,

además este proyecto se realiza para averiguar la interacción entre el software

Labview y sus beneficios.

Page 5: 96490159 Abastecimiento Automatico de Agua Potable Libre

Diagrama de bloques del Sistema

Labview

Set Point

High-Low

level

Registro de

datos Hojas

de excel

µC

Sensor

Ultrasónico

Bomba

Eléctrica

Circuito de

potencia

Circuito de

control

Page 6: 96490159 Abastecimiento Automatico de Agua Potable Libre

Diagrama de bloques de la programación

INICIO

Si

Declarar librerías Capacidad<=x

Del LCD y PIC

Enciende Bomba

No

Definir pines de:

Trigger, Echo, Accionamiento si

de la bomba, Nivel low (x),

Nivel High (y). Capacidad<=x

Apaga Bomba

Inicializar LCD no

Imprime Pantalla de

Bienvenida

Habilita el Timer_1

Envía 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

Page 7: 96490159 Abastecimiento Automatico de Agua Potable Libre

Funcionamiento del proyecto

Básicamente, 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 través de los

actuadores.

Comencemos por la adquisición de la variable. Para censar el nivel de agua se

utilizara un sensor ultrasónico HC-SR04, este es necesario para censar el nivel de

forma continua. El sensor envía un pulso de 5 volts con una específica duración en

correspondencia al nivel de agua que tiene el tanque.

Luego, la señal que envía el sensor será procesada a través 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 comunicación USB CDC (Class Device Communication). El micro

controlador es el encargado de procesar la información 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 vacío. Todo esto se logra por medio a la previa programación del

integrado realizada en lenguaje C y compilada a través del programa CCS.

El actuador, es el encargado de permitir el flujo de agua hacia dentro del tanque, este

recibe una señal 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

módulos de visa para poder obtener la información proveniente del micro controlador.

Este sistema cerrado de abastecimiento de agua será capaz de trabajar por largas

jornadas sin consumir tanta energía y lo más importante sin ningún tipo de trabajo

humano.

Page 8: 96490159 Abastecimiento Automatico de Agua Potable Libre

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 comunicación 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 Ultrasónico 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 activación y desactivación de la bomba

void main()

{

usb_cdc_init();

usb_init();

lcd_init(); // inicialización del LCD

Page 9: 96490159 Abastecimiento Automatico de Agua Potable Libre

output_d(0);

printf(LCD_PUTC, "\f UNI-4T1-EO \n DETECTOR NIVEL ");// Mensaje de inicialización 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)) // Ciclo que espera el estado alto del pin eco o salida

{}

set_timer1(0); // 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 comunicación

{

tiempo=get_timer1(); // Instrucción 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); // Envía dato de litraje a la PC

Page 10: 96490159 Abastecimiento Automatico de Agua Potable Libre

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);

}

}

Metodología de trabajo

El método de trabajo a efectuar consistirá en buscar primeramente los conocimientos

necesarios sobre los procesos de adquisición de las variables, así como la utilización

del software además se deberá contar con los conocimientos necesarios para crear la

programación del micro controlador. Posteriormente el diseño del sistema del control y

monitoreo mediante la información obtenida al trabajar con el software, los pasos a

seguir en el diseño del sistema se realiza de manera grupal según cada quien aporte

ideas, siendo también auto-críticos y auto didactas pero también advocándonos al

profesor. Cada día 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

Actividades Abril Mayo Junio julio S4 S 1 S2 S3 S4 S1 S2 S3 S4 S1 S2

Investigar sobre Labview Investigar sobre al sistema a

diseñar

Proporcionar ideas de los integrantes del grupo

Diseño del sistema Revisiones, hacer corrección

Presentación del diseño

Page 11: 96490159 Abastecimiento Automatico de Agua Potable Libre

Resultados Obtenidos

Logramos implementar un prototipo que se asemeja a lo inicialmente pretendíamos

realizar. Se tomo mucho en cuenta que necesitábamos hacer un diseño a escala para

hacer la presentación del proyecto por lo que se tomo la decisión de realizar una serie

de modificaciones.

Inicialmente se pretendía utilizar una bomba para extraer agua de un pozo, en el

diseño a escala esta no fue necesaria y decidimos reemplazarla por una válvula

solenoide, que se conecta directamente al caudal de agua potable.

La presentación de la capacidad del tanque se presentaría 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 técnicos tuvimos, obligatoriamente, que cambiar el modelo de sensor

que teníamos previsto usar (HC-SR04) por un ping de parallax el cual se asemeja un

poco al sensor original.

Logramos diseñar una interfaz grafica para que el usuario pueda monitorear el nivel

del tanque por medio de la computadora a través programa LABVIEW. Además

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

límites superior e inferior por medio del software.

Bibliografía

[1] Comunicación 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. Andrés Cánovas López.

[4] PIC 18F4455 Datasheet.

[5] HC-SR04 Datasheet.