Sunteți pe pagina 1din 7

Marzo de 2015.

Ingeniería Mecatrónica, Universidad De Caldas 1

Control PID Nivel de agua usando LabView y


Arduino
Control de procesos asistidos por PC.

Julian Mauricio Agudelo Ardila, Mauricio Hernández Arias


Ingeniería Mecatrónica, Facultad de ciencias exactas y Naturales
Universidad de Caldas, Manizales, Colombia
Correo-e: julimao_1005@hotmail.com Mauroha2000@gmail.com

Resumen—En este proyecto desarrollamos habilidades en el • Conocer las herramientas a utilizar tanto para el
manejo del programa LabView con la implementación del diseño como para la programación y puesta a punto
control de nivel a través de la programación de un controlador del proyecto.
PID y PID Difuso, se fabricó una maqueta para realizar las
pruebas de funcionamiento y validar los VI, arrojando los • Hacer los análisis comparativos entre los diferentes
resultados esperados.
controladores y establecer la estabilidad del proceso
Palabras clave— Arduino, Controlador PID, Función de
Membresía, Interfaz Gráfica de Usuario (GUI), LabView, • Conocer cómo llevar un proyecto a cabo desde su
Lógica Difusa, MATLAB, Medición por Ultrasonido, diseño e implementación así se de laboratorio, de
Modulación PWM, Monitorización en Tiempo Real, Reglas esta misma manera llevarlo a la realidad.
Difusas, Tarjeta de Adquisición de Datos, VI (Virtual
Instrument) • Empezar a conocer los diversas herramientas su
poder, equipos maquinas todo este mundo que abarca
la mecatrónica.
I. INTRODUCCIÓN
II. CONTENIDO
Justificación— Para realizar el proyecto de control de
nivel es necesario realizar un estudio de la parte electrónica
1) Diseño del proyecto
mecánica y software para realizar una serie de pasos para
2) Elaboración de la maqueta o prototipo
garantizar un óptimo desarrollo de este y así poder llegar a
3) Desarrollo del programa en LabView
un funcionamiento del sistema, se debe conocer el manejo
4) Pruebas y puesta a punto
de Arduino, LabView el funcionamiento lógico de un
5) Reseñas bibliográficas
sistema de este tipo, además se debe a ver manejado Matlab
para conocer la función de transferencia y otros temas a
fines.

Este proyecto está relacionado con su utilidad en los 1. Diseño del proyecto:
procesos industriales además de establecer ciertos criterios Una vez analizadas las propuestas expuestas en clase
y normas de funcionamiento que sirven de guía para la decidimos darle forma al proyecto Control de Nivel,
aplicación de la misma. teniendo en cuenta la complejidad de cada programa
en LabView.
Objetivos—
Establecer los conceptos básicos de como efectuar los El diseño, los materiales y sus complementos fueron
pasos de una forma correcta, en el diseño ensamble y estudiados uno a uno para llegar a lo que tenemos
programación de un control de proceso atreves de las hoy en este proyecto gracias a la experiencia
herramientas ofimáticas. adquirida a nivel laboral.

• Definir el tipo de proyecto a realizar según los


estudios y experiencias que tenemos en la vida
cotidiana.

24.03.2015
2 Marzo de 2015. Ingeniería Mecatrónica, Universidad De Caldas

Fig. 1 Esquemático del diseño mecánico para la


maqueta.

2. Elaboración de la maqueta o prototipo:


Luego de tener la idea procedimos a la consecución
de los materiales y construcción de la maqueta la cual
llevo horas de trabajo en el diseño de la parte
mecánica para que quedara una maqueta homogénea
y los más importante que fuera funcional; tuvimos en
cuenta todos los detalles mecánicos como es el fluido
del líquido el montaje de la válvula, la instalación del
sensor, algo que nos preocupaba que el sistema
quedara muy hermético y que no quedaran fugas, Fig. 2 Observamos la planta que vamos a controlar
luego la parte eléctrica y de control, bueno la (tanques, servo-válvula, bomba sumergible, sensor
maqueta tuvo toda una ingeniería de detalle. ultrasónico)

3. Elaboración del programa:


