Está en la página 1de 42

INSTITUTO TECNOLÓGICO SUPERIOR

DE LA REGIÓN DE LOS LLANOS

INGENIERÍA MECATRÓNICA

CONTROL AVANZADO APLICADO


M.C. Jesús Leonel Arce Valdez
Unidad: 4

REPORTE DE PROYECTO:
IMPLEMENTACIÓN DE UN CONTROLADOR DIFUSO PID EN
LABVIEW PARA UN SISTEMA DE CONTROL “BALL AND BEAM”

Responsables:
16B100264 Leonardo Campos Vázquez
16B100018 Flabio César Hernández Salazar
16B100027 Felipe Ruelas Rodríguez
8° U

Guadalupe Victoria, Dgo., 11 – 06 – 2020


Contenido

1 INTRODUCCIÓN 1

2 JUSTIFICACIÓN 2

3 OBJETIVOS 4

3.1 GENERAL 4
3.2 ESPECÍFICOS 4

4 MARCO TEÓRICO 5

4.1 CONTROL REALIMENTADO 5


4.2 VARIABLE CONTROLADA Y VARIABLE MANIPULABLE 5
4.3 ELEMENTOS DE UN SISTEMA DE CONTROL EN LAZO CERRADO 5
4.4 LÓGICA DIFUSA 6
4.5 VARIABLE LINGÜÍSTICA 7
4.6 FUNCIÓN DE MEMBRESÍA 7
4.7 CONTROLADOR DIFUSO 8
4.8 INTERFAZ DE DIFUSIFICACIÓN 8
4.9 BASE DE CONOCIMIENTOS 8
4.10 MECANISMO DE INFERENCIA 9
4.11 INTERFAZ DE DESDIFUSIFICACIÓN 9
4.12 DISEÑO DE CONTROLADORES CON BASE EN MAMDANI 10
4.13 CONTROLADOR DIFUSO CLÁSICO 10
4.13.1 CONTROLADOR P 11
4.13.2 CONTROLADOR PD 12
4.13.3 CONTROLADOR PI 12
4.14 SISTEMA BARRA BOLA 12
4.15 MODELADO MATEMÁTICO DE UN SISTEMA BARRA - BOLA 13
4.16 LABVIEW 15
4.17 LINX 16
4.18 SERVOMOTOR SG90 16
4.19 SENSOR ULTRASÓNICO HC-SR04 17

5 METODOLOGÍA 19

5.1 DISEÑO Y CONSTRUCCIÓN DE LA PLANTA 19


5.2 DISEÑO DEL CONTROLADOR 24
6 CRONOGRAMA 36

7 CONCLUSIONES 37

8 BIBLIOGRAFÍA 38
1 Introducción
Por los días en que se realizó el proyecto a mostrar por medio de este documento,
tiempos convulsos se viven alrededor del globo. Desde hace un siglo la humanidad
no se enfrentaba a una crisis sanitaria como la que trajo el último mes del año 2019
e inicios de 2020. Es decir, la pandemia causada por el virus SARS COV 2, también
conocido como COVID-19 o Coronavirus. A raíz de ello, no pocas fueron las
naciones que decretaron una disminución (en algunos casos obligatoria como en
Italia, España o China) considerable de las actividades humanas fuera del hogar,
sean actividades de recreación, ocio e incluso laborales. Esto con el fin de disminuir
la pendiente de la curva de contagios en aras de no saturar los sistemas de salud
de cada país, esto mientras se logra obtener una vacuna a la vez que se consigue
la ‘inmunidad del rebaño’. México no quedó exento de estas medidas, si bien no es
un confinamiento obligado, si se suspendieron de manera presencial algunas áreas
de la sociedad incluida la educación, debido a ello se tuvo que hacer uso de varias
herramientas virtuales disponibles, para poder continuar con el estudio de los temas
que comprenden la instrumentación de la asignatura de control avanzado y demás
materias comprendidas dentro de la retícula de la carrera de ingeniería mecatrónica.

Es claro que esto implica ciertas limitaciones, pues tomó por sorpresa a toda la
comunidad estudiantil, administrativa y docente, sin embargo, se han cumplido de
forma satisfactoria con los temas considerados para el actual curso, desarrollando
con ello las competencias específicas planteadas para con la materia, tal como
corresponde este trabajo. Así pues, en la búsqueda de continuar con esta
estrategia, y para finalizar el semestre, se pondrán a prueba algunos de los
conocimientos obtenidos en los trabajos que se han entregado de forma virtual,
tomando en consideración también las posibilidades que se tienen al alcance en
esta contingencia.

Por lo que, en este trabajo se implementó un controlador PID difuso, utilizando


MATLAB y LabVIEW, a un sistema de barra y bola (“ball and beam”). En este
sistema se desea mantener la posición de una pelota sobre una viga-balancín,
determinado mediante un ‘setpoint’; a pesar de las perturbaciones. Como actuador

1
se utilizó un servomotor y como sensor, que aportará la señal de retroalimentación
del sistema de control de lazo cerrado, se usó un sensor ultrasónico; la placa de
adquisición de datos utilizada fue un Arduino Uno. En este reporte se muestra el
proceso seguido para elaborar esta implementación, mostrando desde la
metodología llevada a cabo para diseñar y construir la planta a controlar, pasando
por el diseño del controlador, hasta su implementación en LabVIEW y en la planta
real, así como los resultados obtenidos por medio de fotografías y las conclusiones
del proyecto, además de que se agrega un link con la dirección de un video en
YouTube con tal de demostrar el correcto funcionamiento del controlador difuso.
Cabe destacar que en este trabajo se mezclan conceptos de otras materias tales
como la instrumentación virtual y sistemas embebidos, debido al manejo de
LabVIEW y de los actuadores y sensores que participan en la planta a controlar
respectivamente. Aprovechando así lo aprendido en el semestre para dar
continuidad con las clases a pesar de los inconvenientes ya relatados y presentar
una aplicación real de la lógica difusa.

