SciELO - Scientific Electronic Library Online

 
vol.14 issue1Application for Statistic Control of Online Processes as Part of a Flexible Manufacturing SystemMethodology for the Assessment of External Costs of Accidents in Transportation Projects author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

  • On index processCited by Google
  • Have no similar articlesSimilars in SciELO
  • On index processSimilars in Google

Share


Ingeniería y Universidad

Print version ISSN 0123-2126

Ing. Univ. vol.14 no.1 Bogotá Jan./June 2010

 

Diseño de controladores de tipo proporcional integral derivativo (PID) y difuso para la posición de un motor de corriente continua (DC)*

PID and Fuzzy Controller Design for DC Motor Positioning**

Desenho de controladores de tipo proporcional integral derivativo (PID) e difuso para a posição de um motor de corrente continua (DC)***

José Danilo Rairán-Antolines****
Cindy Estéfany Guerrero-Cifuentes*****
Jaime Alfredo Mateus-Pineda******


* Este artículo se deriva de un proyecto de investigación denominado Diseño y construcción de un motor de inducción lineal de primario corto para aplicaciones de velocidad baja, con número de registro interno de la Universidad Distrital Francisco José de Caldas 1-72-41-08.
** This article results from the research project called Design and Development of a Short Primary Linear Induction Motor for Low-Speed Applications, registration number 1-72-41-08 from the Universidad Distrital Francisco José de Caldas.
*** Este artigo deriva-se de um projeto de pesquisa denominado Desenho e construção dum motor de indução linear primário curto para aplicações de velocidade baixa, com número de registro interno da Universidade Distrital Francisco José de Caldas 1-72-41-08.
**** Ingeniero Electricista, Universidad Nacional de Colombia, Bogotá, Colombia. Magíster en Automatización Industrial, Universidad Nacional de Colombia. Docente en la Universidad Distrital Francisco José de Caldas, Bogotá, Colombia. Correo electrónico: drairan@udistrital.edu.co.
***** Estudiante de Tecnología en Electricidad, Universidad Distrital Francisco José de Caldas, Bogotá, Colombia. Correo electrónico: cindy_guerrero510@yahoo.com.
****** Estudiante de Tecnología en Electricidad, Universidad Distrital Francisco José de Caldas, Bogotá, Colombia. Correo electrónico: jaime18a@hotmail.com.

Fecha de recepción: 22 de octubre de 2009. Fecha de aceptación para publicación: 5 de marzo 2010.
Submitted on October 22, 2009. Accepted on March 5, 2009.
Data de recepção: 22 de outubro de 2009. Data de aceitação para publicação: 5 de março de 2010.


Resumen

En este artículo se compara el desempeño de dos controladores —el proporcional integral derivativo (PID) y el difuso— sobre una plataforma comercial, utilizada normalmente en aeromodelismo, el servomotor Futaba S3004. Antes de realizar la identificación sobre el motor, se modifican el circuito de control, la etapa de potencia y el sensor. Enseguida se utiliza el método del lugar de las raíces para sintonizar el PID en el control de la posición angular. Las simulaciones y el control se realizan desde Simulink de MATLAB®, en lo cual se usa además una tarjeta de adquisición de datos, la PCI 6024E. Al final del documento se analizan los resultados y se observa que si bien el controlador PID tiene el mejor comportamiento, el del controlador difuso es comparable.

Palabras clave: Controlador PID, control difuso, servomecanismos.


Abstract

The performance of PID and fuzzy controllers is compared in a commercial device normally used in model airplanes: the S3004 Futaba Servo. The controller circuit, the power amplifier and the sensor are modified, and then the motor is observed. Next, a root-locus method is used to tune a PID for angular position control. Simulations and control are made in Matlab's Simulink, and also a data acquisition card (PCI 6024E) is used. Results are analyzed at the end of the document: although the PID controller works better, the fuzzy controller shows a similar performance.

Key words: PID controllers, intelligent control, servomechanisms.


Resumo

Neste artigo compara-se o desempenho de dois controladores —o proporcional integral derivativo (PID) e o difuso— sobre uma plataforma comercial, utilizada normalmente em aeromodelismo, o servomotor Futaba S3004. Antes de realizar a identificação sobre o motor, modificam-se o circuito de controle, a etapa de potência e o sensor. Posteriormente utiliza-se o método do lugar das raízes para sintonizar o PID no controle da posição angular. As simulações e o controle realizam-se desde Simulink de MATLAB®, no qual se usa também uma placa de aquisição de dados, a PCI 6024E. No final do documento analisam-se os resultados e observa-se que o controlador PID tem o melhor comportamento, mas o do controlador difuso é comparável.

Palavras-Chave: Controlador PID, controle difuso, servomecanismos.


Introducción

