SciELO - Scientific Electronic Library Online

 
vol.15 número2Avaliação de misturas biodiesel-diesel na geração de energia elétricaOxidação de alta temperatura do aço ferrítico 9Cr-1Mo modificado índice de autoresíndice de assuntospesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados

Journal

Artigo

Indicadores

Links relacionados

  • Em processo de indexaçãoCitado por Google
  • Não possue artigos similaresSimilares em SciELO
  • Em processo de indexaçãoSimilares em Google

Compartilhar


Ingeniería y Universidad

versão impressa ISSN 0123-2126

Ing. Univ. v.15 n.2 Bogotá jul./dez. 2011

 

Doble lazo de control para regular la posición y la velocidad en un motor de corriente directa1

Double Control Loop for Adjusting Position and Speed in a Direct Current Motor2

Laço duplo de controle para regular a posição e a velocidade em um motor de corrente direta3

José Danilo Rairán-Antolines4
José Miguel Fonseca-Gómez5

1Este 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 1-72-41-08, desarrollado por el grupo de investigación en Control Electrónico (GICE) y financiado por el Centro de Investigación y Desarrollo Científico de la Universidad Distrital Francisco José de Caldas, Bogotá, Colombia.
2Submitted on: February 1, 2011. Accepted on: June 10, 2011. This article results from the research Design and Development of a Short Primary Linear Induction Motor for LowSpeed Applications, ID-Number 1-72-41-08, developed by the research group GICE and financed by the Universidad Distrital Francisco José de Caldas, Bogotá, Colombia.
3Data de recepção: 1 de fevereiro de 2011. Data de aceitação: 10 de junho de 2011. Este artigo deriva de um projeto de pesquisa denominado Desenho e construção de um motor de indução linear de primário curto para aplicações de velocidade baixa com número de registro 1-72-41-08, desenvolvido pelo grupo de pesquisa em Controle Eletrônico (GICE) e financiado pelo Centro de Pesquisa e Desenvolvimento Científico da Universidade Distrital Francisco José de Caldas, Bogotá, Colombia.
4Ingeniero electricista, Universidad Nacional de Colombia, Bogotá, Colombia. Magíster en Automatización Industrial, Universidad Nacional de Colombia. Docente, Universidad Distrital Francisco José de Caldas, Bogotá, Colombia. Correo electrónico: drairan@udistrital.edu.co.
5Tecnólogo en Electricidad, Universidad Distrital Francisco José de Caldas, Bogotá, Colombia. Correo electrónico: jose60022@gmail.com.

Fecha de recepción: 1 de febrero de 2011. Fecha de aceptación: 10 de junio de 2011.


Resumen

Este artículo presenta el proceso de diseño e implementación de un control de velocidad y posición para un motor de corriente directa, en doble lazo, con cuatro tipos de controladores: PID clásico, PID difuso, difuso y PID no lineal, basado en heurística, el cual es una propuesta de los autores. Se hace hincapié en aspectos como el desarrollo de la etapa de potencia, la elaboración de algoritmos para la medida de las variables, la estimación de un modelo matemático de la planta y el control en tiempo real en Matlab.

Palabras clave: Control de velocidad y posición, controlador PID, control difuso, teoría del control no lineal.


Abstract

This paper presents the design and implementation process of a speed and position control for a direct current motor using double loop and four algorithms: classical PID, fuzzy PID, fuzzy, and a heuristic-based nonlinear PID, which is proposed by the authors. There is a special emphasis on the development of the power stage, the development of algorithms for measuring variables, the modeling stage and, finally, the real time control using Matlab.

Keywords: Control of speed and position, PID controllers (LC), fuzzy control, nonlinear control theory.


Resumo

Este artigo apresenta o processo de desenho e implementação de um controle de velocidade e posição para um motor de corrente direta, em laço duplo, com quatro tipos de controladores: PID clássico, PID difuso, difuso e PID não linear, baseado em heurística, o qual é uma proposta dos autores. Enfatizam-se os aspectos como o desenvolvimento da etapa de potência, a elaboração de algoritmos para a medida das variáveis, a estimativa de um modelo matemático do motor e o controle em tempo real em Matlab.

Palavras chave: Controle de velocidade e posição, controlador PID, controle difuso, teoría do controle não linear.


Introducción

En la industria se controlan los procesos, con el fin de aumentar el rendimiento de los sistemas. Por ejemplo, se ajusta la temperatura, el voltaje, la corriente, la posición, la velocidad, el torque y, en general, cualquier variable física. En primera instancia, para controlar se requiere sensar (Ralph, 2007), pero además se debe diseñar el controlador.

El control fuerza al sistema para que tenga el comportamiento lo más cercano posible a las expectativas del diseñador, las cuales son conocidas también como criterios de respuesta. El proceso de control empieza con la comparación entre la lectura del sensor y el valor al que se desea que el sistema llegue (llamada referencia). De esa comparación resulta la señal de error, que es la entrada del controlador. El objetivo del controlador es lograr que ese error sea nulo, o cuando menos que esté en un rango aceptable. Para ello la salida del controlador se aplica al sistema, mediante un actuador, haciendo que la planta cambie según la acción de control. El problema está en encontrar el controlador adecuado, y a esa búsqueda se le llama diseño.

