Sie sind auf Seite 1von 14

Control Automtico para dos Cisternas.

Este proyecto consiste en automatizar un proceso: se tiene una cisterna principal, que a travs de una Motobomba, satisface de agua a un segundo depsito. sta a su vez, se vaca por medio de una electrovlvula. El sistema controla el flujo de agua desde la motobomba, mediante un micro controlador Arduino que tiene programado el funcionamiento. Mientras la Motobomba tenga agua suficiente suministrar al segundo depsito. Este tiene sensores que indican el nivel del agua, y al llegar al nivel alto apaga la bomba. El trabajo fue realizado por Josu Ipenza, Daniel Perales y Luis Alapizco, las actividades a realizar se repartieron de manera equitativa, de tal forma que todos pudiramos trabajar y podamos aprender en conjunto. El objetivo que nos planteamos fue el utilizar lo que aprendimos a lo largo del curso, adems de aprovechar lo que ya saba cada uno, que de esa manera, el proyecto quedar de la mejor manera posible. Aprovechamos lo que aprendimos de Arduino, adems de la parte de electrnica que se vio al comienzo del semestre, as como la creatividad que hay en cada uno para armar de la mejor y ms eficiente forma las cisternas. Este proceso es muy til en aplicaciones donde necesiten controlar el nivel, o mantenerlo regulado. Puede ser en un tinaco de las casas, en grandes empresas donde necesiten controlar los gastos de agua que hacen, en lugares donde ocupen sacar el mayor provecho al lquido que se encuentre en el contenedor. Obviamente todo esto sera a una mayor escala. El problema principal fue en que momento deba encenderse cada cosa as como que materiales podran ayudarnos para formar las cisternas, el acomodar todo de modo que quede de una manera estable, y entendible para cualquier persona ajena al proyecto Tanto la electrovlvula como la motobomba fueron programadas para que se encendieran si se cumplan ciertas condiciones, o se apagaran en otros casos. Sin embargo, si ocurre alguna anomala tal como sera que el Sensor 1 detectara algo mientras que el Sensor 2 no perciba nada, se activara una alarma, que en nuestro caso lo manejamos con una bocina que indicara que existe una falla en la lgica, por lo que tanto la motobomba como la electrovlvula se detendran. A continuacin se presenta una tabla de verdad, donde en las primeras 4 columnas se toman en cuenta las condiciones y en las ltimas dos se establece el estado en el que se encuentran la motobomba y la electrovlvula segn dichas condiciones.

COMPONENTES: Microcontrolador Arduino 2 Relevadores 1 Circuito Integrado (Darlingtons) 1 Motobomba 1 Electrovlvula 3 resistencias de 10 KOhm 2 Contenedores 1 Buzzer Alambre de Proto Baquelita Protoboard

SOURCE CODE (ARDUINO) : /**************************************************************** Programa de Arduino para el Control de Nivel Lee el dato de sensores en Cisterna Principal y Deposito Secundario y realiza las acciones necesarias en los actuadores para mantener el nivel del aguan entre los dos niveles marcados del Deposito Secundario, siguiendo las especificaciones de diseo marcados. Alumnos: Josue Ipenza Retamozo A01226226 Daniel Perales Tejeda A01226635 Luis Alapizco Dominguez A01155946 *****************************************************************/ //Constantes del programa #define pinS1 2 #define pinS2 3 #define pinS3 4 #define pinMotor 13 #define pinValvula 6 #define pinAlarma 7 //===Variables Globales=== boolean Mb = 0; boolean Ev = 0; boolean Al = 0; //===================== CODIGO DE CONFIGURACION================= void setup(){ //Configuracion de velocidad de comunicacion serial Serial.begin(9600); //Configuracion de puertos como entrada o salida: for(int i=2;i<=4;i++) pinMode(i,INPUT); for(int i=5;i<=7;i++) pinMode(i,OUTPUT); pinMode(13,OUTPUT); } //====================PROGRAMA PRINCIPAL======================== void loop(){ //Lectura de sensores: boolean s1 = digitalRead(pinS1); boolean s2 = digitalRead(pinS2); boolean s3 = digitalRead(pinS3); //Invierte la logica de los sensores