En una aplicación industrial, cuando se necesita regular la posición angular, por lo general la primera opción es un motor de corriente continua (DC, por su sigla en inglés) (Abroshan et al., 2008); además, si la carga es pequeña, los motores de imán permanente son los más comunes. La alternativa siguiente son los motores paso, pero estos requieren un circuito electrónico especializado para la activación y desactivación de sus bobinas (Ngoc, Jung y Jae, 2006). Por otra parte, el modelado de un motor DC se ha trabajado tanto que resulta común en los textos de control de sistemas dinámicos. Estas son algunas de las razones por las cuales se selecciona al motor DC para el trabajo en este artículo. Aun con todas las ventajas, la sencillez de operación del motor no deja cerrado el problema de la selección del controlador, el cual depende de la aplicación del motor, según se plantea en (Susperregui, Tapia y Tapia, 2007).

El primer paso en este trabajo fue seleccionar un servomotor comercial: en este caso el S3004 de Futaba. Con este servomotor se comparó el desempeño entre su funcionamiento normal y el que tiene cuando se reemplaza el controlador propio por uno de tipo proporcional integral derivativo (PID) y otro difuso, los cuales son diseñados por los autores.

El torque de salida del servomotor es de 0,314 a 0,402 Nm, para voltajes de alimentación de 4,8 a 6 V, respectivamente. La medida de la posición angular se realiza mediante un juego de engranajes, acoplados al eje del motor, y con un potenciómetro, el cual entrega una salida de voltaje, en el rango de trabajo, esto es, de 0° a 180°. Otras opciones comunes para medir la posición angular, aunque menos económicas, son los sensores inductivos, los resolvers y los encoders (Attaianese y Tomasso, 2007; Faccio et al., 2004).

Una de las características sobresalientes de este estudio es la realización del control en tiempo real, mediante la tarjeta de adquisición de datos PCI 6024E, de National Instruments, cuya tasa de muestreo máxima es de 200 kS/s; sin embargo, la tasa utilizada es de 5.000 muestras por segundo por cada canal; además tiene 16 entradas análogas y 2 salidas análogas con conversores de 12 bits; también tiene 8 líneas digitales, las cuales pueden configurarse como entradas o salidas. Con esta tarjeta se han realizado aplicaciones que corren sobre LabView, como la presentada en (Aaron et al., 2002), o inmersa en un procesador digital de señales (DSP) (Hongfu Zhou, 2008); no obstante, esta vez se selecciona MATLAB®, por la facilidad que este programa presenta en cuanto al manejo de herramientas adicionales, como las dedicadas al modelado del motor, al diseño de filtros y de controladores, entre otras.

Este artículo comienza con el estudio del motor y del controlador digital que viene de fábrica; luego se realiza la sintonización del controlador PID, que si bien es el más popular en la industria, es reconocida su deficiencia cuando el sistema es no lineal, por ejemplo, si los parámetros de la planta son variantes con el tiempo, como se expone en (Perron, De Lafontaine y Desjardins, 2005; Zhang et al., 2007). El tercer controlador, esto es, el difuso, tiene un enfoque de diseño distinto al PID, el cual es matemático, y en su lugar depende de la experiencia de un experto en el manejo del motor (Wahyunggoro y Saad, 2008). Por esta razón, en algunas aplicaciones, un compensador difuso reajusta las ganancias de otro, por ejemplo un PID.

En la Figura 1a se presenta el esquema de control de posición del motor con que se trabaja en este artículo. Se resalta el trabajo de la tarjeta de interconexión de componentes periféricos (PCI, por su sigla en inglés), porque es la interfaz entre el prototipo de laboratorio y los algoritmos en el computador. Dentro de este último se adecua la señal del sensor, mediante un filtro; también se comparan el valor de consigna y la posición del motor. Con el resultado de este contraste se alimenta el controlador. La salida del controlador se convierte a un formato de modulación por ancho de pulsos (PWM, por su sigla en inglés) con el fin de reducir el tamaño de la etapa de potencia y las pérdidas eléctricas, en comparación con una etapa análoga convencional. En la Figura 1b aparece la fotografía del montaje, en la cual se observa el dispositivo que aloja al motor, donde a la vez está la fuente, el sensor y la etapa de potencia; así mismo están la caja de conexión de la tarjeta PCI y el computador.

La señal y en la Figura 1a es la posición angular del motor, es decir, la salida de la planta, medida en grados. La salida del sensor es b, a la cual se tiene acceso mediante la tarjeta de adquisición de datos, está dada en voltios. La señal r es una proporción del número de grados que se busca alcanzar, y guarda relación con la ganancia del sensor. La variable e se conoce como el error, y es la diferencia entre el valor deseado r y el valor que se tiene b. Por último, la señal u es la salida del controlador, también llamada variable de corrección; esta se utiliza para alimentar al motor, en este caso mediante el puente H, el cual permite el giro del motor en los sentidos horario y contrahorario.

