You are on page 1of 7

1

Marzo de 2015. Ingeniera Mecatrnica, Universidad De Caldas

Control PID Nivel de agua usando LabView y


Arduino
Control de procesos asistidos por PC.
Julian Mauricio Agudelo Ardila, Mauricio Hernndez Arias
Ingeniera Mecatrnica, Facultad de ciencias exactas y Naturales
Universidad de Caldas, Manizales, Colombia
Correo-e: julimao_1005@hotmail.com

ResumenEn este proyecto desarrollamos habilidades en el


manejo del programa LabView con la implementacin del
control de nivel a travs de la programacin de un controlador
PID y PID Difuso, se fabric una maqueta para realizar las
pruebas de funcionamiento y validar los VI, arrojando los
resultados esperados.
Palabras clave Arduino, Controlador PID, Funcin de
Membresa, Interfaz Grfica de Usuario (GUI), LabView,
Lgica Difusa, MATLAB, Medicin por Ultrasonido,
Modulacin PWM, Monitorizacin en Tiempo Real, Reglas
Difusas, Tarjeta de Adquisicin de Datos, VI (Virtual
Instrument)

I.

Este proyecto est relacionado con su utilidad en los


procesos industriales adems de establecer ciertos criterios
y normas de funcionamiento que sirven de gua para la
aplicacin de la misma.
Objetivos
Establecer los conceptos bsicos de como efectuar los
pasos de una forma correcta, en el diseo ensamble y
programacin de un control de proceso atreves de las
herramientas ofimticas.
Definir el tipo de proyecto a realizar segn los
estudios y experiencias que tenemos en la vida
cotidiana.

24.03.2015

Conocer las herramientas a utilizar tanto para el


diseo como para la programacin y puesta a punto
del proyecto.

Hacer los anlisis comparativos entre los diferentes


controladores y establecer la estabilidad del proceso

Conocer cmo llevar un proyecto a cabo desde su


diseo e implementacin as se de laboratorio, de
esta misma manera llevarlo a la realidad.

Empezar a conocer los diversas herramientas su


poder, equipos maquinas todo este mundo que abarca
la mecatrnica.

INTRODUCCIN

Justificacin Para realizar el proyecto de control de


nivel es necesario realizar un estudio de la parte electrnica
mecnica y software para realizar una serie de pasos para
garantizar un ptimo desarrollo de este y as poder llegar a
un funcionamiento del sistema, se debe conocer el manejo
de Arduino, LabView el funcionamiento lgico de un
sistema de este tipo, adems se debe a ver manejado Matlab
para conocer la funcin de transferencia y otros temas a
fines.

Mauroha2000@gmail.com

II. CONTENIDO
1) Diseo del proyecto
2) Elaboracin de la maqueta o prototipo
3) Desarrollo del programa en LabView
4) Pruebas y puesta a punto
5) Reseas bibliogrficas

1. Diseo del proyecto:


Una vez analizadas las propuestas expuestas en clase
decidimos darle forma al proyecto Control de Nivel,
teniendo en cuenta la complejidad de cada programa
en LabView.
El diseo, los materiales y sus complementos fueron
estudiados uno a uno para llegar a lo que tenemos
hoy en este proyecto gracias a la experiencia
adquirida a nivel laboral.

Marzo de 2015. Ingeniera Mecatrnica, Universidad De Caldas

Fig. 1 Esquemtico del diseo mecnico para la


maqueta.

2. Elaboracin de la maqueta o prototipo:


Luego de tener la idea procedimos a la consecucin
de los materiales y construccin de la maqueta la cual
llevo horas de trabajo en el diseo de la parte
mecnica para que quedara una maqueta homognea
y los ms importante que fuera funcional; tuvimos en
cuenta todos los detalles mecnicos como es el fluido
del lquido el montaje de la vlvula, la instalacin del
sensor, algo que nos preocupaba que el sistema
quedara muy hermtico y que no quedaran fugas,
luego la parte elctrica y de control, bueno la
maqueta tuvo toda una ingeniera de detalle.

Fig. 2 Observamos la planta que vamos a controlar


(tanques, servo-vlvula, bomba sumergible, sensor
ultrasnico)

3.

Elaboracin del programa:


Procedimos a instalar los Toolbox necesarios para la
comunicacin del Arduino con LabView como lo son
el (LIFA LabView Interface For Arduino), Control
Design & simulation y la librera para controlar el
sensor ultrasnico HC-SR04 desde LIFA

Marzo de 2015. Ingeniera Mecatrnica, Universidad De Caldas

DESARROLLO DEL CONTROLADOR PID


CONVENCIONAL:

Fig. 3 Esquemtico librera en LabView (LIFA) para


controlar el sensor ultrasnico HC-SR04

Despus de que fue posible controlar manualmente