boolean S1 = !s1; boolean S2 = !s2; boolean S3 = !s3; //Realiza operaciones booleanas: Mb = (S3&(~S2)&(~S1)) | (Mb&(S3)&(~S1)); Ev = S3&S2; Al = (~S2)&(S1); //Envia seal a los actuadores: digitalWrite(pinMotor, Mb); digitalWrite(pinValvula, Ev); digitalWrite(pinAlarma, Al); //Codifica los datos y los envia por puerto serial: int valorS = Mb*1 + Ev*2 + Al*4 + S1*8 + S2*16 + S3*32; Serial.println(valorS); delay(50); }

1. Introduccin Qu es? El proyecto presentado a continuacin es un condensado de los conocimientos adquiridos durante al semestre, dicho proyecto consiste en la manipulacin automatizada de un par de cisternas, primaria y secundaria, dicho par de cisternas pueden ser visualizadas como una escala del sistema que nos proporciona agua en la comodidad de nuestro hogar, ya que esta ultimo consta de una cisterna la cual nos proporciona el vital lquido de manera continua, sin embargo, esta misma depende de un deposito an ms grande el cual lo alimenta segn las condiciones necesarias. Quines lo realizaron? Tanto la solucin terica, programacin e implementacin del proyecto fue realizado por los estudiantes de tecnolgico de monterrey, Jorge Luis Cuevas Munguia y Josu Garcia Patio pertenecientes a la carrera de Ingeniera en Mecatrnica, como parte de una actividad correspondiente a la materia de Informtica Industrial. Cul es el propsito? Este proyecto tiene como objetivo principal la aplicacin de los conocimientos tericos generados a lo largo del semestre para de esta manera comprender y consolidar los mismos, adems de visualizar que los datos arrojados a travs de la parte terico afirmativamente concuerdan de manera coherente con lo realizado de manera prctica. Adems de lo ya mencionado pretende desarrollar la capacidad en el alumno para la resolucin de problemas mediante diferentes mtodos, como en este caso utilizando la tarjeta de open source Arduino, incluyendo la programacin e implementacin de la mencionada tarjeta. De igual forma el proyecto tiene como meta mostrar al alumno la calidad de proyectos que se pueden llevar a cabo a travs de las herramientas disponibles, es decir, podr observar que los proyectos elaborados dentro del aula se pueden extrapolar a proyectos ms ambiciosos, de mayor presupuesto y de mayor aplicacin dentro de la industrial as como para la solucin de problemas cotidianos, tal como en este caso el cual resuelve de manera superficial y bsica la distribucin de un sistema de agua a escala. Aplicacin practica Este proyecto promete diferentes aplicaciones prcticas, sin embargo, la ms til y notoria es un sistema de distribucin de agua, el cual consta de dos cisternas, una podra ser sustituida por la cisterna 1 que esta acoplada directamente al lugar especfico al cual deseamos suministrar el agua mientras que la otra cisterna 2 es la que encargada de suministrar agua a la primera cisterna 1 antes mencionada. A pesar de esto, el proyecto posee un nivel de automatizacin ms elevado ya que solo cuando se cumplen ciertas circunstancias la cisterna 2 le proporciona agua a la cisterna 1. Sin lugar a dudas este proyecto puede ser trasladado a un suministro ms complejo y en masa si se deseara, considerando obviamente los aumentos de gasto, y aumento del proceso de automatizacin.

2. Desarrollo Solucin del problema Como es sido para la solucin de problemas ingenieriles existe un sinfn de caminos para resolverlos, por lo que es importante para cualquier reporte de proyecto especificar de manera minuciosa el mtodo o mtodos aplicados para llevar a cabo la resolucin del problema en cuestin. En este caso no es la excepcin por lo que a continuacin se presentan de manera amplia los pasos seguidos para generar una solucin viable que cumpla con los requisitos especificados por el proyecto. Tabla de verdad Para obtener funciones que regulen nuestras condiciones iniciales dadas por el problema a resolver lo ms conveniente es realizar la tabla de verdad que contenga todas las posibles entradas as como las salidas deseadas por el sistema. A continuacin se presenta la tabla de verdad que gobierna el funcionamiento de nuestro circuito lgico a partir de la cual se podrn obtener las funciones lgicas deseadas.
E 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 S3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 S2 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 S1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 A1(Electro) A2(Motobomba) 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 A3(Alarma) 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0