1. Presentación del controlador original Futaba

En esta sección se hace referencia al servomotor Futaba S3004. Se explica el funcionamiento mecánico y el eléctrico; así mismo, se realizan comentarios respecto al desempeño del controlador diseñado por el fabricante. El servomotor está conformado por un motor DC, un juego de piñones plásticos, un potenciómetro como sensor, un circuito de control y un puente H; estos dos últimos exclusivos del fabricante. El giro del motor está limitado por un tope mecánico a medio giro, como protección del potenciómetro, que también puede girar 180°; sin embargo, es posible reemplazar estos componentes, si se desea un ángulo mayor.

El valor de consigna r es un tren de pulsos de 5 V a 50 Hz, con el ciclo útil variable. El ciclo útil mínimo es de 3% y corresponde a la posición 0°; a su vez, el máximo es un ciclo útil de 11%, asociado con 180° en el eje del motor. Los valores intermedios son discretos, correspondientes a números enteros de ciclo útil, lo cual equivale a nueve pasos, cada uno de 20°. En adelante se asocia la posición del eje del motor con la manecilla horaria de un reloj, donde 0° del motor corresponda a las nueve y 180° a las tres.

El circuito eléctrico está compuesto por un controlador, el BA6688, y un puente H, el BAL6686, como se presenta en la Figura 2. El controlador compara el valor de consigna r, en formato PWM, con la señal del sensor b. A partir de esta genera la orden de avance CW o retroceso CCW. Al mismo tiempo, el controlador transforma la señal análoga b a un tren de pulsos, con el mismo formato de la consigna expuesta en el párrafo anterior.

La señal b, a través del divisor de voltaje en paralelo con el motor y Rv, incluye una proporción de la velocidad del motor, y con Rp, una proporción de la posición del eje. Enseguida, ese tren de pulsos es comparado con r, de lo cual resulta el error e, el cual es multiplicado por una ganancia, no especificada por el fabricante. Así se tienen como resultado dos señales: una que dirige el movimiento en sentido horario CW y otra en sentido contrahorario CCW.

Cuando el tren de pulsos r indica un valor superior al que tiene b, el canal CCW permanece en cero y aparece una señal en formato PWM sobre el canal CW; con el ciclo útil proporcional al error e. De esta manera, el motor gira en sentido horario, en busca del punto equilibrio, donde r y b son iguales. Justo antes de que el eje alcance el valor de consigna, y por un momento, se activa también la señal CCW, para que el motor frene en la posición deseada, y que no haya sobrepaso, lo cual generaría oscilaciones. El otro escenario resulta cuando r equivale a un valor en grados menor al que tiene b y se debe girar en sentido contrahorario. En este caso ocurre lo contrario a lo ya expuesto.

Cuando el motor ha alcanzado el valor de consigna, también llamada señal de referencia, las señales CW y CCW pasan a ser cero, pero cualquier desviación es contrastada con la orden de movimiento en sentido contrario, lo que se evidencia como el anclaje del eje en el punto deseado. La aplicación del servomotor S3004 es el aeromodelismo, y en esta es suficiente el movimiento discreto cada 20°, por ejemplo, para el ajuste de un alerón. En adelante, el trabajo consiste en reemplazar el circuito de control, con el fin de lograr una variación continua de la posición angular. El propósito no es utilizar los controladores de este artículo en aeromodelismo, sino estudiar su desempeño de dos controladores análogos sobre una plataforma comercial de calidad reconocida.

2. Modificaciones al servomotor S3004

Durante la experimentación con el servomotor fue claro que es insuficiente con reemplazar el controlador BA6688, sino también el puente H, porque cualquier alteración en el montaje puede producir daño de la etapa de potencia. En este trabajo se selecciona el circuito integrado L293B como etapa de potencia, cuya capacidad de corriente es de un amperio; tiene cuatro canales de trabajo, controlados por lógica transistor a transistor (TTL) o compatible; además, está protegido contra cambios de temperatura. Una ventaja importante del integrado es que es comercial, por lo cual es posible reproducir los resultados a los que se llega en este artículo.

En la Figura 3 se indica la conexión del puente H con MATLAB®. Los bloques en líneas punteadas corresponden a Simulink, mientras que lo relacionado con las conexiones físicas está en líneas continuas. La señal de control u, que alimenta a los bloques PWM, es la corrección que hace el controlador, el cual también es realizado en Simulink, bien sea PID, difuso o cualquier otro. Los bloques PWM1 y PWM2 generan trenes de pulsos a 50 Hz, con el ciclo útil como señala la ecuación (1). El funcionamiento del bloque PWM de MATLAB® obliga a que la salida del controlador esté normalizada al rango [0,1], para que no entre en saturación.