En particular, el control de velocidad y posición en doble lazo cerrado con el motor de corriente continua se utiliza en la robótica, la electromedicina, los procesos industriales, la ingeniería espacial, la astronomía, el entretenimiento, entre otras áreas, como se muestra en (Sen, 1990; Afjei et ál., 2007); de ahí que se haya considerado importante su estudio en este artículo.

Los sensores que se utilizan para cerrar los lazos de velocidad y posición son de tipo resolver o encoder; sin embargo, también pueden utilizarse sensores capacitivos, y otros, como se indica en (Afjei et ál., 2007; Ben-Brahim et ál., 2009; Boggarpu y Kavanagh, 2008; Liu y Hang, 2002; Fulmek et ál., 2002). Respecto a los controladores, en principio pueden ser PID (cuyo nombre se debe a la contribución proporcional, integral y derivativa respecto al error) o incluir combinaciones entre estrategias, por ejemplo, las que se presentan en los trabajos siguientes (Rairán et ál., 2009 y 2010; Rubaai et ál., 2008; Johnson et ál., 2004; Brickwedde, 1985).

Resulta interesante observar que el control aplicado a motores de corriente directa no es ajeno al avance de las ciencias de la computación, en cuanto a técnicas de búsqueda y optimización. Esto se debe a que el control puede verse como un problema de optimización, en el cual se minimiza la diferencia entre una dinámica de referencia y el comportamiento de la planta. Así es como en (Chun-Fei y Boree-Kuen, 2011) utilizan el método del gradiente descendiente, en combinación con lógica difusa para diseñar el controlador en modos deslizantes. Por otra parte, en (Reyes et ál., 2010) entrenan redes neuronales, fuera de línea, para mejorar la sintonización del controlador. En (Gerasimos, 2009) definen enjambres de partículas (PSO, por su sigla en inglés), las cuales evolucionan a la par con el funcionamiento de la planta, con el fin de estimar el vector de estado del motor y así diseñar el controlador, que es un filtro Kalman. La lista es extensa pero, por espacio, vale la pena mencionar el trabajo en (Asan et ál., 2010), en el cual aplican la transformada Wevelet, que, por su propiedad de multirresolución, les permite a los autores generar un algoritmo de control adaptable.

Además del tipo de controlador, se selecciona el soporte del algoritmo de control, esto es, si es un microcontrolador, amplificadores operacionales o un procesador digital de señales (DSP, por su sigla en inglés), e incluso un computador. En este artículo es opta por el computador. Algunas de las ventajas de este tipo de implementación son: 1) no se tienen restricciones por el número de componentes, 2) el cambio de constantes de ajuste no requiere la reconfiguración de un circuito y 3) la visualización de datos es superior a cualquier otra opción.

En la selección del motor se tuvo en cuenta el motor de corriente directa, o motor DC, y el motor de inducción. Si bien más del 90% de aplicaciones industriales son desarrolladas con motores de inducción, aun así las aplicaciones en las cuales se requiere precisión optan por los motores DC, como en robótica. Los motores DC también son seleccionados para desarrollar trabajo mecánico en dispositivos pequeños, como en unidades de cedé. Por último, cabe mencionar la aplicación de motores DC en el transporte mediante vehículos eléctricos, lo cual requiere algoritmos de control que no solo optimizan el seguimiento de un perfil de posición o velocidad, sino la energía utilizada en ello. Otra de las particularidades que hace atractivo a este motor es que un modelo lineal y de orden dos, como el que se presenta en la ecuación 1, es suficientemente cercano a la planta real como para considerarlo adecuado para la sintonización, según se entiende al ver, por ejemplo, los trabajos en (Muruganandam y Madheswaran, 2009).

(1)

En la ecuación 1, ω(s) es la velocidad angular, V(s) es el voltaje de la fuente de alimentación, K es la constante de fuerza electromotriz, Ra es la resistencia eléctrica, La es la inductancia eléctrica, J es el momento de inercia del motor, b es el coeficiente de amortiguamiento del sistema mecánico y s es la frecuencia compleja.

Para el desarrollo de los controladores y el modelado del sistema se escoge el programa Matlab, porque incluye herramientas optimizadas, dentro de las cuales están Simulink, el Toolbox of Control System, Data Acquisition, Filter Design, Fuzzy Logic y System Identification. Así mismo, para la comunicación entre el Matlab y los elementos físicos que componen el sistema se utilizan tarjetas de adquisición de datos, como se explica adelante. Una vez se tiene el modelo del sistema se eligen y sintonizan los controladores. En este artículo se utilizan cuatro estrategias: PID clásico, PID difuso, difuso y PID no lineal.

La organización del artículo es la siguiente: en la sección 1 se describe el esquema de control; luego, sección 2, se halla un modelo matemático del sistema; en la sección 3 está la sintonización del controlador PID; la sección 4 presenta la sintonización del controlador PID difuso; en la sección 5 se describe el controlador difuso; en la 6 está la estrategia PID no lineal, y en la siguiente sección se discuten los resultados.

