Implementación en FPGA de un
algoritmo de modulación
vectorial para convertidores de
potencia multinivel y multifase
aplicable a propulsión eléctrica
AUTOR:
Paula Campo Hortas
TUTORES:
Luis Jacobo Álvarez Ruíz de Ojeda
Óscar López Sánchez
29 de junio de 2007
1
ÍNDICE
• Introducción
• Objetivos
• Algoritmo de Modulación SVPWM
• Implementación Hardware del Algoritmo
• Pruebas y Resultados
• Conclusiones
• Líneas Futuras
2
INTRODUCCIÓN
• Convertidores CC/CA multinivel
• Sistemas multinivel
• Sistemas multifase
• Sistemas multifase y multinivel
3
Convertidores CC/CA multinivel
• La forma más fácil de entender los convertidores
CC/CA consiste en considerarlos como sintetizadores
de tensión.
• La tensión alterna de salida de
valor elevado, se sintetiza a
partir de diferentes niveles de
tensión continua de entrada,
de valor más pequeño,
secuenciando adecuadamente
el accionamiento de los
interruptores (dispositivos de
potencia) del convertidor.
• Cuando el número de niveles de tensión aumenta, la
señal de tensión sintetizada a la salida tiene más
escalones, produciendo una forma de onda que aproxima
la referencia.
4
Sistemas multinivel
• Ventajas:
– Capacidad de manejar
altas tensiones con
dispositivos de voltaje
limitado.
– Baja distorsión
armónica.
– Menores pérdidas de
conmutación.
– Incremento de la
eficiencia.
– Buena compatibilidad
electromagnética.
5
Sistemas multifase
• La mayoría de los sistemas eléctricos de velocidad
variable utilizan motores trifásicos. Sin embargo, puesto
que todos estos sistemas incluyen un convertidor
electrónico de potencia, el número de fases del motor
puede ser más de tres.
• Las ventajas más importantes de usar un motor
multifase en vez de uno trifásico son:
–
–
–
–
–
Una mejora de la fiabilidad y una mayor tolerancia a fallos.
Mayor eficiencia.
Menor rizado y mayor densidad de par.
Menor potencia por fase.
Mayor modularidad.
6
Sistemas multifase y multinivel
• Aunque la tecnología multinivel y las máquinas multifase
se han estudiado ampliamente, parece haber poca
investigación en la aplicación de estos convertidores
multinivel a las máquinas multifase.
• En este PFC se ha integrado un convertidor multinivel
con un motor multifase demostrando que combinaba las
ventajas de ambas tecnologías.
• El desarrollo del algoritmo está orientado hacia su
implantación en convertidores multinivel integrados en
sistemas de propulsión eléctrica, concretamente, la
propulsión en barcos eléctricos.
7
OBJETIVOS (I)
• Diseñar un algoritmo de modulación vectorial para un
convertidor continua-alterna de 5 niveles y 6 fases, que
forma parte de un sistema de propulsión eléctrico.
• Diseñar la implementación “hardware” del algoritmo
anterior, mediante el lenguaje de descripción “hardware”
VHDL.
• Sintetizar e implementar en una FPGA la descripción en
VHDL del algoritmo mediante la herramienta
“Foundation ISE” de Xilinx. Simular el funcionamiento del
algoritmo mediante el programa Modelsim.
• Comprobar el funcionamiento del algoritmo en una
aplicación real en el laboratorio. La comprobación se
realiza conectando la placa de desarrollo basada en la
FPGA al convertidor real.
8
OBJETIVOS (II)
• Diagrama de bloques de
un sistema de propulsión
eléctrico.
OBJETIVO
9
Algoritmo de modulación vectorial
SVPWM (I)
• En este proyecto, se va a utilizar
•
la técnica de modulación por
ancho de pulso del vector
espacial SVPWM (Space Vector
Pulse Width Modulation),
generalmente llamada
modulación vectorial.
Su principal característica es que
se sustituye todo el sistema
multifase por un solo vector en
el que la frecuencia queda
reflejada en su velocidad de giro
con el paso del tiempo.
10
Algoritmo de modulación vectorial
SVPWM (II)
• La implementación digital de la modulación por
vector espacial se basa en los siguientes pasos:
– La determinación de la posición del vector de
referencia del sistema de conversión de potencia.
– El cálculo del tiempo de aplicación de cada uno de los
vectores generadores que aproximan la referencia.
– La elección de la secuencia correcta de estos
vectores.
– La traducción de dichos tiempos en señales de
disparo moduladas en anchura de pulso (PWM) para
los interruptores de potencia del convertidor.
11
Algoritmo de modulación vectorial SVPWM (III)
• Diagrama de bloques del algoritmo 6P 5N.
12
Algoritmo de modulación vectorial SVPWM (IV)
• Diagrama de bloques del modulador 6P 2N.
13
Implementación Hardware del Algoritmo (I)
• La implementación del algoritmo se realizará en una FPGA
de la familia Spartan 3 de Xilinx
• La descripción del algoritmo se realizará en VHDL.
• Para el desarrollo del algoritmo se utilizarán las
herramientas Foundation ISE de Xilinx y ModelSim XE III
de Mentor Graphics.
• Para el control del convertidor
•
se empleará la herramienta
ControlDesk de dSPACE basada
en un ordenador personal.
El sistema debe poder trabajar
a cuatro frecuencias de
conmutación diferentes, que se
seleccionarán mediante
interruptores.
14
Implementación Hardware del Algoritmo (II)
• Diagrama de bloques del sistema completo.
15
Implementación Hardware del Algoritmo (III)
• Diagrama de bloques del modulador.
16
SATURADOR (I)
17
SATURADOR (II)
• Limita los valores de la entrada
•
a un número menor que 4
(máximo=“011,111111111” en
binario; 12 bits, 3 de ellos
enteros y 9 decimales).
El diseño del bloque se basa en
analizar el bit más significativo
de cada vector.
18
MODULADOR 6 FASES 5 NIVELES (I)
19
MODULADOR 6 FASES 5 NIVELES (II)
• Es la parte fundamental del modulador.
• A partir de los 6 vectores de entrada
procedentes del control, debe calcular 7 valores
para cada una de las 6 fases, que deberán
aplicarse al convertidor durante 7 intervalos de
tiempo diferentes, que también calcula el
modulador.
Diagrama
de bloques
del
modulador.
20
MODULADOR 6 FASES 2 NIVELES
• La función de este
bloque es generar
los 7 vectores
tiempo y los 6
vectores de la
secuencia a partir
de las entradas
recibidas.
• Este bloque se
diseña a partir de
la interconexión de
tres bloques:
“order”,
“time_generator” e
“inverse_order”.
21
ADD_INTEGER_PART
• La función de este bloque es
•
sumarle a cada fila de esa
matriz la parte entera
correspondiente. Así, a la
primera fila de la matriz
(VseqA) debemos sumarle la
primera parte entera.
Las salidas de este sistema
son seis vectores (seis filas)
de 21 bits (3 bits por cada
columna).
22
GENERADOR SECUENCIA FASES (I)
23
GENERADOR SECUENCIA FASES (II)
• Este bloque genera la secuencia de niveles que
•
le entrega el modulador durante los tiempos
indicados también por el modulador.
Saca la secuencia en el orden en que salen los
vectores del modulador y luego en orden inverso
(t/2 cada nivel).
Diagrama de
bloques del
generador
secuencia
fases.
24
GENERADOR SECUENCIA FASES (III)
25
GENERADOR DE SEÑALES (I)
26
GENERADOR DE SEÑALES (II)
• La función de este bloque es
•
generar las señales que activan(‘1’)
o desactivan(‘0’) los transistores
que controlan el convertidor.
Disponemos de 4 transistores por
cada una de las 6 fases, por tanto,
este bloque genera 24 señales.
27
GENERADOR DE SALIDAS (I)
28
GENERADOR DE SALIDAS (II)
• Genera las salidas globales del sistema.
• La función de este bloque es, a partir
•
de las 24 señales de los transistores
que nos entrega el bloque “signal
generator”, generar las 48 señales de
salida del sistema global.
Mediante la señal select_dead_time,
permite seleccionar la opción de añadir
un tiempo muerto, para que la señal
positiva y su complementaria no estén
activas al mismo tiempo.
29
Implementación Hardware del Algoritmo (IV)
• Resumen de recursos utilizados de la FPGA.
30
Pruebas y resultados (I)
• Resultados de simulación del modulador en
Simulink.
31
Pruebas y resultados (II)
• Resultados de simulación del modulador en Modelsim.
32
Pruebas y resultados (III)
• En las pruebas se ha utilizado una carga resistiva de 100
, una inductancia de 15 mH, una frecuencia de
conmutación de 2 kHz, y un escalón de tensión de 20 V.
33
Pruebas y resultados (III)
Inverter
FPGA
DSPACE
Load
dc-link
34
Pruebas y resultados (IV)
• Resultados de la prueba del modulador en
laboratorio.
35
CONCLUSIONES
• Se ha desarrollado e implementado el algoritmo de
•
•
•
•
modulación por vector espacial de 6 fases y 5 niveles para
convertidores continua-alterna.
Se ha llevado a cabo la comprobación del funcionamiento del
mismo en una aplicación real en el laboratorio, utilizando una
placa de desarrollo S3 de Digilent, basada en una FPGA
XC3S200 de Xilinx.
Se realizaron toda una serie de pruebas para verificar el
correcto funcionamiento del algoritmo. Las variables de
entrada se generaron mediante la herramienta de prototipado
rápido dSPACE basada en un ordenador personal.
Se comprobó que se cumplían todos los requisitos temporales
y funcionales y se verificó que el sistema programado
funcionaba correctamente haciendo variar los valores de las
variables de entrada de forma continua y recorriendo todo el
rango de valores posible.
Este trabajo se ha enviado para su publicación en una revista
de IEEE especializada en electrónica de potencia y está
36
pendiente de aceptación.
LÍNEAS FUTURAS
• Programar la modulación por vector espacial
•
•
para convertidores en fuente de corriente dado
que en este proyecto se ha realizado para
convertidores en fuente de tensión.
Implementar el algoritmo para convertidores de
mayor número de niveles.
Implementar en una FPGA de mayor capacidad
tanto el algoritmo de modulación vectorial
diseñado en este proyecto como el algoritmo de
control actualmente implementado mediante el
DSPACE.
37