2 Justificación
Muchos de los procesos industriales presentan un comportamiento dinámico no
lineal, esto como consecuencia de la interacción no conservativa de las diferentes
partes que componen a la planta, o en muchas ocasiones los datos obtenidos de
una variable de proceso están sometidos a una gran cantidad de incertidumbre, lo
que ocasiona que el control del proceso no esté dentro de los estándares
industriales. Ante este panorama y con el desarrollo de la ciencia y tecnología de
los últimos años que han propiciado el auge de microordenadores, han aparecido
nuevas estrategias de control bajo el seudónimo de control avanzado, una de ellas
es la lógica difusa. La cual ha permitido desarrollar controladores difusos para
gobernar procesos con dinámicas complejas, definidas bajo fenómenos heurísticos,
un controlador difuso no necesita conocer el modelo matemático de la planta a
controlar, pues las reglas lingüísticas de un experto en el proceso, pueden pasarse
directamente a lenguaje matemático para sintetizar el algoritmo de control. Las
posibilidades de la lógica difusa a hecho que sean utilizados controladores difusos

2
para, manejar el sistema de trenes de la ciudad de Tokio o que empresas como
Matsuhita los utilicen en lavadoras para determinar el ciclo de lavado.

Es así que la importancia de este trabajo radica en la oportunidad que brinda para
ampliar la competencia relacionada con el diseño de sistemas de control avanzados
así como su aplicación, al implementar un controlador difuso, en este caso, a una
planta que representa un sistema físico y tangible, pues las prácticas realizadas en
el curso, estas siempre se efectuaron utilizando las herramientas de Simulink, sin
poder observar su efecto real en un ambiente físico donde obviamente no todas las
variables pueden ser controladas, pudiendo existir pequeñas perturbaciones que
pondrán a prueba la verdadera eficacia y funcionalidad del sistema de control usado.
Así pues, al diseñar ahora un controlador difuso que se sabe se usará para una
tarea específica de manera física se requerirá de un mayor cuidado a la hora de
considerar las variables lingüísticas, valores lingüísticos y funciones de membresía.
Sin embargo, esta labor contribuirá a la obtención de más experiencia en cuanto a
trabajar en el diseño de sistemas de control, no solo de lógica difusa sino también
otras metodologías de control similares, además de que se ponen en conjunción el
usó de otras herramientas muy utilizadas por una persona que quiera cumplir con
el perfil de un Ingeniero mecatrónico.

3
3 Objetivos
3.1 General
Haciendo uso de MATLAB y LabVIEW diseñar e implementar un controlador PID
difuso para un sistema de control barra y bola, donde a través de un balancín se
modifica la posición de una pelota, a lo largo de una viga según un valor de
referencia que se le sea ingresado al sistema como entrada.

3.2 Específicos
• Diseño de las diferentes piezas que componen la estructura de la planta a
controlar en SolidWorks.
• Impresión 3D de las piezas de la estructura.
• Ensamble de las piezas para formar la planta.
• Diseño del controlador difuso en Matlab.
• Implementación del controlador por medio de LabVIEW.
• Realización de las conexiones pertinentes entre el sensor y actuador de la
planta con Arduino UNO y la interfaz de comunicación con el programa
elaborado en LabVIEW.
• Realización de pruebas del sistema de control y perturbaciones al mismo
para comprobar su rendimiento.

4
4 Marco teórico
4.1 Control realimentado
Se refiere a una operación que, en presencia de perturbaciones, tiende a reducir la
diferencia entre la salida de un sistema y alguna entrada de referencia (Ogata,
1998). De este modo, un sistema de control de temperatura, por ejemplo, un sistema
de calefacción central en una casa, puede tener en su entrada un termostato en el
que se fija la temperatura requerida y su salida es la temperatura real. Esta
temperatura se ajusta mediante el sistema de control, de modo que se obtenga el
valor de temperatura fijado por la entrada del sistema.

4.2 Variable controlada y variable manipulable


La variable controlada es la cantidad o condición que se mide y controla. La variable
manipulable es la cantidad o condición que el controlador modifica para afectar el
valor de la variable controlada. Por lo general la variable controlada es la salida del
sistema (Ogata, 1998).

4.3 Elementos de un sistema de control en lazo cerrado


Un sistema de lazo cerrado se define como aquel cuya acción de control depende
de la salida. En este tipo de sistemas se utiliza un sensor que detecta la respuesta
real para compararla con una referencia de entrada. De tal manera que, si el sistema
requiere una corrección, se le aplica (Bolton, 2001). A continuación, se enlistan sus
elementos:

• Elemento de comparación. Compara el valor de referencia con el valor


medido de la salida del sistema, produciendo una señal de error.
• Elemento de control. Decide qué acción tomar cuando se recibe una señal
de error.
• Elemento de corrección (actuador). Produce un cambio en el proceso al
eliminar el error de acuerdo a la información del elemento de control.
• Elemento de proceso (planta). Es el sistema donde se va a gobernar la
variable controlada.
• Elemento de medición. Produce una señal relacionada con la salida del
sistema, además proporciona la realimentación al sistema.

5
En la figura 4.1 se pueden observar un sistema de control realimentado típico, así
como sus variables y señales características.

Figura 4.1 (Sistema de control realimentado)

Donde:

• 𝑟(𝑡) = Entrada de referencia


• 𝑒(𝑡) = Señal del error
• 𝑣(𝑡) = Variable regulada
• 𝑚(𝑡) = Variable manipulada
• 𝑝(𝑡) = Señal de perturbación
• 𝛾(𝑡) = Variable controlada
• 𝑏(𝑡) = Variable de retroalimentación

(Gaviño, 2010)

4.4 Lógica difusa


Es una forma matemática de representar la imprecisión inherente al lenguaje
natural, fue introducida por Lofti A. Zadeh en 1965. Fue creada con el objetivo de
emular la lógica humana y tomar decisiones acertadas a pesar de la incertidumbre
de la información (Cruz, 2010). Es una herramienta flexible que se basa en reglas
lingüísticas dictadas por expertos. Por ejemplo, la velocidad de un automóvil es una
herramienta variable que puede tomar distintos valores lingüísticos, como “alta”,
“media” o “baja”. Estas variables lingüísticas están regidas por reglas que dictan la
salida del sistema. Es así que se trata de un conjunto de principios matemáticos

6
basados en grados de membresía, cuya función es modelar información. Este
modelado se hace con base en reglas lingüísticas que aproximan una función
mediante la relación de entradas y salidas del sistema. Esta lógica presenta rangos
de membresía dentro de un intervalo entre 0 y 1.