1. Esquema de control

En esta sección se describen los componentes del esquema de control: 1) los sensores, 2) el motor, 3) la tarjeta de adquisición de datos, 4) el computador y 5) la etapa de potencia.

Los sensores son un encoder incremental y un encoder absoluto. El incremental tiene una salida cuasi triangular, en lugar de cuadrada, como es lo convencional. Además, tiene una resolución de 30° por pulso, con dos canales de salida. Por otra parte, el encoder absoluto es monovuelta, de marca Autonics, con código BCD y resolución de 45°. El encoder incremental está anclado al eje del motor, mientras que el absoluto se conecta por medio de una caja reductora, la cual tiene una relación de transformación de 1:67. El motor DC es de imán permanente y de marca Faulhaber, con voltaje nominal 12 V, velocidad sin carga de 8.100 rpm y potencia de salida de 17 W

Las tarjetas de adquisición de datos son dispositivos electrónicos que permiten la lectura del voltaje en los sensores, mediante sus canales de entrada; además, convierten la salida del algoritmo de control, en Simulink, a voltaje, por medio de sus canales de salida. Esta tarjeta, por definición, acepta y genera voltajes con potencias bajas, dado que su propósito es solo tratar las señales. Así es como la corriente a través de los canales de entrada o salida no puede ser mayor a 5 mA. Si la planta que se quiere alimentar requiere una corriente mayor, cualquiera que esta sea, se puede hacer, pero debe utilizarse una etapa de potencia, como se explica adelante. La resolución de la conversión de la tarjeta es de 12 bits, con rango de -10 a 10 V Las referencias de las tarjetas son PCI 6024E y PCI 6023E, de National Instruments. El tiempo de muestreo seleccionado es de 0,1 ms, el cual es fijado teniendo en cuenta las características del computador, el cual tiene procesador Pentium 4 a 3 GHz, con 512 MB de memoria RAM.

El último componente es la etapa de potencia. Esta recibe como entrada un voltaje que proviene de la tarjeta de adquisición de datos. Esa entrada indica el voltaje que debe haber a la salida de la etapa de potencia, en este caso en los terminales del motor. Para cumplir su objetivo, la etapa de potencia le provee al motor la corriente que se requiera, pero sin exigir más de 5 mA en la entrada de la etapa de potencia. Esta etapa es un amplificador clase B, tipo Darlington, con transistores BJT.

Ahora, con el fin de terminar la presentación de los componentes, en la Figura 1 se muestra el diagrama general del prototipo. La dinámica del motor es observada por los sensores; las señales de los sensores son ingresadas al computador por medio de la tarjeta de adquisición de datos; luego esas señales son adecuadas, para que los controladores generen la variable de corrección; la corrección se transforma a voltaje; ese voltaje es amplificado en potencia, y con el voltaje amplificado se alimenta al motor.

La adecuación de la señal del encoder incremental se hace en Matlab. Primero se transforma la señal cuasi triangular, mencionada al comienzo de esta sección, a impulsos. Cada impulso coincide con la razón de cambio máxima de la señal, la cual es equidistante si la velocidad es constante. Los impulsos alimentan un contador, el cual aumenta o disminuye en función del sentido de giro. El resultado del contador se multiplica por 30, y ese es el valor de posición angular en grados.

El sentido de giro del motor se define utilizando el desfase entre las señales de los dos canales del encoder. Se comienza al asumir una de las señales como referencia, luego se mide el tiempo entre un impulso y otro de esa señal. Para terminar se observa cuánto tiempo tarda en aparecer el siguiente impulso, pero en la otra señal. Ese tiempo puede ser mayor o menor que la mitad del tiempo medido, y se asigna sentido positivo para un caso y sentido negativo en el otro; y se repite este procedimiento siempre que el motor esté girando, como se muestra en (Rairán y Fonseca, 2009).

La velocidad angular se calcula a partir de la posición angular, por medio de derivadas aproximadas, como se muestra en (Benkhoris y Ait-Ahmed, 1996; Brown et ál., 1992). El tratamiento de la posición angular indicada por el encoder absoluto consiste en utilizar las señales de ese sensor, que es monovuelta, para medir cualquier ángulo con resolución de 45°. Esto se realiza detectando los cambios que indica el enconder y sumando o restando 45° en función del sentido de giro. Ya con las señales de los sensores adecuadas, se prosigue a obtener un modelo de la planta o sistema, como se explica en la sección siguiente.

2. Identificación del sistema

Ahora cuando las señales de los sensores ya están procesadas y filtradas, se realiza la identificación del sistema, el cual, como se dijo en la introducción, es un motor de corriente continua. El proceso de identificación puede darse a partir de datos de entrada y salida únicamente, en cuyo caso el proceso es conocido como de caja negra, o también, utilizando información que se conozca del sistema, como el orden, e incluso el valor de algún parámetro, en ese caso se llama a la identificación proceso de caja gris.