Dónde: cu: ciclo útil.

La salida del bloque PWM1 activa al puente H por medio de una línea de la salida digital de la tarjeta PCI 6024E. De esta forma, y por medio de la conexión con el pin dos del puente, resulta el giro del motor en sentido horario. Los valores negativos en la señal de control obligan al motor a girar en sentido contrahorario, proceso en el cual se utiliza el bloque PWM2. La adecuación de los valores negativos de u consiste en multiplicar por menos uno, como se observa en la Figura 3. Así, los valores de corrección negativos llegan al puente H por el terminal siete.

Una vez reemplazados el controlador y la etapa de potencia, se pierde la fracción proporcional a la velocidad del motor con que se realimenta, y sólo se tiene en cuenta la posición (Rp y Rv en la Figura 2). Así mismo, con el ánimo de mejorar la resolución, se cambia el voltaje de alimentación del potenciómetro de 2,5 a 5 V. Aquí vale la pena recordar que la tarjeta PCI es de 12 bits, con la escala entre -10 y 10 V. Si bien el voltaje de alimentación del potenciómetro es de 5 V, por restricciones físicas se observan 0,3 V a 0°, y 4,3 V a 180°; por lo tanto, el cambio mínimo que puede medirse es ≈ 0,22°, correspondiente a unos 5 mV, de acuerdo con la expresión en la ecuación (2).

Se ha querido adicionar al montaje modificado un galvanómetro, en el cual la inclinación de la aguja se relaciona con la posición angular del motor, y se le asocia una escala en grados. Con este propósito, en primera instancia se utiliza un amplificador de instrumentación, el INA128; como segunda medida, se conecta una resistencia de 10 kΩ en serie con el devanado. Así, la escala máxima del galvanómetro, que es de 0,237 V, es equiparada con la escala completa del sensor.

Con el fin de unir el motor original con las modificaciones expuestas en esta sección, se construye una caja, en la cual además va una fuente, para polarizar el amplificador de instrumentación. Esta fuente tiene salidas de ±15 V; también tiene una salida de 5 V, para la polarización del sensor y del puente H. De esta forma el prototipo sólo requiere una fuente de 120 V en corriente alterna (VAC).

3. Proceso de identificación aplicado al motor

En el proceso de identificación se observa la variable de salida de un sistema dinámico a una entrada particular, y se busca que un modelo matemático reproduzca ese mismo comportamiento (Rairán, Sierra y Moreno, 2009). En este trabajo se consideran los modelos continuos y lineales; la finalidad es tener una ecuación que describa la dinámica de la planta, para realizar el proceso de sintonización del controlador PID, de manera analítica, sin energizar la planta.

La identificación es útil cuando no es viable medir los coeficientes que acompañan a la ecuación diferencial, asociada con el sistema, por el costo; también cuando sólo se conoce la relación entrada-salida, como ocurre en la mayoría de las aplicaciones industriales. En este trabajo, la identificación es aplicada al motor, por lo cual la entrada es el voltaje de alimentación u y la salida es la posición angular y.

Es importante tener en cuenta que la señal u no es el voltaje en los terminales del motor, por lo cual el modelo identificado no corresponde sólo al motor; además, este incluye: (1) el bloque PWM, el cual es un conversor de una variable análoga a un tren de pulsos, con el ciclo útil proporcional al valor análogo, y (2) el puente H, que convierte las señales de potencia baja a la potencia necesaria para mover el motor.

A primera vista puede pensarse que es un error incluir el bloque PWM y el puente H dentro del modelo continuo del motor, porque son discretos. Sin embargo, dado que actúan como constantes y sirven de medio para que la información sea transformada o para que la energía fluya, la consideración es válida.

Los datos de entrada u son generados en Simulink y su selección es importante, puesto que deben hacer que la planta que se va a identificar exhiba toda su dinámica, por lo cual debe exigir transiciones rápidas, así como permitir momentos transitorios en los cuales el sistema se estabilice. Con este fin se desarrolla un programa en MATLAB®, el cual genera un tren de pulsos, aleatorio en amplitud y en período.

La amplitud de la señal análoga u está definida por los bloques PWM; así, este rango va desde -1 hasta 1, según se infiere de la ecuación (1) y la Figura 3. En su lugar, en los terminales del motor se encuentra un tren de pulsos, con amplitud cercana a 4 V, debidos a la alimentación del puente H. Ahora, en cuanto al período del tren de pulsos, por experimentación se determina que la transición más rápida es de 0,3 s, y la más lenta, 1 s.