procedimos a programar un VI que nos permitiera
registrar y almacenar el comportamiento natural de
este tipo de sistema, para ello implementamos el
siguiente cdigo para exportar los datos que nos da el
sensor ultrasnico y el valor de la vlvula (en
porcentaje) a un archivo de Excel.

Fig. 4 El VI para el servo motor MG995el cual esta


como ejemplo en la librera (LIFA) de LabView.

Fig. 6 esquemtico del programa para obtener los


datos de la planta en un documento de Excel.

Luego procedimos a realizar las pruebas de cada uno


de los componentes electrnicos del sistema (sensor
ultrasnico, servo-motor y rel para la bomba) por
separado para comprobar su correcta operacin y
calibracin por medio de la librera LIFA de
LabView.

Luego despus de obtener los datos mediante Excel,


exportamos dichos datos del escaln y el nivel a
MATLAB para desarrollar un controlador PID con
las herramientas que este software nos ofrece.

Luego despus de comprobar el correcto


funcionamiento de cada uno de los elementos del
sistema procedimos a integrar todos los cdigos en
un solo VI, nuevamente probamos la conexin del
sistema y realizamos un control manual de la vlvula.

Fig. 5 Interfaz Grfica para el control Manual de la


vlvula (para indicarle la posicin del servo de
escribe el valor en grados (90 abierta y 180
cerrada)).

En el desarrollo del controlador MATLAB nos da


una estimacin del 88,66% de exactitud con respecto
a los datos que tomamos del nivel del sistema.

Fig. 7 Diagrama de estimacin de la exactitud del


sistema en el IDENT de MATLAB

Marzo de 2015. Ingeniera Mecatrnica, Universidad De Caldas

Ya con los valores obtenidos de la estimacin de una


funcin de transferencia que representa la respuesta
del sistema en el tiempo, realizamos un clculo para
determinar las variables para nuestro controlador PID

Fig. 10 Interfaz Grfica de Usuario Modo espera


(OFF)

Fig. 8 Vista controlador desarrollado con la ayuda


de MATLAB (PID Tuning)

De acuerdo al clculo anterior obtuvimos las


siguientes constantes para el controlador PID:
kp=113.951, ki=1.3631, kd= 394.131, estos valores
los reemplazamos en el programa que realizamos en
LabView para el controlador PID.
Este sistema tambin nos demuestra que tiene un
sobre pico (overshoot) del 1.26%

Fig. 11 Interfaz Grfica de Usuario Modo Encendido


(ON)

DESARROLLO DEL CONTROLADOR PID


DIFUSO:
Control PID Difuso, lo realizamos mediante una
herramienta que nos ofrece el toolbox Control design
& simulation de LabView en el cual ingresamos los
valores de las funciones de membresa para el
sistema que operara con lgica difusa.

Fig. 9 Diagrama de bloques del sistema de control de


nivel con un controlador PID convencional

A continuacin proseguimos con la optimizacin de


la Interfaz Grfica de Usuario (GUI) para que sea
ms sencilla y prctica de manejar, adems de que
nos muestre de manera didctica como se va
comportando el sistema durante su ejecucin.

Fig. 12 Funciones de membresa para el error

Marzo de 2015. Ingeniera Mecatrnica, Universidad De Caldas

Fig. 16 Reglas difusas diseadas para el controlador


PID difuso
Fig. 13 Funciones de membresa para la integral del
error

Fig. 14 Funciones de membresa para la derivada del


error

Fig. 17 Grafica final del sistema con las funciones de


membresa asociadas entre las entradas y la salida
del controlador

Luego de realizar las funciones de membresa y las


reglas difusas procedemos a realizar las pruebas con
el programa PID difuso.
Fig. 15 Funciones de membresa para la salida del
sistema (servo-vlvula)

Luego de determinar las funciones de membresa


para el sistema proseguimos a realizar las reglas
difusas que sern las que nos determinen que funcin
realizara el controlador cuando est en
funcionamiento.
Por cada entrada del sistema realizamos 3 funciones
de membresa por lo consiguiente obtendramos 9
reglas difusas ya que cada entrada del sistema (error,
derivada error o integral error) se asocia con una
funcin de membresa de la salida (servo-vlvula)

Fig. 18 Diagrama de bloques programacin


controlador PID difuso

Marzo de 2015. Ingeniera Mecatrnica, Universidad De Caldas

4.
Pruebas y puesta a punto :
Despus de tener los programa y la maqueta lista
procedemos a conectar todos los dispositivos y
empezamos a realizar pruebas de funcionamiento,
observamos cmo se mueve el servo, como comunica
y mide distancia el sensor HC-SR04, tambin se
observa el buen funcionamiento de la bomba, a
continuacin vemos con el control PID como el
sistema empieza a buscar el punto de referencia.