Estos dos procedimientos, caja negra y gris, pueden llevarse a cabo desde Matlab, por medio de la herramienta system identification, en la cual se encuentran opciones para seleccionar el tipo de modelo, es decir, si es continuo o discreto, también si es lineal o no, e incluso si es de varias entradas y salidas o no. Sin embargo, en este artículo se seleccionó la aplicación de Simulink llamada parameter estimation.

La estimación de parámetros en Simulink es un procedimiento de caja gris, en el cual se conoce el orden del modelo, y se desconocen las constantes o parámetros. Estos parámetros recogen la influencia de las constantes definidas en la ecuación 1, y no se miden mediante experimentos, dado que varían en función de las condiciones de operación del motor.

El modelo comúnmente usado para un motor de corriente continua es lineal de orden dos. La entrada del sistema es el voltaje aplicado al motor y la salida es la velocidad angular, es decir, la medida por el encoder incremental. Dado que el procedimiento de identificación es de caja gris, se requiere una colección de datos de entrada y salida, que deben contener la dinámica del motor, esto es, el comportamiento a velocidades bajas y altas, y a transiciones lentas y rápidas, y con amplitudes de entrada aleatorias. Con ese propósito se diseñó una fuente entre -8,5 y 8,5 V con tiempos de transición entre 1 y 2 s, la cual opera por 20 s.

A la fuente aleatoria se le suma 1,4 (cuando el valor es positivo) o se le resta 1,4 (si es negativo). Esto se hace con el fin de reducir el efecto de la banda muerta generada por el voltaje de activación de los transistores en la etapa de potencia. Un ejemplo del voltaje con el cual se alimenta al motor está en la parte superior de la Figura 2. Además, en la parte intermedia de esta se observa la velocidad angular del motor, correspondiente a esa misma fuente. La parte inferior de la figura corresponde a la salida del modelo en la ecuación 2.

El proceso de estimación continúa al fijar los valores iniciales para los parámetros, de manera que el programa los asuma como punto de partida en la determinación del modelo. Los valores iniciales fueron: K = 1; b = 0; J = 1; La = 1; Ra = 1. El resultado de la estimación más acertado está en la ecuación 2, considerado la función de transferencia del sistema.

(2)

El modelo en la ecuación 2 se aproxima en un 93,7% a los datos con que se estima, lo cual se considera suficiente para la aplicación en este artículo. El porcentaje de aproximación (fit) se halla mediante el cálculo en la ecuación 3. Los elementos de esa ecuación son: yh es la salida del modelo, y es la velocidad con la cual se hizo la estimación, mean es el valor promedio y norm es la norma euclidiana.

(3)

El modelo en la ecuación 2 es utilizado para realizar el proceso de sintonización del controlador, como se explica en la sección siguiente.

3. Control PID

En el control con un lazo cerrado se observa la posición del motor y se regula sin tener en cuenta otras variables de la máquina, como la velocidad. Esto hace que sea posible que para garantizar cierta posición se exijan cambios de velocidad que el motor no puede realizar, o que se exija par, traducido en corriente, más allá de lo que el motor puede soportar. Una manera de evitarlo es anexar lazos de control.

Por ejemplo, en (Sazawa et ál., 2008) se realizan tres lazos de control. En el más externo está la posición angular, que es el objetivo final del control; en un lazo interior está la velocidad angular, y en el más interno está el control de corriente. La salida del control de posición sirve como señal de referencia para el lazo de velocidad; de igual manera, el controlador de velocidad provee la referencia para el lazo de corriente. Otro ejemplo, esta vez con dos lazos de control, está en (Boukas y Habetler, 2004).

En este artículo se trabaja con dos lazos, el de posición angular y el de velocidad angular, comandados cada uno por un controlador PID, con el esquema indicado en la Figura 1. La función de transferencia del controlador PID está en la ecuación 4. La entrada del algoritmo de control es E(s), e indica la diferencia entre el valor de consigna y el valor medido por el sensor del lazo que corresponda. La salida U(s) se conoce como la variable de corrección.

(4)

El trabajo de sintonización del controlador consiste en encontrar valores adecuados para las ganancias kp , ki y kd, de manera que la respuesta de cada lazo cumpla con los criterios de respuesta que se definan en el diseño. Por ejemplo, un criterio de diseño es que la variable de corrección, u, no puede ser mayor a 10. Esto se debe a que la señal u del lazo de velocidad alimenta a la etapa de potencia, en lo cual se utiliza como enlace la tarjeta de adquisición de datos, y su límite es 10 V. Otros criterios de respuestas pueden ser: lograr el menor tiempo de estabilización posible, generar el menor sobrepico o eliminar el error de estado estacionario.

La idea de la acción de control es regular la posición sobre el eje de la caja reductora, donde se gira a menor velocidad; mientras que la velocidad se regula en el eje de mayor velocidad, donde se encuentra anclado el encoder incremental. El método utilizado para la sintonización del controlador en este artículo es la ubicación de raíces, el cual es un procedimiento de ensayo y error. La sintonización es realizada en la herramienta de Matlab llamada control system, en la cual se configura la arquitectura del sistema y se consigna el valor de todos los parámetros, excepto una ganancia, que es la que se varía, para ver su efecto en la ubicación de las raíces. Es usual considerar la ganancia kp como variable, y las otras dos ganancias del controlador PID se definen en función de kp , para lo cual se introducen parámetros nuevos, conocidos como tiempo integral Ti y tiempo diferencial Td.