Otro parámetro que se calcula mediante ensayos es el tiempo de discretización; este es el intervalo entre una muestra de la señal y otra en MATLAB®. El valor seleccionado es de 0,1 ms; valores superiores hacen que se pierda información de la dinámica del motor, y menores, no dan el tiempo suficiente para que los algoritmos en Simulink corran, dado que la máquina es un Pentium 4, de 3 Ghz, con 512 Mb en RAM. El resultado de todas las consideraciones expuestas es la señal de entrada, mostrada en la parte superior de la Figura 4.

Una vez generada la señal de entrada, se detalla la salida. Si bien y es la posición angular, no es la del eje del motor, porque esta última es transformada mediante un juego de engranajes, con el fin de aumentar el par y disminuir la velocidad. El giro de la planta es medido por medio de un potenciómetro, con rango lineal, configurado como un divisor de voltaje.

Por causa de las variaciones de voltaje en la fuente de alimentación y por razones no identificadas, la salida del potenciómetro presenta un ruido de alta frecuencia, así que cuando la señal es adquirida, y está en Simulink, es filtrada. En el diseño del filtro se utiliza una herramienta de MATLAB® dedicada a este propósito; el resultado es un filtro de Chebyshev tipo uno, pasabajos, de orden 3, con frecuencia de corte en 60 Hz. A este se llega una vez más por experimentación.

El dato a la salida del filtro es un escalar. Cuando se necesita pasar ese valor a grados, se realizan las operaciones siguientes: primero se resta 0,3, porque este es el valor que corresponde a 0°, y enseguida se multiplica por el inverso de la ganancia del sensor. Esta ganancia, ks, equivale a la relación de salida a entrada en el potenciómetro, como se presenta en la ecuación (3).

La herramienta de identificación necesita como información de entrada al vector de los valores de entrada y al vector de salida, sin incluir el tiempo, porque este es inferido del tiempo de discretización y del número de datos. Otro aspecto fundamental es indicar en la herramienta el número de polos y ceros que tiene el modelo.

De la literatura es sabido que el modelo del motor DC es un sistema de orden tres (Zhiming et al., 2009). Aun así, se comenzó con una función de transferencia compuesta por un integrador y un polo. Con esta suposición se llega al 83,6% de grado de coincidencia entre los datos de salida reales y los que entrega el modelo. Luego de algunas pruebas se probó con dos polos más el integrador, con lo cual se llega hasta el 92,4%, lo cual se considera suficiente para realizar el proceso de sintonización. Este grado de coincidencia es visible en la similitud entre la segunda y tercera imágenes de la Figura 4.

El modelo final, denominado H(s), se muestra en la ecuación (4). Esta función de transferencia puede dividirse en dos partes: la primera es el integrador, el cual relaciona la velocidad angular con la posición angular; la segunda, la parte restante, es útil para explicar la forma cómo u se transforma en torque en el motor, y este a su vez, en velocidad angular.

4. Sintonización del controlador PID

El método de sintonización seleccionado se denomina ubicación de raíces. Este es un procedimiento en el cual por ensayo y error, y de manera progresiva, se ajusta la estructura del controlador, y a su vez, se ajustan sus ganancias. La forma de identificar si una estructura o ganancia es adecuada es observar la ubicación de las raíces del sistema en su conjunto Ho(s), es decir, en lazo cerrado, donde se incluye el sensor, el controlador y la planta.

La base del método está en que la ubicación de las raíces se relaciona con el comportamiento de Ho(s) en el tiempo. MATLAB® cuenta con una herramienta donde puede sintonizarse un controlador lineal por el método de ubicación de raíces, denominada Sisotool. La herramienta permite cambiar la ubicación de los polos e informa el valor de la ganancia que se requiere para lograrlo; además, presenta el comportamiento en el tiempo asociado con esa ganancia.

Se comienza con el algoritmo de control P, el cual está compuesto por una única ganancia kp. Para la selección de la cual se asume como criterio que la salida del controlador no debe ser mayor a uno cuando la señal de consigna es un escalón. El valor resultante es kp = 1. Valores superiores reducen el tiempo de estabilización, pero hacen que la salida del controlador supere la unidad; valores inferiores producen respuestas que tardan más de 0,8 s, lo cual se define como lento para esta aplicación.

Enseguida se aumenta el grado de complejidad del algoritmo de control, con el fin de verificar si es posible mejorar las características de respuesta del sistema. Se prueba con un algoritmo proporcional más diferencial (PD), el cual tiene como función de transferencia la presentada en la ecuación (5). Aunque no es el procedimiento convencional, se fija kp en uno y se varía el tiempo diferencial Td. El resultado es que cuando se incrementa Td, aumenta el tiempo de estabilización. Por lo tanto, se concluye que el valor ideal es cero.

