SciELO - Scientific Electronic Library Online

 
vol.14 número26Bidirectional buck-boost dc/dc converter static designScientific model of knowledge management for networking research of advanced technology from the Distrital University í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


Tecnura

versão impressa ISSN 0123-921X

Tecnura v.14 n.26 Bogotá jan./jun. 2010

 

Determinación de los parámetros de un motor de inducción utilizando un algoritmo de optimización por cúmulo de partículas (PSO)

Parameter determination of induction motor by using a particle swarm optimization algorithm (PSO)

Alfonso Alzate Gómez1, Javier Alejandro Orjuela Montoya2, Andrés Ricardo Herrera Orozco3

1 Ingeniero Electricista, magister en Ingeniería Eléctrica y doctor en Automática. Docente Titular de la Universidad Tecnológica de Pereira. Pereira, Colombia. alalzate@utp.edu.co
2 Ingeniera Electricista. Investigadora del Grupo Calidad de la Energía Eléctrica y Estabilidad ICE de la Universidad Tecnológica de Pereira. Pereira, Colombia. alejo18al@gmail.com
3 Ingeniero Electricista. Investigador del Grupo Calidad de la Energía Eléctrica y Estabilidad ICE de la Universidad Tecnológica de Pereira. Pereira, Colombia. andresh1287@gmail.com

Fecha de recepción: mayo 2 de 2009 Fecha de aceptación: noviembre 17 de 2009


Resumen

En este documento se utiliza la optimización por cúmulo de partículas (PSO) para la determinación de los parámetros del motor de inducción. El error entre la corriente de salida medida en el estator de un motor de inducción y su modelo es usado como criterio para ajustarlos parámetros requeridos. Se realizan simulaciones digitales en operación sin carga para la identificación de los parámetros. La comparación de dos variantes del algoritmo PSO (PSO local y PSO global) es usada para verificar la eficiencia de cada uno,y determina el tiempo computacional. Finalmente se muestra el esquema de identificación de parámetros que se implementa.

Palabras clave: Cúmulo de partículas, Motor de inducción, Optimización, Parámetro.


Abstract

This document uses particle swarm optimization (PSO) for determining the parameters of induction motor. The error between the measured actual stator current output of an induction motor and its model is used as the criteria to correct the required parameters. Digital simulations no-load operations are used to identify the parameters. A comparison of two variants of the PSO algorithm (local PSO and global PSO) is used to verify the efficiency of each one and computational time is determined. Finally, the parameter identification scheme shown is implemented.

Key words: Particle Swarm, Induction Motors, Optimization, Parameter.


1. Introducción

La máquina de inducción ha sido ampliamente usada e investigada intensivamente en campos de ingeniería por varias décadas. El conocimiento de los parámetros del motor de inducción es la piedra angular en el diseño, fabricación, evaluación y aplicación de la máquina. Actualmente, el flujo del rotor no puede ser medido directamente, ya que presenta una característica altamente no lineal. La identificación de parámetros es una técnica apropiada para la reconstrucción de funciones desconocidas u objetos difíciles de medir que aparecen como diversos parámetros (coeficientes y valores límites) en sistemas de ecuaciones diferenciales [1]. En los últimos años muchas investigaciones se han enfocado en la identificación de parámetros en línea.

Los sistemas de control de alto rendimiento para un motor de inducción siempre se basan en el conocimiento de los parámetros del motor. Estos se utilizan en la unidad controladora, por lo tanto es necesaria la identificación fuera de línea de la unidad puesta en marcha. Sin embargo, ya que todos los parámetros inevitablemente pueden variar durante el funcionamiento del motor; a menudo es deseable para mejorar el rendimiento de la unidad mediante la adición de un estimador de parámetros en línea [2].

Además, los investigadores se han centrado en la utilización de sistemas de control de velocidad y control del par, entre otros. Entre los tipos de control está el vectorial, el cual es muy usado porque es un método de control que alcanza una respuesta muy rápida en el torque y presenta características de control similares a los de motores de DC de excitación independiente. Esta técnica de control utiliza los parámetros del motor de inducción que varían de acuerdo con la temperatura y la no linealidad causada por el efecto piel y la saturación. Entonces, se hace necesaria la identificación de estos parámetros en línea [3].También los parámetros se pueden utilizar para la vigilancia o detección de fallos en el motor de inducción, en el cual cada parámetro eléctrico indica el estado interno de los componentes [4].