Los datos adicionales para la herramienta en Matlab son la ganancia del sensor del lazo de velocidad, que es 10/34.992 [V/(°/s)], y la ganancia del sensor del lazo de posición, que es 10/360 [V/(%)]. Además, se tiene en cuenta la ganancia generada por la acción de la caja reductora, que es de 1/67. Por último, se adiciona un filtro de orden uno, entre la referencia y el primer bloque de comparación. El filtro tiene como propósito el evitar cambios bruscos en la referencia y así proteger las tarjetas de adquisición de datos, este tiene un tiempo de estabilización de 50 ms.

En la sintonización del controlador se prueban las configuraciones de controladores PID para el lazo de velocidad y de posición, de esto se llega a que la mejor configuración es un control P en cada lazo. Además, se definen las ganancias de los controladores, y con estos valores se prosigue la sintonización del controlador de manera experimental.

El ajuste experimental es un ajuste fino, con el cual se llega a que la ganancia del lazo de posición es kp = 2. Para el lazo de velocidad el comportamiento experimental llega a que es mejor utilizar un controlador PI, con ganancias kp de 0,25 y un k. de 2,5.

En la implementación de los controladores del lazo de velocidad y el lazo de posición se obtiene como resultado una señal sin sobrepico ni error de estado estacionario, y con un tiempo de estabilización de 0,87 s. El valor de consigna se fijó en 180°, considerando que este es el valor promedio de la posición angular que puede exigírsele al motor.

Ahora que se ha expuesto el control mediante un PID, se prosigue con el controlador difuso, el cual, en principio, se esperaría presente ventajas respecto al PID clásico, debido a que permite que las ganancias del controlador cambien.

4. Control PID difuso

El controlador PID se ha utilizado con acierto en aplicaciones lineales, pero cuando el sistema es no lineal, la efectividad no es necesariamente la misma, como se expone en (Liu et ál., 1997). Una alternativa para mejorar el comportamiento del controlador PID es hacer que las ganancias sean variables, con valores que dependan de las características de la planta en cada momento. Esta es la idea de utilizar lógica difusa.

El lugar de programar un único valor para cada ganancia del controlador, se definen rangos difusos para los cuales se considera que la ganancia debe ser grande, mediana o pequeña. Por ejemplo, una solución intuitiva inicial dice que entre más grande sea el error, más grande debe ser la ganancia proporcional, con el fin de que el error se reduzca en el menor tiempo posible. Por otra parte, la ganancia proporcional no debe ser alta para errores pequeños, porque esto puede generar oscilaciones.

La entrada del controlador difuso es el error, como lo fue para el PID, y según ese valor se generan conjuntos, los cuales distinguen entre cantidades positivas y negativas, y además, entre valores pequeños, medianos o grandes, como se consigna en la Tabla 1.

La salida del controlador difuso corresponde al valor de la ganancia por la cual se va a multiplicar el error, a la manera de un controlador proporcional, pero ahora variable. Los rangos de la ganancia son: grande, mediano y pequeño. Si bien el nombre de los conjuntos es igual para los lazos de posición y velocidad, no ocurre lo mismo con los rangos. Por ejemplo, mientras la ganancia kp va de 12 a 25, para el lazo de posición va de 0,3 a 0,8 en el lazo de velocidad.

La lógica difusa fue implementada en Matlab, en el toolbox Fuzzy Logic, y se exportó a Simulink con los bloques Fuzzy Logic Controller. El sistema de la lógica difusa es de tipo Mamdani, y los conjuntos son error negativo grande (eng), error negativo mediano (enm), error negativo pequeño (enp), y los correspondientes positivos, es decir, grande, mediano y pequeño.

En la Tabla 2 se definen las relaciones entre conjuntos. Por ejemplo, si el error es negativo grande (eng) o si es positivo grande (epg), entonces la ganancia es grande (kg). Cada conjunto de entrada negativo tiene su correspondiente positivo, y dada la simetría de la solución, se decidió reducir el número de reglas a tres.

Con la configuración de los dos controladores, para posición y para velocidad, se logró un tiempo de estabilización de 1,05 s, sin sobrepico y un error de estado estacionario de 0,49%.

5. Control difuso

Luego de observar el potencial de la lógica difusa aplicada al control del motor, se decidió utilizar una opción más para definir las relaciones difusas. Se pasó de variar las ganancias de un controlador PID de manera difusa a definir la variable de corrección, como se presenta en (Rubaai et ál., 2000; Muruganandam y Madheswaran, 2009; Kim et ál., 2004).

El controlador difuso para el lazo de posición observa el error, entendido como la diferencia entre la referencia y la posición real del motor, y con base en ese error se define la variable de corrección. Si el error es grande, la corrección es grande, como se presenta en la Figura 3. La salida del controlador difuso del lazo de posición es el valor de referencia para el lazo velocidad.

