Thursday, May 9, 2013

Cisterna automatizado con sesores de nivel de agua

En este trabajo se muestra la fabricación y explicación de una cisterna de contro automático con sensores de nivel de agua magnéticos, una bomba y una electro-válvula. Todo controlado por Arduino.

Para ver el documento completo da click en el link!!

¿QUÉ ES UNA CISTERNA?



Una cisterna, también conocida como tinaco o aljibe, es un deposito donde usualmente se almacena agua o algún otro líquido. En este proyecto se simula el funcionamiento de una cisterna principal y una secundaria, con el uso de una bomba de pecera, una electroválvula y sensores de nivel de agua, por medio de un control automático.

Este proyecto fue realizado por alumnos, estudiantes de Ingeniería en Mecatrónica, para la materia de Informática Industrial.
¿CONTROL  AUTOMATICO?
En este caso, el control automático es utilizado para intervenir en el flujo de agua de cisterna a cisterna. Para esto, utilizamos tres sensores de nivel de agua, los cuales nos indican el nivel de agua de ambas cisternas, y con ello, mediante un micro-controlador controlamos la bomba de agua que surte a la cisterna secundaria y la electro-válvula que permite la salida de agua de dicha cisterna.
APLICACIÓN PRÁCTICA

El concepto de este proyecto, así como este mismo, puede ser utilizado para controlar el flujo de agua en una casa o establecimiento, previniendo su desperdicio.
¿PARA QUE SIRVE ESTO? (PROPÓSITO)

El principal propósito de este proyecto es utilizar el micro-controlador para implementar un control automático en dos cisternas. Con ello, regular el flujo de agua para evitar su desperdicio. ¿Cómo se puede hacer? Mediante el uso de tres sensores de nivel de agua, uno en la cisterna principal para ver que el agua no llegue a su nivel más bajo, para evitar el uso innecesario de energía, y otros dos en la cisterna secundaria, uno para medir el nivel más bajo, para evitar usar demasiada energía, para avisarle al usuario que el nivel de agua está bajo pero la bomba aun funciona, entre otros aspectos,  y otro sensor para medir el nivel más alto, para cuando el agua lo sobrepase, la bomba se detenga y evitar derramar agua.


COMPONENTES
1 Electroválvula
2 Resistencias de 2 kOhm
3 Sensores de nivel de agua
1 LED
1 Bomba de agua para pecera
2 Relevadores
Micro controlador (Arduino)
2 Diodos
1 Resistencia de 330Ohms
Manguera
2 Resistencias 1kOhm
2 Cubetas
2 Transistores
Cable



Ideas previas para la solución del problema:
·      Usar sensores ultrasónicos para detectar el nivel del agua en las cisternas y con ello mandar instrucciones a la bomba y a la válvula.
·      Si no encontrábamos electroválvula, utilizar un servo como compuerta de salida del agua en la cisterna secundaria.
·      Utilizar botes de 1 litro para simular  las cisternas.
·      Mediante sensores infrarrojos y una tapa flotante medir el nivel del agua.



¿CÓMO HACER EL CÓDIGO PARA CONTROL AUTOMÁTICO CON ARDUINO?


Declarar sensores y especificar el número del puerto del micro controlador donde se van a conectar.
int s1 = 5;
int s2 = 6;
int s3 = 7;
Declarar las variables de los componentes que funcionaran como salida.
int bomba = 3;
int valv = 4;
int alarm=8;
En void setup, Indicar cada componente si es entrada o salida.
pinMode(s1,INPUT);
pinMode(s2,INPUT);
pinMode(s3,INPUT);
pinMode(bomba, OUTPUT);
pinMode(valv, OUTPUT);
pinMode(alarm, OUTPUT);
Es necesario especificar una variable para indicar el estado anterior de la bomba para que funcione nuestro control como lo deseamos incialisamos el valor en 0 y lo modificamos en función deacuerdo a los valores de los sensores.
Int fbomba=0

En void loop:
Leer el valor de los sensores para crear una variable que contenga su valor.
int sens1 = digitalRead(s1);
int sens2 = digitalRead(s2);
int sens3 = digitalRead(s3);

Mandar la orden de salida para la alarma, bomba y válvula.
digitalWrite (alarm, falarm);
digitalWrite (bomba, fbomba);
digitalWrite (valv, fvalv);
Mediante una tabla de verdad, se crean funciones para indicar con que circunstancias debe prender o no la bomba, la válvula o la alarma.

int falarm=(!sens3 && !sens2 && !sens1)||(!sens1)||(sens1 && sens3 && !sens2);
 fbomba = (fbomba && (!sens3) && sens1) || ((!sens2) && sens1 && (!sens3));
int fvalv=(fbomba && sens2)||(!fbomba && !sens3 && sens2)||(sens2 && sens1);
 CONCLUSIÓN

En este trabajo se aplican tanto  conocimientos de programación, como de electrónica y un poco de ingenio para la instalación en cubetas, etc... En conjunto dan como resultado la combinación necesaria de conocimientos para realizar un proyecto de este tipo.

La realización de proyectos, nos hace practicar lo  que se debió aprender en el salón de clase, para nosotros, el aplicar nuestros conocimientos, nos hace darnos cuenta lo necesario de tener los conocimientos de varios temas, para lograr, no solo un proyecto como este, si no,  no sería posible.

Como observación, es realmente importante conocer el funcionamiento de los componentes que vas a utilizar, para no dañar ninguno, así mismo, es esencial contemplar que a veces  no es fácil conseguirlos.

LinkDoc