Otra estructura, la proporcional más integral (PI), recoge contribuciones proporcional e integrales al error e. Una ventaja de la componente integral es que elimina el error de estado estacionario; sin embargo, dado que la planta ya contiene un integrador, no se requiere. Por esta razón se piensa que la sintonización del controlador ha terminado; aun así, en la implementación de laboratorio aparece un error de estado estacionario. Esto se debe a que el motor necesita un voltaje de alimentación mínimo para girar, lo cual se conoce como banda muerta. En el motor trabajado es de 0,1 V.

Una forma de contrarrestar la banda muerta es con una componente integral en el controlador, por lo cual se abandona la herramienta Sisotool, dado que trabaja sólo con componentes lineales, y se pasa a Simulink, en el cual puede tenerse en cuenta el efecto de la banda muerta, además de la saturación en el PWM y de la discretización que realiza la tarjeta de adquisición de datos, como se observa en la Figura 5.

Se espera que al dar mayor peso a la contribución de la integral, por medio de una constante ki, el tiempo de estabilización se reduzca; sin embargo, no resulta así en las simulaciones. La causa es la saturación causada por el PWM, porque este recorta las correcciones del controlador superiores a uno, como se ha explicado ya. Cuando se reduce la ganancia ki, el tiempo de estabilización aumenta; si bien se logra que el tiempo de respuesta sea cercano a 0,5 s, por la influencia de kp, el tiempo de estabilización puede superar los 5 s, por el efecto de la ganancia ki.

Un valor razonable para ki, donde el efecto de la saturación es despreciable y el tiempo de estabilización es adecuado es ki = 0,03, a kp = 1. Así se considera al controlador sintonizado. Para finalizar se verifica que los resultados alcanzados en Simulink correspondan con el funcionamiento del sistema en el laboratorio, como en efecto ocurre.

5. Implementación de un controlador difuso

El diseño del controlador difuso tiene dos fines: por una parte, implementar una estrategia de control no convencional, para evaluar, mediante comparación, el desempeño del controlador PID; por la otra, explorar el manejo de un controlador inteligente, en el cual, a partir de la experiencia en la dinámica del motor, se llega a una sintonización adecuada, la cual puede ser incluso mejor que la del PID.

El controlador difuso seleccionado es de tipo Mamdani, en el cual la entrada y la salida son conjuntos difusos. A diferencia del esquema Sugeno, donde la salida es una función relacionada con las variables del proceso, como se expone en (Marzi, 2006). Una vez más se utiliza una herramienta de MATLAB®, esta vez para implementar el controlador tipo Mamdani, denominada FIS, y se activa con la instrucción fuzzy en el espacio de trabajo. En la ventana inicial se define el método de implicación min, de agregación max y de defuzificación centroid, entre otros parámetros.

El diseño del controlador comienza con la definición de los conjuntos. En este artículo el error es el conjunto de entrada, y la señal de corrección u es la salida. Si bien el rango de la entrada debe ser ± 4, porque así lo define la variación de voltaje en el sensor, se amplía a ± 4,5, para que incluya giros superiores a 180°, los cuales pueden ocurrir, aun cuando no se diseña para ellos. El rango del conjunto de salida es ± 1, porque así lo exige el funcionamiento del bloque PWM.

Enseguida se define la forma y la cantidad de las funciones de membresía, en lo cual se aprovecha la experiencia adquirida en la dinámica del sistema, cuando este trabaja en lazo cerrado. Así, ya se conoce el tiempo de estabilización, el sobrepico, el error de estado estacionario, entre otras características que puede lograr el motor.

Cada combinación de funciones de membresía, junto con sus reglas, es probada en Simulink, con el esquema de la Figura 5, en la cual H(s) está definida por la ecuación (4), y en lugar del PI está el controlador difuso. La cantidad de funciones de membresía que se asume adecuada para esta aplicación es seis para la entrada y seis para la salida. Con ellas se busca fijar la dinámica del motor a errores pequeños, medianos y grandes; positivos o negativos.

Las funciones de membresía para el error son: error grande positivo (egp), error mediano positivo (emp) y error pequeño positivo (epp), con sus contrapartes negativas. Asociada a la salida se definen seis funciones de membresía: corrección grande positiva (ugp), corrección mediana positiva (ump) y corrección pequeña positiva (upp), con sus contrapartes negativas. La forma de cada función se presenta en la Figura 6.

Una vez que se defina la cantidad y forma de las funciones de membresía, se experimenta con las reglas que relacionan la entrada con la salida. Con el fin de dirigir el diseño, se asume como criterio principal el que la corrección del controlador no produzca sobrepico en el giro del motor. Las reglas son las siguientes:

  • 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.