Procedimos a instalar los Toolbox necesarios para la
comunicación del Arduino con LabView como lo son
el (LIFA LabView Interface For Arduino), Control
Design & simulation y la librería para controlar el
sensor ultrasónico HC-SR04 desde LIFA
Marzo de 2015. Ingeniería Mecatrónica, Universidad De Caldas 3

DESARROLLO DEL CONTROLADOR PID


CONVENCIONAL:

Después 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 código para exportar los datos que nos da el
Fig. 3 Esquemático librería en LabView (LIFA) para sensor ultrasónico y el valor de la válvula (en
controlar el sensor ultrasónico HC-SR04 porcentaje) a un archivo de Excel.

Fig. 4 El VI para el servo motor MG995el cual esta Fig. 6 esquemático del programa para obtener los
como ejemplo en la librería (LIFA) de LabView. datos de la planta en un documento de Excel.

Luego procedimos a realizar las pruebas de cada uno


de los componentes electrónicos del sistema (sensor Luego después de obtener los datos mediante Excel,
ultrasónico, servo-motor y relé para la bomba) por exportamos dichos datos del escalón y el nivel a
separado para comprobar su correcta operación y MATLAB para desarrollar un controlador PID con
calibración por medio de la librería LIFA de las herramientas que este software nos ofrece.
LabView.
En el desarrollo del controlador MATLAB nos da
Luego después de comprobar el correcto una estimación del 88,66% de exactitud con respecto
funcionamiento de cada uno de los elementos del a los datos que tomamos del nivel del sistema.
sistema procedimos a integrar todos los códigos en
un solo VI, nuevamente probamos la conexión del
sistema y realizamos un control manual de la válvula.

Fig. 5 Interfaz Gráfica para el control Manual de la Fig. 7 Diagrama de estimación de la exactitud del
válvula (para indicarle la posición del servo de sistema en el IDENT de MATLAB
escribe el valor en grados (90° abierta y 180°
cerrada)).
4 Marzo de 2015. Ingeniería Mecatrónica, Universidad De Caldas

Ya con los valores obtenidos de la estimación de una


función de transferencia que representa la respuesta
del sistema en el tiempo, realizamos un cálculo para
determinar las variables para nuestro controlador PID

Fig. 10 Interfaz Gráfica de Usuario Modo espera


(OFF)

Fig. 8 Vista controlador desarrollado con la ayuda


de MATLAB (PID Tuning)