La optimización por cúmulo de partículas (PSO) es una técnica reciente para la solución de problemas. Esta técnica está inspirada en los ejemplos biológicos de insectos sociales como las hormigas, termitas, abejas, avispas y por enjambres, manadas, bandadas y otros comportamientos sociales en vertebrados tales como los bancos de peces y las bandadas de aves. Los algoritmos de inteligencia de enjambre tienen una enorme ventaja sobre otros tipos de métodos de optimización matemática. Estos sólo requieren conocer los valores que toma la función objetivo para cada una de las soluciones candidatas para poder proponer nuevas y mejores soluciones. Entonces, las características de la función objetivo, tales como diferenciabilidad y continuidad, no son necesarias.

En este documento la optimización por cúmulo de partículas es adaptada al problema de identificación de los parámetros del motor de inducción.

2. Modelo dinámico del motor de inducción

El modelo dinámico del motor de inducción con flujo del rotor y corrientes del estator en marco estacionario se describe como se muestra a continuación:

Con:

Dónde:

  • Rs y Rr resistencias de estator y rotor.
  • Lsy Lr inductancias de estator y rotor.
  • Lm inductancia de magnetización.
  • σ coeficiente de fuga.
  • τr constante de tiempo del rotor.
  • ωr velocidad eléctrica del rotor.
  • usd y usq voltajes del estator en eje-d (directo) y eje-q (cuadratura).
  • isd e isq corrientes del estator en eje-d (directo) y eje-q (cuadratura).

3. Optimización por cúmulo de partículas

Los algoritmos basados en nubes (también enjambre o cúmulos) de partículas se aplican en diferentes campos de investigación para la optimización de problemas complejos. Como ya se ha dicho anteriormente, el algoritmo PSO es una técnica metaheurística poblacional basada en la naturaleza (algoritmo bioinspirado), en concreto, en el comportamiento social del vuelo de las bandadas de aves y el movimiento de los bancos de peces. Es una técnica relativamente reciente [5, 6, 7]. PSO fue originalmente desarrollado en Estados Unidos por el sociólogo James Kennedy y por el ingeniero Russ C. Eberhart, en 1995.

En el funcionamiento básico del PSO los individuos o partículas se adaptan o modifican sus opiniones a las de aquellos con mas éxito en su entorno. Con el tiempo, los individuos de un entorno tienen un conjunto de opiniones bastante relacionado. Mas específicamente, el PSO simula el comportamiento del vuelo de las bandadas de aves en busca de comida. La estrategia lógica por utilizar es seguir al ave que está mas cerca de la comida. Cada ave se modela como una partícula con una solución en el espacio de búsqueda que está siempre en continuo movimiento y nunca se elimina o muere.

El diagrama de flujo básico del algoritmo de optimización por cúmulo de partículas es mostrado en la figura 1.

El PSO es un sistema multiagente. Las partículas son agentes simples que se mueven por el espacio de búsqueda, guardan y posiblemente comunican la mejor solución que han encontrado. El movimiento de las partículas por el espacio está guiado por las partículas que tienen la mejor solución del momento.

Las principales características del algoritmo PSO son las siguientes [5]:

  • En PSO los agentes de búsqueda (partículas) intercambian información. Las partículas modifican su dirección en función de las direcciones de las partículas de su vecindario.
  • PSO almacena la experiencia propia o la historia de cada agente. La partícula decide su nueva dirección en función de la mejor posición por la que pasó anteriormente.
  • Suele tener una convergencia rápida a buenas soluciones.
  • La población del algoritmo se inicia de forma aleatoria y evoluciona iteración tras iteración.
  • La búsqueda persigue siempre la solución más óptima posible.
  • La búsqueda se basa exclusivamente en los valores de la función objetivo.
  • PSO trabaja con la información del problema en forma codificada.
  • Es una técnica estocástica referida en fases (inicialización y transformación).
  • PSO tiene operadores de movimiento pero no de evolución, como la mutación o el cruzamiento.
  • PSO no crea nuevas partículas durante su ejecución, sino que siempre son las mismas partículas iníciales modificadas a lo largo del proceso.

4. Metodología

Para la identificación de parámetros de un motor de inducción el principio e implementación de identificación es el siguiente [3]:

4.1. Principio de implementación de la determinación de parámetros

La figura 2 muestra el esquema de la identificación de parámetros del motor de inducción. El error entre la corriente actual de salida del estator del motor de inducción y la corriente de salida del modelo es usado como criterio para corregir los parámetros del modelo, con el fin de identificar todos los parámetros del motor de inducción. En la figura 2 la salida del motor de inducción son las corrientes del estator (isd e isq) y las salidas del modelo eléctrico son îsd e îsq.

Dejando:

La ecuación 1 se convierte en:

Dónde:

Las matrices B y C son idénticas a las matrices B y C de la Ec. (1).

En el marco del rotor, las corrientes y voltajes del estator son adquiridos por la siguiente conversión de coordenadas:

Como una forma conveniente, el vector de parámetros es definido de la siguiente manera:

Dónde:

De esta forma la matriz À será escrita como:

Las Ec. (2), (3) y (4) deben ser discretizadas para poder trabajar con el algoritmo de optimización (optimización por cúmulo de partículas).

De acuerdo con la figura 2 la respuesta de salida îsd e îsq para el parámetro del modelo puede ser calculada por la imposición de la misma señal de entrada que para el sistema real (usd y usq). La respuesta isd e isq del sistema real y la respuesta îsd e îsq del sistema calculado pueden ser comparadas mediante una función de error cuadrático [8]; esta será la función de costo por evaluar en el algoritmo de optimización:

Donde K denota el número de puntos de prueba (número de muestras de la señal) [3].

4.2. Implementación de la identificación de parámetros usando PSO

Para la adaptación del algoritmo PSO al modelo dinámico primero se inicia la descripción del algoritmo PSO, estudiando la anatomía de la partícula. Una partícula está compuesta de tres vectores y dos valores de aptitud (también conocida como bondad, adaptación, capacidad, adecuación o fitness), con respecto al problema considerado [9]:

Tres vectores:

  • El vector Xi = ( Xi,1, Xi,2, ... , Xi,N ) almacena la posición actual de la partícula. En nuestro caso este vector está compuesto de cinco valores que corresponden a cada valor de i.
  • El vector mejorposi = (mejorposi,1, mejorposi,2,mejorposi,N ) almacena la posición de la mejor solución encontrada por la partícula hasta el momento.
  • El vector de velocidad Vi = (vi,1, vi,2, ... , vi,N) almacena la dirección según la cual se moverá la partícula.

Dos valores de aptitud:

  • El valor de aptitud_Xi, almacena el valor de adaptación o adecuación de la posición actual correspondiente al vector Xi; es decir, almacena el valor de la función de costo evaluada en la partículaXi.
  • El valor de aptitud_mejorposi almacena el valor de adecuación de la partícula con mejor solución local encontrada hasta el momento, correspondiente al vector mejorposi.

La descripción del proceso algorítmico es la siguiente:

  1. La nube se inicia generando las posiciones (de forma aleatoria, regular o combinación de ambas).
  2. Se generan las velocidades aleatoriamente en un intervalo establecido [-vmax' vmax'], no es conveniente fijarlas a cero [10].
  3. Se calcula la aptitud de cada partícula y se actualizan los valores de aptitud_Xi y aptitud_mejorposi.
  4. Las partículas se mueven en cada iteración desde una posición del espacio de búsqueda hasta otra. Al vector de posición Xi se le añade el vector velocidad Vi para obtener un nuevo vector Xi.
  5. Con la nueva posición de la partícula se calcula y actualiza aptitud_Xi.
  6. Si el nuevo valor de aptitud es el mejor encontrado por la partícula i, hasta el momento, se actualizan los valores de mejorposi y aptitud_mejorposi.
  7. Si el nuevo valor de aptitud mejorposi es el mejor encontrado por la nube de partículas hasta el momento, se actualizan el valor de la mejor posición de la nube mejorpos y su aptitud_mejorpos.
  8. El vector velocidad de cada partícula es modificado en cada iteración, utilizando la velocidad anterior, un componente cognitivo y un componente social. El modelo matemático resultante, y que representa el corazón del algoritmo PSO, viene representado por las siguientes ecuaciones:

Para i = 1,2,3, ... , P =

Dónde:

  • vector posición de la partícula i en la iteración t.
  • vector velocidad de la partícula i en la iteración t.
  • Ωt factor de inercia en la iteración t.
  • φ1'φ2 son pesos que controlan los componentes cognitivo y social.
  • rand1 número aleatorio entre 0 y 1.
  • rand2 número aleatorio entre 0 y 1.
  • mejorposi mejor posición encontrada por la partícula i hasta el momento, que posee la mejor solución.
  • mejorpos representa la posición de la partícula con la mejor solución o aptitud de la nube de partículas.
  • P número de partículas que componen la nube.

 9. Si el nuevo valor de aptitud mejorpos que corresponde a la mejor solución encontrada por la nube de partículas (en este caso corresponde a la respuesta isd e isq del sistema real y la respuesta i sd e isq del sistema calculado comparadas mediante una función de error cuadrático) es menor que una tolerancia, entonces se debe parar; en caso contrario ir al paso 5.