4.5 Variable lingüística


Son caracteres legibles (como colores, letras, palabras, sonidos, símbolos) que
pueden ser interpretados o diferenciados fácilmente por una persona que controla
un sistema. Estas variables de forma específica representan una condición en que
el sistema puede funcionar o está funcionando. Una variable lingüística se
representa por medio de conjuntos difusos.

La variable lingüística puede ser seleccionada por el operador desde un controlador


del sistema para establecer la condición deseada del sistema, y también puede ser
la salida del propio sistema automatizado por sensores para señalar al supervisor
sus condiciones de funcionamiento en un instante determinado (Infante, Juárez,
García, & Tequianez, 2009).

4.6 Función de membresía


Para la representación de los grados de pertenencia de cada uno de los elementos
que conforma el conjunto difuso, lo más natural es extraer los datos de los
fenómenos que se va a representar y con ellos definir la forma de la función de
membresía. De otra manera existen metodologías que permiten asignar grados de
membresía a cada uno de los elementos del conjunto. Existen funciones de
membresía convencionales y no convencionales que permiten realizar un mapeo de
un universo difuso (grados de membresía entre 0 y 1) (Cruz, 2010).

Las funciones de membresía más comunes son:

• Tipo triangular.
• Tipo trapezoidal.
• Tipo sigmoidal.
• Tipo campana de Gauss.
• Tipo singleton.

7
4.7 Controlador difuso
Cuando se utilizan controladores difusos (FLC) en lazo cerrado, éstos miden la
salida de la planta y toman acciones de control sobre el proceso continuamente,
para tratar que la salida de la planta y la entrada de referencia presenten el mínimo
error (Cruz, 2010). El objetivo es poner el conocimiento humano dentro de los
sistemas de ingeniería.

Un controlador difuso está compuesto por cuatro partes fundamentales: interfaz de


difusificación, base de conocimientos, lógica de decisiones, e interfaz de
desdifusificación, estas se muestran en la figura 4.2.

Figura 4.2 (Esquema de un controlador difuso)

4.8 Interfaz de difusificación


Mide los valores de las variables de entrada para realizar un mapeo a escala que
transfiere el rango de valores de las variables a un universo de discurso difuso. La
difusificación convierte los datos de entrada en valores lingüísticos que son las
etiquetas de las funciones de membresía o conjuntos difusos (Cruz, 2010).

4.9 Base de conocimientos


Contiene toda la información de la aplicación que se va a controlar, así como las
metas del controlador. Consta de una base de datos y una base de reglas
lingüísticas para controlar la variable. La base de datos proporciona las definiciones
para el establecimiento de reglas y la manipulación de datos difusos. Caracteriza
las metas del control y la política que utilizan los expertos para llevar a cabo el
control, empleando suposiciones (Cruz, 2010).

8
4.10 Mecanismo de inferencia
La estructura básica de funcionamiento de un sistema difuso está constituida por el
mecanismo de inferencia, el cual tiene la característica de realizar una acción
experta de acuerdo a una serie de reglas base, que son un conjunto de condiciones
preestablecida en donde a una entrada específica le corresponde una respuesta
determinada, para tener de esta forma la mejor condición de operación.

El proceso de inferencia realiza una interpretación del sistema de referencia a la


entrada del mecanismo difuso, al tener las condiciones de comportamiento como su
nivel de operación, de determina cuál es la mejor respuesta que representa de forma
óptima a ese nivel de operación y se selecciona la función de membresía
correspondiente de una base de conocimiento que contiene todas las funciones de
membresía a elegir, y posteriormente da la respuesta correcta (Infante, Juárez,
García, & Tequianez, 2009).

4.11 Interfaz de desdifusificación


Se encarga del mapeo a escala que convierte el rango de valores de las variables
de salida a sus universos de discurso correspondientes. Es la herramienta para
obtener la acción de control. Para obtener este valor nítido se utiliza el método de
centro de área, el cual se puede representar en forma discreta como:

(4.1)

O continua:

(4.2)

Este método se utiliza para obtener el valor real de la salida. Su metodología es


sencilla: corta la función de membresía al grado de la membresía respectiva, es

9
decir, segmenta las funciones de membresía, generando en cada función dos áreas.
El área inferior que se forma es la que se toma para hacer el cálculo. Se sobreponen
todas estas áreas y se saca el centroide de la superposición, el cual indica la salida
real del sistema (Cruz, 2010).

4.12 Diseño de controladores con base en Mamdani


Mamdani propuso el primero controlador difuso en los años setenta, el cual
comprende el siguiente procedimiento básico:

1. Siendo el error la diferencia entre el valor deseado y el valor real de la variable


que se va a controlar, esto es: 𝜀 = 𝑉𝑑𝑒𝑠𝑒𝑎𝑑𝑜 − 𝑉𝑟𝑒𝑎𝑙 se seleccionan las funciones de
pertenencia que realizarán la difusificación.

2. Se establecen las reglas a partir de proposiciones condicionales, y el dispositivo


de inferencia será una composición máx.-min que ha sido previamente definida
como:

𝑋𝑇 (𝑥, 𝑧) = ⋁𝑦∈𝑌 (𝑋𝑅 (𝑥, 𝑦)⋀𝑋𝑆 (𝑦, 𝑧)) (4.3)

3. Se seleccionan las funciones de pertenencia para la desdifusificación y el método


que se va a usar para el valor nítido de la salida, normalmente correspondiente al
método del centroide (Cruz, 2010).

4.13 Controlador difuso clásico


Un controlador difuso clásico tiene un lazo de control como el de la figura 4.3. Al
igual que los controladores industriales clásicos, contempla el uso de una acción
proporcional (controlador P), proporcional-derivativa (controlador PD), proporcional-
integral (controlador PI) y proporcional/integral/derivativa (Controlador PID).

Figura 4.3 (Lazo de un controlador difuso clásico)

10
Partiendo de la respuesta de un sistema a un escalón de ganancia r, que es el valor
deseado del sistema, el cual se muestra en la figura 4.4, y con funciones de
pertenencia para la difusificación y desdifusificación de tipo triangular, con tres
términos y las mismas etiquetas (figura 4.5), es posible diseñar las matrices de
reglas para cada tipo de controlador según su acción: controlador P, controlador
PD, controlador PI y controlador PID (Cruz, 2010).