El controlador del lazo de velocidad está compuesto por un controlador difuso en cascada con una integral. Así, cuando la salida del controlador difuso es cero, como resultado el voltaje aplicado al motor es el mismo que se aplicó en el instante anterior. Cuando la salida del controlador difuso es positiva, el voltaje sobre el motor aumenta, según define la acumulación en la integral, y ese voltaje disminuye cuando la salida del componente difuso es negativa.

El error de entrada al lazo de posición está entre -10 y 10, y se define por medio de cuatro conjuntos difusos: error grande negativo (eng), error pequeño negativo (enp) y los correspondientes positivos, como se presenta en la Figura 3. Los conjuntos de salida varían entre -8,5 y 8,5. Estos extremos corresponden a velocidades máxima negativa y máxima positiva, respectivamente. Los conjuntos son: velocidad grande negativa (vgn), velocidad pequeña negativa (vpn) y sus equivalentes positivos.

Con la configuración de los dos controladores, para posición y para velocidad, se logró un tiempo de estabilización de 1,1 s, con un sobrepico de 0% y un error de estado estacionario de 0,25%.

6. Control PID no lineal

Controladores convencionales, como el PID, son ideales para gobernar sistemas invariantes en el tiempo y lineales. Pero si la planta cambia, la acción de control puede dejar de ser adecuada, como se mencionó en la sección V Ese es el problema que se trata en esta sección, pero la solución no vuelve a ser el controlador difuso.

El objetivo en esta sección es diseñar un controlador que se adapte a los cambios internos en la planta, o a las influencias externas, denominadas disturbios, como se expone en (Brickwedde, 1985; El Rifai, 2009), y que además genere, en lo posible, un comportamiento uniforme, a pesar de las alinealidades que puedan presentarse.

El cambio en las ganancias del controlador PID se hace de manera heurística, en función de dos señales: el error de posición y la variable de corrección; esta última en el lazo de velocidad. Teniendo en cuenta esos dos valores se definen acciones de ajuste, las cuales buscan reducir el error y mantenerlo en un rango aceptable, o nulo, para lo cual se parte de los algoritmos sintonizados en la sección IV.

Por medio de la observación del funcionamiento del motor se encontró que una forma de disminuir el error es aumentar la ganancia P de los controladores. Basados en ese resultado, y en línea, en cada instante de tiempo i se define un delta de ganancia. A la ganancia P se le adiciona un Δe , en función del error, y otro Δv en función de la velocidad, como se escribe en la ecuación 5. Esos deltas se definen de manera que la ganancia cambia hasta máximo el doble de su valor inicial, lo cual se determinó experimentalmente, y con el fin de evitar inestabilidad.

(5)

(6)

(7)

Mientras Δe es lineal con el error e(i), como se observa en la ecuación 6, Δv es una ecuación cuadrática, en función de la variable de corrección del lazo de velocidad Vs(i). Recuérdese que esa variable equivale al voltaje aplicado a la etapa de potencia. En el rango de operación del motor Δv tiene dos mínimos, en 0 y en 10, y un máximo, en 5. Una vez más, estos mínimos tienen como propósito reducir la inestabilidad que pudiera presentarse por aumentos excesivos en las ganancias.

Las constantes ke y k v, en las ecuaciones 6 y 7, se definen experimentalmente, y de manera independiente para cada ganancia en cada controlador. Por ejemplo, en la ganancia P del lazo de posición son ke = 0,1 y kv = 0,14. El criterio para definir las constantes ke y kv fue el obtener el menor tiempo de respuesta, y la menor oscilación posible.

Con los valores del controlador PID clásico de la sección IV más la heurística definida en las ecuaciones 5 a 7, se consiguió un tiempo de respuesta de 1 s, con un error de estado estacionario de -0,25%, y un sobrepico cercano al 5%, como se presenta en la Figura 4.

7. Resultados y discusión

En la Figura 4 se resumen las mediciones reales de las cuatro estrategias que se probaron en este artículo. Si bien a primera vista las curvas son similares, en realidad dejan ver las ventajas de cada algoritmo. La respuesta más lenta es el resultado de utilizar el controlador difuso, lo cual no indica que este tipo de control siempre genera respuestas lentas, sino que hay más trabajo por hacer en cuanto a la definición de los conjuntos y las reglas difusas.

Puede verse que el controlador PID clásico tiene el tiempo de respuesta intermedio, y esto es útil para afirmar que no necesariamente un controlador con más elementos, como es la estrategia difusa, lleva a respuestas más adecuadas. En lugar de ello se sugiere como estrategia general de control el comenzar con un algoritmo de control tan simple como sea posible e ir incrementando el grado de complejidad, en un proceso iterativo, según se mejore el comportamiento del sistema en lazo cerrado, según se propone en el control basado en un modelo, expuesto en (Gevers, 2005).

El controlador PID difuso, es decir, el que cambia las ganancias del PID clásico, en función de reglas difusas, resulta en el tiempo de respuesta más corto. Aún así, los autores consideran que puede aumentarse la velocidad con que se reduce el error, en especial cuando este error es inferior a 20°, lo cual reduciría más el tiempo.

