Diseño y aplicación de control vectorial a un motor asíncrono de jaula de ardilla.

- Alberto Izpizua, IK4-Tekniker

"Este proyecto ha permitido desarrollar un control de máquina útil para aplicaciones en las que se premia un control preciso de la velocidad y el par generado. Este proyecto ha podido ejecutarse gracias al hardware y a las herramientas de desarrollo de National Instruments."

- Alberto Izpizua, IK4-Tekniker

The Challenge:

Diseñar y aplicar un control vectorial a un motor de inducción con el objetivo de conseguir un control preciso de su velocidad, controlando el par y flujo de la máquina de forma independiente. Se buscará un diseño modular, de forma que se puedan probar diferentes técnicas como el control sin medida de velocidad además de diferentes modulaciones del inversor: modulación vectorial, inyección de 3º armónico, etc.

The Solution:

La solución parte por caracterizar el motor para obtener sus parámetros y desarrollar el algoritmo de control vectorial y modulación de tensión en el entorno LabVIEW FPGA y LabVIEW Real-Time. Estos algoritmos se aplican a la FPGA del GPIC NI Single-Board RIO para gobernar el inversor. Además, es necesario medir la corriente en dos de las fases del motor y su velocidad en el caso de usar el control sin estimador.

 

Control vectorial

El control vectorial, es una técnica que permite transformar un sistema trifásico en un sistema con dos variables continuas. Esto se consigue mediante un cambio  de sistema de referencia, que pasa a ser un sistema de referencia giratorio. Este último, está ligado a una variable del sistema, que en máquinas eléctricas suele ser el flujo del rotor o del estator. Por lo tanto, una de las claves del control consiste en la estimación correcta y continuada de la posición de ese vector.


Si a estas dos variables obtenidas se le añaden los términos de desacoplo, que se deducen a partir de las ecuaciones del motor, se consigue un control equivalente al de un motor DC, en el que el flujo de la máquina y el par generado se controlan de forma independiente. Sin los términos de acoplo, el comportamiento sigue siendo bueno, pero un cambio en una de las variables provocará un pequeño transitorio en la otra, perdiendo las características de un motor DC.


Esta técnica, que presenta mejores prestaciones que un control escalar convencional, permite una alternativa en su conjunto (inversor, máquina AC y control) más económica y menos problemática al uso de un motor DC en el que destaca su alto precio, su mayor mantenimiento y sus limitaciones dinámicas.


En la actualidad existen diversos tipos de técnicas de control vectorial, en nuestro se usarán:
- Control vectorial indirecto: Es el más utilizado y requiere medir la velocidad del rotor.
- Control vectorial "Sensorless": En este caso, el ángulo se estima a partir de las variables del motor, no requiere de encoder. Su ventaja está en que el conjunto es mucho más robusto y se elimina la posibilidad de error del encoder; pero tiene la desventaja de depender mucho de los parámetros del motor, que pueden variar con factores como la temperatura.

 

Desarrollo del proyecto

El motor en el que se realizan los ensayos es de 9 kW y 1500. r.p.m, teniendo que ser capaz de alcanzar unas 3000 r.p.m por lo que será necesario diseñar una zona de debilitamiento de campo. Sin embargo, este proyecto nace con la idea de ser genérico y en su desarrollo se le ha tenido en cuenta factores que puedan afectar a su capacidad de adaptación a diferentes motores, realizandose un esfuerzo en el diseño de los algoritmos y definición de controles type-def donde se definen la estructura en coma fija de los números.


Además de este motor principal en el banco se ha montado otro motor comandado por un variador comercial y sensor de par entre ambos motores. Esto permite realizar una caracterización completa del motor y su control.


Las dos principales necesidades del control vectorial son:
- La correcta caracterización del motor, ya que nos permite conseguir el desacoplo completo mencionado anteriormente. Cuanto mayor error exista, más se alejará el control del de un motor DC. Esta caracterización se ha realizado offline mediante ensayos estandar de corto y vacío, si bien se pretende integrar en una fase posterior algorimos de identificación de parametros.
- Una frecuencia de control alta, ya que el método se basa en calcular de forma continua la posición del vector giratorio del flujo del rotor. Esta frecuencia no es un problema para la FPGA montada en una Single-Board.
En un principio, se diseñó el algoritmo de disparo de los IGBT del inversor y la modulación de tensión. La velocidad de ejecución de este algoritmo es clave en la resolución alcanzable por los disparos de los IGBTs, sobre todo a frecuencias de conmutación elvadas. Por lo tanto, se optimizó para alcanzar un lazo de control de disparo de 2MHz con un reloj de 40 MHz en la FPGA. Actualmente se usa una carrier de 3 kHz, mientras que el control, con posibilidad de 2 sincronizaciones, puede trabajar a la misma frecuencia o al doble.

 


En este paso previo al diseño del control, también se añaden medidas de seguridad para proteger y mantener en buen estado el conjunto motor/inversor. Serán controladas por la FPGA; por ejemplo, la protección contra sobrecorriente o sobretensión.
Tras ello, se configuró un control Voltios-Herzios sencillo, que se usó como referencia a la hora de ver si las conversiones matemáticas del control vectorial se hacían de forma correcta. Esto nos sirvió para depurar el sistema.


Con el control vectorial ya operativo y realizadas una serie de comprobaciones, se diseñó el algoritmo de estimación de velocidad para el control "Sensorless". Con este control en funcionamiento, el número de sensores queda reducido a los sensores Hall de corriente. Sin embargo, el estimador necesita un lazo de frecuencia superior a 6 kHz y por tanto tiene que se codificado en la FPGA.
Finalmente, se añaden una serie de funciones extra al host de cara al estudio del comportamiento del control, entre las que destaca el análisis FFT.

 

Interfaz de usuario:

El panel frontal de la aplicación presenta varias funcionalidades:
- Representación de datos: El sistema muestrea 24 variables, que pueden verse de forma gráfica y en tiempo real. También presenta de forma numérica algunos datos útiles como corrientes eficaces.
- Captura de datos: Permite capturar todas las variables en un fichero un análisis posterior , que se puede realizar de forma simple con los VI de la librería de LabVIEW. Está preparada para guiar al usuario.
- Opciones: Se trata de buscar un algoritmo útil para cualquier conjunto de inversor/motor. De esta forma, el proyecto es fácilmente adaptable a cualquier conjunto usado en la industria actual.
- Tipo de control: Permite seleccionar entre los diversos controles programados. También se puede configurar de forma fácil el tipo de sincronización.
- Comandos: Introducción de diferentes consignas en función de tipo de control.

 

 

Este proyecto ha permitido desarrollar un control de máquina útil para aplicaciones en las que se premia un control preciso de la velocidad y el par generado. Este proyecto ha podido ejecutarse gracias al hardware y a las herramientas de desarrollo de National Instruments.

 

Author Information:

Alberto Izpizua
IK4-Tekniker
Calle Iñaki Goenaga, 5
Eibar 20600
Spain
Tel: +34943206744
alberto.izpizua@tekniker.es

Panel frontal del software en funcionamiento. Se ha diseñado de una forma intuitiva para que no requiera grandes conocimiemtos técnicos para poder usarla.
Diagrama de bloques del VI principal del Real-Time. Este se encarga de gestionar las diversas tareas del algoritmo.
Algoritmo de control vectorial programado para FPGA.
Alternativa PanelFrontal
Alternativa RTmain