La forma de los conjuntos difusos y su relación se muestran en la Figura 6. Se observa la relación entre los conjuntos de salida y entrada como una curva de control no lineal. La curva de control es calculada mediante el método centroide. Cuando se considera que la experimentación con las reglas y las funciones de membresía no mejoran más la efectividad del controlador, se anexa un conjunto de entrada. En la mayoría de aplicaciones documentadas se definen el error y la variación del error como los conjuntos de entrada, véase por ejemplo (Liu et al., 2008; Ali y Algreer, 2006). Esta es la razón para realizar las pruebas con estas dos entradas; sin embargo, resulta que las características de funcionamiento desmejoran. Por lo cual se considera finalizada la sintonización de controlador difuso. En la sección siguiente se compara el comportamiento de este controlador, con el PI clásico.

6. Resultados

El control original Futaba, por su aplicación, está hecho para lograr con precisión la ubicación del eje cada 20°, en el rango 0°-180°. Esto se ha podido mejorar y se ha llevado a un poco más de 800 pasos posibles en el mismo rango. El límite lo define la resolución de la tarjeta de adquisición de datos, que es de 12 bits, lo cual equivale a pasos de 5 mV. En la Figura 7 se observa una muestra del comportamiento de los tres controladores: Futaba, PI y difuso, ante el mismo valor de consigna.

En la construcción de la Figura 7, y dado que el control Futaba no recibe valores análogos como referencia, sino un tren de pulsos con el ciclo útil entre el 3% y el 11%, con intervalos de 1%, se convierte el valor análogo de la referencia al formato Futaba. De esta manera 0,3 corresponde a 3% y 4,3 a 11%; por último, se aproxima al entero más cercano.

Los resultados permiten afirmar que el controlador PID presenta un comportamiento más ajustado a la consigna, seguido, no muy de lejos, del controlador difuso. Sin embargo, aunque el controlador difuso presenta sobrepico, en especial cuando hay cambios en el valor de consigna superiores a 45°, maneja mejor el error de estado estacionario. En la Tabla 1 se resumen las características principales de la respuesta en el tiempo de los tres controladores.

En el controlador Futaba no se mide el error de estado estacionario ni el sobrepico, dado que las fórmulas para esos cálculos están elaboradas para comportamientos análogos, o con pasos discretos pequeños, en comparación con el valor de consigna, y ninguna de estas condiciones se cumple.

Otro experimento que permite comparar la efectividad de los controladores es el análisis de la respuesta en frecuencia. En este experimento la señal de referencia es una senoidal con la frecuencia variable. El efecto visible sobre el comportamiento del motor es que al aumentar la frecuencia en la señal de consigna, entonces el motor ya no es capaz de hacer un seguimiento adecuado, y esto se expresa como una disminución en la amplitud de salida y un desfase, el cual aumenta hasta alcanzar una cota.

La prueba de la respuesta en frecuencia tiene por objeto determinar el ancho de banda del sistema, el cual está definido 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. En la Figura 8 se observa un barrido en frecuencia para el sistema con controlador PID y difuso. El resultado es que el ancho de banda con el control PID es cercano a 3,14 rad/s, mientras que para el difuso es 2,5 rad/s. Este resultado está relacionado, y concuerda, con los datos de tiempo de estabilización en la Tabla 1, los cuales catalogan al sistema con el controlador PID como el más rápido.

Una verificación más con respecto a la efectividad de los controladores es el análisis del rechazo del ruido. En esta prueba se introduce una señal no tenida en cuenta durante el proceso de identificación o modelado, y se observa la forma en que el sistema responde. Respecto al ruido se dice que el mejor controlador es aquel más inmune al ruido, es decir, el que presenta menos alteraciones.

Del sistema expuesto en la Figura 5 se seleccionan tres puntos en los cuales se introduce el ruido: la salida del comparador, e; la salida del sensor, b, y la salida del controlador, u. Estos puntos fueron seleccionados porque resulta fácil introducir en ellos ruido, dado que son variables internas en el computador. El ruido se definió como una señal con amplitud constante de 0,5 entre 1,5 y 2 s, y con amplitud -0,5 entre 2 y 2,5 s. Se seleccionó esa magnitud debido a que es un valor significativo en el sistema, por ejemplo, es el 50% del valor máximo de corrección u; a su vez, es el 12% de la señal del sensor máxima, y el 12% de la señal de error máxima.

El comportamiento del sistema ante ruido se muestra en la Figura 9, en la cual se observa que el resultado es similar con cualquiera de los dos controladores; sin embargo, el difuso resulta apenas un poco menos influenciado por el ruido simulado. De esta manera, puede concluirse que el efecto del disturbio en los tres puntos observados es similar y que no hay una diferencia significativa con respecto al uso de los dos controladores sobre el sistema, en cuanto a rechazo de ruido.