En la figura 3 se muestra el movimiento de una partícula en el espacio de soluciones. Las fechas de línea discontinua representan la dirección de los componentes cognitivo y social. La fecha punteada discontinua representa la velocidad actual de la partícula. La fecha de línea continua representa la dirección que toma la partícula para moverse desde la posición actual hasta la nueva posición.

Para conseguir un buen funcionamiento y eficiencia del algoritmo PSO el valor de la velocidad no debe llegar a ser muy grande durante la ejecución. Limitando la velocidad máxima de cada vector velocidad (Vmáx) y reduciendo gradualmente su valor se consigue mejorar el rendimiento del algoritmo. Se propone una nueva función no lineal modulada de adaptación de factor de inercia con el tiempo para mejorar el rendimiento del algoritmo PSO. Esta adaptación dinámica del algoritmo PSO propone actualizar la relación de la velocidad en la N-ésima dimensión de acuerdo con la siguiente relación [1, 11]:

Dónde:

  • Ωmas Factor de inercia inicial.
  • Ωmin Factor de inercia final.
  • tmax Número de iteraciones máximo.
  • t Número de iteración actual.
  • Ωt Factor de inercia en la iteración t.
  • n Índice de modulación no lineal.

Una elección de puede asegurar el hecho de que durante las siguientes iteraciones se decrezca más rápidamente que en el caso lineal, el cual es muy conveniente en el algoritmo para determinar la región optima entre las subregiones prometedoras para el óptimo ya descubiertas [11].

El tamaño de la nube de partículas juega también un papel importante, ya que determina el equilibro entre la calidad de las soluciones obtenidas y el número de iteraciones necesarias hasta llegar a una buena solución (tiempo computacional).

5. Resultados

Se procedió a configurar un motor de inducción jaula de ardilla trifásico, el cual fue tomado del simulink de matlab. Se tomaron las corrientes de salida del estator (isd e isq) del motor y la velocidad mecánica del eje del rotor, además se tomaron los voltajes del estator (usd y usq).

Las corrientes isd e isqson las utilizadas por la función objetivo (Ec. (6)), con el fin de compararlas con las que serán calculadas por el algoritmo de optimización mediante el ajuste de los parámetros. Además, los voltajes uisd y uisq son los mismos que los transformados por la Ec. (4); estos son las entradas para el cálculo de las corrientes del estator î sd e îsq.
El algoritmo de optimización por cúmulo de partículas (PSO) fue implementado usando el entorno de matlab.

La tabla 1 muestra los valores reales de los parámetros del motor de inducción calculados por pruebas convencionales.

El motor de inducción utilizado tiene un voltaje nominal de 220 V conexión tipo YY, una corriente nominal de 3,75A, velocidad nominal 1.660 RPM, frecuencia 60Hz, 2 pares de polos y una potencia de 1HP.

Se calculó el vector de lambdas reales a partir de la Ec. (5). Los lambdas reales calculados a partir de los parámetros de la tabla 1 se muestran en la tabla 2.

Los parámetros de los algoritmos PSO local y PSO global tomados para la realización de los experimentos fueron los siguientes:

El rango de iniciación de los valores de lambdas para las partículas se tomó con una variación del ±10% del λi real. Ahora bien, los resultados arrojados por el sistema de identificación de parámetros se muestran en la tabla 4. Esta tabla muestra que el algoritmo PSO (global y local) da una identificación de parámetros muy acertada con respecto a la simulación, con errores inferiores al 2,15% en todos los parámetros. Se puede notar que el PSO local presentó errores mucho mas pequeños que el PSO global, menores al 0,53% con los datos extraídos de la simulación.

La figura 5 muestra las corrientes simuladas (simulink) y las calculadas con el sistema de identificación. Se puede notar que el algoritmo reproduce también las señales, y que es difícil diferenciar una de la otra ya que su error es mínimo. Además, se observa claramente un transitorio en la corriente simulada, que también es reproducido por la señal calculada por el algoritmo, teniendo en cuenta que la entrada es igual tanto para el sistema simulado, como para el sistema de identificación. El transitorio que se nota al inicio de la gráfica se debe al arranque del motor. Para el algoritmo PSO local se observó que las gráficas obtenidas para las corrientes en eje directo y cuadratura presentaron el mismo comportamiento que el de la figura 5, por este motivo no son mostradas.

La evolución de la función de costo del algoritmo PSO (global y local) para los datos obtenidos con la simulación se muestra en las figura 6 y figura 7, respectivamente.

