Está en la página 1de 10

1

Diseño de controladores de tipo proporcional integral


derivativo (PID) y difuso para la posición de
un motor de corriente continua (DC)
José Danilo Rairán-Antolines, Cindy Estéfany Guerrero-Cifuentes,
Jaime Alfredo Mateus-Pineda (2010)
El artículo analizado propone y desarrolla un sistema para el control de la posición angular de un
servomotor, tipo Futaba S3004, mediante el diseño de un controlador PID clásico, y un controlador difuso.
Los objetivos principales, que persigue el paper se muestran a continuación:
 Diseñar controlador PID, considerando un servomotor Futaba S3004.
 Diseñar un controlador difuso, considerando un servomotor Futaba S3004.
 Comparar el desempeño del controlador original del Futaba S3004, con los controladores PID
y difuso.

1. DISEÑO DE CONTROLADOR PID


1.1.- Servomotor Futaba S3004
Considerando que el sistema de control desarrollado por los autores del paper, implementa el lazo de
control que incorpora el Futaba S3004 de fábrica, es importante mostrar la estructura de dicho lazo.
Véase figura 1.

Figura 1: Diagrama de bloques. Lazo de control Futaba S3004

El servomotor Futaba S3004 consta de un controlador (BA6688), un puente H (BAL6686) y por


supuesto un motor DC.
En este caso (figura 1), el controlador toma la señal de referencia (r), modulada por ancho de pulso
(PWM), y la compara con la señal analógica proveniente del sensor de posición (potenciómetro), la
cual ha sido previamente transformada en un tren de pulsos; posteriormente el error es multiplicado por
un valor de ganancia y se obtiene dos señales que salen del controlador y se conectan al puente H.
Ambas señales son utilizadas por el controlador para mantener la posición angular que ha sido fijada desde
la referencia, por ejemplo, cuando r supera la posición actual del motor, el canal CCW permanece en cero y
el canal CW es activado con una señal PWM proporcional al ajuste necesario para alcanzar la consigna, sin
embargo justo antes de llegar al valor deseado, el canal CCW es activado para que el motor frene en la
posición deseada. De esta manera el BA6688 controla la posición angular del motor.
2

1.2.- Propuesta de control desarrollada


La investigación realizada por los autores del artículo, se basa principalmente, en reemplazar el
controlador BA6688 del servomotor, a través de la implementación de un control PID y un control
difuso, para luego hacer las comparaciones correspondientes.
El diagrama general del diseño propuesto y desarrollado, puede observarse en la figura 2.

Figura 2: Diagrama de bloques. Lazo cerrado para el control de posición del motor

En este diagrama (figura 2), el algoritmo de control es desarrollado en Matlab y se ejecuta sobre un
computador, el cual se comunica con el circuito de potencia (puente H) a través del puerto de salida de
la tarjeta de comunicación PCI 6024E, permitiendo así, mediante una señal modulada por ancho de
pulso, enviar las consignas de control hacia el motor.
El lazo de control es realimentado con el uso de un sensor de posición, quien envía una señal
analógica, por el puerto de entrada de la tarjeta PCI 6024E, pasa por un módulo de “adecuación de la
señal”, y se compara con la referencia; dependiendo del error obtenido el algoritmo de control toma las
decisiones pertinentes.

1.2.1- Modificaciones realizadas al servomotor S3004


La figura 3, presenta el diagrama de bloque que conecta el control diseñado en Matlab, con el puente
H.

Figura 3: Conexión del puente H con Matlab


3

Los bloques en línea punteada corresponden al algoritmo construido en Simulink, en línea continua
se observa la etapa de potencia.
El funcionamiento es similar al descrito para el servomotor S3004, la diferencia esencial es que el
control se realiza desde el computador, y a la entrada del puente H (L293B) le llega la señal del
controlador “u”. En este sentido, la señal que llega al pin 2 permite el movimiento del motor en sentido
horario y la señal que llega al terminal 7 en sentido antihorario.
Cabe destacar, que este modelo en contraste con el modelo de control del Futaba, pierde la fracción
proporcional a la velocidad del motor con que se realimenta (R p y Rv) y solo se tiene en cuenta la
posición.
El voltaje de referencia del sensor de posición (potenciómetro) también fue modificado, desde un
valor de 2,5V a 5V, transformando la resolución mínima que puede medirse aproximadamente a 0,22º.
La ec. 1, presenta el cálculo realizado, considerando para ello lo siguiente: 0,3V a 0º; 4,3V a 180º; con
una tarjeta de comunicación de 12 bits y una escala de -10V a 10V.