Basados en el resultado con el controlador PID difuso, y en otros trabajos referenciados en la sección 6, se diseñó un controlador PID no lineal, el cual incluye reglas que recopilan la experiencia sobre el manejo de la planta. El resultado es cercano al PID difuso, y aunque presenta un sobrepico, este es menor a 5%, lo cual es aceptable para muchas aplicaciones industriales. En la Tabla 3 se resumen las constantes de cada controlador. El tiempo de estabilización más corto se obtuvo con el PID clásico; sin embargo, el tiempo de respuesta más corto es el del PID difuso, según ya se mencionó en esta sección.

En la Figura 5 se muestra el comportamiento experimental (medidas reales) de las estrategias de control implementadas respecto a la velocidad angular. Puede verse la velocidad máxima que se alcanza en cada caso y la forma de las curvas (suave en todos los casos). Esto indica que el motor trabajó en su zona segura, como podría no ocurrir si se diseña un único lazo de control. Uno de los problemas de un solo lazo es que por medio de la variable de corrección se ajustan todos los estados de la máquina, desde el voltaje de entrada hasta la posición angular, pasando por variables intermedias como son la corriente en el devanado, el torque en el rotor y la velocidad angular, sobre las cuales en realidad no se tiene control.

Debido a que la referencia del lazo de velocidad es la salida del control de posición, cada estrategia de control tiene una referencia diferente para el lazo de velocidad. Puede verse que el control PID difuso alcanza la velocidad más alta, lo cual se ve representado en el lazo de posición con el tiempo de respuesta más corto. El pico de velocidad más lento se logra con el controlador difuso.

8. Conclusiones

En este artículo se implementó el control de posición de un motor de corriente continua mediante dos lazos de control. El lazo más interno corresponde al ajuste de la velocidad, y el lazo externo a la posición angular. Se probaron cuatro estrategias de control. La estrategia más rápida resultó ser el control PID difuso; sin embargo, se considera que queda aún espacio para mejorar el tiempo de respuesta un poco más.

El control PID no lineal, el cual es un aporte importante de los autores, es basado en heurística y su aplicación conlleva un comportamiento muy cercano al PID difuso. El control PID clásico presenta un rendimiento intermedio, entre los dos más rápidos y el más lento, el cual fue el controlador difuso, en este artículo.

El modelo del motor es una función de transferencia lineal, de orden dos, suficiente para realizar la sintonización teórica de los controladores. Con el proceso de identificación utilizado, es decir, el paramétrico, se demostró que un modelo pequeño, como es uno de orden dos, es suficiente para la sintonización inicial de los controladores de la planta utilizada, pero se sugiere como trabajo futuro que la identificación del sistema y la aplicación de los controladores se convierta un proceso iterativo, en el cual un modelo y control sencillo lleve a modelos más cercanos a la dinámica real del motor, y este a su vez a controladores más próximos a algún óptimo.


Referencias

AFJEI, E.; GHOMSHEH, A.N. y KARAMI, A. Sensorless speed/position control of brushed DC motor. Electrical Machines and Power Electronics, 2007. ACEMP '07. International Aegean Conference on, Bodrum, Turquia, 10-12 septiembre 2007, pp. 730-732.        [ Links ]

ASAN, Y; MOHAMED, E. y OMAR, S. Wavelet network-based motion control of DC motors. Expert Systems with Applications. Elseviere. 2010, vol. 37. pp. 1522-1527.        [ Links ]

BEN-BRAHIM, L.; BENAMMAR, M. y ALHAMADI, M. A. A resolver angle estimator based on its excitation signal. IEEE transactions on industrial electronics. 2009, vol. 56, núm. 2, pp. 574-580.        [ Links ]

BENKHORIS, M. y AIT-AHMED, M. Discrete speed estimation from a position encoder for motor drives. Power Electronics and Variable Speed Drives, 1996. Sixth International Conference on (Conf. Publ. No. 429). Nottingham, 23-25 de septiembre, 1996, pp. 283-287.        [ Links ]

BOGGARPU, N. K. y KAVANAGH, R. C. New learning algorithm for high-quality velocity measurement from low-cost optical encoders. Instrumentation and Measurement Technology Conference Proceedings, 2008. IMTC 2008, IEEE. Victoria, Vancouver Island, British Columbia, Canada, 12-15 mayo 2008, pp. 1908-1913.        [ Links ]

BOUKAS, T. K. y HABETLER, T. G. High-performance induction motor speed control using exact feedback linearization with state and state derivative feedback. Power Electronics, IEEE Transactions on. 2004, vol. 19, núm 4, pp. 1022-1028.        [ Links ]

BRICKWEDDE, A. Microprocessor-based adaptive speed and position control for electrical drives. Industry Applications, IEEE Transactions on. 1985, IA-21, vol. 5, pp. 1154-1161.        [ Links ]

BROWN, R.; SCHNEIDER, S. y MULLIGAN. M. Analysis of algorithms for velocity estimation from discrete position versus time data. Industrial Electronics, IEEE Transactions on. 1992, vol. 39, núm. 1, pp. 11-19.        [ Links ]