Figura 4.4 (Respuesta de un sistema a un escalón r)

Figura 4.5 (Funciones de pertenencia propuestas para la difusificación y desdifusificación)

4.13.1 Controlador P
La ley de control en un controlador tipo P se define como 𝑢 = 𝐾𝑃 𝜀, donde 𝜀 = 𝑟 − 𝑦.
A partir de esto, se proponen las siguientes reglas, representadas de forma matricial
en una tabla denominada matriz de asociación difusa o FAM (Cruz, 2010).

11
Tabla 4.1 (FAM para un controlador P)

4.13.2 Controlador PD
La ley de control en un controlador tipo PD se define como 𝑢 = 𝐾𝑃 𝜀 + 𝐾𝐷 𝜀̇, donde
𝜀 = 𝑟 − 𝑦. Se propone la siguiente FAM (Cruz, 2010).

Tabla 4.2 (FAM para un controlador PD)

4.13.3 Controlador PI
La ley de control en un controlador tipo PI se define como 𝑢 = 𝐾𝑃 𝜀 + 𝐾𝐼 ∫ 𝜀 𝑑𝜀,
donde 𝜀 = 𝑟 − 𝑦. Siendo que la derivada de la ley de control es 𝑢̇ = 𝐾𝑃 𝜀̇ + 𝐾𝐼 𝜀, si se
integra la salida de un controlador PD es posible obtener un controlador PI
empleando la FAM del controlador PD (Cruz, 2010).

Figura 4.6 (Obtención de un controlador PI difuso a partir de uno tipo PD)

4.14 Sistema barra bola


Este sistema de control consiste en una barra sobre la cual corre una bola, por un
extremo se encuentra sujeta a un motor que controla su movimiento y por el otro

12
lado se encuentra un sensor de distancia cuya función es medir su posición
enviando distintos voltajes o información dependiendo del lugar en donde se
encuentre la bola. A medida que el motor gira un ángulo theta, el pivote cambia el
ángulo de la barra en alpha. Cuando se cambia el ángulo a partir de la posición
vertical, la gravedad ocasiona que la bola ruede a lo largo de la viga. El objetivo es
controlar la posición de la bola en un solo lugar y que ante perturbaciones se
estabilice rápidamente en ese punto de referencia (Hernández, 2017).

Figura 4.7 (Sistema barra y bola)

4.15 Modelado matemático de un sistema barra - bola


Para modelar el mecanismo barra – bola se debe aplicar la segunda ley de Newton
a la bola, tal como se muestra en la figura 4.8.

Figura 4.8 (Barra inclinada y bola rodando)

13
Tal como indica la figura 4.8 existen diferentes fuerzas que actúan sobre la bola, y
estas son: la fuerza gravitatoria terrestre, la fuerza normal de la barra y el rozamiento
entre la barra y la bola, tomando el eje de referencia en el centro de la viga y el eje
x paralelo a esta tenemos:

𝑚 ∗ 𝑔 ∗ sin 𝛽 − 𝐹𝑟 = 𝑚 ∗ 𝑎, 𝑒𝑗𝑒 𝑥 (4.4)

𝑚 ∗ 𝑔 ∗ cos 𝛽 = 𝑁, 𝑒𝑗𝑒 𝑦 (4.5)

Suponiendo que la bola rueda sin deslizarse por la barra, se obtiene la condición
que rodadura, la cual relaciona el ángulo de la viga con la posición de la bola.

𝑥 = 𝑅𝑔 ∗ 𝛽 (4.6)

La fuerza de rozamiento es la causante de que la bola ruede sobre la viga, es decir,


el momento de la bola es causado por la fuerza de rozamiento, aplicando la segunda
ley de Newton de la rotación:

𝑑2 𝛽(𝑡) (4.7)
𝐹𝑟 ∗ 𝑅𝑔 = 𝐽𝑏𝑜𝑙𝑎
𝑑𝑡 2

La bola es una esfera perfecta por lo que se momento de inercia es:

2
𝐽𝑏𝑜𝑙𝑎 = ∗ 𝑚 ∗ 𝑅2 (4.8)
5

Y la aceleración angular de la bola y la velocidad lineal de la misma se relaciona a


través de la condición de rodadura de la siguiente forma:

𝑑 2 𝛽(𝑡) 1 𝑑 2 𝑥(𝑡)
= (4.9)
𝑑𝑡 2 𝑅𝑔 𝑑𝑡 2

Con esta ecuación y la anterior se puede obtener la fuerza de rozamiento como:

2
2 𝑅 𝑑2 𝑥(𝑡) (4.10)
𝐹𝑟 = 𝑚 ( )
5 𝑅𝑔 𝑑𝑡 2

Que si se sustituye en la ecuación 4.4 se tiene:

14
2
2 𝑅 𝑑 2 𝑥(𝑡)
𝑚 ∗ 𝑔 ∗ sin 𝛽 − ∗ 𝑚 ∗ ( ) ∗ = 𝑚𝑎 (4.11)
5 𝑅𝑔 𝑑𝑡 2

Y operando se obtiene:

𝑑 2 𝑥(𝑡) 𝑔
= sin 𝛽 (4.12)
𝑑𝑡 2 2 𝑅 2
[1 + (𝑅 ) ]
5 𝐺

Lo cual se puede linealizar de la siguiente manera:

𝑑2 𝑥(𝑡) 𝑔 (4.13)
= 2 𝛽(𝑡)
𝑑𝑡 2 2 𝑅
[1 + (𝑅 ) ]
5 𝐺

Una vez que se aplica la transformada de Laplace a la expresión de la ecuación


4.13 se tiene que:

𝑋(𝑠) 𝑔
= (4.14)
𝛽(𝑠) 2 𝑅 2
[1 + (𝑅 ) ] 𝑠 2
5 𝐺

Como se puede observar el sistema de control es inestable en lazo abierto, debido


a la ubicación de los polos en el plano complejo de Laplace, por este motivo el
controlador debe mover la ubicación de los polos al semiplano izquierdo de Laplace.

