Desarrollo de un variador de velocidad trifásico: enfoque de programación multitarea
Ingeniare. Revista chilena de ingeniería, vol. 26 Nº 2, 2018, pp. 213-224
Desarrollo de un variador de velocidad trifásico:
enfoque de programación multitarea
Develop of speed three-phase variator: programing focused on multitasking
Santiago Benavides-Córdoba1 Nicolás Muñoz-Galeano1* Juan B. Cano-Quintero1
Recibido 21 de junio de 2016, aceptado 26 de junio de 2017
Received: June 21, 2016 Accepted: June 26, 2017
RESUMEN
Este artículo presenta la programación multitarea para el desarrollo de un variador de velocidad trifásico.
Este enfoque no se ha reportado en la literatura técnica, aunque es de relevancia para estudiantes de
ingeniería, investigadores e ingenieros desarrolladores de equipos de electrónica de potencia. Se propone
la programación multitarea para la implementación de las tareas que debe realizar el variador de velocidad.
Las tareas necesarias en un variador de velocidad son descritas y programadas en el microcontrolador
(dsPIC30F4012) utilizando máquinas de estados, considerando tiempos y prioridades mediante multitarea
preferente y cooperativa. Este artículo propone una forma de programación para variadores de velocidad
que permite el desarrollo del software desde etapas incipientes. La estructura de programación propuesta
permite el uso de microcontroladores de menores prestaciones y, por ende, la reducción de los costos de
producción. Se presenta un variador de velocidad trifásico que puede cambiar la amplitud y la frecuencia
del voltaje de salida sin paros o interrupciones. La validación de la programación multitarea se realiza en
un prototipo experimental desarrollado en el laboratorio evaluando la ejecución y los tiempos de las tareas.
Palabras clave: Multitarea, programación, variador de velocidad trifásico, bajo costo, máquinas de
estados, microcontrolador.
ABSTRACT
This paper presents multitasking programing of a three-phase speed variator development. This focus has not
been reported in technical literature, although it is relevant for engineering power electronics developers,
students, and researchers. Hybrid multitasking programing is proposed for the implementation of task
that speed variator must carry out. Needed tasks in the speed variator are described and programed in a
microcontroller (dsPIC30F4012) using state machines, considering times and priorities with preemptive
and cooperative multitasking. This paper proposes a programing form for speed variator that allow
software develop since its early stage. The programing structure enables the use of microcontrollers
with lower performance. Thus reduction of production costs could be achieved. A three-phase speed
variator is presented that can change output-voltage frequency and amplitude without stops or interrupts.
Validation of multitasking programming is done on an experimental prototype developed in the laboratory,
evaluating the execution times of tasks.
Keywords: Multitasking, programing, three-phase speed variator, low cost, state machines, microcontroller.
1
Facultad de Ingeniería. Departamento de Ingeniería Eléctrica. Grupo de Manejo Eficiente de la Energía - GIMEL. Universidad
de Antioquia. Calle 67 Nº 53-108, Oficina 19-437. Medellín, Colombia. E-mail: ;
;
* Autor de correspondencia.
Ingeniare. Revista chilena de ingeniería, vol. 26 Nº 2, 2018
INTRODUCCIÓN
Un variador de velocidad tiene como función
principal cambiar la frecuencia de la tensión en
su salida para obtener velocidades variables en
motores de inducción. Sin embargo, para poder
cambiar la frecuencia, el variador requiere ejecutar
múltiples tareas. Los enfoques comunes de los
artículos referente a variadores de velocidad son:
1) diseño y control de variadores de velocidad [1-4],
2) Dimensionamiento de elementos reactivos [5],
3) estrategias de modulación que permiten cambiar
la magnitud y la frecuencia de la tensión de salida:
control escalar [6-7] y control vectorial [8-9]. No se
encontró en la revisión bibliográfica el enfoque, para
variadores de velocidad, que realice la programación
multitarea, es por esto que este artículo presenta
el desarrollo de los algoritmos que permiten la
programación multitarea para variadores de velocidad
trifásicos. Este artículo facilita el desarrollo porque
presenta los algoritmos como máquinas de estados,
que se pueden programar en etapas, y comprende
detalles necesarios para el desarrollo de variadores
de velocidad desde etapas incipientes.
La programación multitarea permite la ejecución de
tareas en paralelo en dispositivos programables [10].
Este tipo de programación se ha desarrollado en dos
diferentes filosofías: programación cooperativa [11]
y programación preferente [12-14]. Este articulo
presenta la programación de un variador de velocidad
utilizando la programación multitarea cooperativa
con interrupciones para realizar las tareas necesarias
considerando su importancia en la ejecución. Se
selecciona esta filosofía porque la modulación no
puede ser interrumpida y el resto de tareas pueden
esperar la finalización entre ellas mismas. La
programación multitarea ha sido desarrollada y se
han estudiado factores como el tiempo de retraso
que puede tener una tarea [15]. En la literatura
se han reportado diferentes formas de realizar la
programación multitarea en microcontroladores,
dos de estas formas son: máquinas de estado [16] y
sistemas operativos en tiempo real [17]. Los sistemas
operativos de tiempo real pueden tener un alto
costo y ocupa más recursos en el microcontrolador,
por tanto, se selecciona máquinas de estados por
su simplicidad y los pocos recursos que requiere.
Cada máquina de estados es una tarea del variador
y las diferentes tareas del sistema son ejecutadas
secuencialmente en un ciclo infinito [16]. Cada tarea
214
debe realizar sus operaciones y actualizar su estado
en un intervalo corto de tiempo, permitiendo al ciclo
avanzar de forma efectiva a la siguiente tarea sin
interrumpir el normal funcionamiento del variador.
El desarrollo de la electrónica de potencia se apoya
en la evolución de los sistemas embebidos y utiliza
las diferentes formas de programación para su diseño.
Una de las tareas fundamentales de un variador de
velocidad es la modulación senoidal de ancho de
pulso SPWM (Senoidal Pulse Width Modulation)
y su implementación se ha realizado utilizando
dispositivos como [18]: controlador digital de
señales (DSC, Digital Signal Controller), procesador
digital de señales (DSP, Digital Signal Processor)
[19], microcontroladores (MCU, Microcontroller)
o arreglos de compuertas programables por campo
(FPGA, Field Programmable Gate Arrays) [20-22].
Entre estos dispositivos los MCU’s y DSC’s se
destacan por su bajo costo y menores requerimientos
de hardware pero, a su vez, por una menor potencia
de cálculo y capacidad de memoria. Algunos de
estos dispositivos tienen módulos independientes
para realizar tareas específicas, por tanto, en ellos
se pueden programar varias tareas al mismo tiempo.
La programación propuesta prescindirá de sistemas
embebi (...truncated)