……………………….(1)

1.3.- Proceso de identificación aplicado al motor.


1. Generar con Simulink una señal “u”, tren de pulsos, con amplitud y periodo aleatorio, de tal
manera que la planta que se va a identificar exhiba toda su dinámica. Véase figura 4.

Figura 4: Datos de entrada generados en Simulink

2. Se excita el servomotor a lazo abierto, con una entrada de datos “u”. Véase figura 5.

Figura 4: Prueba del Futaba a lazo abierto.


4

3. Se obtiene la señal de salida “Y”. Véase figura 5. Para convertir la salida del sensor, de
voltaje a grados, es necesario restar 0,3 al valor obtenido, el cual es el valor que corresponde a
0º, y luego se multiplica por el inverso de la ganancia del sensor KS. Ver ec.2.

……………………(2)

Figura 5: Salida del motor. Futaba S3004

4. Utilizar la herramienta “ident” de Matlab, para ello se requiere: el vector de entrada, el vector de
salida, la cantidad de datos, y el número de polos y ceros que tiene el modelo. Para iniciar la
identificación se asume que el modelo del motor es un sistema de orden 3 (Zhiming et al., 2009).
Luego de algunas pruebas experimentales, los investigadores logran obtener un 92,4% de
coincidencia entre los datos de salida reales y los que entrega el modelo. La función de
transferencia de la planta puede observarse en la ec.3.

…………………(3)

1.3.- Sintonización del controlador PID.


Los desarrolladores emplearon la herramienta “sisotool” de Matlab (método “lugar de las raíces”),
para una primera entonación y luego modelaron el lazo de control en Simulink. Véase figura 6.

Figura 6: Lazo de control del modelo desarrollado

Observaciones: la salida del bloque PWM de Matlab, obliga a que el controlador este normalizado
de [0,1], de allí el uso del bloque de “saturación”, bajo las siguientes condiciones:

………………..(4)
5

El bloque denominado “banda muerta” garantiza el voltaje mínimo de alimentación que necesita el
motor para funcionar, fijado por el fabricante en 0,1V.

2. DISEÑO DE CONTROLADOR DIFUSO


El diseño del controlador difuso, está basado en la información obtenida durante el modelado del motor
para el diseño del controlador PID, y el uso de la herramienta de Matlab “FuzzyLogicToolBox”.
Pasos para diseñar el controlador fuzzy.
1. Utilizar el método de inferencia “Mamdani”.
2. Definición de los conjuntos. El error es el conjunto de entrada, y la señal del controlador “u”
es la salida. Siendo el conjunto de salida igual a ±1, porque así lo exige el bloque PWM.
3. Definir la forma y la cantidad de las funciones de membresía. Véase tabla I.

Tabla I. Funciones de membresía


Funciones de membresía para el error
egp Error grande positivo egn Error mediano negativo
emp Error mediano positivo emn Error mediano negativo
epp Error pequeño positivo epn Error pequeño negativo
Funciones de membresía para la salida
ugp Corrección grande positiva ugn Corrección grande negativa
ump Corrección mediana positiva um Corrección mediana negativa
n
upp Corrección pequeña positiva upn Corrección pequeña negativa

4. Definir las reglas que relacionan la entrada con la salida.


 Si el error es egn, entonces la corrección es ugn.
 Si el error es emn, entonces la corrección es umn.
 Si el error es epn, entonces la corrección es upn.
 Si el error es epp, entonces la corrección es upp.
 Si el error es emp, entonces la corrección es ump.
 Si el error es egp, entonces la corrección es ugp.

5. Calcular la curva de control, mediante el método “Centroide”. Véase figura 7.


6

Figura 7: Curva de control


3. RESULTADOS.
La grafica mostrada en la figura 11, presenta la respuesta de los controladores Futaba, PI y Difuso.
Es importante destacar, que la simulación en Matlab para el controlador PI y Difuso fue realizada por
los que analizan este artículo, con los datos alcanzados por los desarrolladores. Los lazos de control
para el PI y el Difuso, se muestran en las figuras 9 y 10 respectivamente.

Figura 8: Lazo de control general

Figura 9: Lazo de control PI

Figura 10: Lazo de control Fuzzy


7

Figura 11: Respuesta de los controladores Futaba-PI-Fuzzy