4.16 LabVIEW
Se trata del acrónimo de Laboratory Virtual Instrument Engineering Workbech. Es
un lenguaje y a la vez un entorno de programación gráfica en el que se pueden crear
aplicaciones de una forma rápida y sencilla. Fue creado por National Instruments en
abril de 1986 (Vizcaíno & Sebastiá, 2007).

LabVIEW es una herramienta de programación gráfica. Originalmente este


programa estaba orientado a aplicaciones de control de instrumentos electrónicos
usadas en el desarrollo de sistemas de instrumentación, lo que se conoce como
instrumentación virtual (Vizcaíno & Sebastiá, 2007). Por tal motivo los programas
creados en LabVIEW se guardan en ficheros llamados VI y con la misma extensión,
que significa instrumento virtual. Como un instrumento real tiene un panel frontal

15
con botones y pantallas para el usuario, además de una circuitería interna entre sus
componentes, LabVIEW dispone de dos ventanas: el panel frontal, que es la parte
que verá el usuario, suele tener un fondo gris; y el diagrama de bloques, donde se
realizará la programación y suele tener fondo blanco.

4.17 LINX
LINX es un proyecto de fuente abierta de Digilent y está diseñado para facilitar el
desarrollo de aplicaciones embebidas usando LabVIEW. LINX incluye VIs para más
de 30 de los sensores embebidos más comunes, así como APIs de hardware
diagnóstico para tener acceso a periféricos como E/S digitales, tales es el caso de
MakerHub, E/S analógicas, PWM, I2C, SPI y UART. El uso de LINX permite utilizar
las tarjetas Arduino, chipKIT, BeagleBone Black o Raspberry Pi 2/3 como tarjetas
de adquisición de datos, ya sea por medio de conexión USB/Serial, Ethernet o Wi-
Fi. Para descargarlo se utiliza el VI Package Manager de LabVIEW (National
Instruments, 2020).

Figura 4.9 (Funciones para abrir y cerrar comunicación serial y escribir en


un pin digital de la tarjeta de adquisición)

4.18 Servomotor SG90


Es un actuador que consiste de un motor de CD con engranajes que limitan su
velocidad, pero aumentan su torque, que incorpora además un potenciómetro y
cierta circuitería de control para poder establecer la posición del eje del motor de
forma precisa a través de un lazo cerrado con retroalimentación. El eje de un
servomotor no gira libremente, sino que rota en torno a un ángulo que puede ser
variado a partir de la señal de control. La magnitud del desplazamiento angular del
eje de un servomotor está determinada por la duración de los pulsos de la señal de
control. Si los pulsos tienen una duración de 1.5 milisegundos el eje del servo se
posicionará en 90°, si en cambio el pulso tiene una duración de entre 1.5 y 2
milisegundos entonces se ubicará entre 90° y 180°, y entre 1.5 y 1 milisegundo el

16
eje del servomotor se ubicará entre 0 y 90 ° (Artero, Arduino: Curso práctico de
formación, 2013).

Figura 4.10 (Servomotor SG90)

Para poder operar un servomotor desde el entorno de LabVIEW se necesita de la


librería LINX que proporciona los siguientes bloques:

Figura 4.11 (Bloques servo en LINX)

El primero de ellos permite configurar uno de los pines de la tarjeta da adquisición


de datos para que envié la señal adecuada para operar un servomotor. El segundo
recibe como entrada la longitud del ancho de pulso de la señal de control del
servomotor y la aplica en el pin configurado en el bloque uno. El tercero permite
liberar el pin que se configuró como salida de servomotor, por lo que puede usarse
como entrada/salida digital.

4.19 Sensor ultrasónico HC-SR04


Los sensores ultrasónicos miden la distancia mediante el uso de ondas ultrasónicas.
Para ello el cabezal emite una onda ultrasónica y recibe la onda reflejada que
retorna desde el objeto a medir. Los sensores ultrasónicos miden la distancia al
objeto contando el tiempo entre la emisión y la recepción.

17
Figura 4.12 (Sensor ultrasónico HC-SR04)

La distancia se puede calcular con la siguiente fórmula:

TC
Distancia L = (4.15)
2

Donde L es la distancia, T es el tiempo entre la emisión y la recepción, y C es la


velocidad del sonido. (El valor se multiplica por 1/2 ya que T es el tiempo de recorrido
de ida y vuelta) (Veloso, 2016).

Para utilizar un sensor de distancia ultrasónico en LabVIEW la librería LINX ofrece


una función en la cual se define el pin DO que servirá para emitir la señal ultrasónica
y el pin DI que leerá la onda ultrasónica reflejada, este bloque mide el periodo de
emisión y recepción en los pines DI y DO para obtener la distancia del objeto en el
que se reflejó la señal ultrasónica, esta medición puede ser entregada en
centímetros o pulgadas.

Figura 4.13 (Bloque de sensor ultrasónico en LINX)

18
5 Metodología
5.1 Diseño y construcción de la planta
Todas las piezas mecánicas y de estructura se diseñaron en Solidworks, tomando
en cuenta la capacidad dimensional de la impresora 3D donde fueron
manufacturadas, y el ensamble de componentes externos como el sensor
ultrasónico y el servomotor.

En las figuras 5.1 5.2 y 5.3 se presentan algunas de las piezas diseñadas en el
software de diseño y en la figura 5.4 se muestra el ensamble de las piezas realizado
en el mismo programa. Esto con el fin de poder previsualizar la forma y tamaño de
la planta que poseerá una vez que las piezas se hayan fabricado

Figura 5.1 (Base central del sistema)

19
Figura 5.2 (Base para el servomotor)

Figura 5.3 (Barra que conforma la carrera de la bola)

20
Figura 5.4 (Ensamble virtual del sistema barra y bola)

Teniendo los diseños terminados, se imprimieron en una impresora 3D (figura 5.5)


para que de esta forma fueran manufacturarlos y que su fabricación fuera lo más
exacta posible sin tener que recurrir a materiales más costosos y difíciles de
trabajar. La única pieza que no fue impresa fue la barra misma, esta se fabricó
utilizando piezas de madera claro que se le hicieron ciertas modificaciones con
respecto al diseño hecho en Solidworks, pero se mantuvieron sus dimensiones de
ancho, alto y largo.

21
Figura 5.5 (Impresión 3D de las piezas)

Con las piezas terminadas se ensambló la estructura usando distintos elementos de


