pavo(1)

5
Automatizaci´ on de una bomba de agua Jim´ enez Narv´ aez Juan de Dios ,Pazos Nieves Jorge, Melendez Trujillo Jos´ e Roman, Radilla Ramirez Manuel Salvador Facultad de Ciencias de la Electr´ onica Benem´ erita Universidad Aut´ onoma de Puebla Arquitectura de Computadoras/Microcontroladores y DSP’s 1. Resumen Implementaremos un sistema de control para el llenado de un tanque utilizando Arduino, para lo cual haremos un dise˜ no e implementaci´ on de un sensor para cada nivel de agua del tanque teniendo como idea principal el desarrollar un tipo de sensor para detecci´ on del agua: transistores usando la resis- tencia del agua y opams como comparador de voltaje, a partir de esta etapa pasaremos a la elaboraci´ on de un c´ odigo l´ ogico para la programaci´ on del Arduino, tambi´ en con el protocolo de bluetooth. 2. Abstract We implement a control system for filling a tank using Ar- duino, for which we will design and implement a sensor for each water level in the tank with the main idea to develop a type of sensor for water detection: using transistors water resistance and voltage comparator opams, from this stage will pass to the development of a logic code for programming the microcontroller. 3. Introducci´on Todos los instrumentos deben ser especificados a un pun- to tal que aseguren la operaci´ on del proceso y que permita la estimaci´ on de sus costos. Estas especificaciones se pueden sistematizar, aplic´ andolas tanto a sistemas sensores como a sistemas actuadores, sin que todas y cada una de las defini- ciones que siguen a continuaci´ on sean aplicables a todo sensor o actuador. Precisi´ on (o exactitud) Error Error de No-Linealidad Repetitividad Reproducibilidad. Sensibilidad Resoluci´ on Rango Rango de Trabajo u Operaci´ on Banda Muerta Corrimiento del Cero Tiempo de Respuesta Hist´ eresis Funci´ on de Transferencia. Cuando se dise˜ nan sistemas de adquisici´ on de datos con computadora, hay aspectos a cerca de los sensores que es ne- cesario tener en cuenta: - La naturaleza de la se˜ nal que el sensor ? transductor gene- ra: voltaje, rango de amplitud, respuesta en frecuencia, pre- cisi´ on necesaria, determinan el tipo de acondicionamiento de se˜ nal, convertidor A/D y cualquier otro hardware a utilizar. - La influencia de las se˜ nales de ruido as´ ı como los efectos de carga del hardware de adquisici´ on de datos sobre el sensor. - La calibraci´ on del sensor con respecto a la variable f´ ısica. Si la respuesta del sensor a los cambios de la variable f´ ısi- ca es lineal o no. Una calibraci´ on mal hecha va a producir mediciones err´ oneas. - La interdependencia entre los distintos componentes del sistema de adquisici´ on de datos, por ejemplo un sensor muy bueno, con un pobre convertidor A/D no sirve de casi nada. - La precisi´ on del sensor, esto es la capacidad de medir el mismo valor repetidas veces en id´ enticas condiciones. - El tiempo de respuesta del sensor, es decir, el tiempo requerido para responder a un cambio brusco de la variable que est´ a siendo censada. - El coeficiente de temperatura del sensor, el cual viene dado por el cambio que se produce en la respuesta del sensor debido al cambio en la temperatura a la cual se encuentra, por ejemplo el aumento en las corrientes de fuga y el voltaje offset de un amplificador, el aumento de la corriente en la oscuridad de un foto-diodo. - La hist´ eresis de un sensor, la cual se define como la depen- dencia de la salida del sensor de la respuesta anterior. Esta es muy com´ un en sistemas magn´ eticos y mec´ anicos. Existen varias formas de clasificar los sensores, por ejemplo se pueden clasificar por el principio f´ ısico de funcionamiento (inducti- vo, capacitivo, termoel´ ectrico o resistivo etc.), por la varia- ble f´ ısica medida (temperatura, presi´ on, posici´ on etc. por la capacidad de generar energ´ ıa (activos) o de necesitar de un circuito de excitaci´ on (pasivos). En este trabajo se estudian los sensores de acuerdo al tipo de variable f´ ısica medida. La termocupla es uno de los sensores m´ as populares para medir temperatura. A diferencia de los otros sensores de temperatu- ra, ella no requiere de fuente de alimentaci´ on ya que es auto generadora de potencia; son econ´ omicas y f´ aciles de construir debido a que son b´ asicamente la uni´ on de dos alambres. Exis- te una variedad de ellas en el mercado en un amplio rango de temperaturas. Se identifican por letras siendo las m´ as popu- lares J, K y T. Las termocuplas presentan algunos inconvenientes. Debido al bajo voltaje que generan y a su baja sensibilidad requie- ren de una instrumentaci´ on muy exacta, y de otro sensor pa- 1

description

tyu

Transcript of pavo(1)

Page 1: pavo(1)

Automatizacion de una bomba de agua

Jimenez Narvaez Juan de Dios ,Pazos Nieves Jorge, Melendez Trujillo Jose Roman,Radilla Ramirez Manuel Salvador

Facultad de Ciencias de la ElectronicaBenemerita Universidad Autonoma de Puebla

Arquitectura de Computadoras/Microcontroladores y DSP’s

1. Resumen

Implementaremos un sistema de control para el llenado deun tanque utilizando Arduino, para lo cual haremos un disenoe implementacion de un sensor para cada nivel de agua deltanque teniendo como idea principal el desarrollar un tipo desensor para deteccion del agua: transistores usando la resis-tencia del agua y opams como comparador de voltaje, a partirde esta etapa pasaremos a la elaboracion de un codigo logicopara la programacion del Arduino, tambien con el protocolode bluetooth.

2. Abstract

We implement a control system for filling a tank using Ar-duino, for which we will design and implement a sensor foreach water level in the tank with the main idea to developa type of sensor for water detection: using transistors waterresistance and voltage comparator opams, from this stage willpass to the development of a logic code for programming themicrocontroller.

3. Introduccion

Todos los instrumentos deben ser especificados a un pun-to tal que aseguren la operacion del proceso y que permitala estimacion de sus costos. Estas especificaciones se puedensistematizar, aplicandolas tanto a sistemas sensores como asistemas actuadores, sin que todas y cada una de las defini-ciones que siguen a continuacion sean aplicables a todo sensoro actuador.

Precision (o exactitud)ErrorError de No-LinealidadRepetitividadReproducibilidad.SensibilidadResolucionRangoRango de Trabajo u OperacionBanda MuertaCorrimiento del CeroTiempo de RespuestaHisteresisFuncion de Transferencia.Cuando se disenan sistemas de adquisicion de datos con

computadora, hay aspectos a cerca de los sensores que es ne-cesario tener en cuenta:

- La naturaleza de la senal que el sensor ? transductor gene-ra: voltaje, rango de amplitud, respuesta en frecuencia, pre-cision necesaria, determinan el tipo de acondicionamiento desenal, convertidor A/D y cualquier otro hardware a utilizar.

- La influencia de las senales de ruido ası como los efectosde carga del hardware de adquisicion de datos sobre el sensor.

- La calibracion del sensor con respecto a la variable fısica.Si la respuesta del sensor a los cambios de la variable fısi-ca es lineal o no. Una calibracion mal hecha va a producirmediciones erroneas.

- La interdependencia entre los distintos componentes delsistema de adquisicion de datos, por ejemplo un sensor muybueno, con un pobre convertidor A/D no sirve de casi nada.

- La precision del sensor, esto es la capacidad de medir elmismo valor repetidas veces en identicas condiciones.

- El tiempo de respuesta del sensor, es decir, el tiemporequerido para responder a un cambio brusco de la variableque esta siendo censada.

- El coeficiente de temperatura del sensor, el cual vienedado por el cambio que se produce en la respuesta del sensordebido al cambio en la temperatura a la cual se encuentra,por ejemplo el aumento en las corrientes de fuga y el voltajeoffset de un amplificador, el aumento de la corriente en laoscuridad de un foto-diodo.

- La histeresis de un sensor, la cual se define como la depen-dencia de la salida del sensor de la respuesta anterior. Estaes muy comun en sistemas magneticos y mecanicos. Existenvarias formas de clasificar los sensores, por ejemplo se puedenclasificar por el principio fısico de funcionamiento (inducti-vo, capacitivo, termoelectrico o resistivo etc.), por la varia-ble fısica medida (temperatura, presion, posicion etc. por lacapacidad de generar energıa (activos) o de necesitar de uncircuito de excitacion (pasivos). En este trabajo se estudianlos sensores de acuerdo al tipo de variable fısica medida. Latermocupla es uno de los sensores mas populares para medirtemperatura. A diferencia de los otros sensores de temperatu-ra, ella no requiere de fuente de alimentacion ya que es autogeneradora de potencia; son economicas y faciles de construirdebido a que son basicamente la union de dos alambres. Exis-te una variedad de ellas en el mercado en un amplio rango detemperaturas. Se identifican por letras siendo las mas popu-lares J, K y T.

Las termocuplas presentan algunos inconvenientes. Debidoal bajo voltaje que generan y a su baja sensibilidad requie-ren de una instrumentacion muy exacta, y de otro sensor pa-

1

Page 2: pavo(1)

ra realizar la compensacion de la union frıa. Por otro ladolas termocuplas son menos estables que los otros sensores detemperatura.[3]

En la gama universal de controles de nivel y energıa termi-ca en tanques se puede encontrar varias empresas que usaneste tipo de control.[2] En general la mayorıa de companıasque usan algun fluido en sus procesos, como las proveedorasde agua potable, tratamientos de aguas residuales, plantastextiles, plantas petroleras, plantas de gas, industrias de me-tales, industrias de licores, industrias de pinturas y estacionesde gasolina entre otras. En la Tabla 1 se puede observar em-presas que usan tanques para almacenar fluidos y utilizan uncontrol similar al implementado. [1]

Figura 1: tabla 1

Figura 2: tabla 1(continuacion)

Tambien destacar el sistema de comunicacion de bluetoothcon el cual nos estaremos enviando y recibiendo con la apli-cacion de Android, con la comparacion de ambos datos. Seesta trabajando con la idea de automatizar todo sistemas, laidea de tener todas las cosas a un click o reduciendo el menoresfuerzo planteandose a una persona con alguna enfermedadmotriz, pues con el comienzo de las tarjetas de adquisicion dedatos con el manejo de codigo abierto de hardware y softwa-re.[5] En nuestro caso viendo por el camino de manejo de unregistro de manera tipo bitacora donde nos permita predecirincidentes o resolvernos de una manera rapida en caso de queya se hayan presentado, con lo cual se ha desarrollado a sis-temas de la industria en grandes industrias que manejan almayoreo. [4]

4. Desarrollo

Realizamos una idea de programa en arduino con comuni-cacion en bluetooth para la primera etapa, para un celular,donde estructuramos la aplicacion en appinventor para quenos avise los estados en que esta el tanque. En la figura 3podemos ver como nos planteamos el proyecto, ası

Figura 3: diagrama a bloques

Mientras otra etapa, proseguimos a probar los sensores denuestro tanque, con la marca de cada uno, usando la logicade los unos y ceros.

Sensor

Un sensor convierte una senal fısica de un tipo en una senalfısica de otra naturaleza. Por ejemplo una termocupla produceun voltaje que esta relacionado con la temperatura, ası mis-mo en una resistencia metalica se aprovecha el fenomeno devariacion de la resistencia con la temperatura para produciruna senal de voltaje que sea proporcional a la temperatura.La diferencia entre los dos ejemplos esta que para el casode la termocupla se produce un mili voltaje producto de launion de dos materiales a una determinada temperatura, enel segundo ejemplo la pura resistencia por si sola no puedehacer la conversion a voltaje sino que requiere de un circuitoy de una fuente de alimentacion. En el primer caso tenemosal elemento sensor solo, en el segundo el elemento sensor masun circuito, en este segundo caso la union de los dos consti-tuye el transductor. Tanto en el caso de la termocupla comode la resistencia metalica se necesitan etapas adicionales deacondicionamiento como amplificacion y filtraje de la senal.

Llenado del Tanque

En este proyecto se pretende presentar como es posible lle-nar automaticamente un tanque elevado de un edificio o elde una industria, utilizando sensores que nos permitan sabercuando el tanque se encuentre vacıo o por debajo del nively cuando este lleno para poder controlar el sistema de aguapotable, es decir la valvula que permita el acceso de agua ya su vez corte el suministro del mismo.

Representacion de llenado de tanque

El tanque se llenara a traves de la valvula superior, lavalvula inferior suministra al edificio o segun sea el funciona-miento del tanque, de igual forma el sensor 1 nos va a mandarla senal cuando el tanque este vacıo o llegando al nivel bajopara arrancar la bomba o abrir valvula para permitir el pasode agua, mientras el sensor 2 nos va indicar cuando el tanqueeste lleno o en el nivel maximo para ası mandar la senal paraapagar la bomba o cortar el paso de agua.[7]

2

Page 3: pavo(1)

Figura 4: Prueba de sensores

Transistor BC558

Es un transistor de silicio de baja potencia de propositosgenerales utilizado en gran variedad de equipos electronicos.Tambien es un transistor bipolar PNP, electricamente simi-lar al transistor 2N3906 de fabricacion estadounidense y al2SA1015 japones, aunque las asignaciones de los pines de co-nexion es distinta. El dispositivo viene integrado en un encap-sulado plastico tipo TO-92. El orden de los pines mirando laparte plana del encapsulado de derecha a izquierda es emisor,base y colector. Con Caracteristicas: voltaje colector emisoren corte 30V (Vceo). Voltaje colector emisor en saturacion30V (Vces). Voltaje emisor base en corte 5V (Vebo). Corrien-te de colector constante 100mA (Ic). Potencia total disipada500mW(Pd). Encapsulado de plastico TO-92. Su par comple-mentario NPN es el Transistor BC548.

5. Resultados

Disenamos con Arduino el programa para que nos avisenlos sensores cuando este vacıo el tanque, la cisterna no tengaagua para llenar el tanque, marcar cada 25 por ciento de lacapacidad del tanque, cuando no funcione el motor. Por loque se verifico con el monitor serial del programa Arduino.[6] Con lo que tambien se realizaron pruebas con la creacionde la aplicacion en appinventor para informar de como esta-ba el ciclo de nuestro sistema en la comunicacion bluetoothcon el Arduino Mega. Dicho programa podemos encontrar ennuestro Apendice A.

Figura 5: Pantalla de aplicacion.

Para esto tambien se estructuro la parte de bloques, dondeproseguimos.

Se prueba el sensor con el encendido de leds para mostrarel llenado de agua de nuestro tanque.

Despues como parte de nuestras validacion, presentamos enla

Figura 6: Sistema de bloques de la aplicacion.

Figura 7: Desarrollo en el Arduino uno

Figura 8: Mensaje en la LCD

6. Conclusiones

Cuando se piensa que los sistemas podrıan ser costosos,buscamos la manera de sensores con la precision y el envio dela senal correcta, en las condiciones de agua. Este trabajotenemos el interes de propuesta a este tema, sin repetir loque otros artıculos nos propongan, buscando nuestra propiasolucion. Al mismo tiempo utilizando las herramientas de losprogramas que estuvimos utilizando al trayecto del curso deArquitectura de computadoras (Microcontroladores y DSP’s).

3

Page 4: pavo(1)

7. Bibliografıa

[1] SANDRA MILENA ARANGO RESTREPO, DESA-RROLLO DEL SISTEMA DE CONTROL DE NIVEL PARAUN TANQUE SURTIDOR DE AGUA Y ALMACENADORDE ENERGIA TERMICA EN PROCESOS DE LAVADO YTINTORERIA. Trabajo de grado para optar al tıtulo de In-geniero Electronico 2008.

[2]SOLUCIONES INTEGRALES DE BOMBEO PARAEL HOGAR, COMERCIO,AGRICULTURA E INDUS-TRIA. [En lınea] s.p.i. ¡Disponible en:http//www.bombas-hidroneumaticos.com/ MEXICO¿[consulta: 10 Abril 2015].

[3] SISTEMA DE CONTROL PARA LLENADO DE TAN-QUES CON MICROCONTROLADOR PIC,Republica Boli-variana de Venezuela Ministerio del Poder Popular Para laeducacion,Universitaria I.U.P Santiago Marino Escuela 44,Proyecto de control.

[4] Control de Tanque con pic16F877 y lcd 16x2.[en lınea],https://www.youtube.com/watch?v=pg7a9xGLc00[consulta: 03 Abril 2015].

[5] sensor nivel pic 16f877a. [en lınea],https://www.youtube.com/watch?v=7apKOuwloOo [consul-ta: 03 Abril 2015].

[6] Arduino microcontrollers. [en lınea], disponiblehttp://arduino.cc/en/Main/arduinoBoardMega. sitio visita-do el 13 de abril 2015.

[7] Rodrıguez Perez Eriberto, Llenado de un TanqueTra-bajo Proyecto Final Aporte individual ESCUELA DE CIEN-CIAS BASICAS, TECNOLOGIA E INGENIERIA 299013-140 Automatizacion Industrial, Proyecto Evaluacion FinalAct No. 15. Trabajo Proyecto Final, 1,UNIVERSIDAD NA-CIONAL ABIERTA Y A DISTANCIA (UNAD),Escuela deCiencias Basicas, Tecnologıa e Ingenierıa, Automatizacion In-dustrial,Enero 2013.

[8]Transistor bc558. [en lınea], disponiblehttp://www.ecured.cu/index.php/Transistorbc558sitiovisitadoel26deabril2015.

8. Apendice A

include ¡LiquidCrystal.h¿include ¡SoftwareSerial.h¿

include ¡Wire.h¿include RTClib.h”define txd 1define rxd 0RTCDS1307RTC;LiquidCrystal lcd(22, 12, 11, 10, 9, 8);int sensor[]=7,6,5,4,3,2;int valor[6];SoftwareSerial Bluetooth(txd,rxd);byte p5[8] = 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F;void setup ()lcd.createChar(4,p5);Wire.begin();RTC.begin();lcd.begin(16, 2);Bluetooth.begin(9600);

for (int i=0;i¡6;i++)pinMode(sensor[i],INPUT);pinMode(26,OUTPUT);Serial.begin(9600);void loop ()DateTime now = RTC.now(); // Obtiene la fecha y hora

del RTC//Serial.print(now.year(), DEC);Serial.print(’/’);Serial.print(now.month(), DEC);Serial.print(’/’);Serial.print(now.day(), DEC);//Serial.print(’ ’);//Serial.print(now.hour(), DEC);Serial.print(’:’);Serial.print(now.minute(), DEC);Serial.print(’:’);Serial.print(now.second(), DEC);//Serial.println();lcd.setCursor(0, 1);lcd.print(now.year(), DEC); // Anolcd.print(’/’);lcd.print(now.month(), DEC); // Meslcd.print(’/’);lcd.print(now.day(), DEC); // Dialcd.print(’ ’);lcd.print(now.hour(), DEC); // Horaslcd.print(’:’);lcd.print(now.minute(), DEC); // Minutosfor (int i=0;i¡6;i++)valor[i]=digitalRead(sensor[i]);delay(1000);if (valor[0]==HIGH)if (valor[1]==HIGH)if (valor[2]==HIGH valor[3]==HIGHvalor[4]==HIGH valor[5]==HIGH)char envio = ’a’;digitalWrite(26,LOW);Bluetooth.print(envio);delay(1000);//Serial.println(”Lleno - 100//Serial.println(envio);lcd.setCursor(0, 0);lcd.print(”Bomba apagada ”);delay(1000);lcd.setCursor(0, 0);lcd.write(4);lcd.write(4);lcd.write(4);lcd.write(4);lcd.write(4);lcd.write(4);lcd.write(4);lcd.write(4);lcd.write(4);lcd.write(4);lcd.write(4);lcd.write(4);lcd.print(”100elseif (valor[2]==LOW valor[3]==HIGHvalor[4]==HIGH valor[5]==HIGH)char envio = ’b’;Bluetooth.println(envio);delay(1000);//Serial.println(Casi lleno - 75//Serial.println(envio);lcd.setCursor(0, 0);lcd.write(4);lcd.write(4);lcd.write(4);lcd.write(4);lcd.write(4);lcd.write(4);lcd.write(4);lcd.write(4);lcd.write(4);

4

Page 5: pavo(1)

lcd.print(”75elseif (valor[2]==LOW valor[3]==LOW valor[4]==HIGH

valor[5]==HIGH)char envio = ’c’;Bluetooth.println(envio);delay(1000);//Serial.println(”Mitad - 50//Serial.println(envio);lcd.setCursor(0, 0);lcd.write(4);lcd.write(4);lcd.write(4);lcd.write(4);lcd.write(4);lcd.write(4);lcd.print(”50elseif (valor[2]==LOW valor[3]==LOW valor[4]==LOW va-

lor[5]==HIGH)char envio = ’d’;Bluetooth.println(envio);delay(1000);//Serial.println(Cuarto de Tanque - 25//Serial.println(envio);lcd.setCursor(0, 0);lcd.write(4);lcd.write(4);lcd.write(4);lcd.print(”25elsechar envio = ’e’;digitalWrite(26,HIGH);Bluetooth.println(envio);delay(1000);//Serial.println(”Vacio - 0//Serial.println(envio);lcd.setCursor(0, 0);lcd.print(”Bomba encendida ”);delay(1000);lcd.setCursor(0, 0);lcd.print(”0elsechar envio = ’f’;digitalWrite(26,LOW);Bluetooth.println(envio);delay(1000);Serial.println(”Deposito Vacio”);//Serial.println(envio);lcd.setCursor(0, 0);lcd.print(”Sin Agua ”);elsechar envio = ’g’;digitalWrite(26,LOW);Bluetooth.println(envio);delay(1000);Serial.println(”Mal funcionamiento de bomba”);//Serial.println(envio);lcd.setCursor(0, 0);lcd.print(.Error Bomba”);

5