CHUN-FEI, H. y BOREE-KUEN, L. FPGA-based adaptive PID control of a DC motor driver via sliding-mode approach. En: Expert Systems with Applications. s. l.: Elsevier, 2011 (in press).        [ Links ]

EL RIFAI, K. Nonlinearly parameterized adaptive PID control for parallel and series realizations. American Control Conference, 2009. ACC 09. St. Louis, MO, 10-12 junio 2009, pp. 5150-5155.        [ Links ]

FULMEK, P. et al. Capacitive sensor for relative angle measurement. IEEE Transactions on Instrumentation and Measurement. 2002, vol. 51, núm 6, pp. 1145-1149.        [ Links ]

GERASIMOS, R. Particle and Kalman filtering for state estimation and control of DC motors. ISA Transactions. 2009, vol. 48. pp. 62-72.        [ Links ]

GEVERS, M. Identification for control. From the early achievements to the revival of experiment design. Decision and Control, 2005 and 2005 European Control Conference. CDC-ECC '05. 44th IEEE Conference on. Sevilla, España, 12-15 diciembre 2005, pp. 1-18.        [ Links ]

JOHNSON, E.; OH, S.-M. Adaptive control using combined online and background learning neural network. 43rd IEEE Conference on Decision and Control. Atlantis, Paradise Island, Bahamas, 14-17 diciembre 2004, pp. 5433-5438.        [ Links ]

KIM, N.; HUH, U. y KIM, J. Fuzzy position control of motor plant with backlash. Industrial Electronics Society, 2004. IECON2004. 30th Annual Conference of IEEE. Busan, Korea. 2-6 noviembre 2004, vol. 3, pp. 3190-3195.        [ Links ]

LIU, C. ; XU, J. y HANG, C. Comparison between a fuzzy PID controller and a kind of nonlinear PID controller. Decision and Control, 1997, Proceedings of the 36th IEEE Conference on. San Diego, CA, 10-12 diciembre, 1997, vol. 3, pp. 2736-2741.        [ Links ]

LIU, G. On velocity estimation using position measurements. American Control Conference. Anchorage, AK, 8-10 mayo 2002, vol. 2, pp. 1115-1120.        [ Links ]

MURUGANANDAM, M. y MADHESWARAN, M. Modeling and simulation of modified fuzzy logic controller for various types of DC motor drives. Control, Automation, Communication and Energy Conservation, 2009. INCACEC 2009. 2009 International Conference on. Perundurai, Tamilnadu, 4-6 junio 2009, pp. 1-6.        [ Links ]

RAIRÁN, J. y FONSECA, J. Algoritmos para la medición de posición y velocidad angular, a partir de un encoder incremental. 2 Congreso Internacional de Ingeniería Mecatrónica-UNAB. Bucaramanga, Colombia, 30 septiembre, 1 y 2 octubre 2009, pp. 1-6.        [ Links ]

RAIRÁN, J.; MATEUS, A. y GUERRERO, C. Diseño de controladores de tipo proporcional integral derivativo (PID) y difuso para la posición de un motor de corriente continua (DC). Ingeniaría y Universidad. 2010, vol. 14, núm 1, pp. 137-160.        [ Links ]

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

RALPH, Kl. Encoders for simultaneous sensing of position and speed in electrical drives with digital control. IEEE Transactions on Industry Applications. 2007, vol. 43, núm. 6, pp. 1572-1577.        [ Links ]

REYES, J.; ASTORGA, C.; ADAM, M. y GUERRERO, G. Bounded neuro-control position regulation for a geared DC motor. Engineering Applications of Artificial Intelligence. 2010, vol. 23, pp. 1398-1407.        [ Links ]

RUBAAI, A.; CASTRO, M. y OFOLI, A. Design and implementation of parallel fuzzy PID controller for high-performance brushless motor drives. An integrated environment for rapid control prototyping. Industry Applications, IEEE Transactions on. 2008, vol. 44, núm. 4, pp. 1090-1098.        [ Links ]

RUBAAI, A.; RICKETTS, D. y KANKAM, M. D. Experimental evaluation of a fuzzy logic-based controller for high performance brushless DC motor drives. Industry Applications Conference, 2000. Conference Record of the 2000 IEEE. vol. 2. Roma, Italia, 8-12 octubre 2000, pp. 1299-1305.        [ Links ]

SAZAWA, M.; OHISHI, K. y KATSURA, S. High speed positioning servo system using integrator correction of PI controller based on disturbance observer. Industrial Electronics, 2008. IECON2008. 34th Annual Conference of IEEE. Orlando, FL, 10-13 noviembre 2008, pp. 2539-2544.        [ Links ]

SEN, P. Electric motor drives and control. Past, present and future. IEEE Transaction on Industrial Electronics. 1990, vol. 37, núm. 6, pp. 562-575.        [ Links ]

Creative Commons License Todo o conteúdo deste periódico, exceto onde está identificado, está licenciado sob uma Licença Creative Commons