unión tales como tornillos, tuercas y Kola Loka (figura 5.6 y5.7).

Figura 5.6 (Ensamblando sistema físico 1)

22
Figura 5.7 (Ensamblando sistema físico 2)

A la barra del sistema que se fabricó con piezas de madera se le hicieron con ayuda
de una segueta varias ranuras (figura 5.8) de poca profundidad en la superficie que
tiene contacto con la bola. Para que así el esférico al rodar sobre la viga, tuviera un
poco de resistencia en vez de un rodamiento libre.

La viga de madera fue pintada de color azul simplemente por estética y que
visualmente, se vea más acorde con las piezas que si fueron impresas.

Figura 5.8 (Pintado y realización de ranuras en la barra)

23
En la figura 5.9 se muestra la planta terminada y lista para la implementación del
controlador difuso. Se puede notar como se graduó la carrera de la bola para que
sea más fácil visualizar los resultados del sistema de control más adelante.

Figura 5.9 (Planta terminada)

5.2 Diseño del controlador


Tal como se observa en la ecuación 4.14 la función de transferencia de la planta
tiene ubicados dos polos en el origen del plano s, por ello la planta en lazo abierto
presenta inestabilidad, pues ambos polos se encuentran en la frontera del
semiplano izquierdo de Laplace, que de acuerdo al método del lugar de las raíces
es una región de inestabilidad. Por tal motivo, si se aplica una entrada escalón a la
planta la respuesta tenderá al infinito, entendiéndose como respuesta la posición de
la pelota con respecto al sensor. Bajo esta consideración el controlador debe ser
capaz de modificar el lugar geométrico de las raíces hasta la región de estabilidad
en el semiplano izquierdo de Laplace, lo cual solo es posible con la utilización de un
controlador PID o un compensador de adelanto de fase, el objetivo de control en
esta planta es poder anticipar la trayectoria de la pelota para reducir su impulso.

24
Es así que se planteó como estrategia de control, la implementación de un
controlador PID difuso, con la ventaja de que no será necesario el modelado
matemático de la planta.

El primer paso para el diseño del controlador fue especificar el número de entradas
y salidas del mismo. Como el controlador es del tipo PID se necesitan de 3 entradas
para poder analizar la información de cada una de las componentes de la acción
PID, y como salida se tiene el ángulo al que se debe mover la barra de la planta por
medio de un servomotor. Bajo esta consideración el controlador es del tipo MISO,
multiple input – single output.

Ahora, se comenzó a crear el controlador utilizando la herramienta Fuzzy Logic


Designer de LabVIEW, en este entorno se agregó una nueva variable de entrada
con el nombre de ‘posición’ y un universo de discurso de -26 cm a 26 cm, que se
corresponden a los límites del error de posición que puede experimentarse a lo largo
de la barra. En esta variable se crearon 5 funciones de membresía con los nombres
‘ENG – error negativo grande’, ‘ENP – error negativo pequeño’, ‘EC – error cero’,
‘EPP – error positivo pequeño’, ‘EPG – error positivo grande’, cuyos datos
representativos son los siguientes:

𝐸𝑁𝐺 = 𝑇𝑟𝑎𝑝𝑒𝑧𝑜𝑖𝑑𝑎𝑙{𝑥: − 27, −27, −22.6215, −5.28814} (5.1)

𝐸𝑁𝑃 = 𝑇𝑟𝑖𝑎𝑛𝑔𝑢𝑙𝑎𝑟{𝑥: − 18.5, −10, 0} (5.2)

𝐸𝐶 = 𝑇𝑟𝑖𝑎𝑛𝑔𝑢𝑙𝑎𝑟{𝑥: − 14.6893, 0, 13.8079} (5.3)

𝐸𝑃𝑃 = 𝑇𝑟𝑖𝑎𝑛𝑔𝑢𝑙𝑎𝑟{𝑥: 0, 10, 18.5} (5.4)

𝐸𝑃𝐺 = 𝑇𝑟𝑎𝑝𝑒𝑧𝑜𝑖𝑑𝑎𝑙{𝑥: 5.43503, 22.3277, 27, 27} (5.5)

A partir de estas funciones de membresía se obtuvo lo siguiente en el Fuzzy Logic


Designer de LabVIEW:

25
Figura 5.10 (Funciones de membresía de la variable posición)

Ahora, se creó una nueva variable lingüística de entrada bajo el nombre de


‘Derivada’, la cual se corresponde a la tasa de cambio del error de posición de la
pelota a lo largo de la barra, bajo experimentación se obtuvo que la velocidad
máxima a la que puede llegar a caer la pelota es de 100 cm/s, por tal motivo el
universo de discurso de la variable ‘Derivada’ se estableció entre -100 y 100. Al igual
que para la entrada anterior, en esta se crearon 5 funciones de membresía con los
nombres de: ‘DNG – derivada negativa grande’, ‘DNP – derivada negativa pequeña’,
‘DC – derivada cero’, ‘DPP – derivada positiva pequeña’, ‘DPG – derivada positiva
grande’, cuyos tipos de función se definieron de la siguiente manera:

𝐷𝑁𝐺 = 𝑇𝑟𝑎𝑝𝑒𝑧𝑜𝑖𝑑𝑎𝑙{𝑥: − 110, −110, −83, −46.8927} (5.6)

𝐷𝑁𝑃 = 𝑇𝑟𝑖𝑎𝑛𝑔𝑢𝑙𝑎𝑟{𝑥: − 70, −38, 0} (5.7)

𝐷𝐶 = 𝑇𝑟𝑖𝑎𝑛𝑔𝑢𝑙𝑎𝑟{𝑥: − 38, 0, 38} (5.8)

𝐷𝑃𝑃 = 𝑇𝑟𝑖𝑎𝑛𝑔𝑢𝑙𝑎𝑟{𝑥: 0, 38, 70} (5.9)

𝐷𝑃𝐺 = 𝑇𝑟𝑎𝑝𝑒𝑧𝑜𝑖𝑑𝑎𝑙{𝑥: 50.8475, 83, 110, 110} (5.10)

26
Figura 5.11 (Funciones de membresía de la variable derivada)