De acuerdo al cálculo 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 también nos demuestra que tiene un Fig. 11 Interfaz Gráfica de Usuario Modo Encendido
sobre pico (overshoot) del 1.26% (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 membresía para el
sistema que operaría con lógica difusa.

Fig. 9 Diagrama de bloques del sistema de control de


nivel con un controlador PID convencional

A continuación proseguimos con la optimización de


la Interfaz Gráfica de Usuario (GUI) para que sea
Fig. 12 Funciones de membresía para el error
más sencilla y práctica de manejar, además de que
nos muestre de manera didáctica como se va
comportando el sistema durante su ejecución.
Marzo de 2015. Ingeniería Mecatrónica, Universidad De Caldas 5

Fig. 16 Reglas difusas diseñadas para el controlador


PID difuso
Fig. 13 Funciones de membresía para la integral del
error

Fig. 14 Funciones de membresía para la derivada del


error

Fig. 17 Grafica final del sistema con las funciones de


membresía asociadas entre las entradas y la salida
del controlador

Luego de realizar las funciones de membresía y las


reglas difusas procedemos a realizar las pruebas con
el programa PID difuso.

Fig. 15 Funciones de membresía para la salida del


sistema (servo-válvula)

Luego de determinar las funciones de membresía


para el sistema proseguimos a realizar las reglas
difusas que serán las que nos determinen que función
realizara el controlador cuando esté en
funcionamiento.

Por cada entrada del sistema realizamos 3 funciones


de membresía por lo consiguiente obtendríamos 9
reglas difusas ya que cada entrada del sistema (error, Fig. 18 Diagrama de bloques programación
derivada error o integral error) se asocia con una controlador PID difuso
función de membresía de la salida (servo-válvula)
6 Marzo de 2015. Ingeniería Mecatrónica, Universidad De Caldas

4. Pruebas y puesta a punto :


Después de tener los programa y la maqueta lista
procedemos a conectar todos los dispositivos y
empezamos a realizar pruebas de funcionamiento,
observamos cómo se mueve el servo, como comunica
y mide distancia el sensor HC-SR04, también se
observa el buen funcionamiento de la bomba, a
continuación vemos con el control PID como el
sistema empieza a buscar el punto de referencia.

SINTONIZACION CONTROLADOR PID


CONVENCIONAL:

Al principio de las pruebas con los valores calculados


del PID convencional observamos que el sistema Fig. 20 En esta imagen se observa la linealidad del sistema y
conmutaba demasiado rápido y que el controlador el óptimo funcionamiento del sistema, llega a referencia y se
reaccionaba ante cualquier cambio del sensor, este mantiene, esto es lo que buscamos en un sistema de este tipo.
controlador estaba muy sensible de manera que
verificamos las constantes del controlador PID y
luego de probar con otras posibles constantes FUNCIONAMIENTO CONTROL PID DIFUSO:
determinamos que lo que sucedía era que la constante
kd=394.131 lo cual era demasiado crítico para el Como mencionamos anteriormente en la implementación de
sistema ya que ese valor nos desestabilizaba el las reglas difusas, observamos el funcionamiento un poco más
controlador. Por ello cambiamos este valor de la lento en la reacción del punto de referencia, pero observamos
constante por un valor muchísimo más bajo ya que el que de igual manera este llega a punto de referencia
sistema respondía 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 respondía sin perturbaciones
cuando estaba en modo de operación.

Fig. 21 Vemos el comportamiento del error y de la reacción


de la búsqueda de la referencia en la siguiente imagen.

Para sintonizar adecuadamente este tipo de controlador


tuvimos que probar una y otra vez los rangos y valores de las
funciones de membresía ya que en un principio la válvula
conmutaba pero no tenía mucho recorrido, partiendo de la
prueba y error llegamos a la mejor optimización posible de
este controlador aunque no conmuta de la misma manera que
lo hace el controlador PID convencional podemos observar
Fig. 19 En esta imagen vemos como el nivel empieza que el sistema es capaz de llegar a la referencia que le
a subir (línea Blanca) buscando el punto de indiquemos.
referencia (línea Roja), a continuación vemos como
busca el punto (cierra la válvula hasta que el valor
del nivel este cerca a la referencia).
Marzo de 2015. Ingeniería Mecatrónica, Universidad De Caldas 7

• Reconocimos que un controlador PID


convencional es más Exacto y Preciso en
comparación a un controlador PID con lógica
difusa puesto que con un controlador PID
convencional tenemos en cuenta el modelado
matemático 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.
Fig. 22 Se observa en los dos programas la linealidad del • Recordamos y aprendimos nuevos modelos de
sistema y la versatilidad de la programación en LabView. programación y su implementación, para poner a
trabajar una planta prototipada.
• Implementamos un proyecto que tiene una
aplicación industrial real

III. CONCLUSIONES Bibliografía:

• Se debe siempre realizar un análisis de los http://elcajondeardu.blogspot.com/2014/03/tutorial-


proyectos a realizar se debe verificar, diseñar y sensor-ultrasonidos-hc-sr04.html
http://www.olimex.cl/tutorial/Guia%20MCI%20-
probar correctamente la planta que vamos a
%20Servo%20motor%20con%20Arduino.pdf
construir para dimensionar la ingeniería de http://es.wikipedia.org/wiki/V%C3%A1lvula_de_bol
detalle. a
• Se deben tener en cuenta todas las ramas de la http://es.wikipedia.org/wiki/Bomba_sumergible
ingeniería como son la electrónica, mecánica, http://www.arduino.cc/en/Main/arduinoBoardMega
para poder diseñar y ejecutar un proyecto.
• Este proyecto fue un desafío muy importante
porque se pudo aplicar lo aprendido durante un
periodo largo de la carrera y se pudo observar
cómo hemos avanzado en el desarrollo e
implementación de la ingeniería.
• Implementamos una nueva forma de programar
un Arduino como Tarjeta de adquisición de
datos y su debida comunicación con el software
LabView, además de los beneficios que estas dos
tecnologías nos permiten para desarrollar y
optimizar cualquier proceso industrial o
mecatrónico.
• 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 lógica
difusa.

S-ar putea să vă placă și