La respuesta obtenida para el Futaba es entendible, debido a que el controlador tiene una precisión
de 20º, a diferencia de los controladores PI y Difuso diseñados, quienes poseen 800 pasos posibles en el
mismo rango.
Las gráficas presentadas en la figura 11, muestran que el controlador Difuso exhibe un
comportamiento más ajustado a la referencia, en contraste con el controlador del Futaba S3004 y el PI.
Aunque la respuesta del controlador PI muestra algunos sobreimpulsos, el error en estado
estacionario es menor al alcanzado por el control difuso.
3.1.- Respuesta en frecuencia.
La respuesta en frecuencia permite evaluar la efectividad de los controladores. La figura 12 muestra
el lazo de control para realizar dicha evaluación.

Figura 12: Lazo de control. Respuesta en frecuencia de los controladores PI-Fuzzy

La respuesta en frecuencia del controlador PI y Difuso, se muestra en la figura13.

Figura 13: Respuesta en frecuencia de los controladores PI-Fuzzy

Cuando se aumenta la frecuencia de la señal de referencia, se observa por ejemplo, que el controlador
Difuso ya no es capaz de hacer un seguimiento adecuado, y esto es reflejado con una disminución en la
amplitud de salida y un desfase que aumenta hasta alcanzar un límite.
A través de esta prueba es posible determinar el ancho de banda del sistema, el cual por la frecuencia
máxima a la cual se considera que el sistema puede hacer seguimiento. Esta frecuencia corresponde al
punto donde la amplitud de salida es el 70% de la amplitud de la entrada. Para el caso presentado en la
figura 13, el controlador PI posee un ancho de banda mayor al controlador Difuso.
8

3.2.- Rechazo del ruido.


Otra prueba para evaluar el desempeño de los controladores, es introducir ruido o una perturbación
al sistema y analizar la respuesta. Para el caso de estudio, los investigadores tomaron 3 puntos del lazo
de control para observar el comportamiento de los controladores PI y difuso, la salida del comparador,
la salida del controlador y la salida del sensor. Véase figura

Figura 14: Respuesta del sistema ante perturbaciones

Las gráficas no muestran grandes diferencias, en cuanto al desempeño de ambos controladores en el


rechazo de perturbaciones, por lo que ambos tienen un buen performance.

3.2.- Error de seguimiento de velocidad.


El error de seguimiento de velocidad ocurre cuando el sistema ya no es capaz de alcanzar el valor de
referencia. Una menor diferencia entre la referencia y la señal del PI o el Difuso, indica controladores
más rápidos.
9

Figura 15: Error de seguimiento de velocidad


4. CONCLUSIONES DEL ARTICULO
En este artículo se verifica que el servomotor Futaba S3004 puede usarse para estudiar el comporta-
miento de controladores clásicos, o no convencionales, con lo cual la aplicación exclusiva al aeromo-
delismo se amplía.
Otro resultado importante está relacionado con el efecto de la ganancia derivativa del controlador
PID, que se reconoce por disminuir el tiempo de respuesta; sin embargo, en este caso, y por la
configuración de los polos, resulta lo contrario. Se experimentó con la variación de la ganancia integral,
para reducir el error de estado estacionario, lo cual se logra, pero no en su totalidad; por esta razón se
recomienda ensayar alternativas, como el control no lineal, robusto o adaptativo, entre otros.
La aplicación de un controlador inteligente, en este caso difuso, permite utilizar la experticia que se
ha alcanzado en el manejo de la planta con técnicas de control convencional. Por esto mismo, no es
recomendable aplicar el control difuso, si no se conoce el comportamiento de la planta. El proceso de
definición de la cantidad de funciones de membresía y de la generación de reglas puede resultar en
mucho tiempo invertido con resultados poco satisfactorios.
Cuando se observa el comportamiento global de un sistema dinámico, no es posible pasar por alto el
efecto de las alinealidades. En este caso la saturación, la banda muerta y la discretización de la tarjeta
hacen que las simulaciones análogas y lineales difieran incluso más del 100% respecto a las medidas en
laboratorio.
De acuerdo con los resultados presentados, el controlador PID resulta mejor cuando es más
importante el criterio de tiempo de respuesta y de ancho de banda; por el contrario, el difuso resulta
más adecuado si el criterio más importante es el rechazo del ruido. Aun así, debe tenerse en cuenta que
el propósito del trabajo no es evaluar el mejor controlador, sino experimentar con ellos, de manera que
se dé una solución tecnológica nueva a un problema que se suponía ya resuelto.

Autores del Resumen:


González Félix
Rodríguez Henny
10

También podría gustarte