Fun cio nes lgi cas Co mo se men cion con ante laci n a parti r de la tabla de verdad es posible obtener las funciones lgicas que describen el funcionamiento completo de la lgica aplicada. Para la obtencin de dichas funciones es necesario aplicar los conceptos de mini-termino y maxi-termino o productos de suma y suma de productos. La aplicacin de dichos principios ser a criterio de cada diseador del programa, sin embargo, en este caso para la obtencin de dichas funciones se opt por la manera ms simple, es decir, primeramente observar si la salida contiene ms o menos ceros que unos y a partir de esto aplicar productos de sumas y en caso contrario utilizar suma de productos. Utilizando dicha tcnica se obtuvieron los siguientes resultados.

Se recomienda efectuar la simplificacin de las funciones lgicas para que el manejo de las mismas sea ms simple y adecuado. A travs de las funciones antes mostradas es posible controlar mediante el la tarjeta Arduino el funcionamiento de todo el sistema de cisternas, desde los sensores hasta las motobombas. Implementacin Como paso consecuente hay que realizar la programacin pertinente sobre el Arduino para posteriormente cargar dicho cdigo sobre la misma. Cuando se cuente con el cdigo cargado en la tarjeta Arduino se puede proseguir con la implementacin de todo el sistema, es decir, conectar las entradas y salidas correspondientes sobre los pines especficos del Arduino. Y de igual forma se realizara la instalacin del prototipo que satisfaga los requisitos establecidos por nuestro problema. Componentes Tarjeta Arduino 2 Motobombas Cable para protoboard Buzzera 2 Transistores 2 diodos NH4007 2 Resistores de 1K 2m de manguera 2 Relevadores Programa //Declaracin de variables int s1=13,s2=12,s3=11,a1=10,a2=9,a3=8; boolean sa1, sa2, sa3; boolean E,S3,S2,S1; void setup() { //Inicializacin de la comunicacin serial Serial.begin(9600); //Asignacin de las pines para entradas y salidas pinMode(s1,INPUT);

pinMode(s2,INPUT); pinMode(s3,INPUT); pinMode(a1,OUTPUT); pinMode(a2,OUTPUT); pinMode(a3,OUTPUT); } void loop() { //Tomando la lectura digital para las variables booleanas S3=digitalRead(s3); S2=digitalRead(s2); S1=digitalRead(s1); //Visualizacin de la comunciacin serial Serial.print(S3); Serial.print(S2); Serial.println(S1); //Funciones lgicas sa1=((E)|(S3)|(S2)|(S1))&((E)|(S3)|(S2)|(!S1))&((E)|(!S3)|(S2)|(!S1))&((!E)|(S3)|( S1))&((!E)|(S3)|(S2)|(!S1))&((!E)|(!S3)|(S2)|(!S1)); sa2=((!E)&(S3)&(!S2)&(!S1))|((E)&(S3)&(S2)&(!S1)); sa3=((!S2)|(S1)); //Escritura digital para las salidas digitalWrite(a1,sa1); digitalWrite(a2,sa2); digitalWrite(a3,sa3); } Diagramas esquemticos de circuitos y conexiones Cuando se habla de circuitera por ms bsica que sea esta es necesario mostrar el diagrama de conexiones del circuito tratado, esto para facilitar la visualizacin del circuito. Ya que de una manera grfica resulta mucho ms sencillo y prctico implementar o comprender el funcionamiento del circuito as como la lgica utilizada por el diseador del mismo. Siempre es lo ms conveniente realizar de manera terica el diseo que planeamos para resolver el problema ya que si tiene incongruencias o errores es fcilmente corregible, y por el contrario si primero construimos el circuito los errores posibles dentro de la construccin son difcilmente solucionables. Primeramente se mostrara el sistema a implementar con una breve explicacin de su funcionamiento. Para la elaboracin del proyecto se requiere elaborar un sistema de dos cisternas, primario y secundario los cuales se rigen bajo los siguientes principios. Se requiere que el nivel del depsito secundario (DS) se encuentre en todo momento entre los sensores S1 y S2, esto se logra controlando la motobomba (MB) que suministra el lquido de la cisterna principal (CP). Cuando el nivel del DS descienda de la posicin del sensor S2, el C (Arduino) debe ordenar prender la MB (siempre y cuando el nivel de la CP se S2)|(

encuentra por arriba del sensor S3, de otra forma, el C no deber activar la MB y en su lugar deber ordenar cerrar la electrovlvula a la salida del DS para evitar que se siga vaciando el DS). Si las condiciones de operacin son normales (nivel de la CP normal) la MB har que se llene el DS hasta el nivel de S1 ordenando apagarla y repitiendo el proceso mientras se desee. Durante un funcionamiento normal, todo el tiempo que el nivel de la CP est arriba de S3 la electrovlvula deber estar desactivada (abierta). Se utiliza una tercera salida (alarma), que se activa en caso de que haya entradas incongruentes (se sensa el nivel en S1 pero no en S2). En este caso, tanto la MB y la electrovlvula se debern de apagar. De manera grfica se presenta en la figura 1 la implementacin de dicho sistema de cisternas.