Para terminar con las variables de entrada se procedió a crear una más con el
nombre de ‘Integral’, la cual representa la acumulación de los errores de posición
pasados, esta tiene un universo de discurso de – 10 a 10 cm, debido a que a lo
largo de la experimentación que se realizó con la planta, se determinó que los
errores acumulados nunca llegan a superar la magnitud de 10. En esta variable se
crearon 5 funciones de membresía con los nombres: ‘ING – integral negativa
grande’, ‘INP – integral negativa pequeña’, ’IC – integral cero’, ‘IPP – integral positiva
pequeña’, ‘IPG – integral positiva grande’, los parámetros con los que se
configuraron estas funciones de membresía son los siguientes:

𝐼𝑁𝐺 = 𝑇𝑟𝑎𝑝𝑒𝑧𝑜𝑖𝑑𝑎𝑙{𝑥: − 11, −11, −8.3, −2.65537} (5.11)

𝐼𝑁𝑃 = 𝑇𝑟𝑖𝑎𝑛𝑔𝑢𝑙𝑎𝑟{𝑥: − 6.72, −3.72, 0} (5.12)

𝐼𝐶 = 𝑇𝑟𝑖𝑎𝑛𝑔𝑢𝑙𝑎𝑟{𝑥: − 3.8, 0, 3.8} (5.13)

𝐼𝑃𝑃 = 𝑇𝑟𝑖𝑎𝑛𝑔𝑢𝑙𝑎𝑟{𝑥: 0, 3.72, 6.72} (5.14)

𝐼𝑃𝐺 = 𝑇𝑟𝑎𝑝𝑒𝑧𝑜𝑖𝑑𝑎𝑙{𝑥: 2.42938, 8.3, 11, 11} (5.15)

27
Figura 5.12 (Funciones de membresía de la variable integral)

Además, en la herramienta Fuzzy Logic Designer de LabVIEW se agregó una


variable de salida con el nombre de ‘Angulo’ y un universo de discurso de -60 a 60
grados, esta variable representa el ángulo al que debe girar el servomotor para
inclinar la barra y así corregir el error de posición de la pelota. Las funciones de
membresía que componen a esta variable son: “ANG – ángulo negativo grande”,
“ANP – ángulo negativo pequeño”, “AC – ángulo cero”, “APP – ángulo positivo” y
“APG – ángulo positivo grande”, cuyas funciones fueron definidas de la siguiente
manera:

𝐴𝑁𝐺 = 𝑇𝑟𝑎𝑝𝑒𝑧𝑜𝑖𝑑𝑎𝑙{𝑥: − 70, −70, −50, −17} (5.16)

𝐴𝑁𝑃 = 𝑇𝑟𝑖𝑎𝑛𝑔𝑢𝑙𝑎𝑟{𝑥: − 45.76, −27.1, 0} (5.17)

𝐴𝐶 = 𝑇𝑟𝑖𝑎𝑛𝑔𝑢𝑙𝑎𝑟{𝑥: − 30, 0, 30} (5.18)

𝐴𝑃𝑃 = 𝑇𝑟𝑖𝑎𝑛𝑔𝑢𝑙𝑎𝑟{𝑥: 0, 27.1, 45.76} (5.19)

𝐴𝑃𝐺 = 𝑇𝑟𝑎𝑝𝑒𝑧𝑜𝑖𝑑𝑎𝑙{𝑥: 17, 50, 70, 70} (5.20)

28
Figura 5.13 (Funciones de pertenencia para la variable ángulo)

Una vez que todas las variables lingüísticas fueron definidas correctamente, se
procedió a introducir la base de reglas de inferencia del controlador, para ello se dio
clic en la pestaña ‘Rules’ y comenzaron a escribirse los antecedentes y
consecuentes de cada una de las reglas, la conexión de los antecedentes se formuló
por medio de una operación AND y el método para obtener el consecuente fue por
medio del valor mínimo, el método de desdifusificación que se eligió fue del tipo
centro de área. En total se utilizaron 125 reglas, las cuales cubren todos los posibles
casos de operación de la planta, en la tabla 5.1 se enlistan cada una de ellas.

29
Figura 5.14 (Creación de la base de reglas de inferencia del controlador)

Tabla 5.1 (Reglas de inferencia del controlador)

REGLA POSICIÓN DERIVADA INTEGRAL ÁNGULO


1 ENG DNG ING ANG
2 ENG DNG INP ANG
3 ENG DNG IC ANG
4 ENG DNG IPP ANG
5 ENG DNG IPG ANG
6 ENG DNP ING ANG
7 ENG DNP INP ANG
8 ENG DNP IC ANG
9 ENG DNP IPP ANG
10 ENG DNP IPG ANG
11 ENP DNG ING ANP

30
Tabla 5.1 (Reglas de inferencia del controlador, continuación…)
12 ENP DNG INP ANP
13 ENP DNG IC ANP
14 ENP DNG IPP ANP
15 ENP DNG IPG ANP
16 ENP DNP ING ANP
17 ENP DNP INP ANP
18 ENP DNP IC ANP
19 ENP DNP IPP ANP
20 ENP DNP IPG ANP
21 ENP DC ING ANP
22 ENP DC INP ANP
23 ENP DC IC ANP
24 ENP DC IPP ANP
25 ENP DC IPG ANP
26 ENP DPP ING ANP
27 ENP DPP INP ANP
28 ENP DPP IC ANP
29 ENP DPP IPP ANP
30 ENP DPP IPG ANP
31 ENP DPG ING ANP
32 ENP DPG INP ANP
33 ENP DPG IC ANP
34 ENP DPG IPP ANP
35 ENP DPG IPG ANP
36 EC DNG ING AC
37 EC DNG INP AC
38 EC DNG IC AC
39 EC DNG IPP AC
40 EC DNG IPG AC
41 EC DNP ING AC

31
Tabla 5.1 (Reglas de inferencia del controlador, continuación…)
42 EC DNP INP AC
43 EC DNP IC AC
44 EC DNP IPP AC
45 EC DNP IPG AC
46 EC DC ING AC
47 EC DC INP AC
48 EC DC IC AC
49 EC DC IPP AC
50 EC DC IPG AC
51 EC DPP ING AC
52 EC DPP INP AC
53 EC DPP IC AC
54 EC DPP IPP AC
55 EC DPP IPG AC
56 EC DPG ING AC
57 EC DPG INP AC
58 EC DPG IC AC
59 EC DPG IPP AC
60 EC DPG IPG AC
61 EPP DNG ING APP
62 EPP DNG INP APP
63 EPP DNG IC APP
64 EPP DNG IPP APP
65 EPP DNG IPG APP
66 EPP DNP ING APP
67 EPP DNP INP APP
68 EPP DNP IC APP
69 EPP DNP IPP APP
70 EPP DNP IPG APP
71 EPP DC ING APP