SINTONIZACION
CONVENCIONAL:

CONTROLADOR

PID

Al principio de las pruebas con los valores calculados


del PID convencional observamos que el sistema
conmutaba demasiado rpido y que el controlador
reaccionaba ante cualquier cambio del sensor, este
controlador estaba muy sensible de manera que
verificamos las constantes del controlador PID y
luego de probar con otras posibles constantes
determinamos que lo que suceda era que la constante
kd=394.131 lo cual era demasiado crtico para el
sistema ya que ese valor nos desestabilizaba el
controlador. Por ello cambiamos este valor de la
constante por un valor muchsimo ms bajo ya que el
sistema responda mucho mejor cuando la constante
kd se encontraba muy cerca del cero, por lo que
decidimos establecer como mejor constante para el
trabajo de este controlador un valor de kd=1*10^-11,
con esto nuestro sistema responda sin perturbaciones
cuando estaba en modo de operacin.

Fig. 20 En esta imagen se observa la linealidad del sistema y


el ptimo funcionamiento del sistema, llega a referencia y se
mantiene, esto es lo que buscamos en un sistema de este tipo.

FUNCIONAMIENTO

CONTROL

PID

DIFUSO:

Como mencionamos anteriormente en la implementacin de


las reglas difusas, observamos el funcionamiento un poco ms
lento en la reaccin del punto de referencia, pero observamos
que de igual manera este llega a punto de referencia

Fig. 21 Vemos el comportamiento del error y de la reaccin


de la bsqueda de la referencia en la siguiente imagen.

Fig. 19 En esta imagen vemos como el nivel empieza


a subir (lnea Blanca) buscando el punto de
referencia (lnea Roja), a continuacin vemos como
busca el punto (cierra la vlvula hasta que el valor
del nivel este cerca a la referencia).

Para sintonizar adecuadamente este tipo de controlador


tuvimos que probar una y otra vez los rangos y valores de las
funciones de membresa ya que en un principio la vlvula
conmutaba pero no tena mucho recorrido, partiendo de la
prueba y error llegamos a la mejor optimizacin posible de
este controlador aunque no conmuta de la misma manera que
lo hace el controlador PID convencional podemos observar
que el sistema es capaz de llegar a la referencia que le
indiquemos.

Marzo de 2015. Ingeniera Mecatrnica, Universidad De Caldas

Fig. 22 Se observa en los dos programas la linealidad del

sistema y la versatilidad de la programacin en LabView.

Reconocimos que un controlador PID


convencional es ms Exacto y Preciso en
comparacin a un controlador PID con lgica
difusa puesto que con un controlador PID
convencional tenemos en cuenta el modelado
matemtico del sistema, mientras que con un
controlador PID Difuso tenemos mucha
incertidumbre puesto que no calculamos los
valores de funcionamiento del sistema, solo los
determinamos y por ello hay q realizar pruebas
constantemente para sintonizar mejor el
controlador.
Recordamos y aprendimos nuevos modelos de
programacin y su implementacin, para poner a
trabajar una planta prototipada.
Implementamos un proyecto que tiene una
aplicacin industrial real

III. CONCLUSIONES

Bibliografa:

Se debe siempre realizar un anlisis de los


proyectos a realizar se debe verificar, disear y
probar correctamente la planta que vamos a
construir para dimensionar la ingeniera de
detalle.
Se deben tener en cuenta todas las ramas de la
ingeniera como son la electrnica, mecnica,
para poder disear y ejecutar un proyecto.
Este proyecto fue un desafo muy importante
porque se pudo aplicar lo aprendido durante un
periodo largo de la carrera y se pudo observar
cmo hemos avanzado en el desarrollo e
implementacin de la ingeniera.
Implementamos una nueva forma de programar
un Arduino como Tarjeta de adquisicin de
datos y su debida comunicacin con el software
LabView, adems de los beneficios que estas dos
tecnologas nos permiten para desarrollar y
optimizar cualquier proceso industrial o
mecatrnico.
Es satisfactorio ver como atreves de un
programa movemos todos los elementos del
proyecto y de forma sincronizada y controlando
variables dispuestas por nosotros.
Aprendimos a reconocer las fallas que pueden
ocurrir al momento de desarrollar un controlador
ya sea PID convencional o PID con lgica
difusa.

http://elcajondeardu.blogspot.com/2014/03/tutorialsensor-ultrasonidos-hc-sr04.html
http://www.olimex.cl/tutorial/Guia%20MCI%20%20Servo%20motor%20con%20Arduino.pdf
http://es.wikipedia.org/wiki/V%C3%A1lvula_de_bol
a
http://es.wikipedia.org/wiki/Bomba_sumergible
http://www.arduino.cc/en/Main/arduinoBoardMega