En este caso en especfico es de suma importancia contar con circuitos de proteccin ya que la tarjeta Arduino ira directamente conectada a 120 Volts de corriente alterna y existe la probabilidad de que la corriente fluya en direccin contraria a la deseada lo cual resultara desastroso para la tarjeta. De forma esquematizada se plantea el anteriormente mencionado para facilitar la comprensin del circuito, observar la Figura 2.

3. Conclusiones El diseo de circuitos electrnicos es una de las bases para la realizacin de cualquier tipo de proyecto y en este caso no es la excepcin ya que a partir del mismo se puede obtener conclusiones tericas sin la necesidad de la construccin de un circuito prototipo el cual puede o no cumplir con los requerimientos del circuito. Por esto es importante conocer los mtodos para obtener los valores cuantitativos tanto de resistores, capacitores, entre otros componentes necesarios dependiendo del circuito que sea requerido. Por lo general la manera de obtener los antes mencionados valores para cada uno de los componentes vienen dados en las hojas de datos de cada uno de los mismos componentes, es decir, la datasheet de la cual se pueden obtener las frmulas para dichos valores. Dichas formulas ofrecen diferentes ventajas la ms importante de estas es que precisamente nos permiten disear el valor de cada componente electrnico segn las necesidades que tengamos que cubrir. De igual forma es de destacar que a lo largo de la prctica se denoto de manera repetitiva la variacin entre los valores calculados tericamente, los simulados con el

software de multisim, y los obtenidos de la implementacin del circuito. Estas variaciones e incongruencias en algunos casos despreciable se generan debido a que los valores simulados y tericos son ideales, sin embargo, en un mbito practico es casi imposible llegar a las condiciones ideales para que cada uno de los elementos de un circuito trabajan de manera terica por infinidad de factores que pueden alterar su ptimo funcionamiento tal como temperatura, desviacin por el fabricante, corrientes de fuga, etc. A pesar de estas ligeras variaciones se puede notar que los valores obtenidos de manera terica son aproximaciones aceptables a los valores reales cuando se realizan las mediciones pertinentes, por lo que el marco terico es sumamente til para el diseo e implementacin de circuitos elctricos. A pesar de que el proyecto fue en tanto laborioso los resultados esperados superaron en gran medida nuestras expectativas, lo que nos motivas a realizar proyectos de mayor escala, complejidad y calidad, pues poseemos las capacidades para desarrollarlos simplemente es necesario explotar el potencial en futuros proyectos relacionados no solo con la parte de circuitera sino que abarquen cualquier situacin de implementacin o futuras materias. A lo largo de esta prctica pudimos aplicar todos los conocimientos previos acerca de los circuitos elctricos lo cual resulta sumamente til ya que nos permiti visualizar la parte prctica del clculo de los diferentes valores de los componentes requeridos para el diseo de los diferentes valores utilizados como resistencias, este resulto fortalecedor para la formacin ingenieril ya que nos permiti observar que los valores obtenidos de manera prctica son muy aproximados a los tericos y a los simulados, lo cual nos da la seguridad de que lo se est haciendo dentro del marco terico tiene el respaldo suficiente para utilizar dicho conocimiento para el diseo de circuitos elctricos. De igual forma este proyecto nos aport nuevo conocimiento til dentro de la formacin de Ingenieros en Mecatrnica ya que no solo aplicamos conocimiento previo sino que aprendimos nuevos conocimientos como la manera adecuada de utilizar un relevador as como su funcionamiento.

Das könnte Ihnen auch gefallen