32
Tabla 5.1 (Reglas de inferencia del controlador, continuación…)
72 EPP DC INP APP
73 EPP DC IC APP
74 EPP DC IPP APP
75 EPP DC IPG APP
76 EPP DPP ING APP
77 EPP DPP INP APP
78 EPP DPP IC APP
79 EPP DPP IPP APP
80 EPP DPP IPG APP
81 EPP DPG ING APP
82 EPP DPG INP APP
83 EPP DPG IC APP
84 EPP DPG IPP APP
85 EPP DPG IPG APP
86 EPG DNG ING APG
87 EPG DNG INP APG
88 EPG DNG IC APG
89 EPG DNG IPP APG
90 EPG DNG IPG APG
91 EPG DNP ING APG
92 EPG DNP INP APG
93 EPG DNP IC APG
94 EPG DNP IPP APG
95 EPG DNP IPG APG
96 EPG DC ING APG
97 EPG DC INP APG
98 EPG DC IC APG
99 EPG DC IPP APG
100 EPG DC IPG APG
101 EPG DPP ING APG

33
Tabla 5.1 (Reglas de inferencia del controlador, continuación…)
102 EPG DPP INP APG
103 EPG DPP IC APG
104 EPG DPP IPP APG
105 EPG DPP IPG APG
106 EPG DPG ING APG
107 EPG DPG INP APG
108 EPG DPG IC APG
109 EPG DPG IPP APG
110 EPG DPG IPG APG
111 ENG DC ING ANG
112 ENG DC INP ANG
113 ENG DC IC ANG
114 ENG DC IPP ANG
115 ENG DC IPG ANG
116 ENG DPP ING ANG
117 ENG DPP INP ANG
118 ENG DPP IC ANG
119 ENG DPP IPP ANG
120 ENG DPP IPG ANG
121 ENG DPG ING ANG
122 ENG DPG INP ANG
123 ENG DPG IC ANG
124 ENG DPG IPP ANG
125 ENG DPG IPG ANG

Una vez que se agregaron todas las reglas de inferencia se obtuvo la curva de
control, para ello se dio clic en la pestaña ‘Test System’, es así que se obtuvo una
curva como la de la figura 5.16. Debido a que la acción de control debe ser suave,
pero debe anticiparse a la posición de la pelota, la curva del control no debe

34
presentar saltos abruptos, pues la planta es muy sensible y cualquier sobreimpulso
puede alejar a la pelota de su set point y aumentar el tiempo de establecimiento.

Figura 5.15 (Acción del controlador difuso)

Figura 5.16 (Curva de control del controlador)

35
6 Cronograma
Actividad 25 – 28 29 05 – 11 JUNIO 15 – 18 JUNIO
MAYO MAYO –
04
JUNIO
1. Diseño de la planta en Avance del reporte
SolidWorks, impresión y fotografías de la
3D de las piezas y planta
ensamble de la planta.
2. Diseño del controlador Variables lingüísticas,
difuso en Matlab y funciones de
LabVIEW. membresía, reglas de
inferencia y curva de
control para el
controlador diseñado.
3. Implementación del Programa en LabVIEW con los diferentes
controlador en LabVIEW. bloques para la aplicación del controlador a la
planta.
4. Experimentación y Reporte completo
comprobación de los del proyecto y video
resultados. del funcionamiento.

36
7 Conclusiones

37
8 Bibliografía
Artero, Ó. T. (2013). Arduino: Curso práctico de formación. En Ó. T. Artero, Uso de
motores (págs. 280 - 277). México D.F.: Alfaomega .

Bolton, W. (2001). Ingeniería de control. En W. Bolton, Ingeniería de control (págs.


76 - 77, 229 - 230). México: Alfaomega.

Cruz, P. P. (2010). Inteligencia artificial con aplicaciones a la ingeniería (1er ed.).


Ciudad de México, Ciudad de méxico, México: Alfaomega. Recuperado el 08
de Mayo de 2020

Gaviño, R. H. (2010). Introducción a los sistemas de control. En R. H. Gaviño,


Introducción a los sistemas de control (págs. 112 - 113, 361 - 381).
Naucalpan de Juarez: Pearson.

Hernández, M. P. (2017). Diseño e implementación de un sistema de control Bola y


Viga unsando lógica difusa. Recuperado el 28 de Marzo de 2020, de
docplayer.es: https://docplayer.es/39362509-Diseno-e-implementacion-de-
un-sistema-de-control-bola-y-viga-usando-logica-difusa.html

Infante, J. C., Juárez, J. d., García, J. C., & Tequianez, A. (2009). Sistemas con
lógica difusa. En J. C. Infante, J. d. Juárez, J. C. García, & A. Tequianez,
Sistemas con lógica difusa (1era ed., págs. 17-18). Ciudad de México, Ciudad
de México, México: Instituo Politécnico Nacional. Recuperado el 8 de Mayo
de 2020

National Instruments. (2020). LINX de Digilent/LabVIEW MakerHub. Recuperado el


16 de Febrero de 2020, de sine.ni.com:
http://sine.ni.com/nips/cds/view/p/lang/es/nid/212478

Ogata, K. (1998). Ingeniería de Control Moderna. En K. Ogata, Ingeniería de Control


Moderna (págs. 1 - 8). México D.F.: Prentice-Hall Hispanoaméricana .

Veloso, C. (1 de Abril de 2016). E-Tools. Recuperado el 11 de Mayo de 2019, de E-


Tools: https://www.electrontools.com/Home/WP/2016/04/01/como-funciona-
el-sensor-ultrasonico-hc-sr04/

38
Vizcaíno, J. R., & Sebastiá, J. P. (2007). LabVIEW: Entorno gráfico de programación
. Barcelona: Marcombo.

39

También podría gustarte