Se puede notar que el algoritmo PSO global (figura 6) presenta una convergencia mucho más rápida que el algoritmo PSO local (figura 7). Se muestran valores de la función de costo que decrecen en un menor número de iteraciones.

En las figura 8 y figura 9 (evolución de los valores de lambdas) se muestra la variación de cada lambda en el proceso de búsqueda iterativo a una mejor solución.

El tiempo promedio de ejecución de los algoritmos PSO global fue 0,37 segundos, y para el PSO local, 0,65 segundos.

En la figura 10 se muestra el montaje final del sistema de identificación de parámetros implementado.

6. Conclusiones

En este documento el algoritmo de optimización por cúmulo de partículas es usado para la identificación de parámetros del motor de inducción jaula de ardilla, utilizándolo como motor de búsqueda de los parámetros del modelo de cuarto orden dentro de un espacio de solución.

Los resultados obtenidos por medio de la simulación (utilizando el simulink) de la máquina de inducción de 1 HP procesados en el sistema de identificación muestran una correcta identificación de los parámetros, y presenta errores mínimos (menores al 2,1%) para el algoritmo PSO (global y local) implementado. La simulación se realizó teniendo en cuenta el transitorio producido por el arranque del motor simulado, ya que si solo se toman las señales en estado estable el sistema arroja valores de identificación que se alejan de los esperados, lo cual mostraría errores grandes.

Como se pudo observar en las diferentes pruebas y resultados mostrados en este trabajo, el algoritmo de optimización por cúmulo de partículas PSO (Particle Swarm Optimization) implementado resulta ser una herramienta muy eficiente para la solución de problemas distribuidos y no lineales; además, presenta una convergencia rápida y satisface la función de costo. Este tipo de algoritmo puede ser fácilmente adaptado a otro tipo de modelo.


Referencias bibliográficas

[1] C. Guangyi, Wei G. Wei, G. Kaisheng, "On Line Parameter Identification of an Induction Motor Using Improved Particle Swarm Optimization", presentado en Proceedings of the 26th Chinese Control Conference, Zhangjiajie, Hunan, July, 2007.        [ Links ]

[2] H. Toliyat, E. Levi, M. Raina, "A Review of RFO Induction Motor Parameter Estimation Techniques", IEEE Transactions on Energy Conversion, vol. 18, no. 2, pp. 271-283, June 2003.        [ Links ]

[3] C. Zhenfeng, Z. Yanru, L. Jie, "Parameter Identification of induction motors Using Ant Colony Optimization", presentado en IEEE Congress on Evolutionary Computation, Hong Kong, November, 2008.        [ Links ]

[4] J. Wook Kim, S. Woo Kim, "Parameter Identification of Induction Motors Using Dynamic Encoding Algorithm for Searches (DEAS)", IEEE Transactions on Energy Conversion, vol. 20, no. 1, pp. 16-24, March 2005.        [ Links ]

[5] J. Kennedy, R. Eberhart, "Particle Swarm Optimization", Proceedings of the IEEE International Conference on Neural Networks, vol. 4, pp. 1942-1948, November 1995.        [ Links ]

[6] J. Kennedy, R. Eberhart, "A Discrete Binary Version of the Particle Swarm Algorithm", Proceedings of the IEEE International Conference on Systems, Man and Cybernetics, vol. 5, pp. 4104-4109, October 1997.        [ Links ]

[7] J. Kennedy, "The Particle Swarm: Social Adaptation of Knowledge", IEEE International Conference on Evolutionary Computation, pp. 303-308, April.1997.        [ Links ]

[8] C. Picardi, N. Rogano, "Parameter Identification of Induction Motor Based on Particle Swarm Optimization", presentado en IEEE International Symposium on Power Electronics, Electrical Drives, Automation and Motion,Taormina, 2006.        [ Links ]

[9] M. Gómez, "Sistema de generación eléctrica con pila de combustible de óxido sólido alimentado con residuos forestales y su optimización mediante algoritmos basados en nubes de partículas", PhD thesis, Universidad Nacional de Educación a Distancia, UNED, Facultad E.T.S.I. Industrial, Madrid, 2008.        [ Links ]

[10] J. Kennedy, R. Eberhart, Y. Shi, Swarm Intelligence, San Francisco: Morgan Kaufmann Publishers, 2001.        [ Links ]

[11] A. Chatterjee, P. Siarry. "Nonlinear inertia weight variation for dynamic adaptation in particle swarm optimization", Computers & Operations Research, vol. 33, pp. 859-871, September 2004.        [ Links ]

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