Si se hace un análisis respecto a la posición angular, puede verse que el error de seguimiento de posición, también llamado error de estado estacionario, es de 1% y 0,5%, como se lee en la Tabla 1. Sin embargo, cuando la señal está cambiando continuamente, el sistema ya no es capaz de alcanzar el valor de consigna y aparece el error de seguimiento de velocidad. En la última prueba se busca medir ese error de seguimiento de velocidad, el cual es una medida más de la efectividad de cada controlador. Valores menores indican controladores más rápidos, pero a su vez más propensos a los efectos del ruido.

Para realizar la medición se utilizó una señal de consigna en forma de rampa y se midió la diferencia en grados en un tiempo cualquiera, otra opción es medir el retraso que tiene el sistema controlado, tal como se ilustra en la Figura 10. Al medir en t = 1 s, el resultado es que el sistema controlado por PID está retrasado 12,3°; mientras que con el difuso es 28,6°. Cuando se mide el retardo en tiempo, por ejemplo para alcanzar 100° por primera vez, el sistema con controlador con PID lo hace en 130 ms después de la consigna, a su vez, con el difuso resulta un retardo de 340 ms.

7. Conclusiones

En este artículo se verifica que el servomotor Futaba S3004 puede usarse para estudiar el comportamiento de controladores clásicos, o no convencionales, con lo cual la aplicación exclusiva al aeromodelismo 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.


Referencias

AARON, K. et al. Closed-loop position control system using LabVIEW. Proceedings IEEE Southeastcon. Orangeburg: South Carolina State University, 2002, pp. 283-286.        [ Links ]

ABROSHAN, M. et al. An optimal control for saturated interior permanent magnet linear synchronous motors incorporating field weakening. 13th International Power Electronics and Motion Control Conference, Poland, 1-3 de septiembre de 2008, pp. 1.117-1.122.        [ Links ]

ALI, F. H. y ALGREER, M. Fuzzy PID control for positioning plants with uncertain parameters variation. Information and Communication Technologies. 2006, vol. 1, pp. 1.428-1.433.        [ Links ]

ATTAIANESE, C. y TOMASSO, G. Position measurement in industrial drives by means of low-cost resolver-to-digital converter. Instrumentation and Measurement, IEEE Transactions. 2007, vol. 56, núm. 6, pp. 2.155-2.159.        [ Links ]

FACCIO, M. et al. An embedded system for position and speed measurement adopting incremental encoders. Industry Applications Conference. 39th IAS Annual Meeting Conference, Monteluco di Roio, L'Aquila, Italy, 3-7 de octubre de 2004, vol. 2, pp. 1.192-1.199.        [ Links ]

HONGFU, Z. DC servo motor PID control in mobile robots with embedded DSP. International Conference on Intelligent Computation Technology and Automation. 2008, pp. 332-336.        [ Links ]

LIU, Y. et al. Remodeling of fuzzy PID controller based on dynamic NN. Automation Congress, septiembre de 2008, pp. 1-5.        [ Links ]

MARZI, H. Fuzzy Control of an inverted pendulum using AC induction motor actuator. IEEE International Conference on Computational Intelligence for Measurement Systems and Applications, La Coruña, julio de 2006, pp. 109-114.        [ Links ]

NGOC, Q. L.; JUNG, U. C. y JAE, W. J. Application of velocity profile generation and closed-loop control in step motor control system. International Joint Conference. Bexco, Busan, Korea, 18-21 de octubre de 2006, pp. 3593-3598.        [ Links ]

PERRON, M.; DE LAFONTAINE, J. y DESJARDINS, Y. Sliding-mode control of a servomotor-pump in a position control application. Saskatoon, mayo de 2005, pp. 1.287-1.291.        [ Links ]

RAIRÁN, D.; SIERRA, Y. y MORENO, N. Implementación de dos estrategias de control para la velocidad de un motor DC. Revista de Ingeniería e Investigación. 2009, vol. 29, núm. 2, pp. 100-106.        [ Links ]

SUSPERREGUI, A.; TAPIA, G. y TAPIA, A. Application of two alternative sliding-mode control approaches to DC servomotor position tracking. IET Electric Power Applications. 2007, vol. 1, núm. 4, pp. 611-621.        [ Links ]

WAHYUNGGORO, O. y SAAD, N. Development of fuzzy-logic-based self tuning PI controller for servomotor. 10th Intl. Conf. on Control, Automation, Robotics and Vision, Hanoi, Vietnam, 17-20 de diciembre de 2008, pp. 1.545-1.550.        [ Links ]

ZHANG, Y. et al. High performance position control system based on SR-PM motor. Tsinghua Science and Technology. 2007, vol. 12, núm. 5, pp. 614-619.        [ Links ]

ZHIMING, W. et al. Study on positioning control of transfer robot with solar cell. The Ninth International Conference on Electronic Measurement & Instruments ICEMI'2009, pp. 913-919.        [ Links ]

Creative Commons License All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License