CD-0007.pdf

Anuncio
ESCUELA POLITÉCNICA NACIONAL
ESCUELA DE INGENIERÍA
Simulación de Accionamientos para Máquinas de
Inducción controladas por Vector de Campo y
Control de Torque Directo
PROYECTO PREVIO A LA OBTENCION DEL TÍTULO DE
INGENIERO EN ELECTRÓNICA Y CONTROL
Gabriela Susana Llumiquinga Paredes
DIRECTOR: Alberto Sánchez Terán, PhD
6 de abril de 2006
DECLARACIÓN
Yo Gabriela Susana Llumiquinga Paredes, declaro bajo juramento que el trabajo aquí descrito es de mi autoría; que no ha sido presentado previamente para ningún grado o calificación
profesional; y, que he consultado las referencias bibliográficas que se incluyen en este documento.
A través de la presente declaración cedo mis derechos de propiedad intelectual correspondientes a este trabajo a la Escuela Politécnica Nacional, según lo establecido por la Ley de
Propiedad Intelectual, por su Reglamento y por la normatividad institucional vigente.
Gabriela Susana Llumiquinga Paredes
I
CERTIFICACIÓN
Certifico que el presente trabajo fue desarrollado por Gabriela Susana Llumiquinga Paredes,
bajo mi supervisión.
Alberto Sánchez Terán, PhD
DIRECTOR DEL PROYECTO
I
AGRADECIMIENTOS
A todos quienes han hecho posible la culminación de este proyecto a través de su ayuda y su
apoyo. En especial, al Dr. Alberto Sánchez, sin quien no hubiera sido posible llevar a cabo
este proyecto, por su gran paciencia y colaboración.
A mi familia, en especial a mis tíos que siempre han estado ahí para nosotros.
A mis amigos, quienes han sido un eje fundamental de apoyo moral y de una u otra forma
han estado presentes en todo.
A Dios, el máximo agradecimiento porque me ha dado vida para conocerle, y encontrar en
ella tantas personas buenas.
II
DEDICATORIA
A Dios, quien nos cuida y nos protege siempre.
A mis padres, que siempre me han apoyado.
A mis hermanos, que son mis mejores amigos en la vida.
A mis tíos, de quienes siempre tendre presente sus opiniones y sugerencias.
A todos aquellos quienes ven en sus sueños sus metas, y en su realidad el camino para
alcanzarlas.
III
CONTENIDO
Resumen
VI
Presentación
VII
1. Modelo de la Máquina de Inducción
1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Funcionamiento de la Máquina de Inducción. . . . . . . . . . . . . .
1.3. Sistema de Ejes de Referencia Arbitrarios . . . . . . . . . . . . . . .
1.4. Modelo de la Máquina de Inducción en Ejes de Referencia Arbitrarios
1.5. Simulación del Modelo de la Máquina de Inducción . . . . . . . . . .
.
.
.
.
.
1
1
2
3
8
26
2. Estimador de Flujo y Velocidad de la Máquina de Inducción
2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Modelo Discreto de la Máquina de Inducción . . . . . . . . . . . . . . . .
2.3. Simulación del Estimador por Filtro de Kalman Extendido (EFK) . . . . .
42
42
45
55
3. Control Vectorial de la Máquina de Inducción
3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Control por Vector de Campo de la Máquina de Inducción . . .
3.3. Control de Campo Orientado Directo sin Sensores . . . . . . . .
3.4. Inversor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5. Simulación del Control Vectorial Directo Sensorless . . . . . . .
3.6. Ventajas y Desventajas del Control por Vector de Campo Directo
.
.
.
.
.
.
67
67
70
83
85
89
97
.
.
.
.
.
100
100
102
106
107
110
4. Control de Torque Directo de la Máquina de Inducción
4.1. Introducción . . . . . . . . . . . . . . . . . . . . . .
4.2. Controlador de Flujo de Estator . . . . . . . . . . . .
4.3. Controlador de Torque . . . . . . . . . . . . . . . .
4.4. Tabla de Conmutación del Inversor . . . . . . . . .
4.5. Control de Velocidad con DTC . . . . . . . . . . . .
IV
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4.6. Resultados de la Simulación del Control de Torque Directo . . . . . . . . .
4.7. Ventajas y Desventajas del Control de Torque Directo . . . . . . . . . . . .
111
129
5. Conclusiones y Recomendaciones
132
Bibliografía
136
A. ANEXOS
A.1. Modelos de Simulink y sus Programas Correspondientes. . . . . . . . . . .
A.2. Interfaz para la Simulación . . . . . . . . . . . . . . . . . . . . . . . . . .
139
139
165
V
RESUMEN
El presente proyecto comprende un análisis de los accionamientos de velocidad variable
para máquinas de inducción más actuales que se han desarrollado en pos de simplificar el
análisis de los modelos matemáticos y el control de la velocidad y del torque, variables cuya
regulación resulta crucial en la industria. Las dos estrategias de control más populares son
el Control por Vector de Campo (VF) o Control Vectorial y el Control de Torque Directo
(DTC).
En términos generales, el Control por Vector de Campo recibe su nombre porque valiéndose
de un conjunto de transformadas, obtiene de un sistema trifásico equilibrado abc a uno bifásico qd giratorio, alineando el flujo del rotor con uno de los ejes de dicho sistema, es posible
definir dentro de este sistema dos componentes de corriente de estator que controlan el flujo
del rotor y el torque independientemente, lo que permite el control de velocidad manteniendo
el flujo de rotor constante de acuerdo a la velocidad. Toda exigencia de torque es satisfecha
con un incremento en la corriente de estator de alimentación. Esta técnica muestra un buen
desempeño dinámico y de estado estable.
El Control de Torque Directo es una técnica relativamente nueva ya que no se ha popularizado aún, pese a su robustez y a que su implementación es más sencilla que la del control
vectorial, ya que se regula el flujo y torque con comparadores con histéresis y conociendo la
posición del flujo de estator, se selecciona un vector de tensión cuyos estados de activación
para el sistema inversor es resultado de una tabla de conmutación óptima.
Todo el análisis de estas dos técnicas de control parten de un modelo de la máquina de
inducción que incluye la saturación magnética sobre la cual se lleva a cabo las dos técnicas
de control para que a través de los resultados de la simulación se puedan establecer sus
principales características así como las ventajas y desventajas de cada estrategia de control.
VI
PRESENTACIÓN
Los motores eléctricos son los más utilizados en la industria. Los accionamientos de velocidad variable son usados en todas las industrias para controlar con precisión la velocidad
de los motores eléctricos acoplados a diversas cargas, que van desde bombas y ventiladores a complejos accionamientos en máquinas de papel, laminadoras, grúas y otros similares.
Particularmente, la Máquina de Inducción hoy por hoy es el dispositivo más utilizado en la
industria, y es objeto del estudio de técnicas de control de velocidad y torque desarrolladas
para el mismo, accionamientos de velocidad variable que optimizan la respuesta transitoria
ante cambios de carga al eje y de estado estable.
Los requerimientos de control de torque, implican mantener el torque constante independientemente de la velocidad. Esto es usado en transportadoras, mezcladores, alimentadores
de tornillo y troqueladoras por ejemplo. Estas aplicaciones tienen alta friccion con carga y
pequeña o ninguna inercia, requiriendo un torque superior al nominal para el arranque. Por
otro lado, en las aplicaciones de torque variable, bajo torque es necesario a bajas velocidades
y alto en altas. Esto es usado en ventiladores y bombas.
Otro requerimiento es mantener la potencia constante, alto torque es necesario a bajas velocidades y bajo torque a altas velocidades. Esto es usado en cortadoras y tornos, donde
usualmente motores de continua eran solían usarse. Dentro de esta categoría se encuentran
los vehículos eléctricos.
En el pasado, los motores dc fueron usados extensamente en aplicaciones donde un alto
desempeño a velocidad variable y control de torque era requerido, ya que en el caso del motor
dc de exitación independiente, el flujo y el torque pueden ser controlados fácilmente por las
corrientes de armadura y de campo. La principal desventaja es que este tipo de motores usan
conmutador y escobillas, por lo que requiere un mantenimiento regular y su uso es limitado
para aplicaciones de alta velocidad y de alto voltaje.
Factores cruciales afectan la selección adecuada de un accionamiento de velocidad variable,
incluyendo los valores nominales, rango de velocidad, eficiencia, regulación de velocidad,
requerimientos de frenado, confiabilidad, factor de potencia, potencia de alimentación y consideraciones ambientales.
VII
Los motores de corriente alterna presentan algunas ventajas sobre sus similares de dc, ya que
son más robustos y más pequeños para la misma potencia nominal, lo que implica menor
masa que se moviliza en altas velocidades y una rápida aceleración. Y, entre los motores de
ac, el motor de inducción jaula de ardilla tiene ventajas adicionales, es simple, robusto y es
uno de los más económicos del mercado. Además de que pueden ser utilizados en ambientes
explosivos, areas limpias y para aplicaciones de bajo mantenimiento.
En las últimas tres décadas, importantes avances en tecnología de semiconductores y las
áreas de control han creado nuevos accionamientos de velocidad variables para motores de
ac. Desafortunadamente los modelos matemáticos son más complejos que los del motor
dc, por lo que requieren estrategias de control más complejas y convertidores de potencia
más costosos para regular el torque y la velocidad. Usando técnicas avanzadas de control,
como el control por Orientación del vector de campo o el Control de Torque Directo, un
comportamiento dinámico similar al del motor dc puede obtenerse.
Para entender los requerimientos de la velocidad variable de las máquinas eléctricas de inducción, el presente trabajo pretende demostrar el funcionamiento de las dos técnicas de
control de velocidad y torque a través del Control por Vector de Campo (VF) o Control Vectorial y el Control de Torque Directo (DTC). En los cuales, usualmente un lazo de control de
velocidad determinan la referencia de torque, cuya salida regula el voltaje de alimentación
del motor, cuya frecuencia es determinada por los requerimientos del sistema.
Es así que, a través de la simulación se encuentran sus principales características, por lo que
partiendo sobre un modelo de la máquina de inducción introducido en el Capítulo 1, que se
vale de las transformadas qd0, para reducir parámetros dependientes de la velocidad, como
las inductancias, se pueda obtener un modelo a variables de estado que hacen más sencilla la
modelación de la máquina de inducción, adicionalmente, este modelo introduce condiciones
anormales de funcionamiento como la saturación magnética, arranque y cambios de carga,
reflejando una respuesta muy similar a la real, con lo que se cumple el objetivo de obtener
un modelo de la máquina para introducir las estrategias de control planteadas.
Existen algunas formas de realizar el control por vector de campo, las que en su mayoría
incluyen sensores de velocidad o de flujo, pero es obvio que dichos dispositivos pueden
presentar serios problemas no solo en su funcionamiento sino por el gasto que representa la
implementación de los mismos, de ahí que, la técnica específica de control Vectorial que se
utiliza en pos de corregir esto aunque suponga un análisis matemático superior, es el control
Sensorless o sin sensores, por lo que se requiere un algoritmo de estimación para la velocidad
y los flujos.
El Segundo Capítulo introduce el estimador de flujo y velocidad Filtro de Kalman Extendido
que halla su aplicación en un sistema no lineal como el modelo de la máquina y además
introduce la dependencia en el error de estimación de los parámetros Q y R, que luego serán
explicados a profundidad, puesto que se trata de un análisis estocástico en donde la esti-
VIII
mación utiliza datos ruidosos, se implementa un algoritmo recursivo que actualiza estados
en cada tiempo de muestreo. Los resultados de la simulación que se incluyen muestran la
respuesta del filtro ante condiciones de arranque y carga del motor de inducción.
Una vez que se cuenta con la herramienta necesaria para omitir los sensores del sistema,
en el Capítulo 3 se introduce la técnica de Control por Vector de Campo (VF) Directo, que
consiste básicamente en realizar transformaciones de coordenadas de las variables de interés,
corrientes y flujos a un sistema qd que gira sincrónicamente con el flujo del rotor, lo que
simplifica el análisis haciendo que una de las componentes de la corriente de estator en
dicho sistema controlen en forma directa el torque que desarrollará la máquina, mientras
que el flujo de rotor se mantenga constante. Están presentes también controladores PI para
regular flujo, torque y velocidad que procesan el error resultante de la realimentación de
dichas variables obtenidas a través del Estimador Filtro de Kalman y generan la acción de
control que lleva a cabo un inversor fuente de voltaje regulado por corriente. Las condiciones
de funcionamiento del motor de inducción controlado por Vector de Campo así como los
diversos aspectos necesarios en la implementación se observarán en el modelo de Simulink
implementado así como en los resultados de la simulación detallados en el mismo capítulo,
permiten la determinación de algunas ventajas y desventajas de la técnica de control.
Otra forma de regular el torque muy distinta a la anterior es el Control de Torque Directo
(DTC), detallada en el Capítulo 4, esta técnica controla el torque del motor de inducción
partiendo del hecho de que mantiene el flujo de estator constante gracias a vectores de tensión
adecuados obtenidos de una tabla de conmutación óptima, cuya selección depende de la
posición del flujo y los errores de torque y flujo. Se detalla cada controlador así como el
desempeño de esta estrategia de control ante cambios de referencia de torque, de flujo y, con
una pequeña variación al esquema básico de control se lo utiliza para regular la velocidad.
Los resultados de la simulación permitirán obtener la respuesta del sistema controlado ante
tales situaciones así como las posibles ventajas sobre el Control Vectorial.
Finalmente, el Capítulo 5 es el compendio de conclusiones y recomendaciones que se han
presentado en el desarrollo de este proyecto que a breves rasgos resumirá las características
de todo los sistemas implementados, el modelo de la máquina, el control vectorial y el control
de torque directo así como los posibles inconvenientes a nivel de simulación superados para
la culminación de este proyecto.
IX
CAPÍTULO 1
Modelo de la Máquina de Inducción
1.1. Introducción
La máquina de inducción es, sin lugar a dudas, el dispositivo más utilizado en los accionamientos industriales, la sencillez, robustez y reducido costo han hecho insustituible el uso
masivo de esta máquina en un sinnúmero de procesos. Es usada en una gran variedad de aplicaciones que requieren convertir energía eléctrica en mecánica, además es menos sensible al
ruido y requiere mantenimiento reducido.
El motor de inducción es el tipo más empleado alimentado por corriente alterna debido su
simplicidad y las características de funcionamiento tan aptas para el trabajo a velocidad
variable.
Antes de profundizar en los problemas que plantea el control de un motor de inducción y de
encontrar las alternativas de solución a los mismos, es necesario disponer de un modelo de
la máquina que permita obtener las diferentes magnitudes de las variables que intervienen
en su funcionamiento, voltajes, corrientes, torque y velocidad que se alteran de acuerdo a
las diversas condiciones de funcionamiento como son en vacío, con carga o si por alguna
eventualidad se encuentra trabajando en saturación.
Por la complejidad del sistema resultante de la máquina de inducción en donde sus parámetros eléctricos como inductancias varían con la velocidad, se obtiene un modelo matemático
determinado por ecuaciones diferenciales cuyos coeficientes varían en el tiempo, este capítulo aborda la transformación matemática necesaria para simplificar el análisis de dichas
ecuaciones y así obtener un modelo de la máquina que se lleva a simulación para así determinar las principales características del funcionamiento de la máquina de inducción en
condiciones normales, de cambio de carga o cuando se introduce la saturación magnética.
1
1.2. Funcionamiento de la Máquina de Inducción.
1.2.1. Principios Básicos de Operación en la Máquina de Inducción
La máquina de inducción funciona por el principio de que cuando un flujo magnético corta
un conductor cortocircuitado, se inducen corrientes en el mismo, que reaccionan con el flujo
y crean una fuerza en la dirección del movimiento del campo magnético de acuerdo con
el principio de la acción motriz. Si gira el flujo y corta a un disco o cilindro conductor, se
desarrolla un par y el disco o cilindro tiende a girar en el mismo sentido que el flujo. No
pueden, sin embargo alcanzar la velocidad del campo magnético giratorio porque, en tal
caso, cesaría de cortar el flujo al conductor, anulándose las corrientes inducidas y por tanto,
el par.
La máquina de inducción trifásica está formada por un rotor y un estator en el que se encuentran las bobinas inductoras. Estas bobinas son trifásicas y están desfasadas entre si 120º.
Cuando por estas bobinas circula un sistema de corrientes trifásicas, se induce un campo
magnético giratorio que envuelve al rotor. El rotor puede ser de dos tipos, de jaula de ardilla
o bobinado. En cualquiera de los dos casos, el campo magnético giratorio producido por las
bobinas inductoras del estator, genera una corriente inducida en el rotor. Como esta corriente
inducida se encuentra en el seno de un campo magnético, aparecen en el rotor un par de
fuerzas que lo ponen en movimiento. El campo magnético giratorio gira a una velocidad
denominada de sincronismo. Sin embargo el rotor gira algo más despacio, a una velocidad
parecida a la de sincronismo, esta diferencia entre ambas velocidades es denominado deslizamiento.
En el motor de inducción al aplicar al estator un conjunto trifásico de voltajes fluye un
conjunto trifásico de corrientes estatóricas que producen un campo magnético que rota en
dirección contraria a las manecillas del reloj. La velocidad de rotación de dicho campo está
dado por:
120. fe
[RPM]
(1.1)
P
Donde fe es la frecuencia de alimentación de la máquina y P es el número de polos.
En operación normal, los campos magnéticos del rotor y el estator rotan conjuntamente a la
velocidad sincrónica mientras que el rotor en sí gira a una velocidad menor.
En la máquina de inducción es notable que las inductancias son alteradas por la velocidad del
rotor, lo que implica un sistema determinado por ecuaciones diferenciales cuyos coeficientes
varían con el tiempo de ahí que se establece un cambio de sistema de referencia para reducir
la complejidad de tales ecuaciones. Como lo determina Krause[1].
ns =
2
1.3. Sistema de Ejes de Referencia Arbitrarios
1.3.1. Representación Fasorial de Señales Sinusoidales
Una señal sinusoidal que varía en el tiempo, se puede expresar fasorialmente de acuerdo a la
ecuación 1.2:
En donde:
F˜a = módulo del fasor
F̃a = F˜a e j(ωt+φ )
(1.2)
ω = 2π f es la velocidad angular asociada a la frecuencia de la señal
φ indica el desfasaje de una variable eléctrica (voltaje, corriente, etc)
De acuerdo a la fórmula de Euler se cumple:
F̃a = F˜a [cos (ωt + φ ) + j sin (ωt + φ )]
(1.3)
fa = Re F̃a
(1.4)
fa = F˜a cos (ωt + φ )
(1.5)
Entonces, la señal sinusoidal de una variable eléctrica que tiene una interpretación física es
la parte real del fasor:
La ecuación 1.5 implica una señal variante en el tiempo, a la que se le asocia el valor RMS
de una senoidal Fa , para comprender mejor las relaciones posteriores de corriente y voltaje.
F˜a fa pico
Fa = √ = √
2
2
√
F˜a = 2Fa
(1.6)
1.3.2. Representación Fasorial de un Sistema Balanceado
Para un sistema trifásico simétrico o balanceado de voltajes o corrientes de secuencia abc,
generalmente se define un conjunto de tres señales sinusoidales de igual magnitud, equilibradas, desplazadas entre sí un ángulo de 120º, de tal manera que la suma total de las tres
sea cero. Cada una de las estas señales se puede expresar utilizando las ecuaciones 1.2 y 1.4:
o
n fa = Re F˜a e j(ωt+φ )
3
(1.7)
n o
2π
fb = Re F˜b e j(ωt+φ )− 3
o
n 2π
fc = Re F˜c e j(ωt+φ )+ 3
(1.8)
(1.9)
Por condición de que se trata de un sistema balanceado, y por la ecuación 1.6 se puede
establecer que:
√
F˜a = F˜b = F˜c = 2Fs
(1.10)
Partiendo de las ecuaciones 1.5 y 1.10 y reemplazándolas en las ecuaciones 1.7, 1.8 y 1.9 se
obtiene:
fa =
√
2Fs cos (ωt + φ )
(1.11)
√
2π
fb = 2Fs cos ωt + φ −
3
(1.12)
√
2π
fc = 2Fs cos ωt + φ +
3
(1.13)
Además se cumple al tratarse de un sistema equilibrado lo siguiente:
fa + fb + fc = 0
√
√
√
2π
2π
+ 2Fs cos ωt + φ +
=0
2Fs cos (ωt + φ ) + 2Fs cos ωt + φ −
3
3
(1.14)
1.3.3. Transformada de Park para Cambio de Variables
En el estudio de sistemas de potencia existen transformaciones matemáticas que son usadas
con frecuencia para desacoplar variables y facilitar la solución de complejas ecuaciones con
coeficientes que varían en el tiempo, la transformada de Park permite reducir un conjunto trifásico únicamente a uno bifásico, de tal forma que al aplicarla sobre un conjunto de variables
balanceadas, las refiera a un sistema que gira a una velocidad arbitraria.
A partir de 1920, R.H. Park introdujo una nueva herramienta para el análisis de las máquinas
eléctricas, formulando un cambio de variables, en donde, en efecto variables como voltajes corrientes y flujos de una maquina sincrónica serían asociadas con devanados rotatorios
ficticios en el rotor; para que luego en 1930 H.C. Stanley empleara dicho cambio de variables en el análisis de la máquina de inducción [1], en forma similar como se lleva a cabo a
4
fb
w
fq
q
fa
fc
fd
Figura 1.1: Transformación a otro sistema de referencia.
continuación.
Considerando la Figura 1.1 las señales a, b y c reflejan componentes sobre los ejes de referencia q y d que están girando a una velocidad angular ω y un desplazamiento angular
asociado θ .
θ=
Z t
0
(1.15)
ω (ξ ) dξ + θ (0)
ξ es una variable de integración.
Luego, el resultado la suma de dichas componentes en cada eje generan las nuevas componentes en el sistema de referencia qd0.
Para la componente en el eje q:
2π
2π
− θ − fc cos
+θ −π
fq = fa cos θ + fb cos
3
3
2π
fq = fa cos θ + fb cos θ −
3
Para la componente en el eje d:
2π
+ fc cos θ +
3
2π
2π
− θ − fc sin
+θ −π
fd = fa sin θ − fb sin
3
3
2π
fd = fa sin θ + fb sin θ −
3
2π
+ fc sin θ +
3
(1.16)
(1.17)
(1.18)
(1.19)
Es importante recalcar que la componente 0 de la transformación no está asociada al sistema
de referencia y en el caso de sistemas balanceados es nula.
5
Puede definirse esta conversión de variables como lo indica la ecuación 1.20
fqd0 = K.fabc
(1.20)
Donde:
fqd0
T
=
(fabc )T =
h
fq
fd
f0
i
h
fa
fb
fc
i
(1.21)
(1.22)


2π
cos θ cos θ − 2π
3 cos θ + 3 2

K =  sin θ sin θ − 2π
sin θ + 2π

3
3
3
1
1
1
2
2
(1.23)
2
La ecuación 1.23 es la matriz de transformación, que es consecuencia directa de las ecuaciones 1.16 a 1.19 y la constante 32 es introducida para mantener la potencia invariante en el
cambio de un sistema a otro.
Luego, la ecuación 1.20 implica:



 
2π
fa
θ
+
cos θ cos θ − 2π
cos
f
q
3
3
 2


2π
2π  . 
=
f
θ
sin
θ
−
θ
+
sin
sin
 b 

  fd 
3
3
3
1
1
1
fc
f0
2
2
2

(1.24)
De forma similar se define la matriz de transformación inversa:
fabc = K−1 .fqd0
Donde:

cos θ
sin θ
1


2π
K−1 =  cos θ − 2π
θ
−
sin
3 3 1 
sin θ + 2π
1
cos θ + 2π
3
3

(1.25)
(1.26)
En las ecuaciones 1.21 y 1.22 f puede representar cualquier variable, voltaje, corriente,
concatenación de flujo o carga eléctrica.
El desplazamiento angular θ debe ser continuo, sin embargo, la velocidad asociada con el
cambio de variable no está especificada. El sistema de referencia puede rotar a una velocidad
constante, variable o permanecer estacionario.
1.3.3.1.
Transformación entre Sistemas de Referencia:
En ocasiones es conveniente relacionar variables de un sistema de referencia a otro directamente, sin necesidad de llegar a variables abc. Entonces, x denota el sistema de referencia
6
Figura 1.2: Transformación entre sistemas de referencia.
del que se desea cambiar las variables a un sistema y, se tiene:
fyqd0 =x Ky fxqd0 =
(1.27)
fxqd0 = Kx fabc =
(1.28)
Sustituyendo la ecuación 1.27 en 1.28:
fyqd0 =x Ky Kx fabc
(1.29)
fyqd0 = Ky fabc
(1.30)
Ky =x Ky Kx
(1.31)
Ky = Ky (Kx )−1
(1.32)
Donde:
Entonces,
x
La matriz de transformación será:


cos (θy − θx ) − sin (θy − θx ) 0
2

x y
K =  sin (θy − θx ) cos (θy − θx ) 0 
3
0
0
1
(1.33)
Donde, θy y θx son los desplazamientos asociados a cada sistema, como se observa en la
Figura 1.2. Con el reemplazo de la matriz de la ecuación 1.33 en la ecuación 1.27 se obtienen
las variables en el nuevo sistema.
7
1.4. Modelo de la Máquina de Inducción en Ejes de Referencia Arbitrarios
Para una máquina de inducción trifásica de dos polos, como la de la Figura 1.3 con devanados
simétricos desplazados físicamente 120º y conectados en Y, con Ns y rs el número de espiras
y la resistencia del estator respectivamente. De forma similar para el rotor, se tiene Nr y rr .
El estator está alimentado por un sistema trifásico balanceado, cuyos voltajes son vas ,vbs y
vcs . Con la consecuente circulación de las corrientes ias ,ibs y ics , en cada línea respectiva.
En los devanados del rotor existe inducción de los voltajes balanceados var ,vbr y vcr y circulación de las corrientes iar , ibr y icr .
Además, para el análisis se considera como la dirección positiva de los ejes magnéticos de
los devanados del estator coincidente con la dirección de fa , fb y fc de la ecuación 1.20.
Esta transformación tiene validez siempre y cuando se considere que la máquina tiene entrehierro uniforme, con lo que, es posible ignorar los efectos de las armónicas espaciales sobre
el flujo de entrehierro con la fuerza magneto - motriz sinusoidal. Además, la máquina ha de
trabajar en la región lineal del circuito magnético.
Considerando el circuito de la Figura 1.3 al realizar la suma de los voltajes para cada línea,
están presentes tanto la caída de voltaje en la resistencia del devanado, así como el voltaje
inducido en cada bobina. Luego, para la máquina de inducción se cumplen las siguientes
relaciones:
vas = rs ias +
dλas
dt
(1.34)
vbs = rs ibs +
dλbs
dt
(1.35)
vcs = rs ics +
dλcs
dt
(1.36)
var = rr iar +
dλar
dt
(1.37)
vbr = rr ibr +
dλbr
dt
(1.38)
dλcr
(1.39)
dt
El subíndice s indica que son variables del estator, mientrar que r que son del rotor.
λ es la concatenación de flujo y para cada bobina tiene una expresión diferente, detallada a
continuación:
vcr = rr icr +
λas = λas as + λas bs + λas cs + λas ar + λas br + λas cr
8
(1.40)
fbs
as-
fbr
ar-
cs
bs
f ar w r
br
cr
qr
fas
crbr bs-
cs-
ar
as
f cs
f cr
ibs
icr
+
+
ics
rr
rs
v cs
+
Ns
rs
v cr
vbs
+
Ns
va s
rr
Nr
Nr
Nr
Ns
var
rs
ias
ibr
vb r
rr
iar
+
+
Figura 1.3: Máquina de Inducción.
λbs = λbs as + λbs bs + λbs cs + λbs ar + λbs br + λbs cr
(1.41)
λcs = λcs as + λcs bs + λcs cs + λcs ar + λcs br + λcs cr
(1.42)
λar = λar as + λar bs + λas cs + λar ar + λar br + λar cr
(1.43)
λbr = λbr as + λbr bs + λbs cs + λbr ar + λbr br + λbr cr
(1.44)
λcr = λcr as + λcr bs + λcs cs + λcr ar + λcr br + λcr cr
(1.45)
Los términos que contienen las derivadas de las concatenaciones de flujo en las ecuaciones
1.34 a 1.39 transforman al sistema en un conjunto de ecuaciones diferenciales no lineales
complejas, debido a la variación sinusoidal de las inductancias respecto al desplazamiento
9
angular del rotor, he ahí la ventaja de la transformación de variables, que hace que los parámetros sean constantes para un sistema de referencia móvil que gira a una velocidad angular
arbitraria.
Una representación matricial generalizada de las ecuaciones 1.34 al 1.39 es la siguiente:
vabcs = rs .iabcs + pλabcs
(1.46)
vabcr = rr .iabcr + pλabcr
(1.47)
Donde p es la representación del operador dtd y tanto rs y rr son matrices, cuya diagonal
principal contiene elementos que representan las resistencias de los bobinados de la máquina.
Otra forma de expresar las ecuaciones 1.46 y 1.47 es:
"
vabcs
vabcr
#
=
"
rs 0
0 rr
# "
.
iabcs
iabcr
#
+p
"
λabcs
λabcr
#
(1.48)
En donde:

va s


vabcs =  vbs 
vc s


va r


vabcr =  vbr 
vc r


ias


iabcs =  ibs 
ics


iar


iabcr =  ibr 
icr


rs 0 0


rs =  0 rs 0 
0 0 rs


rr 0 0


rr =  0 rr 0 
0 0 rr

10
(1.49)
(1.50)
(1.51)
(1.52)
(1.53)
(1.54)
λabcs
λabcr

λas


=  λbs 
λcs


λar


=  λbr 
λcr

(1.55)
(1.56)
Mientras la máquina de inducción funciona en región lineal, la concatenación de flujo depende directamente de la corriente que circula por el devanado, como lo expresa la ecuación
1.57:
λ = L.i
(1.57)
Luego, las ecuaciones 1.40 a 1.45 toman la siguiente forma:
λas = Las as ias + Las bs ibs + Las cs ics + Las ar iar + Las br ibr + Las cr icr
(1.58)
λbs = Lbs as ias + Lbs bs ibs + Lbs cs ics + Lbs ar iar + Lbs br ibr + Lbs cr icr
(1.59)
λcs = Lcs as ias + Lcs bs ibs + Lcs cs ics + Lcs ar iar + Lcs br ibr + Lcs cr icr
(1.60)
λar = Lar as ias + Lar bs ibs + Lar cs ics + Lar ar iar + Lar br ibr + Lar cr icr
(1.61)
λbr = Lbr as ias + Lbr bs ibs + Lbr cs ics + Lbr ar iar + Lbr br ibr + Lbr cr icr
(1.62)
λcr = Lcr as ias + Lcr bs ibs + Lcr cs ics + Lcr ar iar + Lcr br ibr + Lcr cr icr
(1.63)
En forma matricial las ecuaciones 1.58 a 1.63 será:
"
λabcs
λabcr
#
=
"
Ls
Lsr
T
(Lsr )
Lr
# "
.
iabcs
iabcr
#
(1.64)
Donde:
Ls contiene las inductancias debidas a los acoplamientos propios y mutuos entre las bobinas
del estator.
Lr contiene las inductancias debidas a los acoplamientos propios y mutuos entre las bobinas
del rotor.
Lsr contiene las inductancias debidas a los acoplamientos mutuos entre las bobinas del estator y las bobinas del rotor.
Además, asociada al estator, la matriz Ls como se indica en la ecuación 1.65 tiene en la diagonal principal las inductancias propias de cada devanado, mientras que el resto de elementos
corresponden a las inductancias mutuas entre devanados.
11

Lls + Lms − 21 Lms
− 21 Lms


Ls =  − 21 Lms Lls + Lms − 21 Lms 
− 21 Lms
− 21 Lms Lls + Lms

(1.65)
Considerando a Ll como la inductancia de dispersión y Lm como la inductancia de magnetización.
Para el rotor la ecuación 1.65 se transforma en:


Llr + Lmr − 21 Lmr
− 12 Lmr


Lr =  − 21 Lmr Llr + Lmr − 12 Lmr 
− 21 Lmr
− 21 Lmr Llr + Lmr
(1.66)
Mientras que la inductancia mutua entre el estator y el rotor de la máquina de inducción es
función directa de la posición angular del rotor asociada con el ángulo de posición θr y la
amplitud de la inductancia mutua Lsr .


2π
θ
cos θr
cos
cos θr + 2π
−
r
3
3 
2π 
Lsr = Lsr  cos θr − 2π
cos θr
cos θr + 3 
3 2π
2π
cos θr − 3
cos θr
cos θr + 3
(1.67)
Es importante referir todas las variables al mismo circuito, por lo cual para reflejarlas en el
estator, es necesario utilizar la relación de entre el número de espiras del rotor Nr y estator
Ns .
i′abcr =
Nr
.iabcr
Ns
(1.68)
v′abcr =
Ns
.vabcr
Nr
(1.69)
′
λabc
=
r
Ns
.λabcr
Nr
(1.70)
Las inductancia mutuas y de magnetización se encuentran relacionadas por:
Lms =
Ns
.Ls
Nr r
(1.71)
L′ sr =
Ns
.Ls
Nr r
(1.72)
Que referida al estator será:
12
L′ sr


cos θr
cos θr − 2π
cos θr + 2π
3
3

2π 
= Lmr  cos θr − 2π
cos
+
θ
θ
cos

r
r
3 3
2π
2π
cos θr − 3
cos θr
cos θr + 3
(1.73)
Para la inductancia de magnetización del rotor, referida al estator se cumple que:
Nr 2
Lmr =
Lms
Ns
2
Ns
′
Lr
Lr=
Nr
(1.74)
(1.75)
Entonces, la ecuación 1.66 relacionada con las ecuaciones 1.74 y 1.75 toma la siguiente
forma:
 ′

− 21 Lms
Llr + Lms − 21 Lms


L′ r =  − 21 Lms Ll′r + Lms − 21 Lms 
(1.76)
1
1
′
− 2 Lm s
− 2 Lms Llr + Lms
Donde:
′
L lr =
Ns
Nr
2
Ll r
(1.77)
Luego, las concatenaciones de flujo pueden ser referidas al circuito del estator con la ecuación:
# "
#
"
# "
Ls
L′ sr
iabcs
λabcs
=
(1.78)
. ′
(L′ sr )T L′ r
λabcr
i abcr
Mientras que para los voltajes se cumple:
"
vabcs
v′abcr
#
=
"
rs + pLs
pL′ sr
p (L′ sr )T r′r + pL′ r
# "
.
iabcs
i′ abcr
#
(1.79)
Donde:
r′r
=
Ns
Nr
2
rr
(1.80)
1.4.1. Ecuaciones de Transformación para Circuitos del Rotor
En el análisis de la máquina de inducción es necesario una transformación de las variables
asociada con los devanados simétricos del rotor a un nuevo sistema arbitrario de referencia,
por lo que una variación de las ecuaciones 1.20 , 1.21 y 1.22 para el rotor será:
f′qd0r = Kr .f′abcr
Donde:
13
(1.81)
fbs
fbr
w
fq
f ar w r
b
q
qr
f cs
fas
fd
f cr
Figure 1.4: Transformación para las variables del rotor
T h
′
fqd0r = fqr
T
f′abcr
=
h
far
f dr
f br
f 0r
i
fcr
i
(1.82)
(1.83)
De acuerdo a la Figura 1.4 se puede decir que β es el desplazamiento angular de los ejes de
referencia, relacionado con los ejes creados por las fases del rotor.
Luego, la matriz de transformación de transformación será:

2π
cos
β
+
cos β cos β − 2π
3
3 2
2π 
Kr =  sin β sin β − 2π
β
+
.
sin

3
3
3
1
1
1

2
Donde:
2
(1.84)
2
β = θ − θr
(1.85)
Considerando θr es el desplazamiento angular del rotor:
θr =
Z t
0
ωr (ξ ) dξ + θr (0)
(1.86)
De manera similar, la matriz de transformación inversa es:

sin β
1
cos β


2π
K−1
sin β − 2π
1 
r =  cos β − 3
3
cos β + 2π
sin β + 2π
1
3
3

14
(1.87)
1.4.2. Ecuaciones de Voltaje en Sistema de Referencia Arbitrario
De acuerdo a la ecuación 1.46 y utilizando la matriz de transformación de la ecuación 1.23
aplicada al estator como Ks , se tiene:
vabcs = K−1
s .vqd0s
(1.88)
iabcs = K−1
s .iqd0s
(1.89)
λabcs = K−1
s .λqd0s
(1.90)
Además, la resistencia asociada para el nuevo sistema de referencia queda determinada por:
rs = Ks .rs .K−1
s
(1.91)
Al reemplazar las ecuaciones 1.88 , 1.89 y 1.90 en la ecuación 1.46 se obtiene:
.λqd0s + Ks .K−1
vqd0s = rs .iqd0s + Ks .p K−1
s
s pλqd0s
(1.92)
Al derivar la ecuación 1.26 y al multiplicarla por la ecuación 1.23 el segundo término de la
ecuación 1.92 será:

0 1 0


Ks .p K−1
= ω  −1 0 0 
s
0 0 0

entonces,
vqd0s = rs .iqd0s + ωλdq0s + pλqd0s
(1.93)
(1.94)
Donde,
T
(λqd0s )
=
λds −λqs 0
(1.95)
En forma similar para el rotor:
′
′
v′ qd0r = r′ r .i′ qd0r + (ω − ωr ) λdq0
+ pλqd0
r
r
(1.96)
Y,
T
(λqd0r )
=
λd′ r −λq′ r 0
15
(1.97)
Donde ω es la velocidad angular del sistema de referencia, mientras que ωr es la del rotor.
Es posible obtener en forma general las concatenaciones de flujo, reemplazando las ecuaciones 1.20 y 1.81 en la ecuación 1.78 se obtiene:
"
λqd0s
′
λqd0
r
#
=
"
Ks .Ls .K−1
Ks .L′ sr .K−1
s
r
′ .K−1
Kr . (L′sr )T .K−1
K
.L
r r r
s
# "
.
iqd0s
i′qd0r
#
(1.98)
Simplificando:

Ll s + M
0
0


Ks .Ls .K−1
0
Lls + M 0 
s =
0
0
Lls

donde,
3
M = Lms
2
(1.99)
(1.100)
De forma similar para el rotor:

Ll′r + M
0
0


Kr .L′r .K−1
0
Ll′r + M 0 
r =
0
0
Ll′r

(1.101)
Así también,

M 0 0


′ T
.K−1
=
K
.
L
Ks .L′ sr .K−1
r
s = 0 M 0 
r
sr
0 0 0

(1.102)
Entonces las ecuaciones de voltaje para la máquina de inducción en los ejes de referencia
qd0, de acuerdo a las ecuaciones 1.94 y 1.96 serán:
Para el estator:
vqs = rs iqs + ωλds + pλqs
(1.103)
vds = rs ids − ωλqs + pλds
(1.104)
v0s = rs i0s + pλ0s
(1.105)
v′qr = rr′ i′qr + (ω − ωr ) λd′ r + pλq′ r
(1.106)
Para el rotor:
16
v′dr = rr′ i′dr − (ω − ωr ) λq′ r + pλd′ r
(1.107)
v0r = rr′ i′0r + pλ0′ r
(1.108)
Para las concatenaciones de flujo en el estator:
λqs = Lls iqs + M iqs + i′qr
(1.109)
λds = Lls ids + M ids + i′dr
(1.110)
(1.111)
λ0s = Lls i0s
Para el rotor:
λq′ s = Ll′r i′qr + M iqs + i′qr
(1.112)
λd′ r = Ll′r i′dr + M ids + i′dr
(1.113)
λ0′ r = Ll′r i′0r
(1.114)
De acuerdo a las ecuaciones 1.109 , 1.110 y 1.111 se obtiene el siguiente sistema equivalente
de la Figura 1.5:
Considerando que la velocidad ω es arbitraria, generalmente se consideran para la máquina
de inducción tres posibles opciones:
Sistema de referencia fijado al campo ω = ωe
Sistema de referencia fijado al rotor ω = ωr
Sistema de referencia fijado al estator ω = 0
1.4.3. Ecuaciones de Torque en Sistema de Referencia Arbitrario
Para determinar el torque en la máquina de inducción es necesario establecer la energía
almacenada en el campo (coenergía), lo que implica relaciones de corrientes e inductancias
propias e inducidas y si se asume que la máquina es magnéticamente lineal, la ecuación
Donde:
∂ ′ ′
P
. (iabcs )T
L sr .i abcr
Te =
2
∂ θr
17
(1.115)
w.lds
rs
+
+
Llr- (w-wr ).l'dr
+
Lls
-
iqs
vqs
rr +
iqr-
vqr-
M
-
-
w.lqs
rs
-
+
Llr- (w-wr ).l'qr
+
-
L ls
+
+
idr-
ids
vds
rr-
vdr-
M
-
-
rr-
rs
+
+
i0s
v0s
Llr-
Lls
-
i0r-
v0r-
Figura 1.5: Circuito equivalente qd0 para la máquina de inducción
Te es el torque electromagnético y es positivo cuando la máquina trabaja como motor.
θr es el desplazamiento angular eléctrico asociado a la frecuencia de las señales en el rotor.
La ecuación 1.115 queda definida en función de las corrientes y flujos de la máquina como:
3
P
Te =
M iqs i′dr − ids i′qr
2
2
3
P
λds iqs − λqs ids
Te =
2
2
(1.116)
(1.117)
P
3
λq′ r i′dr − λd′ r i′qr
Te =
2
2
Es una propiedad de la máquina de inducción el que la velocidad angular del rotor sea distinta
de la del campo del mismo, existe una diferencia notable entre el desplazamiento eléctrico y
mecánico θrm del rotor determinado por la ecuación 1.118.
P
θr =
θrm
2
18
(1.118)
El torque y la velocidad del rotor están relacionados de la siguiente forma:
J es la inercia del rotor Kg.m2
TL es el torque de carga. [N.m]
2 dωr
+ TL
.
Te = J
P
dt
(1.119)
1.4.4. Variables en Por Unidad
Es mucho mejor analizar la máquina de inducción con concatenaciones de flujo por segundo,
ψ, relacionadas con las concatenaciones expresadas en las ecuaciones 1.103 a 1.114 por la
relación determinada en la ecuación 1.120
(1.120)
ψ = ωb .λ
Donde, ωb es la velocidad angular base, asociada a la frecuencia para la cual se obtienen las
reactancias de la máquina.
(1.121)
X = ωb .L
Esto permite que las ecuaciones diferenciales puedan expresarse en función de reactancias y
no de inductancias, lo que facilita que el sistema opere con frecuencia variable sin necesidad
de actualizar valores de reactancias.
Luego, las ecuaciones 1.103 a 1.108 toman la siguiente forma:
vqs = rs iqs +
p
ω
ψds + ψqs
ωb
ωb
(1.122)
vds = rs ids −
p
ω
λqs + λds
ωb
ωb
(1.123)
p
λ0
ωb s
p
ω − ωr
′ ′
′
ψd′ r + ψq′ r
vqr = rr iqr +
ωb
ωb
v0s = rs i0s +
v′dr
= rr′ i′dr
ω − ωr
−
ωb
v0r = rr′ i′0r +
ψq′ r +
p ′
ψ
ωb 0r
p ′
ψ
ωb dr
(1.124)
(1.125)
(1.126)
(1.127)
Entonces, las concatenaciones de flujo por segundo, al variar las ecuaciones 1.109 a 1.114
19
serán:
ψqs = Xls iqs + XM iqs + i′qr
(1.128)
ψds = Xls ids + XM ids + i′dr
(1.129)
(1.130)
ψ0s = Xls i0s
ψq′ s = Xl′r i′qr + XM iqs + i′qr
(1.131)
ψd′ r = Xl′r i′dr + XM ids + i′dr
(1.132)
ψ0′ r = Xl′r i′0r
(1.133)
ψmq = XM iqs + i′qr
(1.134)
ψmd = XM ids + i′dr
(1.135)
1.4.5. Modificaciones al modelo
Para desarrollar un modelo de menor complejidad a ser implementado para simulación, [1]
sugiere que partiendo de las ecuaciones 1.128 a 1.133 y considerando el flujo de Magnetización determinado por las ecuaciones 1.134 , 1.135 y 1.128 a 1.133 se obtiene el siguiente
conjunto de ecuaciones:
iqs =
ids =
1
ψqs − ψmq
Xls
1
(ψds − ψmd )
Xls
(1.137)
ψ0s
Xls
(1.138)
i0s =
i′qr =
i′dr =
(1.136)
1
ψq′ r − ψmq
′
Xlr
1
ψd′ r − ψmd
′
Xlr
20
(1.139)
(1.140)
ψ0′ r
= ′
Xlr
i′0r
(1.141)
Al utilizar las ecuaciones 1.136 a 1.141 en las relaciones de voltaje, se tiene:
rs
ω
ψmq − ψqs
pψqs = ωb vqs − ψds +
ωb
Xls
ω
rs
(ψmd − ψds )
pψds = ωb vds + ψqs +
ωb
Xls
pψ0s = ωb
pψq′ r = ωb
"
pψd′ r = ωb
"
rs
v0s − ψ0s
Xls
ω − ωr
v′qr −
ωb
ω − ωr
v′dr +
ωb
#
′
r
ψd′ r + r′ ψmq − ψq′ r
Xlr
#
′
r
ψd′ r + r′ ψmd − ψd′ r
Xlr
r′
v0r − r′ ψ0′ r
Xlr
pψ0′ r = ωb
!
(1.142)
(1.143)
(1.144)
(1.145)
(1.146)
(1.147)
Considerando que los flujos de magnetización serán:
ψmq = Xaq
ψqs ψq′ r
+ ′
Xls
Xlr
!
(1.148)
ψmd = Xad
ψds ψd′ r
+ ′
Xls
Xlr
!
(1.149)
donde:
Xaq = Xad =
1
1
1
+
+ ′
Xls XM Xlr
!−1
(1.150)
Una vez que se han obtenido ecuaciones diferenciales de primer orden, es posible establecer
las concatenaciones como variables de estado del sistema, en el cual sus entradas serán las
señales de voltaje de alimentación del estator en ejes qd0. Es de esperarse que cuando se
tiene el rotor cortocircuitado como en el motor jaula de ardilla los voltajes sean cero.
Adicionalmente se establece la ecuación para la velocidad angular del rotor, de acuerdo a la
ecuación 1.119:
pωr =
P
(Te − TL )
2J
21
(1.151)
1.4.6. Modelo a Variables de Estado de la Máquina de Inducción
Una vez que se cuentan con un conjunto de ecuaciones para la máquina se podría definirlas
de tal manera que a cada flujo de rotor y estator se les considere como variables de estado
del sistema, de la siguiente manera:
x (t) =
h
x=
ψqs ψds
h
ψq′ r
ψd′ r
x1 x2 x3 x4
u (t) =
u=
h
h
vq s vd s
u1 u2
iT
iT
iT
iT
(1.152)
(1.153)
(1.154)
(1.155)
De tal manera que al reemplazar la ecuación 1.148 en la 1.142, así como la ecuación 1.149
en la 1.143 y cambiando por la nueva representacion se tendrá:
x˙1 = a1 x1 + a2 x3 + bu1
(1.156)
x˙2 = a1 x2 + a2 x4 + bu2
x˙3 = a3 x1 + a4 x3 + ωr x4
x˙4 = a3 x2 − ωr x3 + a4 x4
Donde, ′
′
a1 = ωXblrs XXMl − 1 , a2 = ωXb rsXX′M , a3 = ωXb rrXX′M , a4 = ωXb′rr XXM′ − 1 , y b = ωb .
ls lr
ls lr
s
s
lr
lr
Lo que permite una representación matricial, que será muy util en el siguiente capítulo, así
que las ecuaciones 1.156 toman la forma de la ecuación 1.157, de donde se encuentra que
es un sistema cuyos coeficientes varían en el tiempo puesto que los flujos de rotor dependen
de la velocidad angular del rotor que es variable, es un sistema no lineal, lo que supone un
adecuado análisis posterior para que se pueda utilizar apropiadamente para el diseño de un
observador de estado. La definicion de las salidas del sistema y podrían ser los flujos o las
corrientes del motor de inducción.
22
Figura 1.6: Curva de Vacío



ẋ = 




a1 0 a2
0



0 a3
0
a4 
x+


a 5 0 a 6 ωr 

0 a7 −ωr a8

b1 b2

0 0 
u
0 0 

0 0
(1.157)
1.4.7. Introducción de la Saturación Magnética en el Modelo de la Máquina de Inducción
Es posible introducir la saturación magnética en el modelo matemático de la máquina de inducción mediante la corrección de las concatenaciones de los flujos de magnetización, ya que
en éstos es en donde se refleja directamente la saturación, luego deberá existir una corrección de los mismos una vez que se ha sobrepasado un límite de la región lineal de la curva
de vacío, aunque esto por lo general no sucede en condiciones normales de funcionamiento.
La curva de vacío de la Figura 1.6 muestra el efecto de la saturación en la máquina de
inducción, lo que implica que una vez que se ha sobrepasado el límite de la región lineal,
mientras funciona en saturación se obtiene un incremento mínimo del flujo de magnetización
aunque el motor está tomando corrientes en estator cada vez mayores, lo que se traduce en
desgaste de los conductores. Se define la diferencia entre estos dos modos de operación con
las ecuación 1.158 :
∆ψ =
(
0
ψm − ψmsat
ψm < ψmlimite
ψm > ψmlimite
(1.158)
Considerando ψm el flujo relativo a la línea de entrehierro mostrada en la Figura 1.7, cuya pendiente de la curva en la región lineal es 1, mientras que el valor del nuevo flujo de
magnetización para la región de saturación implica una reducción del valor lineal, que es la
consideración para la simulación del efecto en la máquina de inducción, en donde, utilizan-
23
Figura 1.7: Recta de Entrehierro a 45º
Figura 1.8: Relación Flujos Lineales y Saturados
do los flujos de magnetización en los ejes q y d lineales se obtienen los nuevos valores para
saturación.
Partiendo la ecuación 1.158 es posible definir las ecuaciones
ψmsatq = ψmq − ∆ψmq
(1.159)
ψmsatq = xm iqs + iqr − ∆ψmq
(1.160)
ψmsatq = XM
ψmsatq =
ψqs − ψmsatq
Xls
+
ψq′ r − ψmsatq
Xlr
!
− ∆ψmq
Xaq
Xaq
Xaq
ψqs +
ψqr −
∆ψmq
Xls
Xlr
XM
De manera similar para la componente en el eje d:
24
(1.161)
(1.162)
Figura 1.9: Relación entre ∆ψ y ψmsat
ψmsatd =
Xad
Xad
Xad
ψd s +
ψdr −
∆ψmd
Xls
Xlr
XM
(1.163)
Asumiendo una reducción proporcional y de la Figura 1.8 como lo sugiere CheMung [2]por
simples relaciones trigonométricas se podrá determinar:
ψmsatq
∆ψ
(1.164)
ψmsatd
∆ψ
ψmsat
(1.165)
q
2
2
ψmsatq + ψmsatd
(1.166)
∆ψmq =
∆ψmd =
ψmsat
donde,
ψmsat =
En las ecuaciones 1.164 y 1.165 se selecciona el valor de los flujos de la región de saturación
ya que esto facilita el algoritmo para la simulación.
La relación entre ∆ψ y ψmsat puede ser determinada a partir de la curva de la prueba de
vacío de la máquina ó como en este caso, para la simulación se utiliza una aproximación
exponencial de la curva de la Figura 1.9, con la condición de que se haya sobrepasado el
valor de ψmlimite .
Donde se tendrá:
∆ψ = ea(ψmsat −ψmlimite ) − 1
25
(1.167)
Figura 1.10: Modelo de la Máquina de Inducción de Simulink
1.5. Simulación del Modelo de la Máquina de Inducción
1.5.1. Modelo de la Máquina de Inducción implementado en Simulink
La Figura 1.10 muestra el esquema implementado para la simulación de la máquina de inducción, donde El bloque Modelo_Maq es una funcion s, programada en Matlab, definida
para generar los flujos qd de rotor y estator y la velocidad angular eléctrica de rotor a partir de
los voltajes qd de alimentación, el Torque de Carga y el Límite de Saturación de la Máquina,
mientras que el bloque I_qds y Vel únicamente calcula las corrientes y la velocidad mecánica
del rotor. También se encuentran los bloques de transformación de sistemas abc_qd0 y las
inversas abc_qd0 y abc_qd0_rot.
1.5.2. Resultados de la Simulación de la Máquina de Inducción
Para la simulación se ha seleccionado un motor de inducción de 3 Hp, alimentado por una
fuente trifásica 120 V (fase - neutro) 8A a 60 Hz, 4 polos, 1710 RPM, Torque Nominal 12
[Nm] cuyos parámetros están determinados a la frecuencia nominal:
rs
0.435
Xls
0.754
XM
26.13
Xl′r
0.754
rr′
0.816
J
0.089
El modelo de la máquina de inducción es capaz de utilizar cualquier referencia para obtener
las variables de la máquina, cabe destacar que variables como corrientes, torque electromágnético y la velocidad son independientes del sistema de referencia utilizado.
26
Figura 1.11: Voltaje de Alimentación
1.5.2.1.
Características de Vacío y Torque de Carga para Referencia en el Estator
ω =0
La Figura 1.11 muestra la alimentación que ingresará a la máquina de inducción luego de
transformarse a voltajes qd0, visibles en la Figura 1.12. Se incluye un pulso para representar
el torque de carga y así determinar su efecto en todas las variables que manipula el modelo de
la máquina de inducción. Del modelo de la máquina se obtienen los flujos en los ejes qd así
como la frecuencia angular eléctrica del rotor de la Figura 1.13, de dichas variables derivan
también las corrientes correspondientes de la Figura 1.14. La forma de onda de la corriente
iqs de la Figura 1.14 es la misma que la de la corriente ias de la Figura 1.23 razón por la cual
se denomina transformación escalada [3], además la constante introducida en la ecuación de
transformación original 1.23 junto con la condición de sistema balanceado lo hacen posible.
2
1
1
ias − ibs − ics
i qs =
3
2
2
27
iqs = ias
1.5.2.2.
(1.168)
Características de Vacío y Torque de Carga para Referencia Sincrónica ω = ωe
En forma similar en esta referencia se puede establecer claras diferencias al observar los
voltajes qd0 de alimentación de la Figura 1.15 así como los flujos de la Figura 1.16 y las
corrientes de la 1.17. Cuando se utiliza la referencia sincrónica las variables toman valores
constantes, lo que implica que seleccionando esta referencia se crean variables que pueden
ser más fáciles de controlar, en similitud, con un motor de corriente continua, cuyos flujos
y corrientes son valores constantes en un punto de operación, sería muy útil para el motor de inducción ya que en esta referencia se encuentra una similitud importante, que será
aprovechada más adelante para el control de la misma.
1.5.2.3.
Características de Vacío y Torque de Carga para Referencia en el Rotor ω = ωr
Cuando se utiliza esta referencia que utiliza la velocidad variable del rotor es posible visualizar su efecto tanto en los voltajes qd como en el resto de variables que se exhiben en las
Figuras 1.18, 1.19 y 1.20.
1.5.2.4.
Efectos del Torque de Carga
Cuando la máquina trabaja en vacío, casi alcanza la velocidad sincrónica, mientras que si lo
hace con torque de carga existirá una reducción de velocidad y consecuentemente una elevación del deslizamiento. También se espera que las corrientes de estator y rotor sean mayores.
Los flujos de la máquina se ven directamente afectados puesto que deben suplir el torque
electromagnético necesario debido a la carga. Se resume este conjunto de características en
la Figura 1.22 y la 1.23. La Figura 1.21 muestra la relación entre la velocidad y el torque
para el arranque en vacío y el lapsus en el que se presenta el torque de carga se observa la
elevación del torque electromagnético y reducción de velocidad.
28
Te vs wr
Te [ N.m ]
120
100
80
60
40
20
0
−20
0
200
400
600
800
1000
1200
1400
1600
1800
wr [ RPM ]
Figura 1.21: Curva característica Te vs. Wr
1.5.2.5.
Efectos de la Saturación en la Máquina de Inducción
La Saturación es una condición de funcionamiento anormal para determinar si el modelo
diferencia estas dos regiones lineal y saturada es necesario elevar paulatinamente el voltaje,
de forma similar como se realiza la prueba de vacío en un transformador de tal forma que
una vez sobrepasada la parte lineal se pueda visualizar el incremento de corriente elevado
en relación al incremento que sufrirá el flujo de magnetización, como se puede visualizar en
la Figura 1.24, donde el límite de flujo de magnetización fue ψmlimite = 180 [V ]. Además, es
notable que no solo la saturación crea un incremento en la corriente, sino también, cuando se
varía el voltaje y no la frecuencia de alimentación, así como cuando la velocidad es baja (con
un deslizamiento mayor), de ahí que es conveniente que trabaje a condiciones nominales o
que ciertas condiciones se cumplan en cuanto al flujo de entrehierro, lo que se explicará
mejor en el tercer capítulo.
29
Figura 1.12: Voltajes qd0 para ω = 0
30
Figura 1.13: Flujos qd y frecuencia angular eléctrica del rotor para ω = 0
31
Figura 1.14: Corrientes qd para ω = 0
32
Figura 1.15: Voltajes qd0 para ω = ωe
33
Figura 1.16: Flujos qd y velocidad angular eléctrica del rotor para ω = ωe
34
Figura 1.17: Corrientes qd para ω = ωe
35
Figura 1.18: Voltajes qd para ω = ωr
36
Figura 1.19: Flujos qd y velocidad angular eléctrica del rotor para ω = ωr
37
Figura 1.20: Corrientes qd para ω = ωr
38
Figura 1.22: Efecto Torque de Carga
39
Figura 1.23: Corrientes de estator y rotor
40
Figura 1.24: Curva de Magnetización Región Lineal y Saturada
41
CAPÍTULO 2
Estimador de Flujo y Velocidad de la
Máquina de Inducción
En el desarrollo de la mayoría de aplicaciones, el motor de inducción es controlado a través de técnicas de orientación de campo que requieren del conocimiento de la velocidad del
rotor, y en vista de que los sensores de velocidad reducen la confiabilidad del sistema además de incrementar el precio, una tendencia común para el control del motor es utilizando
observadores para estimar la velocidad y el flujo del rotor [4] .
Es un hecho que el modelo de la máquina de inducción introducido en el capítulo 1, considerando variables de flujo contiene no linealidades ya que los flujos del rotor dependen de
la velocidad angular del rotor, además es un sistema variante en el tiempo, cuyos coeficientes de las ecuaciones diferenciales características del sistema no son constantes de ahí que
requiera una representación un poco diferente en espacio de estados que un sistema lineal e
implica un tratamiento especial para la linealizacion del sistema, requerimiento para crear el
estimador.
Este capítulo desarrolla el diseño del estimador de flujos y de velocidad a través del filtro
de Kalman, así como la linealización del modelo de la máquina de inducción ya que con
técnicas de control moderno, es imprescindible conocer el modelo a espacio de estados para
desarrollar tal estimador.
2.1. Introducción
El análisis matemático de un sistema requiere de un modelo que capture sus características
principales. Una forma es a través del modelo a variables de estado, ya que un conjunto de
ecuaciones diferenciales de orden n puede ser convertido en n ecuaciones diferenciales de
primer orden, lo que suele ser más versátil ya que puede tratarse de la misma forma sistemas
invariantes o variantes en el tiempo así como sistemas lineales o no lineales con entradas
SISO(simple input simple output) con una entrada y una salida o MIMO (multiple inputs
42
Figura 2.1: Sistema Muestreado
multiple outputs) de multiples entradas y múltiples salidas [5].
En general, un sistema lineal puede ser definido por:
ẋ = A.x + B.u
(2.1)
y = C.x + D.u
El vector x es el vector de estado, y sus componentes son llamadas variables de estado; u
y y son los vectores de entrada y salida respectivamente. Esta representación de espacio de
estado es aplicada para sistemas que tienen múltiples entradas y salidas, lo que implica que
u y y sean vectores columna y B, C y D son matrices. En general, si los sistemas son de n
orden con m salidas y p entradas las dimensiones de las matrices son:
A = n × n,
B = n × p,
C = m × n,
D = m× p
2.1.1. Discretización del Modelo en Variables de Estado
Una técnica para determinar las ecuaciones de estado discretas de un sistema muestreado
directamente desde las ecuaciones de estado continuas como lo indica [6] , tomando en
cuenta que los estados del modelo continuo llegan a ser los estados del modelo discreto, lo
que implica que los estados discretos han de converger a los estados continuos reales, existe
forma de discretizar un sistema continuo cualquiera, para comprender mejor esto observe la
Figura 2.1, que indica un sistema muestreado general.
Las ecuaciones de estado de dicho sistema serán:
v̇ (t) = Ac v (t) + Bc .u (t)
(2.2)
y (t) = Cc x (t) + Dc u (t)
La solución a estas ecuaciones es:
v (t) = Φc (t − t0 ) v (t0 ) +
Z t
t0
Φc (t − τ) Bc u (τ) dτ
(2.3)
Donde t0 es el tiempo inicial, Φc es la matriz de transición de estado y está definida por:
43
Akc (t − t0 )k
∑
k!
k=0
∞
Φc (t − t0 ) =
(2.4)
Para obtener el modelo discreto se evalúa la ecuación 2.3 a t = kT + T con t0 = kT , con T
como tiempo de muestreo, esto es:
v (kT + T ) = Φc (T ) v (kT ) + m (kT )
Z kT +T
kT
Φc (kT + T − τ) Bc dτ
(2.5)
Se realiza el reemplazo de u (t) = m (kT ) durante el intervalo kT ≤ t ≤ kT + T , que es válido
siempre y cuando u (t) sea la salida de un retenedor de orden cero. En general las ecuaciones
de estado discretas se resumen en:
x (k + 1) = Ax (k) + Bu (k)
(2.6)
y (k) = Cx (k) + Du (k)
Entonces se tiene que:
x (k + 1) = Ax (k) + Bm (k)
(2.7)
Donde,
x (kT ) = v (kT )
A = Φc (T )
B=
Z kT +T
kT
(2.8)
Φc (kT + T − τ) Bc dτ
De forma similar la salida del sistema se evalúa en t = kT entonces,
y (kT ) = Cc v (kT ) + Dc u (kT )
(2.9)
y (kT ) = Cc x (kT ) + Dc m (kT )
De la ecuación 2.9 se desprende que las matrices C y D discretas son iguales a las matrices
del sistema continuo Cc y Dc .
La relación para B puede ser simplificada, las matrices discretas del sistema A y B pueden
ser evaluadas al encontrar Φc (t) usando la transformada de Laplace, sin embargo, en general
44
una técnica más versátil es usar la evaluación de Φc (T ) en la ecuación 2.4, esto es, con t = T
y t0 = 0, las ecuaciones 2.4 y 2.8 viene a ser:
T3
T2
+ A3c
+ ......
(2.10)
2!
3!
Luego, ésta es una serie convergente que puede ser limitada con adecuada precisión.
Para definir la matriz B considerando σ = kT − τ se tiene:
Φc (T ) = I + Ac T + A2c
B=
Z
0
T
Φc (T − σ ) dσ Bc
(2.11)
De donde es posible encontrar el valor de la integral de la ecuación 2.11, tomando en cuenta
que τ = T − σ :
Z T
0
Z T
0
Φc (T − σ ) dσ =
Φc (T − σ ) dσ =
Z 0
T
Z T
0
Φc (τ) (−dτ) =
τ
I + Ac τ + A2c
2
2!
Z T
0
Φc (τ) dτ
τ
+ A3c
3
3!
+ ..... dτ
T3
T4
T2
+ A2c
+ A3c
+ .....
2!
3!
4!
0
Entonces, reemplazando la ecuación 2.13 en la 2.11 se tiene que:
Z T
Φc (T − σ ) dσ = IT + Ac
3
4
T2
2T
3T
B = IT + Ac + Ac
+ Ac
+ .... Bc
2!
3!
4!
(2.12)
(2.13)
(2.14)
Entonces la forma más conveniente para transformar un sistema continuo a uno discreto, es
utilizando el cambio de matrices A y B, y definiendo el tiempo de muestreo adecuado.
2.2. Modelo Discreto de la Máquina de Inducción
El modelo continuo de la máquina de inducción quedó establecido en el capítulo 1, de ahí
que, las variables de estado serán los flujos qd de estator y rotor, como se observa en las
ecuaciones:
pψqs = ωb
"
pψds = ωb
"
ω
rs
vqs − ψds +
ωb
Xls
ω
rs
vds + ψqs +
ωb
Xls
45
Xaq
ψqs ψq′ r
+ ′
Xls
Xlr
!
Xad
ψds ψd′ r
+ ′
Xls
Xlr
!
− ψq s
!#
− ψds
!#
(2.15)
pψq′ r = ωb
"
pψd′ r = ωb
"
r′
ψd′ r + r′
Xlr
r′
ψd′ r + r′
Xlr
ω − ωr
v′qr −
ωb
ω − ωr
v′dr +
ωb
Xaq
ψqs ψq′ r
+ ′
Xls
Xlr
!
Xad
ψds ψd′ r
+ ′
Xls
Xlr
!
− ψq′ r
!#
− ψd′ r
!#
Donde Xaq = Xad = Xm y está definida por la ecuación 1.150.
El modelo dinámico del motor de inducción en un marco de referencia estacionario qd, con
entradas de voltaje y salidas de corrientes de estator, puede representarse de la siguiente
manera:
ẋ (t) = A (t) x (t) + Bu (t)
(2.16)
y (t) = Cx (t)
Donde:
h
iT
x = ψqs ψds ψq′ r ψd′ r
,
iT
iT
h
h
, u = vqs vds
y = iqs ids



Ac = 


as1 0
as2
0
0 as1
0
as2
ωr (t)
ar2 0
ar1
0 ar2 −ωr (t) ar1






(2.17)
Donde: as2 = ωXb rsXX′m ,
as1 = ωXblrs XXlm − 1 ,
l s lr
s s
ωb rr′ Xm
ωb rr′ Xm
ar1 = X ′ X ′ − 1 ,
ar2 = X X ′ ,
ls lr
lr
lr
Es obvio que existe un coeficiente variante en el tiempo, que es la velocidad angular eléctrica
del rotor.


b 0
"
#


 0 b 
c
0
c
0
s1
s2

Bc = 
Cc =
(2.18)
 0 0 ,
0 cs1 0 cs2


0 0
Donde, b = ωb , cs1 = X1l 1 − XXlm y cs2 = − XXmX ′ .
ls lr
s
s
Para obtener el modelo discreto se pueden obtener las matrices características asumiendo
46
como valor conocido la velocidad en cada instante de muestreo, es lo que se conoce como
un modelo dependiente (state - dependent model) [7]
Entonces, el modelo discreto de la máquina quedará determinado por:
x (k + 1) = A(k)x (k) + B(k)u (k)
(2.19)
donde las matrices del sistema pueden encontrarse realizando la aproximación de las ecuaciones 2.8 y 2.14 limitando la serie convergente a dos términos para el caso de A y uno para
B se tiene:
A(k) ≈ I + Ac T
(2.20)
B(k) ≈ Bc T
Es importante garantizar que el tiempo de muestreo T sea muy inferior a la menor constante
de tiempo del sistema. Ahora el sistema queda definido de la siguiente forma:
iT
h
′
′
x (k) = ψqs (k) ψds (k) ψqr (k) ψdr (k)
h
iT h
iT
u (k) = vqs (k) vds (k)
= u1 (k) u2 (k)
iT
h
y (k) = iqs (k) ids (k)
Y, reemplazando las ecuaciones 2.17 y 2.18 en la 2.20 las matrices discretas son:



A(k) = 


1 + as1 T
0
as2 T
0
0
1 + as1 T
0
as2 T
ar2 T
0
1 + ar1 T ωr (k) T
0
ar2 T
−ωr (k) T 1 + ar1 T


bT 0


 0 bT 


B(k) = 
0 
 0

0
0






(2.21)
(2.22)
Mientras que la matriz C no se altera, es la misma tanto para el modelo continuo como para
el discreto.
2.2.1. Estimador de Flujo por Filtro de Kalman Extendido
2.2.1.1.
Introducción
Existen diferentes aplicaciones industriales que requieren un control de torque y/o velocidad
con buena precisión y respuesta dinámica, que se puede conseguir con el control electrónico
de motores de inducción, sin importar la técnica que se utilice siempre se requiere conocer
47
la magnitud del flujo y la velocidad con suficiente exactitud. También puede ser necesario
conocer tales variables de la máquina para minimizar las pérdidas. El utilizar sensores de
velocidad para controlar la máquina presenta diversos inconvenientes como:
mayor costo del accionamiento
menor confiabilidad y robustez
menor inmunidad al ruido
requiere mayor mantenimiento
debido a la existencia de un mayor número de componentes en el sistema y a la conexión
entre el sensor y el controlador.
Por esta razón se han propuesto diversas formas y algoritmos para estimar la velocidad y
omitir el sensor correspondiente que suele estar acoplado al eje del motor. Es así que, en esta
ocasión se desarrolla el algoritmo de estimación de flujo y velocidad basado en la técnica
del filtro de Kalman Extendido (FKE), en el cual se requiere el conocimiento de voltajes y
corrientes de estator [8].
2.2.1.2.
Observadores de Estado
En general, un observador de Estado toma un sistema, el cual tiene algunos estados internos,
que normalmente no pueden ser medidos o se pueden medir unicamente otras variables sustitutas; si se desea conocer los estados internos para su control no siempre es posible calcular
dichas variables directamente de las medidas de las salidas del sistema.
Considerando un sistema definido por la ecuación 2.16, es posible crear un sistema que
funciona paralelamente con la planta y calcula el vector de estados, con conocimiento tanto
de las entradas como de las salidas, para una mejor aproximación se considera que la salida
estimada está relacionada con los estados estimados por:
ŷ = Cx̂
(2.23)
Valor que es comparado con el vector de medidas de la salidas del sistema. la diferencia
será utilizada para corregir el vector de estados del modelo del sistema. Este método de
estimación es conocido como Observador Luenberger [9, 10], y el esquema básico se muestra
en la Figura 2.2.
Entonces se puede definir las siguientes ecuaciones para el observador Luenberger:
x̂˙ = (A − LC) x̂ + Bu + Ly
(2.24)
Para garantizar que L reduzca el error a cero, se incluye una ecuación de estado para el error:
48
Figura 2.2: Observador Luenberger
x̃˙ = (A − LC) x̃
(2.25)
Donde, x̃ = x − x̂.
Entonces, la efectividad del observador depende de la selección de los parámetros y de la
exactitud de las medidas del vector de salida. Aunque en la realidad las mediciones sufren
distorsiones y son señales que contienen ruido y ruido interno del sistema hacen necesario
otro tipo de observador que incluya un análisis estocástico, que se conoce como Filtro de
Kalman.
El filtro de Kalman provee una solución que manipula directamente los efectos de la perturbación debida a los ruidos, los errores en los parámetros normalmente suelen ser manipuladas
como ruido. Luego el sistema toma la forma general:
ẋ = Ax + Bu + Gw
(2.26)
y = Cx + v
Donde, w y v son el ruido del sistema y de medición respectivamente, se asume que se trata
de ruido blanco gaussiano, Y sus covarianzas quedan definidas por las matrices Q y R. La
estructura del Filtro de Kalman es la misma que la del observador de Luenberger, la única
diferencia está en el cálculo de la ganancia K ya que éste se basa en la covarianza de los
errores. Luego se tiene:
x̂˙ = (A − KC) x̂ + Bu + Ky
(2.27)
La medida de que tan buena es la aproximación del valor estimado con el real está definido
49
por el operador de la ecuación 2.37, que se detalla más adelante, luego la matriz K tiene que
escogerse para hacerlo mínimo, la solución para esto es que sea definida como:
K = PCT R−1
(2.28)
De donde P se encuentra al resolver la siguiente ecuación:
AP + PAT − KRKT + GQGT = 0
(2.29)
Q y R están basadas en las propiedades estocásticas correspondientes a los ruidos, aunque
cuando éstas son desconocidas suelen utilizarse como un valor inicial de prueba matrices
identidad.
Existen diversas formas del Filtro de Kalman:
Discreto
Continuo (Kalman - Bucy)
No Lineal ( Extendido)
2.2.1.3.
Estimación Optima de Estado a través del Filtro de Kalman Discreto
El filtro de Kalman es un estimador que puede emplearse para estimar los estados de un
sistema dinámico lineal en tiempo continuo o discreto, usando las mediciones relacionadas linealmente con los estados. Es el equivalente a un observador de estado asociado al
LQG (Problema Lineal Cuadrático Gaussiano), ya que tanto el sistema como las mediciones
pueden contener perturbaciones del tipo ruido blanco Gaussiano. El estimador resultante es
estadísticamente óptimo con respecto a cualquier función cuadrática del error de estimación
[11]. En la práctica, es un algoritmo que permite estimar datos no observables a través de
mediciones de datos ruidosos.
Una vez que se introduce ruido en el sistema la planta discretizada toma la siguiente forma:
x (k + 1) = Ax (k) + Bu (k) + Gw (k)
(2.30)
y (k) = Cx (k) + v (k)
Donde:
x (k) [n × 1] son los estados, u (k) [r × 1] son las entradas conocidas, w (k) [s × 1] son las
perturbaciones aleatorias de la planta, y (k) [p × 1] son las medidas de las salidas del sistema
y v (k) [p × 1] son las imprecisiones aleatorias en la medida. Las entradas randómicas w (k) y
50
v (k) de la ecuación 2.30 no están correlacionadas entre sí y tienen distribuciones Gausianas
con las propiedades:
E [w (k)] = 0,
E [v (k)] = 0
cov [w ( j) , w (k)] = E w ( j) , wT (k) = Qd δ jk
(2.31)
cov [v ( j) , v (k)] = E v ( j) , vT (k) = Rδ jk
(2.32)
E w (k) , vT (k) = 0
(2.33)
Donde, E implica función de correlación y cov es la covarianza de las variables randómicas
y δ jk es la función delta Kronecker [6] y está definida por:
δ jk =
(
0
1
j 6= k
j=k
(2.34)
Luego, w (k) y v (k) son secuencias discretas de ruido blanco con distribuciones gausianas.
Se trata de encontrar el valor estimado x̂ tal que la covarianza del error determinada por la
ecuación 2.36 sea mínima.
e (k) = x (k) − x̂ (k)
(2.35)
P (k) = E e (k) , eT (k)
(2.36)
J (k) = E e21 (k) + E e22 (k) + E e23 (k) + . . . . . . + E e2n (k)
(2.37)
J (k) = E eT (k) e (k)
(2.38)
Entonces, los elementos de la diagonal de P (k)[n×n] son el promedio de los errores cuadráticos de estimación. La función costo para el proceso de minimización es la traza de dicha
matriz:
Donde cada término corresponde a la variancia de cada error. Luego, la función de costo
puede ser expresada como:
Una propiedad adicional del filtro de Kalman es que la función de costo de la ecuación es
minimizada, para Q, cualquier matriz positiva semidefinida.
51
J (k) = tr E eT (k) Qe (k)
(2.39)
x (k) = x̂ (k) + K (k) [y (k) − Cx̂ (k)]
(2.40)
x̂ (k + 1) = Ax (k) + Bu (k)
(2.41)
Se requiere minimizar la función de costo de la ecuación 2.37 por lo que el fitro de Kalman
queda definido por:
En donde, x̂ (k) es el valor predicho del estado estimado en el instante k, mientras que x (k)
es el valor actual del estado estimado en k, K (k) es la ganancia de Kalman y es calculada
así:
K (k) = M (k) CT CM (k) CT + R
(2.42)
P (k) = M (k) − K (k) CM (k)
(2.43)
M (k + 1) = AT P (k) A + GQGT
(2.44)
En el conjunto de ecuaciones 2.43 M (k) es la covarianza de los errores de predicción, y al
reemplazar P (k) en M (k + 1) se tiene:
M (k + 1) = [I − K (k) C] M (k) AT + GQGT
(2.45)
Generalmente, cuando se trata de un sistema lineal invariante en el tiempo, la ganancia de
Kalman puede ser precalculada en forma independiente de las mediciones, éste es un algoritmo que requiere manipular las ecuaciones 2.40 a 2.45 en tiempo real.
2.2.1.4.
Filtro de Kalman Extendido para el Modelo Discreto de la Máquina de Inducción
Para su aplicación a sistemas no lineales, el filtro original se modifica, realizando una aproximación lineal del sistema en cada iteración, dando origen el denominado Filtro de Kalman
Extendido (EFK) [12].
Entonces, aunque el filtro de Kalman es un observador lineal, el modelo extendido debe
ser linealizado con respecto al estado extendido estimado, esto implica, para el caso de la
máquina de inducción, cuyo modelo discreto queda definido por las ecuaciones 2.19, 2.21
y 2.22, para estimar la velocidad o en su defecto la velocidad angular eléctrica del rotor, se
requiere un sistema de quinto orden, incluyendo la velocidad como una variable de estado
52
adicional, suponiendo que se mantiene constante durante un período de muestreo. Con lo
cual es apropiado aplicar el filtro de Kalman Extendido (EFK).
Aunque se debe tener presente que la estimación de los estados no puede considerarse estadísticamente óptima ya que existe error introducido en la aproximación lineal [11].
En forma general, el modelo de un sistema no lineal estocástico en tiempo discreto queda
expresado de la siguiente forma:
x (k + 1) = f (x (k) , u (k) , k) + G (k) w (k)
(2.46)
z (k) = h (x (k) , k) + v (k)
(2.47)
El modelo de la máquina de inducción quedará definido de la siguiente forma:
iT
h
′
′
x (k) = ψqs (k) ψds (k) ψqr (k) ψdr (k) ωr
h
iT
x (k) = x1 x2 x3 x4 x5
h
iT
w (k) = w1 (k) w2 (k) w3 (k)
h
iT
v (k) = v1 (k) v2 (k)
h
iT h
iT
u (k) = vqs (k) vds (k)
= u1 (k) u2 (k)




f (x (k) , u (k) , k) = 



(1 + as1 T ) x1 + as2 T x3 + bTu1
(1 + as1 T ) x2 + as2 T x4 + bTu2
ar2 T x1 + (1 + ar1 T ) x3 + T x5 x4
ar2 T x2 − T x5 x3 + (1 + ar1 T ) x4
x5
z1 (k) = iqs (k) + v1 (k)
z2 (k) = ids (k) + v2 (k)
=
El algoritmo del FKE cumple con los siguiente pasos:








(2.48)
Predicción de Estados:
x̂ (k + 1 |k ) = f (x (k) , u (k) , k)
(2.49)
Donde, x̂ (k + 1 |k ) es el estado estimado de x (k + 1)dada la última medición anterior y (k).
Estimación de la Matriz de Covarianza del Error:
La ecuación 2.44 toma la forma de:
P (k + 1 |k ) = Φ (k + 1, k) P (k |k ) Φ (k + 1, k)T + Φd (k)
53
(2.50)
donde:
∂ f (x (k) , u (k) , k) (2.51)
x=x̂(k|k )
∂x
P es la matriz de covarianza del error definida en la ecuación 2.36, cuyo valor inicial no
presenta grandes restricciones ya que en pocas iteraciones converge al valor real.
A lo que se reduce la ecuación 2.48 es:
Φ (k + 1, k) ≈




Φ (k + 1, k) ≈ 



(1 + as1 T )
0
as2 T
0
0
0
(1 + as1 T )
0
as2 T
0
ar2 T
0
(1 + ar1 T )
T x5
T x4
0
ar2 T
−T x5
(1 + ar1 T ) −T x3
0
0
0
0
1




G=



b
0
0
0
0
0 0
b 0
0 0
0 0
0 1/J
















(2.52)
(2.53)
La matriz de la ecuación 2.53 suele considerarse como un parámetro de sintonización y para
el caso de la máquina, todas las matrices empleadas son similares a las que [13] utiliza,
Además la matriz de covarianza del error del modelo en tiempo discreto Qd está relacionada
directamente con tal matriz del modelo continuo Qc , así que siendo ésta constante, una buena
aproximación es:
Qd = GQc GT T
(2.54)
Cálculo de la Ganancia de Kalman
Se observa que la ecuación 2.42 toma la siguiente forma:
h
i−1
K (k + 1) = P (k + 1 |k ) H (k + 1)T H (k + 1) P (k + 1 |k ) H (k + 1)T + R (k + 1)
(2.55)
Donde:
∂ h (x (k) , k) (2.56)
x=x̂(k+1|k )
∂x
Para el modelo discretizado de la máquina de inducción, esta matriz es la misma matriz
Cc con la variación de que se añade una columna más porque ahora son cinco variables de
estado.
H (k + 1) ≈
54
H (k + 1) =
"
cs1 0 cs1 0 0
0 cs1 0 cs1 0
#
(2.57)
Actualización de la Matriz de Covarianza del Error
P (k + 1 |k + 1 ) = [I − K (k + 1) H (k + 1) P (k + 1 |k )]
(2.58)
Es importante que esta matriz siempre debe estar definida y ser positiva, de lo contrario, es
indicación de que las matrices están mal condicionadas.
Estimación de Estados
x̂ (k + 1 |k + 1 ) = x̂ (k + 1 |k ) + K (k + 1) [z (k + 1) − h (x̂ (k + 1 |k ) , k + 1)]
(2.59)
Este algoritmo es recursivo, por lo que el último estado estimado luego pasará a ser x (k)
en el primer paso, en la ecuación 2.49 y para cada incremento en el tiempo de muestreo se
desarrolla todo el algoritmo, por lo que se requiere que el dispositivo que realice todas las
operaciones matriciales sea lo suficientemente rápido como para completarlo antes que se
tenga la siguiente muestra de las variables de entrada y salida.
2.3. Simulación del Estimador por Filtro de Kalman Extendido (EFK)
Si se emplea el algoritmo del filtro de Kalman Extendido se requiere de la existencia de ruido
en el sistema y en la medición, de ahí que, una forma de introducir tales perturbaciones es
utilizar como fuente de alimentación de la máquina un inversor multinivel, como el que se
muestra en [14], lo que genera un rizado en las corrientes medidas, acercando la aplicación a
la realidad, permitiendo sintonizar los parámetros del filtro para que reduzcan la interferencia
de dicho rizado.
2.3.1. Modelo del Estimador Filtro de Kalman Extendido implementado en Simulink
El modelo de simulink implementado se muestra en la Figura 2.3, éste contiene el modelo
de la maquina introducido en el capítulo anterior, así como un bloque específico para el
estimador Filtro de Kalman, que contiene el programa del algoritmo para el filtro. En el
Anexo 1 se muestra en mayor detalle los programas correspondientes a cada bloque que se
halla en el diagrama.
55
Figura 2.3: Modelo de Simulink para el Estimador y la Aproximación Lineal del Modelo
El modelo del Estimador Filtro de Kalman Extendido llevado a simulación requiere del algoritmo planteado en la sección anterior, es un algoritmo recursivo, que requiere la actualización de los estados en cada instante de muestreo. Los estados son los flujos qd de estator
y rotor y la velocidad angular eléctrica del rotor. En base a voltajes y corrientes qd de estator como entradas y las variables obtenidas los flujos. Los pasos que cumplirá el bloque de
estimación será:
Cálculo de la ganancia de Kalman
−1
K = PHT HPHT + R
Donde, P toma el valor actual de los estados definidos para la matriz P, H es la matriz C de
salida del sistema y R es una matriz diagonal constante conocida, definida por el usuario.
Actualización de la Matriz de Covarianza del Error
P = [I − KHP]
Estimación de la Matriz de Covarianza de Error
P = ΦPΦT + Qd
56
Donde P es la matriz actualizada en el paso anterior.
Estimación de los Estados
x̂ = x̂ (k + 1 |k ) + K [z (k + 1) − h (x̂ (k + 1 |k ) , k + 1)]
Donde,x̂ (k + 1 |k ) es el valor actual de los estados y z (k + 1) es el valor actual de las entradas
de corriente.
Actualización de los Estados
x̂ (k + 1 |k ) = f (x (k) , u (k) , k)
Que utilizará el valor actualizado de los estados, y las entradas de voltaje actuales.
2.3.2. Resultados de la Simulación del Estimador Filtro de Kalman Extendido
2.3.2.1.
Simulación de la Máquina de Inducción alimentada por Inversor
Para propósitos de probar el filtro, se alimenta a la máquina, el mismo modelo, características
y parámetros del modelo simulado en el capítulo 1, con un inversor trifásico, cuyas señales
vA , vB y vC son el voltaje a la salida de los terminales del inversor fuente de tensión y están
conectados a los terminales de la máquina de inducción que se halla en conexión estrella, las
formas de onda están definidas en la Figura 2.4.
Pero considerando la conexión de la máquina el voltaje en cada devanado de la máquina
referido al punto común interno n quedará definido por el conjunto de ecuaciones 2.60:
va n =
1
(2vA − vB − vC )
3
vb n =
1
(2vB − vA − vC )
3
vcn =
1
(2vC − vA − vB )
3
(2.60)
Las formas de onda se pueden observar en la Figura 2.5, aunque es poco convencional esta
forma de onda, la fundamental de dicha onda es muy similar a la de un inversor de modulación de ancho de pulso sinusoidal [14].
57
Figura 2.4: Voltajes A, B, C
La Figura 2.6 muestra los voltajes qd0 generados por el inversor, en la referencia estacionaria, y la Figura 2.7 muestra las corrientes con el rizado para la condición de arranque y vacío.
La Figura 2.8 muestra las corrientes qd de estator y rotor así como el torque y velocidad,
es notable que las medidas de corrientes de estator necesarias para el algoritmo de estimación son senoidales, luego el filtro deberá eliminar parte del ruido y aproximar la velocidad
estimada a la real.
58
Figura 2.5: Voltajes de Alimentación generados por el inversor
Figura 2.6: Voltajes qd0
59
Figura 2.7: Corrientes abc de estator y rotor
60
Figura 2.8: Corrientes qd, Torque y Velocidad
61
2.3.2.2.
Simulación del Estimador Filtro de Kalman para Flujos y Velocidad de la
Máquina de Inducción
Para la simulación del estimador de flujo, el algoritmo implementado es el filtro de Kalman
Extendido, donde las variables conocidas son tanto el voltaje como las corrientes de estator,
se estimarán todos las concatenaciones de flujo de estator y rotor. Cabe recalcar que para
el ajuste de los parámetros del filtro, es necesario conocer los valores de las matrices de
covarianza del error del modelo, Q y de las mediciones R. Si bien, para el caso de la segunda,
los valores correspondientes podrían obtenerse realizando algunas mediciones en el sistema
para hallar así la varianza del error de medición.
La elección de Q resulta un poco más complejo ya que depende del desempeño óptimo
del estimador, lo que implica sintonizar Q y R. En este caso se consideran estas matrices
diagonales, asumiendo que las variables no están correlacionadas.
Para este caso se utilizó Q[3×3] que contiene en la diagonal principal el valor de 0.0001 y
R[2×2] con un valor de 0.75. Después de varios ensayos con otros valores se utilizan los que
muestran mejor respuesta. Además, el tiempo de muestreo seleccionado es 1 e-6 s, seleccionado para que sea muy inferior a la menor constante de tiempo de la máquina.
Las Figuras 2.9 a 2.13 muestra el conjunto de flujos y velocidad reales comparados con
los estimados, una buena aproximación para sistemas que no requieren mayor precisión. La
Figura 2.14 muestra la velocidad mecánica del rotor, ya que hasta el momento se utiliza
la velocidad angular eléctrica del rotor, pero por motivos de análisis y comparación, no es
mayor problema el graficar ésta variable.
Figura 2.9: ψqs y ψˆqs
62
Figura 2.10: ψds y ψˆds
Figura 2.11: ψqr y ψˆqr
63
Figura 2.12: ψdr y ψˆdr
Figura 2.13: ωr y ω̂r
64
Figura 2.14: ωr y ω̂r medido en rpm
El filtro funciona bien ya que converge rápidamente en 0.05, lo que resulta útil ya que el
observador de estado es muy rápido, más que los controladores necesarios para su control.
Entonces, el estimador debe trabajar en los transitorios que aparecen en el modelo, como el
arranque y el cambio de carga, si bien, es obvio que a bajas velocidades el margen de error
es mayor, a altas se compensa con precisión ya que para la velocidad nominal y cercanas
trabaja bien, incluso variando el torque de carga, como se muestra en la Figura 2.15.
Figura 2.15: Estimación de Velocidad para diversos estados de Carga
65
Para determinar cuan buena es la estimación se obtiene una medida estadística que es la
varianza del error entre los flujos reales que genera el modelo y los que se obtienen del
estimador, tomando los datos de las Figuras anteriores, una vez que se ha estabilizado el
filtro, para 1000 muestras, n = 1000, con lo cual se tienen los siguientes resultados:
e=
ψreal − ψaprox
∗ 100
ψreal
σ2 =
(2.61)
2
∑nk=0 (ei − ē)
n−1
(2.62)
σψ2 qs = 0,058
σψ2 ds = 0,032
σψ2 qr = 0,031
σψ2 dr = 0,029
σω2 r = 0,038
Lo que supone una medida de la variabilidad del error, por lo que al ser mínima el conjunto
de datos aproximados tiende a ser muy cercanos a los valores reales. Por los resultados
expuestos, el Filtro de Kalman Extendido es una buena aproximación al estimar los flujos
senoidales del modelo de la máquina de inducción así como la velocidad y ésta será mejor
de acuerdo a una adecuada selección de los valores de Q y R.
66
CAPÍTULO 3
Control Vectorial de la Máquina de
Inducción
3.1. Introducción
Los motores trifásicos de inducción se encuentran ampliamente difundidos debido a su construcción más simple y robusta, su menor tamaño y su menor necesidad de mantenimiento.
Como contrapartida, su modelo eléctrico es fuertemente alineal, multivariable y altamente
acoplado, por lo que tornan complejo el control de velocidad.
A diferencia de ello, el control de velocidad de motores de corriente continua de excitación
independiente resulta esencialmente sencillo: la independencia existente entre los bobinados
de campo y la armadura permite controlar por separado las corrientes que generan el flujo
de magnetización por un lado y el par por el otro, gobernando estas variables se tiene un
control completo del motor accionado, observándose respuestas dinámicas muy veloces con
reducidas oscilaciones. De ahí que sea necesario el simplificar el modelo de la máquina de
inducción para que sus variables sean controladas en forma similar a las del motor de dc.
El control por orientación de campo es una técnica empleada en los servo mecanismos de AC
que posibilita alcanzar una respuesta rápida de torque debido a que se basa en la interacción
entre flujo y corriente como en un motor DC.
En este capítulo se describe los principios del control por orientación de campo junto con
un conjunto de requerimientos que hacen posible la manipulacion apropiada del torque de la
máquina de inducción gracias al uso de controladores, conocidos generalmente como controladores vector [3] porque modifican tanto la amplitud como la fase de la alimentación de
ac. Además, incluye la aplicación del estimador de variables diseñado en el capítulo anterior
para obtener las variables que serán modificadas por tales controladores.
67
3.1.1. Control de Torque en la Máquina DC
Antes de desarrollar los principios de control vectorial y orientación de campo, se puede
revisar brevemente los fundamentos del control de torque en la máquina de corriente continua
de excitación independiente, ya que existe similitud en la forma como se lo realiza tanto para
esta máquina como cuando se utilizan los controladores vector.
Una máquina de DC consiste en una estructura estacionaria que utiliza una fuente dc de
excitación o iman permanente para generar un campo magnético y un devanado de armadura
rotatorio alimentado a través de un conmutador y escobillas, un esquema básico se muestra
en la Figura 3.1, la acción del conmutador garantiza que la dirección de las corrientes del
devanado de armadura de tal manera que tenga un solo sentido, fenómeno que se repite
mientras exista una tensión aplicada a las escobillas independientemente de la velocidad
del rotor. La corriente de estator determina el flujo magnético y la corriente del rotor se
puede usar como medio directo para controlar el par. La posición física de las escobillas
con respecto al campo del estator asegura la condición óptima para el par bajo todas las
posibilidades.
Entonces, el flujo de campo y la fuerza magneto-motriz FMM de armadura se mantienen
orientadas perpendicularmente, sin importar la velocidad del rotor, como resultado de esta
propiedad el flujo de campo no es afectado por la corriente de armadura a no ser debido a la
presencia de efectos no lineales [3].
La interacción electromagnética entre el flujo de campo y la fuerza magneto-motriz de la armadura resulta en dos salidas básica, un voltaje inducido proporcional a la velocidad definido
por la ecuación 3.1:
Ea = kv .φ I f ωrm
(3.1)
Donde, kv es una constante propia de la máquina, φ I f es el flujo de campo generado por
Figura 3.1: Máquina DC
68
la corriente de campo I f y ωrm es la velocidad mecánica de la máquina.
Además, considerando que los ejes de los devanados de armadura y de campo son ortogonales entre sí por lo que las fuerzas magneto-motrices generadas por las corrientes en los
devanados también serán ortogonales. Si se ignora la saturación, los campos ortogonales
reducen la expresión de torque a la siguiente ecuación 3.2:
Tem = ka .φ I f Ia
(3.2)
Donde ka es una constante propia de la máquina e Ia es la corriente de armadura. Considerando el ángulo de torque 90º el flujo puede ser controlado únicamente ajustando la corriente
de campo I f , y el torque puede ser controlado independientemente del flujo ajustando la
corriente de armadura Ia . Se tiene presente que la constante de tiempo del circuito de armadura es usualmente más pequeña que la del devanado de campo así que controlar el torque
cambiando la corriente de armadura es más rápido que cambiando la de campo o ambas [2].
Es importante notar que la simplicidad del modelo se ve afectada por una fuerte dependencia
de la mutua orientación perpendicular del flujo y la fuerza magnetomotriz, si esta ortogonalidad es perturbada (por los efectos de las escobillas, por ejemplo) dos complicaciones
podrían presentarse como que el flujo de campo no es independiente de la corriente de armadura, luego existirá una componente de la FMM en el eje de campo, y la relación de voltaje y
torque definidas en las ecuaciones ?? y 3.2 deberán modificarse incluyendo una dependencia
de ángulo entre ambos vectores.
El control de velocidad se realiza manteniendo el flujo de campo constante, lo que implica
un voltaje fijo de alimentación para el campo, y variando el voltaje de armadura.
La situación es análoga para operación en frecuencia variable de los máquinas de inducción,
donde mantener el flujo constante determina un adecuado funcionamiento en aplicaciones
que requieren velocidad variable. En ambos casos el torque, corriente y velocidad son determinadas por la carga, con la característica torque-velocidad definida por la excitación.
Ajustar el torque en la máquina DC se reduce a la simple acción de controlar la corriente
de armadura a través del voltaje, con un valor constante de flujo de campo, el torque será
directamente proporcional a la corriente de armadura.
Este tipo de motor tiene una rápida respuesta de par porque no hay acoplamiento mutuo
entre los devanados de armadura y de campo, excepto para el voltaje cinético. Con un flujo
constante de campo, la respuesta de par depende la constante de tiempo de armadura Ls /rs .
En forma similar a la máquina de DC, en los motores de inducción los devanados del inducido están en el rotor, mientras que el campo está generado por las corrientes en los devanados
del estator, de ahí que, las corrientes del rotor no están directamente alimentadas de una
fuente externa sino que se originan debido a la fuerza electromotriz que se induce en los
devanados consecuencia del movimiento relativo de dichos conductores respecto al campo
del estator, lo que representa una desventaja cuando se trata de medir corrientes en el rotor
69
ya que en el caso de la máquina de inducción de jaula de ardilla es inaccesible el rotor. En
este caso no existe nada que pueda fijar las posiciones relativas entre los flujos estatórico y
rotórico, dejando de ser lineal la expresión del par motor [15].
Utilizando los conceptos definidos para la máquina de DC, los requerimientos para el control
de torque son:
Un control de la corriente de armadura independiente para superar los efectos de la
resistencia del devanado, la inductancia parásita y el voltaje inducido.
Un valor constante o independientemente controlado de flujo de campo.
Un ángulo espacial entre el eje del flujo y la fuerza magnetomotriz MMF ortogonal
independientemente controlado para evitar la interacción entre las dos variables y el
torque pueda ser el máximo[3].
3.2. Control por Vector de Campo de la Máquina de Inducción
3.2.1. Dinámica del Control por Orientación del Vector de Campo
La estrategia de control vectorial consiste en extrapolar la técnica de control de motores
de corriente continua al ámbito de los motores de inducción. Para ello, y debido a que una
máquina de corriente alterna carece de dos bobinados desacoplados, se recurre al recurso de
referenciar el sistema trifásico alterno de corrientes estatóricas a un sistema de coordenadas
no estacionario que gira sincrónicamente con el campo magnético rotórico. En este nuevo
sistema de referencia, las corrientes estatóricas pueden ser tratadas como vectores rotantes,
de ahí el nombre de “control vectorial” o también “control de campo orientado”. Luego es
necesario descomponer este vector en dos componentes: una colineal con el campo rotórico
y la restante en cuadratura. La primera resulta ser responsable del flujo magnético de la
máquina y se la designa como “corriente de magnetización”; la segunda genera el par motriz
y se la llama “corriente activa” [16]. Por la vía de esta transformación de coordenadas resulta
entonces desacoplado el modelo matemático de la máquina de inducción y se controlan estas
componentes en forma independiente de la misma manera que un motor de corriente continua
se controlan las corrientes de campo y de armadura. Y se obtienen respuestas dinámicas
similares.
Una vez determinados en este sistema de referencia no estacionario los valores requeridos
de las componentes de la corriente se aplica una transformación de coordenadas inversa que
arroja como resultado las consignas (set points) de magnitud y fase de las corrientes alternas
estatóricas, las mismas que se aplican a la entrada del inversor regulador de corriente, que
70
genera como respuesta las señales PWM de disparo para los interruptores del puente de
la etapa de potencia, generando las tensiones que alimentan los bobinados del motor, esto
siempre y cuando se utilice un inversor de corriente, mientras que cuando se trata del inversor
de voltaje, se requiere una etapa de desacople que determine los voltajes que entregará el
PWM.
Cabe recordar que para poder ejecutar las rutinas de transformación de coordenadas es necesario contar con el ángulo desarrollado por el rotor. Esta necesidad da origen a dos estrategias diferentes: registrar este ángulo instante a instante mediante un encoder o tacogenerador
(control vectorial de lazo cerrado) o estimarlo mediante un observador (“Control vectorial
sin sensor o de lazo abierto” o en su versión en inglés más difundida: “Sensorless Vector
Control”) [16].
Mediante la técnica de lazo cerrado resulta posible ejecutar distintas estrategias de control de
acuerdo a la variable que se desea regular. Así, nos encontramos con control de lazo cerrado
de velocidad o de par.
En general, el control de torque de una máquina de inducción trifásica no es tan directo como
el de la máquina dc debido a que los campos de estator y rotor no son ortogonales sino que
varían con las condiciones de funcionamiento. Aunque es posible tratar el campo del rotor
en forma similar a como se lo hace con la maquina dc, para lo cual se considera que éste
está girando a la velocidad sincrónica para la máquina de inducción excitada con una fuente
senoidal, y el sistema de referencia arbitrario con el eje d alineado con el campo del rotor
′
[3], [2] explica tales características de tal forma que la componente de cuadratura λqer será
nula de ahí que:
′
′
λqer = Lm .ieqs + Lr′ .iqer
′
iqer = −
Lm e
i
Lr′ qs
(3.3)
(3.4)
′
Con λqer cero, la ecuación 1.117 reduce el torque a:
′e ′e
P
3
λdr iqr
Te = −
2
2
(3.5)
3 P Lm ′ e e
.λ .i
Te = . .
2 2 Lr′ dr qs
(3.6)
′
Al sustituir en la ecuación 3.5 la corriente iqer de la ecuación 3.4 se tendrá:
′
De donde se establece que si el flujo del rotor λder se mantiene constante es posible controlar
el torque independientemente al modificar la componente de cuadratura de la corriente en el
estator ieqs .
71
′
′
Para que la componente de flujo λqer sea se deberá garantizar que pλqer sea cero en cuyo caso
la expresión de voltaje en el eje q queda reducida de la siguiente manera:
′
′
′
′
vqer = rr′ iqer + (ωe − ωr ) λder + pλqer
′
(3.7)
′
0 = rr′ iqer + (ωe − ωr ) λder
Lo que a su vez resulta en que la velocidad de deslizamiento [2] debe satisfacer:
′
ωe − ωr =
rr′ iqer
(3.8)
′
λder
Además, si el flujo del rotor se mantiene constante su derivada será nula, usando esta condición así como la ecuación 3.8 se tendrá que:
′
′
′
=0
De donde,
′
vder = rr′ ider − (ωe − ωr ) λqer + pλder
|{z}
|{z} |{z}
=0
(3.9)
=0
′
ider = 0
(3.10)
Al considerar esto, el flujo del rotor en el eje d quedará definido por:
′
λder = Lm .ieds
(3.11)
Al sustituir la ecuación 3.11 y 3.4 en la 3.8 se obtiene la siguiente relación entre la velocidad
de deslizamiento y la razón de las componentes de la corriente de estator para que el eje d de
la referencia sincrónica sea alineado con el campo del rotor:
rr′ ieqs
ωe − ωr = ′ . e
Lr ids
(3.12)
La Figura 3.2 muestra la relación gráfica entre el flujo de rotor definido en la referencia
fija de estator, y la referencia sincrónica del flujo del rotor, así como la representación de
la corriente de estator en las componentes qd en la nueva referencia, las mismas que son
responsables del torque y flujo.
En la práctica, la magnitud del flujo del rotor puede ser ajustado a través de controlar ieds ,
y la orientación del eje d del sistema de referencia con el flujo del rotor puede conservarse
manteniendo la velocidad de deslizamiento o ieqs de acuerdo con la ecuación 3.12, como lo
′
resume [2]. Con la adecuada orientación de campo, la dinámica de λder será confinada al eje
d, y es determinada por la constante de tiempo del rotor, como lo indica la ecuación 3.13:
72
Figura 3.2: Referencia del Flujo del Rotor
′
r Lm
λdr = ′ r ′ ieds
r r + Lr p
′e
(3.13)
Existen diversas formas en las que se ha difundido el control por vector de campo, cuya
diferencia básica entre ambos casos está en la forma como se obtiene la posición angular del
flujo del rotor, el control puede ser:
Control de Campo Orientado Directo, cuando el ángulo ρ de la Figura 3.2 está siendo
medido directamente con medidas directas de flujo de entrehierro o en su lugar tales
variables son producto de estimadores de flujo del rotor y velocidad.
Control de Campo Orientado Indirecto, cuando dicho ángulo es determinado en base
a medidas sustitutas auxiliares, como la velocidad de deslizamiento.
3.2.2. Control por Vector de Campo en Estado Estable
3.2.2.1.
Consideraciones del Circuito Equivalente Convencional
Para análisis de estado estable es común la utilización del circuito mostrado en la Figura 3.3,
que contiene dos inductancias en serie referidas al lado del estator y la inductancia parásita
del rotor.
El torque es representado en el circuito equivalente como proporcional a la potencia de entrehierro que es la potencia en la resistencia definida por rsr , donde rr es la resistencia del
rotor y s es el deslizamiento.
73
Figura 3.3: Circuito Equivalente de la Máquina de Inducción
Figura 3.4: Circuito para Análisis de la Máquina de Inducción
Te = 3
P Ir2 rr
2 s ωe
(3.14)
Donde, P es el número de polos y ωe es la velocidad angular eléctrica de estator, la ecuación
3.14 puede ser escrita en términos del voltaje Er en la resistencia rr para obtener la ecuación
3.15, lo que permite ver que se requiere un control del voltaje Er que a la vez afectará al
torque.
P Er Ir
(3.15)
Te = 3
2 ωe
3.2.2.2.
Circuito Equivalente Modificado
En pos de ilustrar la similitud en la producción de torque entre la máquina dc y la máquina
de inducción el circuito equivalente convencional es modificado como lo indica [3], obteniéndose el que se observa en la Figura 3.4, cuyo desempeño de estado estable es el mismo.
Como se observa, para controlar el torque se reduce el ramal de rotor quitando la inductancia del rotor. Con esta nueva representación, la nueva reactancia de magnetización tiene el
mismo voltaje en sus terminales y puede ser asociada directamente con el flujo produciendo
el voltaje Er . En efecto, este nuevo circuito representa el desempeño del sistema en términos
del flujo del rotor, lo que resulta útil para el control de torque ya que esto pone en evidencia
a la componente de la corriente de magnetización responsable por el flujo del rotor. Donde
la inductancia transitoria de cortocircuito de estator queda definida como:
′
′
Xs = ωe Ls = ωe
74
L2
Ls − m
Lr
(3.16)
Que también es conocida como un parámetro transitorio de la máquina y suele obtenerse
′
aproximando Xs ∼
= Xls + Xl′r . Más importante, la corriente de estator ha sido dividida en dos
componentes, una que atraviesa el nuevo ramal de magnetización llamada Isφ y otro a través
de la nueva resistencia del rotor denominada IsT .
El voltaje Er ha sido identificado como la caida de voltaje en la resistencia del rotor afectada
por el deslizamiento, ésta es entonces igual a la variación del flujo del rotor en el tiempo,
definido por:
Er = jωe λr
(3.17)
Para que luego el torque quede definido por la ecuación 3.18 y el flujo por la 3.19
Te = 3
P Lm
λr IsT
2 Lr
(3.18)
λr = Lm Isφ
(3.19)
Lm
Lr Ẽr
j LLmr Xm
(3.20)
˜ queda definido por:
Donde, el fasor Isφ
˜ =
Isφ
=
Ẽr
jωe Lm
Combinando la ecuación 3.20 y 3.17 se obtiene la expresión del flujo de rotor de la ecuación
3.21 lo que demuestra que el flujo de rotor es controlado por Isφ .
˜
λ˜r = Lm Isφ
(3.21)
La componente de corriente asociada al torque queda definida por:
˜ =−
Isφ
Lr ˜
Ir
Lm
(3.22)
Así también la corriente IsT queda definida de la siguiente manera:
˜ =
IsT
Lm
Lr Ẽr
2
Lm
rr
Lr2 s
=
Lm sẼr
=
Lr r r
(3.23)
Luego, combinando las ecuaciones 3.20 y 3.23 se obtiene:
˜ =j
IsT
Lr
˜
sωe Isφ
rr
(3.24)
que es una consecuencia directa de que el voltaje en la reactancia de magnetización y la resistencia del rotor sea el mismo, además esto implica que para el control de torque utilizando
las dos componentes de corriente existirá asociado un único valor de deslizamiento. Y el
75
Figura 3.5: Diagrama Fasorial del flujo y corrientes de estator
torque desarrollado será:
Te = 3
P Er Ir
P L2
= 3 m Isφ IsT
2 ωe
2 Lr
(3.25)
Que demuestra que las propiedades del control de torque deseado en términos de las componentes de corriente Isφ e IsT . Podría asemejarse su funcionamiento a una máquina de dc
ya que Isφ cumple el rol de la corriente de campo mientras que IsT la corriente de estator ( o
armadura). El diagrama fasorial se indica en la Figura 3.5
Luego, redefiniendo la ecuación 3.24 se obtiene la condición necesaria para el torque con su
respectivo efecto en el deslizamiento.
sωe =
rr IsT
Lr Isφ
(3.26)
Esta expresión indica que la corriente de estator junto con el deslizamiento determinan completamente el torque que desarrolla la máquina. Una característica principal de las componentes de corriente Isφ e IsT es que ambas son ortogonales entre sí y las dos definen tanto
el flujo como el torque de la máquina y una vez que son seleccionadas determinan un único
valor de deslizamiento para cualquier instante en estado estable.
3.2.2.3.
Rendimiento con Flujo Constante de Rotor
Como ya se mostró una vez que se ha eliminado la inductancia de dispersión del rotor se
elimina los transitorios de corriente en el control orientado al flujo del rotor. Al usar el nuevo
concepto de la potencia electromagnética, se obtiene:
Pe =
I 2 rr
ωe
Te = r
P
s
(3.27)
2
(3.28)
así como:
2
Ir =
ωe λr s
rr
Luego, al combinar las ecuaciones 3.27 y 3.28 se produce:
76
Figura 3.6: Características de Flujo de Rotor Constante
Te =
Pλr2
sωe
rr
(3.29)
Entonces se observa que el torque electromagnético producido es proporcional a λr2 y a la
frecuencia del rotor sωe . Por ello, no se aprecia ningún par máximo. Sin embargo, el flujo
de estator está limitado (a más de la velocidad base) por el voltaje disponible y también λr
debe ser reducido para limitar el par. La característica correspondiente de par y velocidad se
vuelve una línea recta una vez que el flujo de rotor se mantiene constante, como la que se
muestra en la Figura 3.6 como en un motor DC con excitación independiente, con todas las
ventajas concurrentes de estabilidad y control.
La velocidad del motor de inducción se puede variar por medio de la frecuencia de deslizamiento sωe , hasta la velocidad base y mediante debilitamiento del flujo del rotor y con el
aumento de sωe a más de la velocidad base. El flujo reducido del rotor se puede emplear
también por abajo de la velocidad base para bajos valores de par, a fin de reducir el flujo en
el entrehierro y, en consecuencia, reducir las pérdidas en el núcleo.
Generalmente los flujos de rotor, estator y entrehierro no difieren mucho entre sí en magnitud,
excepto cuando las corrientes de estator ( y del rotor ) sufren transitorios fuertes, de ahí que
regulando el flujo de rotor se puede regular también el de entrehierro, que en la región de
flujo constante permite obtener torque máximo a cualquier velocidad.
77
Figura 3.7: Esquema de Control de Campo Orientado Directo
3.2.3. Control de Campo Orientado Directo
3.2.3.1.
Control de Campo Orientado Directo por Corriente
Controlar la corriente de estator es más directo que controlar el voltaje de alimentación, con
un adecuado voltaje en el bus de DC para el inversor y dispositivos de conmutación rápida
el control directo de la corriente de estator puede llevarse a cabo. El método directo se basa
en sensar el flujo de entrehierro usando especialmente con bobinas especiales o dispositivos
de Efecto Hall. Aunque en el caso de las bobinas presentan problemas a bajas velocidades y
los dispositivos Hall suelen ser frágiles y sensibles a la temperatura. La Figura 3.7 tomada
de [2] muestra el esquema del control de campo orientado directo en su forma más común.
De la medida del flujo en el entrehierro se obtienen el de rotor, y el ángulo ρ que es el ángulo
deseado para la orientación del campo.
Pero, como se identifica en la Figura 3.7 primero será necesario un cambio de coordenadas
de las variables conocidas de voltaje y corriente, las corrientes abc medidas en la referencia
fija quedan determinadas por las ecuaciones 3.30 y 3.31.
2
1
1
isqs = ias − ibs − ics
3
3
3
(3.30)
1
isqs = √ (ics − ibs )
3
(3.31)
s
s queda definido por L
s
Es conocido que el flujo mutuo λmq
m iqs + iqr , luego se puede determinar el flujo del rotor en W b.vuelta a partir de las cantidades medidas como lo expresa la
ecuación 3.32
78
′
′
L s
λqr = r λmq
− Llr isqs
Lm
′s
(3.32)
En forma similar para la componente d se obtiene:
′
λdsr =
′
′
Lr s
λmd − Llr isds
Lm
(3.33)
Conociendo las componentes del flujo del rotor es posible encontrar el valor de ángulo ρ con
relaciones trigonométricas, de las ecuaciones
′
λdsr
sin
− ρ = cos ρ = ′ s 2
λr
π
(3.34)
′
λqs
− ρ = sin ρ = ′ sr cos
2
λr
π
Donde,
′ ′ q
′ 2
e s
′ 2
λr = λr = λqsr + λdsr
(3.35)
Los cálculos indicados por las ecuaciones 3.30 a la 3.35 se llevan
a cabo en el bloque de
′e
orientación de campo de la Figura 3.7. El valor calculado de λr se realimenta a la entrada
del controlador que regula el flujo. Dentro del bloque de Cálculo del Torque se utilizan los
′
valores de λr e y ieqs en la ecuación 3.6 para estimar el torque desarrollado por la máquina y
el torque estimado es realimentado a la entrada del controlador de torque.
Las respectivas salidas de los controladores de flujo y torque generan los valores deseados
e∗
de ie∗
qs e ids , en la referencia del campo orientado, para que luego, el bloque de Transformación QD a ABC de la Figura 3.7 cambie tales variables, primero de la referencia del campo
orientado a la referencia estacionaria con las ecuaciones 3.37 y 3.36, y finalmente a variables
ABC con las ecuaciones 3.38.
e∗
e∗
is∗
qs = iqs cos ρ + ids sin ρ
(3.36)
e∗
e∗
is∗
ds = −iqs sin ρ + ids cos ρ
(3.37)
i∗as = is∗
qs
(3.38)
i∗bs
√
1 s∗
3 s∗
i
= − iqs −
2
2 ds
79
Figura 3.8: Esquema de Control de Campo Orientado Directo por Voltaje
i∗cs
√
1 s∗
3 s∗
= − iqs +
i
2
2 ds
Una vez que se tienen los valores de corrientes de estator consigna se utiliza un inversor
PWM con histéresis para generar el voltaje que ingresará a los terminales de la máquina de
inducción.
3.2.3.2.
Control de Campo Orientado Directo por Voltaje
La orientación de Campo de las corrientes de estator pueden ser obtenidas aplicando los voltajes de estator apropiados. Luego, la estrategia en el campo orientado es evitar las posibles
perturbaciones en el flujo del rotor lo menos posible, ante cambios de carga, por ejemplo.
Para el análisis del control de campo orientado directo alimentado por un inversor fuente de
voltaje, se utiliza un modelo transitorio en el que para la condición de que el flujo del rotor se
mantiene constante, la máquina puede representarse con voltajes constantes para las inductancias transitorias de estator. El esquema de la Figura 3.8 muestra una sección de desacople
adicional [2].
Las corrientes en la referencia del campo quedan definidas por la transformación de tales
variables a coordenadas del sistema de referencia fijo y luego al de campo con las ecuaciones
3.39 y 3.40.
ieqs = isqs cos ρ − isds sin ρ
80
(3.39)
ieds = isqs sin ρ + isds cos ρ
(3.40)
Debido a que el control trata de mantener el flujo fijo y no debe existir componente del
mismo en q, se cumplen las siguientes relaciones:
′
Q = veqs − ωe Ls ieds
(3.41)
′
D = veds + ωe Ls ieqs
La Figura 3.8 tomada de [2] muestra en diagrama de bloques el esquema de control por
orientación de campo directo alimentado por un inversor fuente de voltaje, y como se espera
es necesaria una etapa de desacople, ya que los controladores para torque y flujo generarían el
valor del lado izquierdo de las ecuaciones 3.41 y de ellas se obtiene el voltaje qd de referencia
que ha de ser transformado a variables abc, voltajes que deberá suministrar el inversor fuente
de voltaje.
Se entiende que el ángulo ρ es conocido utilizando el procedimiento anterior, con las ecuaciones 3.34, para luego determinar los voltajes de referencia:
e∗
e∗
vs∗
qs = vqs cos ρ + vds sin ρ
(3.42)
e∗
e∗
vs∗
ds = −vqs sin ρ + vds cos ρ
(3.43)
v∗as = vs∗
qs
(3.44)
√
3 s∗
1
v∗bs = − vs∗
v
qs −
2
2 ds
i∗cs
3.2.4.
√
1 s∗
3 s∗
= − vq s +
v
2
2 ds
Control de Campo Orientado Indirecto
Para operacion a baja velocidad el uso de sensores de flujo no resulta muy confiable aparte
de económica, razón por la cual una forma común es el control de campo orientado indirecto,
en el que a fin de determinar el valor de ρ se utilizan medidas que no está relacionadas con
la medida de flujos del rotor pero cumpliendo las condiciones de las ecuaciones 3.6, 3.12 y
3.13 para que se satisfaga la condición para una apropiada orientación del campo, luego, el
81
Figura 3.9: Esquema de Control de Campo Orientado Indirecto
torque puede ser controlado regulando ieqs y la velocidad de deslizamiento ωe − ωr , mientras
que el valor de flujo puede serlo al modificar el valor de ieds , de ahí que para un valor de flujo
′
deseado λr ∗ el valor de la corriente ie∗
ds puede obtenerse de la ecuación 3.45.
′
r Lm
λdr = ′ r ′ ie∗
r r + Lr p d s
′∗
(3.45)
Mientras que para el torque deseado dado para un nivel de flujo del rotor, el valor deseado
de ie∗
qs de acuerdo a la ecuación 3.46, y una vez que se consigue la orientación adecuada, la
′
e
idr es cero y λder = Lm ieds y la relación para la velocidad de deslizamiento queda determinada
por la ecuación 3.47
Te∗
3 P Lm ′ e∗ e∗
= . .
.λ .i
2 2 Lr′ dr qs
ω2∗ = ωe − ωr =
rr′ ie∗
qs
′ . e∗
Lr ids
(3.46)
(3.47)
Si estas condiciones son satisfechas, se asegura el desacoplamiento en las ecuaciones de voltaje de rotor, en qué medida se consiga esto depende en gran manera de los parámetros del
motor que son usados. Luego, los valores de resistencia del rotor y la inductancia de magnetización suelen variar mucho comparado con el resto de parámetros de la máquina, existen
algunas técnicas de control adaptivo que con frecuencias son utilizadas para actualizar los
valores tales parámetros en línea, para luego utilizarlos en la técnica de campo orientado para
garantizar la adecuada operación del sistema[12].
82
Figura 3.10: Control de Campo Orientado Directo sin Sensores
La Figura 3.9 muestra el esquema de control de campo orientado indirecto en el que se utiliza
un inversor fuente de corriente controlado por Modulación por Ancho de Pulso (PWM) que
se genera de acuerdo al error entre la corriente de referencia y la medida. La orientación del
flujo del rotor, ρ, queda establecida como la suma de ángulo del rotor medido a través de un
sensor de posición, θr , y el ángulo θ2 , que se obtiene al integrar la velocidad de deslizamiento
ω2∗ . Entonces, con simples relaciones trigonométricas se puede definir las funciones seno y
coseno del ángulo ρ con las ecuaciones 3.48.
cos ρ = cos (θr + θ2 ) = cos θr cos θ2 − sin θr sin θ2
(3.48)
sin ρ = sin (θr + θ2 ) = sin θr cos θ2 + cos θr sin θ2
3.3. Control de Campo Orientado Directo sin Sensores
3.3.1. Control de Campo Orientado Directo con Estimación de Flujo y
Velocidad con EFK
El Control por Vector de Campo requiere de realimentación de flujo de rotor, de torque y de
velocidad, obviamente utilizar sensores de flujo y velocidad no solo resulta poco confiable
sino costoso, por lo que el esquema implementado es el de la figura, donde el Estimador
Filtro de Kalman es el que estima el valor de flujo de rotor, sus componentes ψqr y ψdr en la
referencia fija así como la velocidad.
La respuesta del filtro en el sistema es confiable, una vez que genera las variables necesarias
83
de realimentación todo el esquema del control por orientación directo es el mismo, con la
diferencia que el bloque del estimador es el que genera el ángulo de orientación. También
están presentes los tres controladores y se cumplen las relaciones de las ecuaciones 3.34 y
3.35 para obtener el ángulo ρ necesario para luego obtener las corrientes de referencia de las
ecuaciones 3.36, 3.37 y 3.38.
El uso del estimador de estado omite los sensores del sistema de control, aunque supone
algoritmos que se llevarán a cabo con dispositivos muy veloces, pero en comparación con el
costo y la confiabilidad resultan una buena opción.
3.3.2. Controladores PI para el Control de Campo Orientado Directo
El control vectorial directo, independientemente de como obtiene la realimentación de velocidad, requiere básicamente de un controlador PI de velocidad, otro para el flujo y otro para
el torque. En vista de que el algoritmo de estimación de velocidad es un algoritmo recursivo,
que se actualiza en cada tiempo de muestreo, es necesario utilizar controladores PI discretos
para cada variable especificada, entonces la forma del compensador en dominio de z, es:
T
(3.49)
z−1
Donde T es el tiempo de muestreo y es el mismo que utiliza el estimador y los controladores.
G = K p + Ki
3.3.2.1.
Controlador de Flujo de Rotor
La meta del Control por Vector de Campo es mantener la amplitud del flujo del rotor en
un determinado valor, a menos que trabaja en una región de debilitamiento de flujo o con
optimización de flujo y solo modifica la componente de corriente del torque para regularlo.
El controlador de flujo de rotor ψr , ajusta el valor de la corriente directa, de tal manera que
mientras más rapida sea la respuesta del sistema compensado se estabilizará más rápido el
flujo y, llegará a un valor determinado, constante, que es una de las condiciones del control
vectorial.
El control del valor o intensidad del flujo es esencial para evitar la saturación y para reducir
las pérdidas en el núcleo con bajos valores de torque y, con ello, se mejora la eficiencia
y el factor de potencia. Así mismo, ya que las variaciones en el flujo podrían ser lentas, la
constancia en el flujo podría permitir un control rápido del par, que es esencial para el control
de velocidad[17].
3.3.2.2.
Controlador de Torque
El controlador de torque luego determina que ajustes deben realizarse en la corriente de
estator para asegurar la producción del torque requerido[18], que implica ajustar el valor de
84
la corriente de cuadratura a través de un controlador PI del error de torque, el torque es una
variable lenta y el controlador tiene la limitación de que no puede ser más lento que el del
flujo ya que una condición para el control de torque a través de la corriente es que el flujo se
mantiene constante, de ahí que para los ensayos del controlador se encuentra que se obtiene
una mejor respuesta si se mantiene la ganancia proporcional de este controlador supera a la
del flujo.
3.3.2.3.
Controlador de Velocidad
En el sistema de control, el regulador de velocidad determina si acelera o desacelera el motor.
Todos los parámetros de los tres controladores han sido probados cerrando el lazo más externo, de velocidad, de tal forma que la sintonización de los filtros ha resultado fruto de
varios ensayos para valores de constantes proporcionales e integrales de cada uno, empezando por los controladores más internos y luego el de velocidad. De ahí que el controlador más
externo, es el que más afecta la respuesta del sistema, de las pruebas realizadas con valores
distintos de ganancia, si ésta es más elevada, se obtienen respuestas con más sobreimpulso
en el torque y flujo.
Independientemente del controlador, una vez que el error es máximo no tardan en saturarse,
por lo que en el arranque suele requerirse corrientes altas que se reducen a medida que la
velocidad se acerca a la referencia.
3.4. Inversor
El conversor de potencia en un manejador de ac de alto rendimiento esencialmente funciona
como un amplificador de potencia, reproduciendo las señales de control generadas por el
controlador de orientación de campo a niveles de potencia adecuados para la máquina de
inducción. Típicamente la alimentación de potencia al convertidor es trifásica, de magnitud y
frecuencia fija, mientras que la salida deberá entregar frecuencia variable, voltaje variable en
condiciones adecuadas para que la máquina trabaje dentro del rango de operación adecuado.
Aunque los controladores de orientación de campo con salidas de voltaje pueden desarrollarse, la mayoría de sistemas proveen referencia de corriente y luego requieren convertidores
de potencia que trabajen como fuentes de corriente controladas. Tal como en sistemas que
contienen lazos de corrientes internos muy parecidos a los lazos de corrientes en un manejador dc de alto rendimiento, la principal diferencia es que el control de corriente requerido
en un manejador de ac debe proveer el control de ambos, de la magnitud y la fase, esto es en
parte el origen del término control vector aplicado a manejadores de ac de alto rendimiento.
Manejadores de alto rendimiento utilizan estrategias de control que desarrollan señales referencia para las corrientes de alterna de la máquina porque así los efectos de la resistencia,
inductancia y FMM inducida se eliminan. Así que, el regulador de corriente funciona como
85
una fuente de corriente ideal y el orden del sistema bajo control es reducido y la complejidad
del controlador es significativamente simplificada[3].
Los reguladores de corriente deben controlar la amplitud y la fase de la corriente de estator,
y constituye el lazo más interno de entre todos los controladores, así que éste deberá tener el
mayor ancho de banda del sistema y deberá tener un error de estado estable de cero o muy
cercano a cero. Desarrollar un regulador de corriente que cumpla con tales características
solía ser una tarea difícil pero nuevas técnicas para conseguirlo se están implementando.
3.4.1. Inversor PWM de Corriente Regulado por Histéresis
Un inversor PWM de corriente controlada operado con una frecuencia en el rango de kHz
puede funcionar como una fuente regulada de corriente con el potencial para una buena
respuesta dinámica y bajo contenido de armónicos, es el más utilizado para conversores en
rango de potencia medio a bajo, a diferencia del inversor fuente de corriente CSI (current
source inverter), el PWM es una fuente natural de voltaje y para hacerlo operar como una
fuente de corriente se requiere un control de lazo cerrado con realimentación directa desde
las corrientes de ac de la máquina. Los sensores para medir la corriente de realimentación
deberán tener un amplio ancho de banda, desde la más baja frecuencia fundamental a ser
controlada (usualmente dc) hasta una superior a la mayor frecuencia de la portadora del
PWM. Usualmente solo dos sensores de corriente son empleados ya que la tercera corriente
se obtiene partiendo de la condición de equilibrio del sistema (la suma de las tres deberá
ser cero), lo que resulta ventajoso puesto que se reduce las señales de error generadas por
el sensor. El esquema básico del inversor regulado se muestra en los esquemas de control
orientado directo e indirecto de las figuras 3.7, 3.10 y 3.9.
El regulador permite reproducir la corriente de referencia en el dominio del tiempo con un
rizado de alta frecuencia, con valores instantáneos de magnitud y fase.
Mientras que el requerimiento para los sensores podría ser exigente, esto se compensa con
la excelente respuesta y bajo contenido armónico del sistema PWM. El funcionamiento base
del regulador consiste en convertir las señales de error de corriente en el tiempo en señales
de activación para el inversor PWM.
3.4.1.1.
Regulador por Histéresis
El concepto básico de este tipo de controlador se ilustra en la Figura 3.11, este controlador
simplemente aplica la señal el error de corriente a un elemento de histéresis, la salida del
cual provee una señal lógica para activar el elemento de conmutación positivo o negativo.
Generalmente se incluye una etapa que garantice un retardo entre el apagado y encendido
de los interruptores de la misma rama para evitar un posible corto circuito de la fuente de
continua.
86
Figura 3.11: Regulador de Corriente por Histéresis
Mientras que este sistema es muy simple, y provee un buen control de la amplitud de la
corriente, la regulación por histéresis tiene una mayor desventaja al producir una alta tasa de
conmutación variable del PWM. Bajas frecuencias aparecen en el espectro sin tener en cuenta
la frecuencia de conmutación, desafortunadamente, la variación de la tasa de conmutación es
opuesta a las necesidades para un buen control de corriente con la mayor tasa asociada con
las menores frecuencias de referencia [3].
El funcionamiento del controlador de histéresis se explica en términos de un diagrama de
conmutación en un plano complejo indicado en la Figura 3.12, se muestra la referencia del
vector de corriente como i∗s y el valor actual del vector de corriente como is y el error de
corriente como ∆is en el plano complejo, con los ejes a, b y c de un sistema de referencia
trifásico.
Figura 3.12: Diagrama de Conmutación para el Controlador de Histéresis
Los errores de corriente ∆ias , ∆ibs y ∆ics son las proyecciones de ∆is en estos tres ejes. El
controlador de histéresis conmutará la rama de la fase a del inversor cuando ∆ias excede la
banda de histéresis h definida por dos líneas perpendiculares al eje de cada fase, obteniendose
los límites para cada fase, como lo indica la figura 3.13, diagrama que gira junto con el vector
de corriente.
87
Figura 3.13: Diagrama de Conmutación Completo para las fases A, B y C
El controlador limita la operación al interior de la región hexagonal del diagrama de conmutación si se pasa alguna de las bandas, el regulador genera un vector que lleva el error en
dirección opuesta.
La Figura 3.14 muestra los seis vectores característicos del inversor, siempre el vector forza
a la corriente a moverse en la misma dirección de tal manera que cuando se sobrepasa una
de las fronteras para cada fase, es obligada a girar en un sentido llevada por los vectores de
voltaje que generan cada transición, repetitivamente y una alta frecuencia de conmutación se
obtendrá si la banda de histéresis es pequeña, este ciclo será ocasionalmente interrumpido
por la presencia de un voltaje cero, el cual se genera cuando una transición es omitida. La
aplicación del voltaje cero reduce las conmutaciones.
Figura 3.14: Vectores de Tensión
La frecuencia de conmutación del inversor queda definida por [3], con la ecuación 3.50.
fs =
velocidad
Vdc
=
distancia
9hLs
(3.50)
Claramente, la mayor frecuencia de conmutación del inversor ocurre cuando la banda de histéresis es pequeña. Como lo indica [3], en acuerdo con [19], conmutaciones todavía ocurren
88
cuando el vector error cruza los límites del hexágono. De hecho, el limitar los estados de
conmutación a seis vectores, resulta en cambios drásticos de flujos debido a los voltajes de
alimentación, de ahí que muchos autores han introducido los vectores cero que se intercalan
entre los vectores anteriores así se podrán tener valores intermedios de voltaje entre que el
vector de error define un vector y otro.
3.5. Simulación del Control Vectorial Directo Sensorless
3.5.1. Modelo de Control Vectorial Directo implementado en Simulink
El modelo implementado para el control vectorial se muestra en la Figura 3.15, en donde
están presentes: el modelo de la máquina de inducción, el inversor de corriente regulado por
histéresis, bloque de calculo de error y controlador PI de velocidad y otro que recibe las señales de referencia y realimentación para el control del flujo y del torque y la transformación
de coordenadas del sistema sincronico de rotor a la referencia de estator, para luego la inversa para obtener las corrientes abc. Además está presente el bloque de estimación del flujo y
la velocidad, que contiene el algoritmo filtro de Kalman desarrollado en el capítulo anterior.
En el apéndice 2 se encuentra en detalle los diagramas y programas de cada bloque.
Figura 3.15: Modelo de Control por Vector de Campo en Simulink
89
3.5.2. Simulación del Inversor con Regulador de Corriente
Las condiciones iniciales del inversor regulado por corriente serán las de arranque en vacío
de la máquina de inducción suponiendo que se plantea una referencia de velocidad al inicio
de 325 [rad/s], la forma de onda característica del inversor fuente de voltaje regulado por
corriente para cada fase se muestra en la Figuras 3.16 a 3.18, han sido generadas haciendo
que los interruptores del inversor se activen cada vez que se supera la banda de histéresis
de 0.25 A ya sea para encenderse, cuando el error es positivo o para apagarse cuando es
negativo. Considerando una fuente de 300V, y con los parámetros del motor de prueba, de
acuerdo a la ecuación 3.16 y 3.50 la frecuencia de conmutación promedio es cercana a 3
KHz.
Figura 3.16: vas
Figura 3.17: vbs
90
Figura 3.18: vcs
3.5.3. Resultados de la Simulación del Control Vectorial Directo
3.5.3.1.
Simulación del Sistema de Control y el Estimador de Flujo y Velocidad
Para la simulación se emplea el diagrama de simulink de la Figura 3.15 para una referencia de
velocidad de ωrre f = 200 [rad/s]donde la referencia de flujo se toma de la relación la curva de
flujo asociada con el debilitamiento de campo, que implica que para un rango de velocidad
de cero hasta la velocidad sincrónica el flujo de rotor ha de mantenerse constante, lo que
reduce las corrientes y las pérdidas. Esta curva tiene un valor de ψr = 165 [V ] constante para
el rango de velocidad utilizado. La Figura 3.19 muestra la respuesta de flujo y torque del
sistema, para el arranque en vacío y luego cuando se aplican torques iguales o superiores al
torque nominal.
El objetivo del control por vector de campo es independizar el control de torque y flujo, la
idea es que cada componente de corriente de estator en el sistema sincrónico fijado en el
rotor sea responsable del flujo y del torque, como se puede observar en la Figura 3.20, la
corriente iqse tiene la misma forma de onda del torque, por lo que se entiene que el torque
es proporcional a esta componente, de forma similar, para idse , es la responsable directa del
flujo de rotor.
Las componentes del flujo de rotor en la referencia sincrónica permiten la adecuada orientación, son señales senoidales en esta referencia, como las de la Figura 3.21, que luego, al
simplificar la referencia, se convierten en señales constantes, sobre las cuales el control es
más sencillo ya que la componente en el eje q de la referencia sincrónica del flujo no existe.
La respuesta de velocidad puede ser visualizada en la Figura 3.22, donde están las señales
reales y estimadas ante distintos torque de carga, es obvio que el control cumple su cometido
ya que mantiene la velocidad ante subsecuentes cambios de carga, aunque esto supone incremento de corriente de estator. Esto es posible siempre y cuando el flujo de rotor se mantenga
91
Figura 3.19: Flujo y Torque Real y Estimado para el Control Vectorial para ωrre f =
200 [rad/s]
Figura 3.20: Componentes de Corriente de Estator ante diversos estados de carga
92
Figura 3.21: Componentes del flujo del rotor en la referencia fija
constante.
Figura 3.22: ωr
Como es de esperarse, cuando se trata de bajas velocidades, el filtro de kalman no converge
tan rápido, de ahí que en un inicio esto supone un error, que adicionalmente con el hecho
de que el controlador de velocidad se satura para una condición de arranque, se requieren
corrientes de referencia altas como las que se pueden observar en las Figuras 3.23 a 3.25.
93
Figura 3.23: ias
Figura 3.24: ibs
Figura 3.25: ics
Las formas de onda de referencia presentan un rizado, lo que supondría mayores conmuta94
ciones del inversor por histéresis, que genera mayor rizado en las corrientes de estator, por
ello, la razón de que se utiliza las corrientes provenientes del filtro de Kalman para la realimentación de corrientes para generar el regulador por histéresis para el inversor. Las formas
de onda de las corrientes que entrega el filtro se pueden visualizar en las Figuras 3.26 a 3.28
y contienen un rizado mínimo, que es una característica del estimador elimina el ruido de la
señal de corriente.
Figura 3.26: ias
Figura 3.27: ibs
95
Figura 3.29: Respuesta ante Cambios en la Referencia de velocidad
Figura 3.28: ics
3.5.3.2.
Simulación del Sistema de Control ante Cambios de Referencia
Cuando se presenta cambios en la referencia, la respuesta del sistema debe mantener la referencia independientemente de otras perturbaciones como el torque de carga. Lo que se
comprueba en la Figura 3.29 , donde se puede observar también que el tiempo de establecimiento es corto para cambios amplios en la referencia.
Como se espera, aunque la referencia de velocidad cambie, el flujo deberá mantenerse, como
se observa en 3.30 y además, se puede establecer el efecto que esto tiene en las corrientes de
estator, como ejemplo, la fase a, de la Figura 3.31 muestra que durante el período en que la
velocidad tiende a estabilizarse la corriente es alta pero apenas durante un instante, puesto
96
Figura 3.30: Efecto en el flujo del cambio en la referencia
Figura 3.31: Efecto en la Corriente debido al Cambio de Referencia de Velocidad
que se reduce a medida que alcanza el tiempo de establecimiento.
3.6. Ventajas y Desventajas del Control por Vector de Campo Directo
3.6.1. Ventajas y Desventajas del Control por Vector de Campo Directo
Sensorless
Entre las ventajas que se obtienen en el control por Vector de campo se encuentra que gracias
a la transformación de coordenadas se puede obtener un control independiente de torque y
flujo de la máquina de inducción y no solo esto sino que esto permite manipular corrientes continuas (en la referencia sincrónica), para luego obtener las corrientes senoidales de
referencia necesarias, lo que reduce la complejidad del control.
97
El control orientado al campo o control vectorial incluye el control desacoplado de cada valor
de flujo y par, por medio de un cambio coordinado en la frecuencia primaria y el voltaje. El
control del valor o intensidad del flujo es esencial para evitar la saturación y para reducir las
pérdidas en el núcleo con bajos valores de par y, por ello, se mejora la eficiencia y el factor
de potencia. Así mismo, ya que las variaciones en el flujo podrían ser lentas la constancia
en el flujo podría permitir un control rápido de par, que es esencial para el control rápido de
velocidad [17].
La implementación del inversor utilizado en el modelo de simulación es muy sencillo, no requiere de temporizadores que definan períodos sino solo de comparadores con histéresis para
el error de corriente en cada fase, que generan las señales de activación de los interruptores
del inversor y el desempeño es satisfactorio.
Obviamente que implementar el control vectorial sin sensores de velocidad y flujo reduce el
costo de implementación del sistema de control, por lo que es una buena alternativa cuando
se requieren aplicaciones en donde la precisión no es lo que prima ya que puede existir un
error de estimación que se introduce dentro del sistema, lo que puede afectar la respuesta
del control, haciendo que exista un margen de diferencia entre el valor real al que llega la
velocidad y el que se estima.
Entre las desventajas de este sistema de control podríamos recalcar que requiere la sintonización de tres controladores PI, cuyas ganancias proporcionales e integrales se calibran para
un desempeño adecuado y también se conserva la relación de dependencia de la respuesta
final del sistema queda afectada por el controlador más externo que es el de velocidad.
En general cuenta con muchos elementos para el control, omitiendo los sensores, requiere
transformación de coordenadas al sistema de referencia fijado con el flujo del rotor tanto
directa como inversa, y, requiere adicionalmente un control para el error de corriente, que
en esta ocasión fue simplificado al utilizar un control on - off para la corriente en cada fase,
lo que resulta en mayor complejidad para el algoritmo de control sin contar el hecho de que
para su implementación se requiere dispositivos que procesen la información recibida por
los sensores de corriente y voltaje, los procese con transformaciones de coordenadas y tome
la acción de control respectiva en cada tiempo de muestreo, que en ocasiones suele ser muy
pequeño para que se obtenga una respuesta satisfactoria del filtro.
Además, el algoritmo utilizado para la estimación de la velocidad mecánica del rotor y de
los flujos es dependiente de los parámetros de la máquina, resistencias e inductancias que
en régimen permanente suelen ser alteradas por la temperatura, se presentan limitaciones
aunque es una buena aproximación, para compensar tal variación de parámetros, se están
desarrollando algoritmos para estimación de parámetros en línea con el sistema.
Una vez que se introducen controladores PI en el sistema de control, cuando el error es
grande, terminan llegando en poco tiempo a su valor de saturación, lo que, en el caso de la
máquina de inducción implica corrientes de referencia altas, incremento de la corriente en el
98
tiempo de establecimiento que demora la señal de velocidad en acercarse a la referencia. Podría compensarse el efecto ubicando una referencia variable en lugar de variaciones bruscas
en la misma, ya que el error inicia en un valor menor y se reduce a medida que se acerca a la
referencia. Generalmente se obtienen corrientes elevadas en el arranque, por lo que se puede
reducir esto con una referencia variable tipo rampa en el arranque, con lo que se consigue
que el tiempo en el que la corriente es alta se reduzca.
Otro aspecto es que pese a que la técnica de control vectorial lleva como veinte años de
desarrollo, se ha comprobado que requiere un modelo avanzado que introduzca condiciones
anormales como la saturación [20].
99
CAPÍTULO 4
Control de Torque Directo de la Máquina
de Inducción
4.1. Introducción
Los accionamientos de motores de inducción de altas prestaciones dinámicas requieren un
control preciso e independiente tanto del torque como para el flujo. La mayoría de los esquemas modernos están basados en el método de campo orientado o control vectorial analizado
en el capítulo anterior. De ahí que, el control vectorial intenta controlar el motor de inducción
como un motor de corriente continua de excitación independiente, la clave del éxito de esa
estrategia es el conocimiento correcto de la posición del flujo del rotor.
Debido a que el flujo del rotor es susceptible a variaciones causadas por el incremento de
temperatura y el nivel de saturación de la máquina ya que la constante de tiempo se altera resultando en que el comportamiento dinámico y el de régimen permanente se vean afectados
de forma considerable con el cambio de los parámetros de la máquina. Por consiguiente, se
han desarrollado muchos algoritmos y esquemas para estimar los parámetros de la máquina
en línea. Sin embargo, como es de esperarse, estos esquemas aumentan de forma considerable la complejidad y el costo del sistema, lo que en muchas ocasiones los convierte en
prohibitivos.
Por otra parte, con el éxito logrado por el control vectorial en el campo de los accionamientos
de altas prestaciones, aparecieron los estudios novedosos de Takahashi y Noguchi [21] que
se desvían y alejan de la transformación de coordenadas y de la analogía entre el control
vectorial y el control del motor de DC y propusieron la técnica de Control de Torque Directo
(DTC) para obtener una rápida y buena respuesta dinámica del par y del flujo estatórico.
Las investigaciones en el campo del control de los accionamientos eléctricos han llegado a
la utilización de nuevas de técnicas de control dentro de las más actuales está el DTC (Direct
Torque Control), o control de Torque directo, estrategia, que ofrece una respuesta muy rápida
del par y un comportamiento dinámico elevado, utilizando además un modelo más sencillo
100
que el empleado con el antiguo control de campo orientado.
4.1.1. Principio de Operación del Control de Torque Directo (DTC)
El principio de operación básico para el control directo del par implica el cálculo instantáneo
de los valores de torque y flujo a partir de las variables de voltaje y corriente de estator de
la máquina de inducción. El torque y el flujo se controlan directamente y de forma independiente mediante la selección óptima de los estados de conmutación del inversor y limitando
los errores del flujo y del par mediante controladores de histéresis de dos niveles para el
primero y de tres niveles para el segundo. En la Figura 4.1 se observa el esquema básico de
control.
El Control de Torque Directo controla las concatenaciones de flujo directamente antes que
utilizando corrientes como en el control vectorial, como el torque electromagnético en la
máquina de inducción es el producto de los flujos de rotor y estator y el ángulo entre ellos γ,
como lo define la ecuación 4.1
Te = |ψs | |ψr | sin γ
(4.1)
Como la constante de tiempo del rotor es mayor que la del estator en la máquina de inducción
jaula de ardilla, el flujo del rotor puede asumirse como invariante en magnitud así como en
posición, en un corto intervalo de tiempo, por lo que en ese intervalo el torque dependerá de
la magnitud y el sentido de rotación del flujo estator, que pueden ser cambiados aplicando los
voltajes adecuados a los devanados del estator, también el ángulo γ entre los flujos de rotor
y estator también puede ser incrementado o decrementado, lo que permite ajustar el torque
electromagnético al torque de carga necesario.
La estrategia del controlador directo de par, se fundamenta en ajustar el par eléctrico al de
la referencia, mediante el control de la magnitud y sentido de rotación del vector espacial
del enlace de flujo del estator. Esta posibilidad de ajuste, define seis zonas de operación
o sectores dependiendo de la posición del vector espacial del enlace de flujo del estator.
Estas zonas de control coinciden con la localización de los vectores espaciales de tensión del
inversor.
La técnica del control de torque directo parte de que la rotación adecuada del vector de flujo
del estator utilizando estados de conmutación adecuados para el inversor [22]. Además, se
controla también la magnitud del vector de flujo de estator, con la selección apropiada de
diversos estados de conmutación del inversor. El valor de estos estados puede cambiarse
dependiendo de los requisitos de la consigna del flujo y de par.
Entonces el esquema de la Figura 4.1 básicamente trabaja de la siguiente forma:
101
Figura 4.1: Esquema del Control de Torque Directo
Calcula el error de torque y de flujo entre la referencia y variables estimadas que resultan de una relación sencilla que asocia voltajes y corrientes de estator; con estas
mismas relaciones se puede obtener la información del sector o la posición angular del
vector de flujo de estator considerando un sistema de referencia qd con referencia fija
en el estator y cuyo eje q se halla a 90º de la variable de estator de referencia.
Una vez que se conoce los errores, éstos dentro de cada comparador con histéresis
generan estados independientes. Con la información del sector donde se encuentra el
flujo se obtiene la tercera variable necesaria para la selección del estado de conmutación tomado de una tabla de conmutación donde se puede seleccionar uno de los ocho
posibles estados del vector espacial de tensión del inversor [22].
4.2. Controlador de Flujo de Estator
4.2.1. Estimación del Flujo de Estator
En términos generales se establece que de la ecuación 1.34 para la máquina de inducción
permitirá el cálculo del flujo de estator como en la ecuacion 4.2:
λ¯s =
Z
v¯s − rs¯is dt
ψ̄s = ωb¯λs = ωb
Z
v¯s − rs¯is dt
(4.2)
(4.3)
En donde al considerar la caída de voltaje en la resistencia de estator rs como despreciable
es obvio que el flujo de estator guarda una relación directa con el voltaje de alimentación. Es
102
posible obtener el valor del módulo del flujo de estator considerando las componentes qd en
una referencia estacionaria, donde se cumplirán relaciones similares a la de la ecuación 4.3
como lo indica las ecuaciones 4.4 y 4.5 .
ψqs = ωb
Z
vqs − rs iqs dt
(4.4)
ψds = ωb
Z
vds − rs ids dt
(4.5)
El módulo del Flujo del Estator quedará definido por:
ψ̄s =
q
ψq2s + ψd2s
(4.6)
Así también se define el ángulo del flujo θs en la referencia estacionaria como:
θs = arctan
4.2.1.1.
ψqs
ψds
(4.7)
Definición del Sector del Vector Espacial de Flujo de Estator
El control directo de torque se fundamenta en ajustar el torque al de referencia, controlando
la magnitud y el sentido de rotación del vector del enlace de flujo del estator. Esta posibilidad
de ajuste, define seis zonas de operación dependiendo de la posición del vector espacial del
enlace de flujo del estator [23].
Una vez definida la magnitud y ángulo del vector espacial de Flujo del Estator, la estrategia
de control DTC requiere como información el sector en el que el flujo se encuentra, el sector
no es más que una de las seis secciones en las que se divide el plano qd de referencia estacionaria, lo que implica que cada una de estas seis zonas de control tiene un ancho de π3 , y
quedan definidas por la ecuación 4.8.
π
π
≤ sector (n) ≤ (2n − 1) . ;
∨n = {1, 2, 3, . . . , 6}
(4.8)
6
6
Conocido θs y definiéndolo entre 0 y 2π es posible determinar el sector considerando la
Figura 4.2, además cada sector coincide con la localización de los vectores espaciales de
tensión del inversor que servirán para el control del flujo y torque.
(2n − 3) .
103
Figura 4.2: Definición de Sectores y Vectores de Tensión
4.2.2. Controlador con Histéresis de Dos Niveles para el Flujo
El control de Torque Directo de la Figura 4.1 utiliza un flujo consigna o referencia ψs∗ , el
cual al compararse con el flujo de estator estimado ψ̄s entrega una señal de error, que queda
definida por la ecuación:
∆ψ = eψ = ψs∗ − ψ̄s
(4.9)
El controlador de Flujo deberá tomar la señal de error y llevarla a un comparador con histéresis de dos niveles cuya frontera inferior para el cambio de estado se define como Hψ−
y la superior es Hψ+ , donde los signos están asociados a si el error es positivo o negativo,
también el ancho de la banda de histéresis queda definida por Hψ = Hψ+ + Hψ− como lo
muestra la Figura 4.3.
Figura 4.3: Controlador de Histéresis de Dos Niveles para Flujo
De esto, se puede resumir el funcionamiento del controlador de flujo de la siguiente manera:
104
Figura 4.4: Banda de Histéresis para el Control de Flujo
Tabla 4.1: Funcionamiento del Controlador de Flujo
El controlador de Flujo lo que hace es, de acuerdo al error de flujo entregar señales discretas
de 0 o 1 de acuerdo a si la acción a tomarse es incrementar o reducir el nivel del flujo, estas
señales forman parte de la información necesaria para la selección adecuada del vector de
tensión que ha de realizar dicha acción. La Figura 4.4 muestra que el objetivo del control es
mantener la magnitud de flujo dentro de la zona definida por:
Cψ = 1
Si
ψs ≤ ψs∗ − Hψ−
(4.10)
Cψ = 0
Si
ψs ≥ ψs∗ + Hψ+
(4.11)
En la regulación DTC, el flujo estatórico se mantiene dentro de los límites de histéresis
definidos, es decir, dentro de la banda elegida. Una vez que los valores de flujo estimado
difirien del valor de referencia o consigna en magnitud superior del límite Hψ+ o inferior
Hψ− se emplea un vector de tensión adecuado para modificar la dirección del vector de flujo
y mantenerlo dentro de la banda de histéresis tal como se muestra en la Figura 4.4
105
4.2.2.1.
Efecto de la frontera del Controlador de Flujo
Si se supone que los límites frontera del controlador de torque se mantienen fijos, o que la
anchura de la banda de dicho controlador es constante, si la anchura de la banda del controlador de flujo es estrecha se produce una elevada frecuencia de conmutación. Además, siendo
el lugar geométrico del flujo estatórico casi circular, se esperan corrientes casi senoidales
y la ondulación de las mismas se reducen significativamente con una distorsión armónica
THD pequeña. Cuando la magnitud de esta banda aumenta, la frecuencia de conmutación
baja y el lugar geométrico del flujo estatórico es hexagonal, lo que aumenta la distorsión en
las corrientes estatóricas lo que suele ser poco conveniente.
4.3. Controlador de Torque
4.3.1. Cálculo del Torque Electromagnético
Como es de esperarse, una vez estimado los flujos de estator es posible calcular el Torque
electromagnético de la máquina de inducción usando las variables qd conocidas, como son
flujos y corrientes de estator, de ahí que se puede obtener dicho valor utilizando la ecuación
4.12:
3
P
λds iqs − λqs ids
Te =
2
2
(4.12)
3
P
Te =
ψds iqs − ψqs ids
4
ωb
4.3.2. Controlador con Histéresis de Tres Niveles
El controlador de torque no es más que un comparador con histéresis de tres niveles, cuyos
límites para el error definido por la ecuación 4.13, son HT + y HT − , el funcionamiento se
puede observar en la Figura 4.5
∆Te = Te − T e
106
(4.13)
Tabla 4.2: Funcionamiento del Controlador de Torque
Figura 4.5: Controlador con Histéresis de Tres niveles para el Torque
Entonces, el funcionamiento del controlador puede resumirse en la tabla 4.2, de lo que se
resume que una vez que la diferencia entre el torque de referencia y el estimado supera el
límite superior, la salida entrega el valor de 1, mientras que si es la inferior será -1 si se
encuentra dentro de los límites y 0 dependerá de la trayectoria del error para que entregue tal
valor.
4.3.2.1.
Efecto de la Frontera del Controlador de Torque
La banda del controlador del torque afecta la tasa de distorsión armónica THD y también la
frecuencia de conmutación. En realidad la frecuencia de conmutación depende las dos bandas
de los controladores de torque y flujo. La banda del controlador de torque afecta directamente
la frecuencia de conmutación, ya que ésta no es fija e implica incremento o decremento del
número de conmutaciones en un período completo en el período de la fundamental.
Además, los límites para el controlador con histéresis de torque será los valores tope entre los
cuales se encontrará el torque electromagnético resultante, además el rizado en la respuesta
del torque comprende la región de la banda de histéresis.
4.4. Tabla de Conmutación del Inversor
En función de los valores discretos generados por los comparadores con histéresis de flujo y
par, y la información del sector en donde se encuentra el vector espacial de flujo, es posible
107
Figura 4.7: Efecto de los Vectores de Tensión para el Flujo en el Sector 1
definir un conjunto de vectores que darán la señales de conmutación al puente inversor, que
es un inversor fuente de voltaje (VSI) como el que se indica en la Figura 4.6.
Figura 4.6: Inversor para la Máquina de Inducción
Donde Sa , Sb y Sc serán los estados de activación de los interruptores superiores del inversor
mientras que el de los inferiores serán las mismas señales complementadas, y específicamente se han definido ocho vectores cuyos estados son:
Tabla 4.3: Estados de Activación del Inversor para cada Vector
Entonces, la Figura 4.7 muestra un ejemplo del efecto de cada vector sobre el vector espacial
108
de flujo de estator en el sector 1, en la tabla 4.4 se resume los efectos de los distintos vectores
para este caso, cada vector no solo modifica la magnitud sino también el ángulo, lo que
resulta en variación del sector donde se encontrará. La variación del flujo afecta fuertemente
la magnitud del torque, ya que el torque queda determinado por el producto vectorial entre el
flujo del estator y el flujo del rotor. El flujo del rotor cambia lentamente por lo que cualquier
variación en el vector espacial de flujo de estator producirá una variación notable de torque.
Tabla 4.4: Efectos de los Vectores de Tensión en el Vector de Flujo de Estator
Como consecuencia de lo anterior se puede crear una tabla de selección óptima para el vector
de Tensión de acuerdo a las salidas de los controladores de flujo y torque, como lo indica la
tabla 4.5:
Tabla 4.5: Tabla de Selección óptima del Vector de Tensión
Entonces, una vez que se establece los valores discretos que salen de los controladores con
histéresis de flujo y torque, y se define el sector en el que se halla el flujo, la estrategia de
control se basa en la selección de los vectores, de acuerdo al error de torque el flujo girará en
sentido horario o antihorario y con una determinada secuencia de vectores conforme el flujo
cambia de sector. La tabla de conmutación óptima, clave para el control de torque directo
está detallada en la tabla 4.6, donde para cada valor de los controladores se indica el efecto
deseado en cada variable sube, baja o se mantiene y acorde al sector se utilizará un vector de
tensión específico para cumplir con tal propósito.
109
Tabla 4.6: Tabla de Conmutación Óptima
Cabe recalcar que los cambios en las salidas de los controladores son asincrónicos e independientes entre sí, no existe la más mínima posibilidad de que conmuten simultáneamente el
controlador de flujo y de torque, lo que garantiza la ausencia de cualquier condición anómala
en la conmutación de los interruptores del inversor.
4.5. Control de Velocidad con DTC
Si bien las aplicaciones que requieren un torque constante suelen ser muy importantes, otra
variable de la que se requiere control suele ser la velocidad, en este caso se analiza la posibilidad de incluir un controlador proporcional integral para controlar la velocidad como lo
ejemplifica [15].
El principal aspecto del controlador PI es la selección adecuada de los valores de las ganancias proporcional e integral, y, si bien existen métodos como el de Ziegher - Nichols, que no
utiliza el modelo ni los parámetros de la planta, suelen obtenerse respuestas oscilantes con
un sobreimpulso alto[24], aunque se desarrollan algoritmos más avanzados, como la sintonización por algoritmos genéticos(GA) ó lógica difusa [24]. Uno de los criterios utilizados
para el diseño del controlador es que ha de ser más rápido que la planta, luego la simulación
facilita ensayos del controlador adecuado, cuya respuesta del sistema quedará descubierta en
los resultados posteriores.
Entonces la selección de las constantes proporcional e integral del controlador PI de la ecuación 4.14 que ajusta el torque necesario manipulando la señal de error de velocidad son
obtenidas por ensayo y error, lo cual fue posible con la simulación.
Ki
(4.14)
s
Es importante destacar que el control de flujo es independiente del de torque ya que se puede
mantener el flujo de estator constante mientras que se cambia el torque electromagnético
para satisfacer la exigencia de velocidad.
Gc = K p +
110
4.6. Resultados de la Simulación del Control de Torque Directo
4.6.1. Modelo del Control de Torque Directo implementado en Simulink
El modelo implementado en simulink se muestra en la Figura 4.8, donde están claramente
definidos los bloques controladores por histéresis de flujo de estator y torque, así como el
estimador de flujo de estator, que calcula las dos componentes qd del flujo, para que el bloque
de cálculo del sector entregue el valor requerido, que junto con los valores de los otros dos
controladores se llevan como entrada a una tabla para la selección del vector de conmutación
óptimo que se utiliza para alimentar el motor de inducción. Todos los programas del modelo
implementado se encuentran en el Anexo 1.
Figura 4.8: Modelo Base del DTC en Simulink
4.6.2. Estimador del Flujo de Estator
La Figura 4.9 muestra el flujo de Estator estimado en las componentes qd de referencia fija,
como lo muestra la ecuación 4.4 para ψqs y la 4.5 para ψds , así como el flujo resultante
estimado ψ̄s y el flujo real obtenido de una máquina de inducción cuyas características son
111
las mismas de la máquina simulada en el primer capítulo y en esta ocasión está alimentada
por un inversor PWM de igual forma al que se utiliza en el segundo capítulo. Para condición
de arranque en vacío, que podría ser un tanto crítica debido a las elevadas corrientes de
arranque.
Figura 4.9: Flujos ψqs , ψds y ψ̄s real y estimado
Por los resultados obtenidos se puede determinar que el estimador utilizado o más bien la
forma en que se lleva a cabo el cálculo del flujo de estator es bastante acertada ya que en
la Figura 4.9 no es posible determinar la diferencia ya que las dos formas de onda real y
estimada son la misma, razón por la que la diferenciación de color o línea resultó inútil.
4.6.3. Simulación de los Controladores de Flujo y Torque
De acuerdo a la definición de la banda de histéresis tanto del controlador de flujo como
de torque se obtienen diferentes conmutaciones pero para mostrar el desempeño de tales
controladores se ha seleccionado una referencia de flujo de ψs = 140 [V ] y la de torque en
Te = 20 [N.m] asumiendo que se tiene un torque de carga de Tl = 15 [N.m] para condición
de arranque, las bandas de histéresis son de Hψ = 4 [V ], Hψ+ = Hψ− = 2; mientras que
112
para torque los límites de histéresis son de HT + = HT − = 0,5 [N.m]. Las señales de error así
como las salidas de los controladores, junto con el sector mostrados en la Figura 4.10 son
las entradas necesarias para la selección del vector de tensión en la tabla de conmutación
óptima.
Figura 4.10: Salidas de Controladores de ψs y Te y Sector del Flujo
Como se puede observar en la Figura 4.10 el control hace que continuamente las variables
de torque y flujo se mantengan dentro de la región de histéresis, apenas se sobrepasan los
límites de las regiones la acción de control compensa y modifica las variables y como es
de esperarse en el arranque todas las variables son cero por lo cual el error es máximo pero
el tiempo transcurrido antes que los errores caigan dentro de las regiones de histéresis es
113
mínimo.
Es posible observar la trayectoria seguida por el flujo de estator para tales condiciones con
un diagrama polar como el que se muestra en la Figura 4.11
90
150
120
60
100
150
30
50
180
0
330
210
240
300
270
Figura 4.11: Trayectoria del ψs
Como es de esperarse el lugar geométrico del flujo tiende a seguir una trayectoria circular.
4.6.3.1.
Simulación del Inversor
Para las condiciones anteriores se obtienen las formas de onda de voltajes de alimentación
para la máquina de inducción generadas por la tabla de conmutación óptima del control de
torque directo, la Figura 4.13 muestra los voltajes de alimentación de cada fase y la Figura
muestra los voltajes qd0 que se requieren para el cálculo del flujo del estator. De las Figura se
observa que se requieren tiempos de conmutación pequeños, lo que implica que los interruptores del inversor en la práctica han de dimensionarse tomando en cuenta que trabajarían a
altas frecuencias de conmutación y requerirían tiempos de encendido y apagado sumamente
cortos.
114
Figura 4.12: Voltajes de Alimentación por fase
115
Figura 4.13: Voltajes de Alimentación por fase
4.6.4. Simulación de la Respuesta del Sistema de Control ante Cambios
de Carga
Ante diversos estados de carga, el control deberá mantener el torque referencia aunque esto
represente una variación de la velocidad la Figura muestra la respuesta que tiene la máquina
para una referencia fija de flujo ψs = 140 [V ] y una referencia de torque Te = 10 [N.m] que es
el torque nominal.
116
Figura 4.14: Flujo ψs real y estimado
Figura 4.15: Torque real y estimado
117
Figura 4.16: Torque de Carga y su Efecto en la velocidad
De entre los resultados obtenidos en las Figuras 4.14 a 4.16 está que el control de torque
mantiene el valor del mismo en la referencia independientemente del torque de carga que se
aplique a la carga, en el caso de que éste sea superior a la referencia la velocidad decrece, si
se desea compensar tal efecto la referencia debe ser cambiada.
Las corrientes de alimentación en estator se muestran en las Figuras 4.17 a 4.19 muestran
los cambios en las corrientes de estator debido a los cambios de carga.
Figura 4.17: ias
118
Figura 4.18: ibs
Figura 4.19: ics
4.6.4.1.
Simulación de la Respuesta del Sistema de Control ante Cambios de Referencia de Flujo
Las Figuras 4.20 a 4.22 muestran la respuesta del sistema a una variación en la referencia de
flujo de 80 a 150 [V] de flujo, torque y velocidad, mientras el torque se mantiene constante
en una valor de 10 [N.m], se observa que si bien el control mantiene el flujo en la referencia
determinada, existe un efecto desfavorable ya que la corriente se incrementa, por lo cual
cuando el flujo es alto, ésta es reducida como se muestra en la Figura 4.23. Además, como
el torque no se ve afectado y la velocidad depende de éste entonces el cambio de referencia
de flujo le afecta.
119
Figura 4.20: Flujo de Estator, referencia y real
Figura 4.21: Flujos qd de Estator para cambio de referencia de flujo
120
Figura 4.22: Flujo de Estator, referencia y real
Figura 4.23: ias en condiciones de cambio de referencia de flujo
4.6.4.2.
Simulación de la Respuesta del Sistema de Control ante Cambios de Referencia de Torque
Como se esperaba, el flujo se mantiene en la referencia de 140 [ V ],en módulo como en
sus componentes qd, como lo muestran las Figuras 4.24 y 4.25. Además, el incremento en la
referencia de torque involucra que la corriente crezca, como se observa en la Figura 4.27.
121
Figura 4.24: Flujo de Estator, referencia y real
Figura 4.25: Flujos qd de Estator para cambio de referencia de torque
122
Figura 4.26: Torques y Velocidad para cambio de referencia de torque
Figura 4.27: ias en condiciones de cambio de referencia de torque
Se puede interpretar las gráficas anteriores que si se mantiene constante el flujo se depende
del control de torque unicamente, se puede decir que éste es independiente bajo esta condición y éste será el que determine las corrientes necesarias en la fuente.
4.6.5. Simulación del Control PI de Velocidad con DTC
El controlador seleccionado después de una serie de ensayos, queda definido por la ecuación
4.14, donde K p = 100 y Ki = 0,01. La Figura muestra la respuesta del sistema a una referencia
ωre f = 250 [rad/s]. Así como una referencia de flujo de ψs = 150 [V ]. La Figura muestra la
conFiguración modificada de la 4.8, cuando se implementa un controlador PI de velocidad.
123
Figura 4.28: Modelo del DTC con controlador de velocidad
Se observa que se tiene una respuesta rápida de velocidad, aunque como se espera, cuando
el valor de error es grande el controlador lleva a valor máximo la acción de control, lo que
lleva el torque a valores altos como se exhibe en la Figura 4.29, con el consecuente efecto
en la corriente de estator, como se observan en las Figuras 4.30 a 4.32 el control de torque
directo para condición de arranque todavía requiere de corrientes de arranque altas, lo que
podría solucionarse haciendo que la velocidad de referencia sea una rampa que termina en la
referencia necesaria, en el arranque del sistema, de tal forma que se supere la inercia inicial,
luego el control en sí no presenta ningún inconveniente.
124
Figura 4.29: ωr
Figura 4.30: ias
125
Figura 4.31: ibs
Figura 4.32: ics
El control cumple su cometido ya que conserva el valor de flujo de estator en la referencia
como se muestra en la Figura 4.33, mientras que el torque electromagnético compensa el
efecto de carga, lo que permite que la referencia de velocidad se mantenga. La Figura 4.34
muestra la referencia de velocidad y la velocidad obtenida con el control ante perturbaciones,
que implican el torque de carga mostrado en la Figura 4.35, que es contrarrestado con el
torque electromagnético de la máquina, que es la señal de salida del controlador de velocidad,
su respuesta se muestra en la Figura 4.35.
126
Figura 4.33: ψs
Figura 4.34: ωrre f y ωrreal
127
Figura 4.35: Te y Tl
Y el efecto en las corrientes, si el torque de carga se eleva implica un incremento de corrientes
de estator, como se observa en las Figuras 4.36 a 4.38.
Figura 4.36: ias
128
Figura 4.37: ibs
Figura 4.38: ics
4.7. Ventajas y Desventajas del Control de Torque Directo
El DTC se considera como una estrategia de control alternativa al control vectorial por ofrecer algunas ventajas frente al campo orientado, que podrían resumirse como:
La estructura del control es mucho más sencilla ya que únicamente son necesarios
dos comparadores con histéresis y un controlador de velocidad, que podría ser un
PI por ejemplo, mientras que el control por campo orientado al menos requiere tres
controladores PI y un modulador PWM. Esto hace que el DTC tenga un ancho de
banda mucho mayor y por consiguiente una respuesta dinámica superior.
El DTC requiere un modelo sencillo del motor de inducción. Además de que el comportamiento de dicho control resulta robusto contra la variación de parámetros ya que
únicamente requiere el valor de la resistencia de estator.
129
No son necesarias las transformaciones de coordenadas entre referencias, ya que sólo se utilizan las variables reales de voltajes y corrientes de estator en el sistema de
referencia estacionario [25].
El DTC ofrece una respuesta dinámica muy alta, regulando directamente tanto el torque como el flujo en forma independiente en base a una tabla de conmutación óptima,
en donde se selecciona los estados de conmutación que cumplen los requisitos de las
consignas de torque y flujo sin necesidad de la modulación PWM.
Su grado de complejidad frente al del campo orientado es medio y por consiguiente
se puede aplicar todos los algoritmos del sistema con tarjetas de adquisición de datos
económicas lo que reduce el costo total del accionamiento.
Sólo es necesario conocer el sector en el que se encuentra el vector espacial de de flujo
sea cual sea la posición actual del mismo.
El Control de Torque Directo es una técnica que se vale de un inversor fuente de voltaje
simple que no requiere de lazos de regulación de corriente con un desempeño igual o
superior al control por vector de campo.
Si bien tiene algunas ventajas de desempeño entre las desventajas se encuentran:
La dependencia de la resistencia del estator para estimar el flujo de estator es una limitante ya que la variación de la resistencia debido al cambio de temperatura empeora el
comportamiento del accionamiento, particularmente a baja velocidad o en el arranque,
donde la caída de voltaje en la resistencia debido a las altas corrientes en la máquina
son considerables con relación al voltaje de alimentación. Actualmente se desarrollan
métodos para corregir esto con algoritmos para estimar la resistencia de estator aunque
suele resultar en aumento de la complejidad del control.
En la implementación de este tipo de control la respuesta de los sensores podría ser
causante de inconvenientes ya que el “offset” en las corrientes de estator medidas por
las sondas y sus circuitos analógicos empeora el comportamiento del accionamiento
produciendo unas ondulaciones en el par de la misma frecuencia que la corriente de
estator. Estas ondulaciones de baja frecuencia se reflejan en la velocidad del motor
generando vibraciones que a largo plazo podrían estropear partes mecánicas del motor
del motor como los cojinetes por ejemplo. Aunque este problema no es únicamente del
DTC sino que es propio de todo sistema que utilice sondas para medir las corrientes
[22].
La corriente de arranque tiene un valor elevado que obviamente puede destruir los
semiconductores utilizados[25].
130
Debido al retardo de tiempo que origina la ejecución de los algoritmos del control
directo del par, los valores de flujo y del par no se pueden limitar exactamente entre
las fronteras determinadas por los controladores de histéresis, lo que implica que, el
torque instantáneo alcanza y excede el límite máximo determinado por los límites del
controlador con histéresis de torque, por eso, cuando se aplica el DTC en forma digital
con tarjetas de adquisición de datos es necesario aumentar al máximo la frecuencia de
muestreo para aliviar el efecto de este retardo de tiempo, en consecuencia las tarjetas
serán más costosas [22].
La ondulación del par generada por el control directo del torque produce vibraciones
en el motor y dificulta la aplicación del DTC en el rango de bajas velocidades, luego,
para reducir la ondulación en el torque con el desarrollo analógico del control directo
del par hace falta reducir al mínimo la banda del controlador de torque, lo que suele
incrementar la frecuencia de conmutación del inversor y serán necesarios semiconductores que puedan trabajar a esas frecuencias de conmutación.
Además, cuando la velocidad es muy baja, la exactitud de la estimación del flujo y del
par con el estimador de lazo abierto es limitada.
Es conocido que la estrategia DTC es afectada por un indeseado efecto en el flujo a baja
velocidad ya que en estas condiciones de operación el sistema de control selecciona
muchas veces los vectores zero de voltaje originando una reducción del flujo debido a
los efectos de la caída de voltaje en la resistencia del estator [25].
Generalmente dos problemas están asociados con los inversores basados controladores
de histéresis: la frecuencia de activación del inversor debido al ancho de las bandas de
histéresis y el posible error de estimación del flujo, lo que podría degradar el desempeño del manejador. Aunque en la actualidad se están desarrollando algoritmos para
compensar estos problemas y conseguir una frecuencia fija de conmutación[26], [27].
Es posible a través de la simulación observar que en todas las condiciones de operación el Control Vectorial es caracterizado por bajos valores de rizado de corriente con
respecto al control de torque directo. Aunque algo a su favor es que manipulando las
bandas de histéresis de los controladores es posible reducir la frecuencia de conmutación de los interruptores del inversor.
Además bajo la suposición de que ambas estrategias de control trabajan a la misma
frecuencia de conmutación, la amplitud del rizado de torque en el DTC es un poco
más alta que el generado en el Control Vectorial, aunque en ese caso éstas suelen ser
más regulares y uniformes [25]
131
CAPÍTULO 5
Conclusiones y Recomendaciones
Conclusiones de la modelación de la máquina de inducción:
El modelo de la máquina utilizado en coordenadas qd0 tiene como características generales
que la componente 0 es nula debido a que se trabaja con un sistema trifásico balanceado,
además el modelo se simplifica al considerar que los voltajes de rotor serán cero porque los
conductores que lo conforman se hallan cortocircuitados. También es importante tomar en
cuenta que existe una condición de ángulo inicial para el sistema de referencia considerado, si
se lo asume nulo se cambiaría la respuesta en variables qd aunque eso no altera las variables
corrientes, voltajes, velocidad y torque, que son independientes del sistema de referencia.
La transformación de sistemas de referencia hallan su aplicación principal en que pueden
reducir variables senoidales a valores continuos en una referencia determinada, lo que resulta
útil ya que una vez que se reduce la complejidad del análisis del sistema trifásico, se pueden
aplicar otras técnicas de control sobre el modelo de la máquina.
En cuanto al funcionamiento de la máquina de inducción es obvio que cuando se lleva a cabo
en condiciones de gran deslizamiento (baja velocidad) genera altas corrientes que incluso
podrían superar a las de saturación, de ahí que se requiere un accionamiento que permita
mantener el flujo constante para que se limite dicha corriente a una igual o inferior a la
nominal.
Conclusiones del Estimador Filtro de Kalman:
El estimador Filtro de Kalman es una buena forma de eliminar los sensores de flujo y mecánicos de velocidad, lo que resulta en que cualquier estrategia de control que se utilice será
más económica por esta razón, si bien, el análisis matemático es un tanto complejo, pero
el estimador es una muy buena aproximación, para aplicaciones que no requieren extrema
precisión, además supera problemas más reales, como son el ruido del proceso y de medición, que de por sí cuando se trabaja con inversores como fuentes es alto, ya que se generan
rizados en las corrientes que normalmente afectarían la estimación.
132
En cuanto al funcionamiento del Filtro de Kalman, es obvio que en el arranque el margen de
error entre el valor estimado y el real es mayor, de ahí que podría ser necesario otra forma
de estimar el flujo con otra técnica, es muy popular usar teoría de control adaptivo para el
diseño del observador, así como (sliding mode control) u otras técnicas actuales que utilizan
modelos de la máquina basados en voltaje para alta velocidad y basados en corrientes para
bajas velocidades [28].
El algoritmo desarrollado para su implementación práctica requiere de un dispositivo de alta
velocidad DSP [9], con buena capacidad de cálculo, cuyo costo será reducido en comparación con los sensores que no se emplearán.
En cuanto a la sintonización de los parámetros del Filtro, se entiende que definir las matrices
de covarianzas del error del modelo Q es más crítico y en la mayoría de los casos, a pesar
de contar con algunos criterios de selección siempre es necesario modificar tales valores una
vez que se cierra el lazo de control de la planta, suele sintonizarse dicho valor junto con la
ganancia del controlador; para la presente aplicación se realiza una calibración manual del
filtro probando valores de covarianzas de ruido y observando la mejor respuesta.
El estimador por filtro de Kalman es dependiente en su totalidad de los parámetros del motor,
de ahí que en condiciones de funcionamiento críticas en la cuales varían dichos valores se
observa que se deja de obtener una buena estimación y es sería necesario introducir algún
algoritmo o método de corregir la variación de tales parámetros.
La ventaja más obvia del del Estimador Filtro de Kalman implica los reducidos costos de
la implementación aunque una de las posibles desventajas implica el que el filtro no es tan
robusto, aunque una vez que se sintoniza bien suele tener una respuesta adecuada.
Conclusiones del Control Vectorial
El control de campo orientado de los motores de inducción sin sensor de velocidad requiere
el cálculo del vector de flujo y de la velocidad a través de un modelo que parte de valores
conocidos de voltaje y corriente para el estimador filtro de kalman, en caso de una falla
en la estimación del vector de flujo así como la variación de los parámetros del modelo la
estabilidad del sistema está en riesgo.
Con la utilización del control de Campo Orientado el complejo motor de inducción puede
ser modelado como un motor DC utilizando transformación de coordenadas qd0 para sistema
fijo (estator) y para uno sincrónico cuyo eje d se alínea con el flujo del rotor, al encontrar las
componentes de la corriente de estator en este nuevo sistema es posible obtener relaciones
que manipulen el torque dependiente de una de dichas componentes y el flujo de rotor de
otra.
Es importante recalcar que el control de torque desarrollado en el capítulo 2 reemplaza muy
bien al análisis en términos del flujo de entrehierro y corriente de magnetización convencional que tiene ciertas desventajas comparadas con la utilización del flujo de rotor, en particular, las corrientes de rotor y de magnetización no son ortogonales entre sí, lo que hace
133
difícil el control, ya que un incremento de torque supone variación de flujo y como no son
independientes el control no puede ser desacoplado para cada variable.
En cuanto a la utilización del estimador filtro de Kalman, es necesario la calibración de los
parámetro Q y R para garantizar que el valor de la velocidad sea e más aproximado al real,
aunque esto supone un valor errático a bajas velocidades, lo que se refleja en altas corrientes.
El arranque en el control vectorial suele involucrar altas corrientes de arranque, por lo esto
puede corregirse haciendo que la referencia de velocidad incremente paulatinamente, como
en una rampa en el arranque, haciendo que la corriente sea inferior.
Si la respuesta de los controladores de torque y flujo son muy rápidos, en un instante la salida
de los mismos será los límites de saturación, lo que se refleja en que la corriente de referencia
para generar la señal del inversor toma valores muy elevados, como se pudo apreciar en las
condiciones de arranque.
La estrategia de control vectorial está basada en proyecciones, en vista de que el torque
electromagnético es producido por la interacción entre los flujos y corrientes de estator (o
flujos y corrientes del rotor), y pueden ser expresados como un producto de fasores espaciales
de corriente y flujo, en pos de conseguir un completo desacoplamiento del torque y del flujo,
la corriente de estator es convertida en dos componentes en el sistema de referencia giratorio,
con dos componentes ortogonales entre sí, una colineal con el flujo, y la otra perpendicular
al mismo, por lo que el torque resulta una expresión lineal sencilla, por lo que el torque es
controlado por la componente q de la corriente de estator.
Una vez que se desarrolla el estimador de flujo, implementar el control por vector de campo
directo es la mejor alternativa ya que con ausencia de sensores de flujo y velocidad el costo
será reducido y se superan posibles inconvenientes en la respuestas de los transductores de
los sensores.
Conclusiones del DTC
El algoritmo para el control de torque directo se fundamenta en la selección adecuada del
vector de tensión que maximice el cambio necesario en el flujo del estator, para ajustar el torque electromagnético, es así que cuando el par se encuentra dentro de la banda de histéresis
se selecciona el vector de tensión cero para reducir al mínimo el número de conmutaciones
en la activación de los interruptores del puente inversor.
Para la determinación del sector del flujo de estator, se utilizan las componentes qd en la
referencia fija, analizadas desde el primer capítulo, con la debida precaución de que los ejes
qd quedan alineados con el eje q perpendicular a la referencia de estator, lo que implica
un ángulo inicial de 90º, ya que depende del autor consultado la forma en que se ubica los
sectores, sin esta consideración la selección del sector es errada y el control infructuoso.
Para el Control de Torque Directo que utiliza un estimador sumamente sencillo ya que basta
integrar una relación simple, se obtendrá un buen desempeño siempre y cuando permanezcan los parámetros de la máquina como la resistencia de estator inalteradas, lo que se halla
134
alejado de la realidad ya que existirá una pequeña variación debido al incremento de temperatura u otras perturbaciones en la máquina de inducción, de ahí que en la actualidad se estén
introduciendo a esta técnica de control formas más exactas de estimar tanto las variables
como los parámetros directamente, lo que mejora el desempeño de este algoritmo de control
aunque suele incrementar su complejidad así como el costo de implementación.
La estrategia de control de Torque Directo es conocida porque produce una respuesta rápida
y robusta en los accionamientos de ac así como baja sensibilidad de la ecuación de voltaje de
estator en la estimación del flujo, sin embargo, en estado estable, pulsaciones de torque, flujo
o corriente pueden ocurrir, y, otro problema podría ser su funcionamiento a bajas velocidades
ya que la estimación sugiere una caída de voltaje mínima en la resistencia de estator y en esas
condiciones esto no se cumple del todo, por lo que si se trata de optimizar el control por esta
técnica, se suele utilizar una estimación continua de los parámetros de la máquina.
Acerca De las Dos Técnicas
El Control por Vector de Campo implementado puede controlar directamente las corrientes
por lo que la entrada de corriente al motor contiene pocos armónicos comparados con los que
aparecen en el Control de Torque Directo. El bajo contenido armónico representa menores
pérdidas y mayor eficiencia, por lo que el control de campo orientado presenta una mejor
eficiencia, aunque el estado del modulador aumenta el tiempo de procesamiento por lo que
se limita también el tiempo de respuesta del torque desde el inversor PWM.
En el control por Vector de Campo, se entiende que una vez que se obtiene el flujo de rotor
constante el control de torque se vuelve independiente del flujo, como se demuestra en las
gráficas de los resultados de la simulación, y, en forma similar, una vez que se mantiene el
flujo de estator constante en el Control de Torque Directo, el control de torque también es
independiente, por lo que las corrientes necesarias para compensar el efecto del torque de
carga resultan del lazo de control de torque únicamente.
De entre las dos técnicas de control que han sido implementadas, en resumen se puede decir
que el Control de Torque Directo provee una mejor respuesta dinámica del torque mientras
que el Control por Vector de Campo provee un mejor desempeño de estado estable.
Se observa que para cambios bruscos en la referencia de velocidad tanto para el control
Vectorial como para el Control de Torque Directo existen exigencias de corriente ya que los
controladores llevan la señal de control a su valor más alto, de ahí que, sea necesaria cambios
suaves en la referencia, al menos en el arranque de la máquina.
Ambas técnicas de control representan los accionamientos más utilizados en la actualidad
y de acuerdo a la aplicación de alta potencia o mediana baja potencia puede seleccionarse
el Control de Torque Directo o el Vectorial, y el costo, ya que el primero requiere menos
capacidad de cálculo del dispositivo para su implementación física.
135
REFERENCIAS BIBLIOGRÁFICAS
[1] P. C. Krause, Analysis of Electric Machinery. McGraw Hill, 1986.
[2] O. CheMung, Electrical Machinery. Prentice Hall, 1999.
[3] D. Novotny and T. Lipo, Vector Control and Dynamics of AC Drives. Oxford Press,
1999.
[4] B. Amuliu, “Sensorless sliding mode control of induction motors using the opertating
condition depedent models,”
[5] MATHWORKS, Control System Toolbox for use with MATLAB. MATHWORKS,
2001.
[6] C. Phillips and N. Troy, Digital Control System Analysis and Design. Prentice Hall,
1990.
[7] N. Masatoshi and Z. Tao, “Nonlinear controller construction based on a model with
state-dependent representation for a nonlinear system,” International Journal of Systems Science, vol. 35, pp. 151–158, 2004.
[8] K. Rajashekara, A. Kawamura, and K. Matsuse, Sensorless Control of AC Motor Drives. IEEE Press, 1996.
[9] T. Instruments, “Sensorless control with kalman filter on TMS320 fixed point DSP,”
tech. rep., Texas Instruments, 1997.
[10] R. Magureanu, C. Illas, V. Bostan, M. Cuibus, and V. Radut, “Luenberger, kalman,
neural observers and fuzzy controller for speed induction motor control,” in APEC,
2000.
[11] M. Grewal and A. Andrews, Kalman Filtering: Theory and Practice. Prentice Hall,
1993.
[12] I. Zein, L. Loron, and C. Forgez, An Extended Kalman Filter and an Appropriate Model
for the Real-Time Estimation of the Induction Motor Variables and Parameters. IEEE
Press, 2000.
136
[13] C. DAngelo, J. Solsona, and G. Garca, “Estimacin de flujo y velocidad en motores
de induccin usando filtro de kalaman extendido,” in X Congreso Argentino de Control
Automatico, 2000.
[14] N. Mohan, T. Undeland, and W. Robbins, Power Electronics: Converters, Applications
and Design. John Wiley and Sons, 1989.
[15] G. M. A. Sowilam, Aplicacion de las redes neuronales en los sistemas de control vectorial de los motores de induccin. PhD thesis, Universidad Politcnica de Catalua, 2000.
[16] D. A. Siemens and Drives, “Control vectorial: La revlucin del cotnrol del movimiento,”
tech. rep., Siemens, 2005.
[17] S. Nasar and I. Boldea, Mquinas Elctricas: Dinmica y Control. CECSA, 1993.
[18] B.Hovigh, W. Keerthipala, and W. Yan, “Sensorless speed estimation of an induction
motor in a field oriented control system,” tech. rep., School of Electrical and Computer
Engineering of Australia, 2001.
[19] A. Nabae, S. Ogasawara, and H. Akagi, “A novel control scheme for current - controlled
pwm inverter,” IEEE Transactions on Industry Applications, vol. 2, pp. 607–701, 1986.
[20] R. Healey, “The implementation of a vector control scheme based on a advanced motor
model,” tech. rep., University of Cambridge UK, 1997.
[21] I. Takahashi and T. Noguchi, “A new quick response and high efficiency control strategy
of an induction motor,” IEEE Transactions on Industry Applications, vol. 22, pp. 820–
827, 1986.
[22] R. Mujal, Respuesta de los motores con Control Directo de Par. PhD thesis, Universidad Politcnica de Catalua, 2000.
[23] J. Aller, A. Bueno, V. Guzman, and M. Jimenez, “Tcnica combinada de control de la
mquina de induccin sin sensores de velocidad,” tech. rep., Facultad de Ingeniera de la
U.V.C., 2004.
[24] S. Gadoue, G. Giaouris, and J. Finch, “Tuning pi speed controller in dtc of induction
motor based on genetic algorithms and fuzzy logic schemes,” tech. rep., University of
Newcastle, 2002.
[25] D. Casadei, F. Profumo, G. Serra, and A. Tani, “FOC and DTC:two schemes for induction motors control,” IEEE Transactions on Power Electronics, vol. 17, pp. 779–787,
2002.
137
[26] I. Nik, R. N. an Y. Mohd, H. Abdul, and A. Ahmad, “Direct torque control if inductions
machines with constant switching frecuency and improved stator flux estimation,” tech.
rep., Department of Energy Conversion. Faculty of Electrical Engineering University
of Teknologi Malaysia Johor, 2001.
[27] E. Galman, J. Carrasco, R. Ortega, G. Escobar, and A. Stanckovic, “A family of switching control strategies for the reduction of torque ripple on the direct torque control
and flux control for induction motors,” in 27th Annual Conference of the IEEE Industrial Electronics Society, 2001.
[28] J. Kim, J. Choi, and S. Seung-Ki, “Novel rotor flux observer characteristic function in
complex vector space for field oriented induction motor drives,” IEEE Transactions on
Industry Applications, vol. 35, pp. 1–8, 2002.
138
ANEXOS A
ANEXOS
A.1. Modelos de Simulink y sus Programas Correspondientes.
A.1.1. Detalle de los Modelos de Simulink Implementados
El presente proyecto cuenta con un conjunto de Modelos que serán cargados junto con la
documentación en el CD correspondiente, con los siguientes directorios y su contenido:
Carpeta
Modelo
Funciones s Utilizadas
Modelo_Maq
Maquina_MI
Modelo_Maq_Ind.c y corriente.c
Kalman
Kalman_Inv
kalman_def.m
Vectorial
Vectorial_K
kalman_def_is.m y calculo0.c
DTC
DTC_def
Flujos_esti.c y sector_cos_0.c
A.1.2. Detalle de los Programas utilizados para los Distintos Modelos
A.1.2.1.
Modelo de la Máquina de Inducción
BLOQUE Modelo_Maq: Programa Modelo Máquina de Inducción.
/* ESCUELA POLITECNICA NACIONAL
* Proyecto de Titulación Previo a la Obtención del Titulo de Ingeniero en Electrónica y
Control
* "SIMULACION DE ACCIONAMIENTOS PARA MAQUINAS ELECTRICAS CONTROLADAS POR VECTOR DE CAMPO Y CONTROL DE TORQUE DIRECTO"
* Autora: Gabriela Susana Llumiquinga Paredes
* Marzo - 2006
*
139
* FUNCION S
* PROGRAMA DE PARA LA MAQUINA DE INDUCCION INCLUYENDO SATURACION MAGNETICA
* Archivo: Modelo_Maq_Ind.c
*
* Estados: x = [Psi_qs Psi_ds Psi_qr Psi_dr wr/wb]
* Entradas: u = [v_qs v_ds Tcarga Psi_msat w]
* Salidas: y = [Psi_qs Psi_ds Psi_qr Psi_dr wr/wb]
*
* PAR_PU = [xls xm xlr rs rr J P]
* REF_PU = [wb]
*
* Nota: Todas las variables estan referidas al estator
*/
#define S_FUNCTION_NAME Modelo_Maq_Ind
#define S_FUNCTION_LEVEL 2
#include "simstruc.h"
#include <math.h>
#define XINIT(S) ssGetSFcnParam(S,0)
#define PAR_PU(S) ssGetSFcnParam(S,1)
#define REF_PU(S) ssGetSFcnParam(S,2)
/*
* mdlInitializeSizes - initialize the sizes array
*/
static void mdlInitializeSizes(SimStruct *S)
{
ssSetNumSFcnParams(S, 3); /*Number of expected parameters*/
if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S))
{
return; /* Return if number of expected != number of actual parameters */
}
ssSetNumContStates(S, 5);
ssSetNumDiscStates(S, 0);
if (!ssSetNumInputPorts(S, 2)) return; /*Number of input ports */
ssSetInputPortWidth(S, 0, 5); /* Width of input port one (index 0)*/
ssSetInputPortDirectFeedThrough(S, 0, 1); /* Direct feedthrough or port one */
if (!ssSetNumOutputPorts(S, 1)) return;
ssSetOutputPortWidth(S, 0, 5); /* Width of output port one (index 0) */
140
ssSetNumSampleTimes(S, 0);
ssSetNumRWork(S, 0); /* number of real work vector elements */
ssSetNumIWork(S, 0); /* number of integer work vector elements*/
ssSetNumPWork(S, 0);
ssSetNumModes(S,1);
ssSetNumNonsampledZCs(S,0);
}
/*
* mdlInitializeSampleTimes - initialize the sample times array
*/
static void mdlInitializeSampleTimes(SimStruct *S)
{
ssSetSampleTime(S, 0, CONTINUOUS_SAMPLE_TIME);
ssSetOffsetTime(S, 0, 0.0);
}
/*
* mdlInitializeConditions - initialize the states
*/
#define MDL_INITIALIZE_CONDITIONS
static void mdlInitializeConditions(SimStruct *S)
{
double *x0 = ssGetContStates(S);
int i;
for (i = 0; i <6; i++) {
x0[i] = mxGetPr(XINIT(S))[i];
}
}
/*
* mdlOutputs - compute the outputs
*/
static void mdlOutputs(SimStruct *S, int tid)
{
double *y = ssGetOutputPortRealSignal(S,0);
double *x = ssGetContStates(S);
InputRealPtrsType uPtrs = ssGetInputPortRealSignalPtrs(S,0);
int *mode = ssGetModeVector(S);
double xls, xm, xlr, rs, rr, J, P, wb, w;
double Tem, i_qs, i_ds, XM, Psi_mq, Psi_md;
141
double Psi_msat1, Psi_msat2, Psi_m, Delta_psi, b, DPsi_m2, Psi_md1, Psi_mq1;
int i;
int lineal,saturada;
xls = mxGetPr(PAR_PU(S))[0];
xm = mxGetPr(PAR_PU(S))[1];
xlr = mxGetPr(PAR_PU(S))[2];
rs = mxGetPr(PAR_PU(S))[3];
rr = mxGetPr(PAR_PU(S))[4];
J = mxGetPr(PAR_PU(S))[5];
P = mxGetPr(PAR_PU(S))[6];
wb = mxGetPr(REF_PU(S))[1];
w = u(4);
XM = (xlr*xls*xm)/(xlr*xls + xm*xlr + xm*xls);
Psi_mq =XM*(x[0]/xls + x[2]/xlr);
Psi_md =XM*(x[1]/xls + x[3]/xlr);
Psi_m = sqrt(pow(Psi_mq,2) + pow(Psi_md,2));
lineal = 0;
saturada = 1;
if(Psi_m <Psi_msat1) {
mode[0] = lineal;
}
else{
mode[0] = saturada;
}
if(mode[0]==lineal){
Delta_psi = 0;
y[0] = x[0];
y[1] = x[1];
y[2] = x[2];
y[3] = x[3];
y[4] = x[4];
}
if(mode[0]==saturada){
y[0] = x[0];
y[1] = x[1];
y[2] = x[2];
y[3] = x[3];
y[4] = x[4];
142
}
}
/*
* mdlUpdate - perform action at major integration time step
*/
#define MDL_UPDATE
static void mdlUpdate(SimStruct *S, int tid)
{
double *x = ssGetContStates(S);
InputRealPtrsType uPtrs = ssGetInputPortRealSignalPtrs(S,0);
}
/*
* mdlDerivatives - compute the derivatives
*/
#define MDL_DERIVATIVES
static void mdlDerivatives(SimStruct *S)
{
double *dx = ssGetdX(S);
double *x = ssGetContStates(S);
InputRealPtrsType uPtrs = ssGetInputPortRealSignalPtrs(S,0);
int *mode = ssGetModeVector(S);
double xls, xm, xlr, rs, rr, J, P, wb, w;
double Tem, i_qs, i_ds, XM, Psi_mq, Psi_md;
double Psi_msat1, Psi_msat2, Psi_m, Delta_psi, b, DPsi_m2, Psi_md1, Psi_mq1;
int i;
int lineal,saturada;
xls = mxGetPr(PAR_PU(S))[0];
xm = mxGetPr(PAR_PU(S))[1];
xlr = mxGetPr(PAR_PU(S))[2];
rs = mxGetPr(PAR_PU(S))[3];
rr = mxGetPr(PAR_PU(S))[4];
J = mxGetPr(PAR_PU(S))[5];
P = mxGetPr(PAR_PU(S))[6];
wb = mxGetPr(REF_PU(S))[1];
w = u(4);
XM = (xlr*xls*xm)/(xlr*xls + xm*xlr + xm*xls);
Psi_mq1 = Psi_mq;
Psi_md1 = Psi_md;
143
Psi_mq =XM*(x[0]/xls + x[2]/xlr)-(XM*Delta_psi/(xm))*Psi_mq1;
Psi_md =XM*(x[1]/xls + x[3]/xlr)-(XM*Delta_psi/(xm))*Psi_md1;
Psi_m = sqrt(pow(Psi_mq,2) + pow(Psi_md,2));
lineal = 0;
saturada = 1;
if(Psi_m <Psi_msat1) {
mode[0] = lineal;
}
else{
mode[0] = saturada;
}
if(mode[0]==lineal){
Delta_psi = 0;
i_qs = (x[0]-Psi_mq)/xls;
i_ds = (x[1]-Psi_md)/xls;
Tem = ((3*P)/(4*wb))*(x[1]*i_qs - x[0]*i_ds);
dx[0] = wb*(u(0) - (w/wb)*x[1] + (rs/xls)*(Psi_mq - x[0]));
dx[1] = wb*(u(1) + (w/wb)*x[0] + (rs/xls)*(Psi_md - x[1]));
dx[2] = wb*(-(w/wb - x[4])*x[3] + (rr/xlr)*(Psi_mq - x[2]));
dx[3] = wb*((w/wb - x[4])*x[2] + (rr/xlr)*(Psi_md - x[3]));
dx[4] = (P/(2*J*wb))*(Tem - u(2));
}
if(mode[0]==saturada){
Delta_psi = (exp(0.5*(Psi_m-Psi_msat1))-1)/Psi_m;
Psi_mq1 = Psi_mq;
Psi_md1 = Psi_md;
Psi_mq =XM*(x[0]/xls + x[2]/xlr)-(XM*Delta_psi/(xm))*Psi_mq1;
Psi_md =XM*(x[1]/xls + x[3]/xlr)-(XM*Delta_psi/(xm))*Psi_md1;
i_qs = (x[0]-Psi_mq)/xls;
i_ds = (x[1]-Psi_md)/xls;
Tem = ((3*P)/(4*wb))*(x[1]*i_qs - x[0]*i_ds);
dx[0] = wb*(u(0) - (w/wb)*x[1] + (rs/xls)*(Psi_mq - x[0]));
dx[1] = wb*(u(1) + (w/wb)*x[0] + (rs/xls)*(Psi_md - x[1]));
dx[2] = wb*(-(w/wb - x[4])*x[3] + (rr/xlr)*(Psi_mq - x[2]));
dx[3] = wb*((w/wb - x[4])*x[2] + (rr/xlr)*(Psi_md - x[3]));
dx[4] = (P/(2*J*wb))*(Tem - u(2));
}
}
144
/*
* mdlTerminate - called when the simulation is terminated.
*/
static void mdlTerminate(SimStruct *S)
{
}
#ifdef MATLAB_MEX_FILE /* Is this file being compiled as a MEX-file? */
#include "simulink.c" /* MEX-file interface mechanism */
#else
#include "cg_sfun.h" /* Code generation registration function */
#endif
BLOQUE I_qds y Vel: Programa de Cálculo de Corrientes
/* Calculo de Corrientes
* Entradas: u = [Psi_qs Psi_ds Psi_qr Psi_dr wr/wb]
* Salidas: y = [i_qs i_ds i_qr i_dr Te wr(rpm) ]
*
* PAR_PU = [xls xm xlr rs rr J P]
* REF_PU = [wb]
* Nota: Todas las variables estan referidas al estator.
* Archivo: corriente.c
*/
#define S_FUNCTION_NAME corriente
#include "simstruc.h"
#include <math.h>
#define XINIT ssGetArg(S,0)
#define PAR_PU ssGetArg(S,1)
#define REF_PU ssGetArg(S,2)
/*
* mdlInitializeSizes - initialize the sizes array
*/
static void mdlInitializeSizes(SimStruct *S)
{
ssSetNumContStates(S, 5); /* number of continuous states */
ssSetNumDiscStates(S, 0); /* number of discrete states */
ssSetNumInputs(S, 5); /* number of inputs */
ssSetNumOutputs(S, 6); /* number of outputs */
ssSetDirectFeedThrough(S, 0); /* direct feedthrough flag */
145
ssSetNumSampleTimes(S, 2); /* number of sample times */
ssSetNumSFcnParams(S, 3); /* number of input arguments */
ssSetNumRWork(S, 0); /* number of real work vector elements */
ssSetNumIWork(S, 0); /* number of integer work vector elements*/
ssSetNumPWork(S, 0); /* number of pointer work vector elements*/
}
/*
* mdlInitializeSampleTimes - initialize the sample times array
*/
static void mdlInitializeSampleTimes(SimStruct *S)
{
ssSetSampleTime(S, 0, CONTINUOUS_SAMPLE_TIME);
ssSetOffsetTime(S, 0, 0.0);
}
/*
* mdlInitializeConditions - initialize the states
*/
static void mdlInitializeConditions(double *x0, SimStruct *S)
{
}
/*
* mdlOutputs - compute the outputs
*/
static void mdlOutputs(double *y, double *x, double *u, SimStruct *S, int tid)
{
double xls, xm, xlr, rs, rr, J, P, wb, w_mec;
double Tem, i_qs, i_ds, i_qr, i_dr, XM, Psi_mq, Psi_md;
xls = mxGetPr(PAR_PU)[0];
xm = mxGetPr(PAR_PU)[1];
xlr = mxGetPr(PAR_PU)[2];
rs = mxGetPr(PAR_PU)[3];
rr = mxGetPr(PAR_PU)[4];
J = mxGetPr(PAR_PU)[5];
P = mxGetPr(PAR_PU)[6];
wb = mxGetPr(REF_PU)[1];
XM = (xlr*xls*xm)/(xlr*xls + xm*xlr + xm*xls);
Psi_mq = XM*(u[0]/xls + u[2]/xlr);
Psi_md = XM*(u[1]/xls + u[3]/xlr);
146
i_qs = (u[0]-Psi_mq)/xls;
i_ds = (u[1]-Psi_md)/xls;
i_qr = (u[2]-Psi_mq)/xlr;
i_dr = (u[3]-Psi_md)/xlr;
Tem = ((3*P)/(4*wb))*(u[1]*i_qs - u[0]*i_ds);
w_mec = (2*wb/P)*u[4];
y[0] = i_qs;
y[1] = i_ds;
y[2] = i_qr;
y[3] = i_dr;
y[4] = Tem;
y[5] = w_mec;
}
/*
* mdlUpdate - perform action at major integration time step
*/
static void mdlUpdate(double *x, double *u, SimStruct *S, int tid)
{
}
/*
* mdlDerivatives - compute the derivatives
*/
static void mdlDerivatives(double *dx, double *u, SimStruct *S, int tid)
{
}
/*
* mdlTerminate - called when the simulation is terminated.
*/
static void mdlTerminate(SimStruct *S)
{
}
#ifdef MATLAB_MEX_FILE /* Is this file being compiled as a MEX-file? */
#include "simulink.c" /* MEX-file interface mechanism */
#else
#include "cg_sfun.h" /* Code generation registration function */
#endif
147
A.1.2.2.
Modelo del Estimador de Flujos y Velocidad de la Máquina de Inducción
BLOQUE Estimador Filtro de Kalman: Programa del Estimador Filtro de Kalman.
% Programa del Algoritmo del Filtro de Kalman
% Archivo: kalman_def.m
% Entradas: u = [v_qs v_ds i_qs i_ds]
% Salidas: y = [i_qs i_ds Psi_qr Psi_dr wr) ]
% PAR_PU = [xls xm xlr rs rr J P]
% REF_PU = [wb]
% Nota: Todas las variables estan referidas al estator.
function [sys,x0,str,ts] = kalman_def(t,x,u,flag,PAR_PU,REF_PU,XINIT,R,Q)
xls = PAR_PU(1);
xm = PAR_PU(2);
xlr = PAR_PU(3);
rs = PAR_PU(4);
rr = PAR_PU(5);
J = PAR_PU(6);
p = PAR_PU(7);
wb = REF_PU(2);
T = 1e-6;
XM = (xlr*xls*xm)/(xlr*xls + xm*xlr + xm*xls);
a1 = wb*rs/xls*(XM/xls -1);
a3 = wb*rs*XM/(xls*xlr);
a5 = a1;
a6 = a3;
a7 = wb*rr*XM/(xls*xlr);
a8 = wb*rr/xlr*(XM/xlr -1);
a10 = a7;
a12 = a8;
b1 = wb*T;
b2 = wb*T;
c1 = 1/xls*(1-XM/xls);
c3 = -XM/(xls*xlr);
c7 = c1;
c9 = c3;
switch flag,
% Initialization %
case 0,
148
[sys,x0,str,ts] = mdlInitializeSizes(PAR_PU,REF_PU,XINIT,T);
% Update %
case 2,
sys = mdlUpdate(t,x,u,R,Q,T,a1,a3,a5,a6,a8,a10,a12,b1,b2,c1,c3,c7,J);
% Output %
case 3,
sys = mdlOutputs(t,x,PAR_PU,REF_PU,XINIT);
% Terminate %
case 9,
sys = []; % do nothing
% Unexpected flags %
otherwise
error([’unhandled flag = ’,num2str(flag)]);
end
%===============================================================
% mdlInitializeSizes
% Return the sizes, initial conditions, and sample times for the S-function.
%===============================================================
function [sys,x0,str,ts] = mdlInitializeSizes(PAR_PU,REF_PU,XINIT,T)
sizes = simsizes;
sizes.NumContStates = 0;
sizes.NumDiscStates = 30;
sizes.NumOutputs = 5;
sizes.NumInputs = 4;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
%x0 = ones(sizes.NumDiscStates,1);
x0(1:5) = XINIT; % Ahora uso las cinco variables de estado
x0(6:30) = eye(5,5);
str = [];
ts = [T 0];
% end mdlInitializeSizes
%===============================================================
% mdlUpdate
% Handle discrete state updates, sample time hits, and major time step
% requirements.
149
%===============================================================
.function sys = mdlUpdate(t,x,u,R,Q,T,a1,a3,a5,a6,a7,a8,a10,a12,b1,b2,c1,c3,c7,c9,J)
Vqs = u(1);
Vds = u(2);
Psi_qs = x(1);
Psi_ds = x(2);
Psi_qr = x(3);
Psi_dr = x(4);
wr = x(5);
% Para crear las matrices A, B y C del modelo de la maquina
A = zeros(5,5);
A(1,1) = (1 + a1*T);
A(1,3) = a3*T;
A(2,2) = (1 + a5*T);
A(2,4) = a6*T;
A(3,1) = a7*T;
A(3,3) = (1 + a8*T);
A(3,4) = wr*T;
A(4,2) = a10*T;
A(4,3) = -wr*T;
A(4,4) = (1 + a12*T);
A(5,5) = 1;
B = zeros(5,2);
B(1,1) = b1;
B(2,2) = b2;
C = zeros(2,5);
C(1,1) = c1;
C(1,3) = c3;
C(2,2) = c7;
C(2,4) = c9;
U = u(1:2);
Y = u(3:4);
Psi = A;
Psi(3,5) = T*x(4);
Psi(4,5) = -T*x(3);
G = zeros(5,3);
G(1,1) = wb;
G(2,2) = wb;
150
% G(5,3) = 1/J;
Qd = (G*Q*G’)*T;
P = [x(6:10)’ ; x(11:15)’; x(16:20)’; x(21:25)’; x(26:30)’];
temp_x = x(1:5);
temp_P = P;
K = temp_P*C’*(inv( R + C*temp_P*C’));
temp_Ph = (eye(5,5)- K*C)*temp_P*(eye(5,5)- K*C’)’ + K*R*K’;
P = Psi*temp_Ph*Psi’+ Qd;
temp_xh = temp_x + K*(Y - C*temp_x);
sys(1:5) = A*temp_xh + B*U;
sys(6:30) = P’;
%end mdlUpdate
%===============================================================
% mdlOutputs
% Return the output vector for the S-function
%===============================================================
function sys = mdlOutputs(t,x,u)
sys(1:5) = x(1:5);
%end mdlOutputs
A.1.2.3.
Modelo del Control por Vector de Campo de la Máquina de Inducción
BLOQUE Estimador EFK:Programa del Estimador Filtro de Kalman para flujos y
corrientes.
% Programa del Algoritmo del Filtro de Kalman que estima las corrientes de estator, flujos %
de rotor y velocidad.
% Archivo: kalman_def_is.m
% Entradas: u = [v_qs v_ds i_qs i_ds]
% Salidas: y = [i_qs i_ds Psi_qr Psi_dr wr) ]
% PAR_PU = [xls xm xlr rs rr J P]
% REF_PU = [w wb]
% Nota: Todas las variables estan referidas al estator.
function [sys,x0,str,ts] = kalman_def_is(t,x,u,flag,PAR_PU,REF_PU,XINIT,R,Q)
switch flag,
% Initialization %
case 0,
[sys,x0,str,ts] = mdlInitializeSizes(PAR_PU,REF_PU,XINIT);
151
% Update %
case 2,
sys = mdlUpdate(t,x,u,PAR_PU,REF_PU,XINIT,R,Q);
% Output %
case 3,
sys = mdlOutputs(t,x,u,PAR_PU,REF_PU,XINIT);
% Terminate %
case 9,
sys = []; % do nothing
% Unexpected flags %
otherwise
error([’unhandled flag = ’,num2str(flag)]);
end
%=================================================================
% mdlInitializeSizes
% Return the sizes, initial conditions, and sample times for the S-function.
%=================================================================
function [sys,x0,str,ts] = mdlInitializeSizes(PAR_PU,REF_PU,XINIT,R,Q)
sizes = simsizes;
sizes.NumContStates = 0;
sizes.NumDiscStates = 30;
sizes.NumOutputs = 5;
sizes.NumInputs = 4;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
xls = PAR_PU(1);
xm = PAR_PU(2);
xlr = PAR_PU(3);
rs = PAR_PU(4);
rr = PAR_PU(5);
J = PAR_PU(6);
p = PAR_PU(7);
wb = REF_PU(2);
T = 1e-6;
x0(1:5) = XINIT; % Ahora uso las cinco variables de estado
x0(6:30) = eye(5,5);
152
str = [];
ts = [T 0];
% end mdlInitializeSizes
%===============================================================
% mdlUpdate
% Handle discrete state updates, sample time hits, and major time step
% requirements.
%===============================================================
function sys = mdlUpdate(t,x,u,PAR_PU,REF_PU,XINIT,Q,R)
xls = PAR_PU(1);
xm = PAR_PU(2);
xlr = PAR_PU(3);
rs = PAR_PU(4);
rr = PAR_PU(5);
J = PAR_PU(6);
p = PAR_PU(7);
wb = REF_PU(2);
Vqs = u(1);
Vds = u(2);
i_qs = x(1);
i_ds = x(2);
Psi_qr = x(3);
Psi_dr = x(4);
wr = x(5);
T = 1e-6;
% Para crear las matrices A, B y C del modelo de la maquina
Xr = xlr + xm;
Xs = xls + xm;
eta = 1-xm^2/(Xs*Xr);
Tr = Xr/(rr*wb);
a = -rs*wb/(eta*Xs)-(1-eta)/(eta*Tr);
b = wb*(rr*xm)/(Xr^2*Xs - xm^2*Xr);
c = xm/(Xr*Xs - xm^2);
k = (Xr*Xs - xm^2)/(wb*Xr);
a1 = rr*xm*wb/Xr;
b1 = rr*wb/Xr;
A = zeros(5,5);
153
A(1,1) = (1 + a*T);
A(1,3) = b*T;
A(1,4) = -c*T*wr;
A(2,2) = (1 + a*T);
A(2,3) = c*T*wr;
A(2,4) = b*T;
A(3,1) = a1*T;
A(3,3) = 1-b1*T ;
A(3,4) = T*wr;
A(4,2) = a1*T;
A(4,3) = -wr*T;
A(4,4) = 1-b1*T;
A(5,5) = 1;
B1 = T/k;
B = zeros(5,2);
B(1,1) = B1;
B(2,2) = B1;
C = zeros(2,5);
C(1,1) = 1;
C(2,2) = 1;
U = u(1:2);
Y = u(3:4);
Phi = A;
Phi(1,5) = -c*T*x(4);
Phi(2,5) = c*T*x(3);
Phi(3,5) = T*x(4);
Phi(4,5) = -T*x(3);
Phi(5,5) = 1;
G = zeros(5,3);
G(1,1) = 1/k;
G(2,2) = 1/k;
%G(5,3) = 5/J;
Qd = (G*Q*G’)*T;
P = [x(6:10)’ ; x(11:15)’; x(16:20)’; x(21:25)’; x(26:30)’];
temp_x = x(1:5);
temp_P = P’;
K = temp_P*C’*(inv( R + C*temp_P*C’));
temp_Ph = (eye(5,5)- K*C’)*temp_P*(eye(5,5)- K*C)’ + K*R*K’;
154
P = Psi*temp_Ph*Psi’+ Qd;
temp_xh = temp_x + K*(Y - C*temp_x);
sys(1:5) = A*temp_xh + B*U;
sys(6:30) = P’;
%end mdlUpdate
%=================================================================
% mdlOutputs
% Return the output vector for the S-function
%=================================================================
function sys = mdlOutputs(t,x,u,PAR_PU,REF_PU,XINIT)
sys(1:5) = x(1:5);
%end mdlOutputs
BLOQUE Orientacion: Programa de Cálculo de Corrientes y Variables para la Orientación.
/* Cálculo de Corrientes y Variables para la Orientación de la Referencia al campo del rotor.
* Entradas: u = [Psi_qr Psi_dr i_qs i_ds ]
* Salidas: y = [Psi_re i_dse i_qse i_dr Tem sen_rho cos_rho ]
*
* PAR_PU = [xls xm xlr rs rr J P]
* REF_PU = [w wb]
* Nota: Todas las variables estan referidas al estator.
* Archivo: calculo0.c
*/
#define S_FUNCTION_NAME calculo0
#include "simstruc.h"
#include <math.h>
#define XINIT ssGetArg(S,0)
#define PAR_PU ssGetArg(S,1)
#define REF_PU ssGetArg(S,2)
/*
* mdlInitializeSizes - initialize the sizes array
*/
static void mdlInitializeSizes(SimStruct *S)
{
ssSetNumContStates(S, 5); /* number of continuous states */
ssSetNumDiscStates(S, 0); /* number of discrete states */
155
ssSetNumInputs(S, 4); /* number of inputs */
ssSetNumOutputs(S, 6); /* number of outputs */
ssSetDirectFeedThrough(S, 0); /* direct feedthrough flag */
ssSetNumSampleTimes(S, 1); /* number of sample times */
ssSetNumSFcnParams(S, 2); /* number of input arguments */
ssSetNumRWork(S, 0); /* number of real work vector elements */
ssSetNumIWork(S, 0); /* number of integer work vector elements*/
ssSetNumPWork(S, 0); /* number of pointer work vector elements*/
}
/*
* mdlInitializeSampleTimes - initialize the sample times array
*/
static void mdlInitializeSampleTimes(SimStruct *S)
{
ssSetSampleTime(S, 0, CONTINUOUS_SAMPLE_TIME);
ssSetOffsetTime(S, 0, 0.0);
}
/*
* mdlInitializeConditions - initialize the states
*/
static void mdlInitializeConditions(double *x0, SimStruct *S)
{
}
/*
* mdlOutputs - compute the outputs
*/
static void mdlOutputs(double *y, double *x, double *u, int tid)
{
double xls, xm, xlr, rs, rr, J, P, wb, w_mec;
double Tem, i_qs, i_ds, i_qse, i_dse, sen_rho, cos_rho, Psi_r;
double Psi_qr, Psi_dr;
xls = mxGetPr(PAR_PU)[0];
xm = mxGetPr(PAR_PU)[1];
xlr = mxGetPr(PAR_PU)[2];
rs = mxGetPr(PAR_PU)[3];
rr = mxGetPr(PAR_PU)[4];
J = mxGetPr(PAR_PU)[5];
P = mxGetPr(PAR_PU)[6];
156
wb = mxGetPr(REF_PU)[1];
Psi_qr = u[0];
Psi_dr = u[1];
i_qs = u[2];
i_ds = u[3];
Psi_r = sqrt(pow(Psi_qr,2)+pow(Psi_dr,2));
sen_rho = Psi_qr/Psi_r;
cos_rho = Psi_dr/Psi_r;
i_qse = -i_qs*cos_rho + i_ds*sen_rho;
i_dse = i_qs*sen_rho - i_ds*cos_rho;
Tem = (3*P*xm)/(wb*4*(xlr+xm))*Psi_r*i_qse;
y[0] = Psi_r;
y[1] = i_qse;
y[2] = i_dse;
y[3] = Tem;
y[4] = sen_rho;
y[5] = cos_rho;
}
/*
* mdlUpdate - perform action at major integration time step
*/
static void mdlUpdate(double *x, double *u, SimStruct *S, int tid)
{
}
/*
* mdlDerivatives - compute the derivatives
*/
static void mdlDerivatives(double *dx, double *x, double *u, SimStruct *S, int tid)
{
}
/*
* mdlTerminate - called when the simulation is terminated.
*/
static void mdlTerminate(SimStruct *S)
{
}
#ifdef MATLAB_MEX_FILE /* Is this file being compiled as a MEX-file? */
#include "simulink.c" /* MEX-file interface mechanism */
157
#else
#include "cg_sfun.h" /* Code generation registration function */
#endif
A.1.2.4.
Modelo del Control de Torque Directo de la Máquina de Inducción
BLOQUE Estimador Flujo: Programa del Estimador de Flujo de Estator.
/*
* Estados: x = [Psi_qs Psi_ds]
* Entradas: u = [v_qs v_ds i_qs i_ds]
* Outputs: y = [ Psi_qs Psi_ds Tem wr]
* PAR_PU = [xls xm xlr rs rr J P]
* REF_PU = [ wb ]
* Nota: Todas las variables están referidas al estator
* Archivo: Flujosw_esti.c
*/
#define S_FUNCTION_NAME Flujosw_esti
#define S_FUNCTION_LEVEL 2
#include "simstruc.h"
#include <math.h>
#define XINIT(S) ssGetSFcnParam(S,0)
#define PAR_PU(S) ssGetSFcnParam(S,1)
#define REF_PU(S) ssGetSFcnParam(S,2)
/*
* mdlInitializeSizes - initialize the sizes array
*/
static void mdlInitializeSizes(SimStruct *S)
{
ssSetNumSFcnParams(S, 3); /*Number of expected parameters*/
if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S))
{
return; /* Return if number of expected != number of actual parameters */
}
ssSetNumContStates(S, 2);
ssSetNumDiscStates(S, 0);
if (!ssSetNumInputPorts(S, 1)) return; /*Number of input ports */
ssSetInputPortWidth(S, 0, 4); /* Width of input port one (index 0)*/
ssSetInputPortDirectFeedThrough(S, 0, 1); /* Direct feedthrough or port one */
158
if (!ssSetNumOutputPorts(S, 1)) return;
ssSetOutputPortWidth(S, 0, 4); /* Width of output port one (index 0) */
ssSetNumSampleTimes(S, 1);
ssSetNumRWork(S, 0); /* number of real work vector elements */
ssSetNumIWork(S, 0); /* number of integer work vector elements*/
ssSetNumPWork(S, 0);
ssSetNumModes(S,1);
ssSetNumNonsampledZCs(S,0);
}
/*
* mdlInitializeSampleTimes - initialize the sample times array
*/
static void mdlInitializeSampleTimes(SimStruct *S)
{
ssSetSampleTime(S, 0, CONTINUOUS_SAMPLE_TIME);
ssSetOffsetTime(S, 0, 0.0);
}
/*
* mdlInitializeConditions - initialize the states
*/
#define MDL_INITIALIZE_CONDITIONS
static void mdlInitializeConditions(SimStruct *S)
{
double *x0 = ssGetContStates(S);
int i;
for (i = 0; i <3; i++) {
x0[i] = mxGetPr(XINIT(S))[i];
}
}
/*
* mdlOutputs - compute the outputs
*/
static void mdlOutputs(SimStruct *S, int tid)
{
double *y = ssGetOutputPortRealSignal(S,0);
double *x = ssGetContStates(S);
InputRealPtrsType uPtrs = ssGetInputPortRealSignalPtrs(S,0);
double xls, xm, xlr, rs, rr, J, P, wb, wr, Psi_qs, Psi_ds, V_qs, V_ds, K1, K2;
159
double Tem, i_qs, i_ds, XM, Psi_r_2, Psi_md, Psi_qr, Psi_dr;
xls = mxGetPr(PAR_PU(S))[0];
xm = mxGetPr(PAR_PU(S))[1];
xlr = mxGetPr(PAR_PU(S))[2];
rs = mxGetPr(PAR_PU(S))[3];
rr = mxGetPr(PAR_PU(S))[4];
J = mxGetPr(PAR_PU(S))[5];
P = mxGetPr(PAR_PU(S))[6];
wb = mxGetPr(REF_PU(S))[1];
i_qs = u(2);
i_ds = u(3);
Psi_qs = x[0];
Psi_ds = x[1];
K1 = (xm*xm-xls*xlr)/(wb*xm);
K2 = xlr/xm;
Psi_qr = K1*i_qs + K2*Psi_qs;
Psi_dr = K1*i_ds + K2*Psi_ds;
Psi_r_2 = Psi_qr*Psi_qr + Psi_dr*Psi_dr;
Tem = 3*P/(4)*(Psi_ds*i_qs - Psi_qs*i_ds);
wr = wb - rr*Tem/Psi_r_2;
y[0] = wb*x[0];
y[1] = wb*x[1];
y[2] = Tem;
y[3] = wr;
}
/*
* mdlUpdate - perform action at major integration time step
*/
#define MDL_UPDATE
static void mdlUpdate(SimStruct *S, int tid)
{
double *x = ssGetContStates(S);
InputRealPtrsType uPtrs = ssGetInputPortRealSignalPtrs(S,0);
}
/*
* mdlDerivatives - compute the derivatives
*/
#define MDL_DERIVATIVES
160
static void mdlDerivatives(SimStruct *S)
{
double *dx = ssGetdX(S);
double *x = ssGetContStates(S);
InputRealPtrsType uPtrs = ssGetInputPortRealSignalPtrs(S,0);
double xls, xm, xlr, rs, rr, J, P, wb, w, Psi_qs, Psi_ds, V_qs, V_ds, I_qs, I_ds;
double Tem, i_qs, i_ds, XM, Psi_mq, Psi_md;
xls = mxGetPr(PAR_PU(S))[0];
xm = mxGetPr(PAR_PU(S))[1];
xlr = mxGetPr(PAR_PU(S))[2];
rs = mxGetPr(PAR_PU(S))[3];
rr = mxGetPr(PAR_PU(S))[4];
J = mxGetPr(PAR_PU(S))[5];
P = mxGetPr(PAR_PU(S))[6];
wb = mxGetPr(REF_PU(S))[1];
V_qs = u(0);
V_ds = u(1);
I_qs = u(2);
I_ds = u(3);
dx[0] = V_qs - rs*I_qs;
dx[1] = V_ds - rs*I_ds;
}
/*
* mdlTerminate - called when the simulation is terminated.
*/
static void mdlTerminate(SimStruct *S)
{
}
#ifdef MATLAB_MEX_FILE /* Is this file being compiled as a MEX-file? */
#include "simulink.c" /* MEX-file interface mechanism */
#else
#include "cg_sfun.h" /* Code generation registration function */
#endif
BLOQUE Calc_Sector: Programa del Cálculo del Módulo y Sector del Flujo de Estator.
/*
* Entradas: u = [Psi_qs Psi_ds]
161
* Outputs: y = [ Psi_s Teta sector]
*
* PAR_PU = [xls xm xlr rs rr J P]
* REF_PU = [ wb ]
* Nota: Todas las variables están referidas al estator
* Archivo: sector_cos_0.c
#define S_FUNCTION_NAME sector_cos_0
#include "simstruc.h"
#include <math.h>
/*
* mdlInitializeSizes - initialize the sizes array
*/
static void mdlInitializeSizes(SimStruct *S)
{
ssSetNumContStates(S, 0); /* number of continuous states */
ssSetNumDiscStates(S, 0); /* number of discrete states */
ssSetNumInputs(S, 2); /* number of inputs */
ssSetNumOutputs(S, 3); /* number of outputs */
ssSetDirectFeedThrough(S, 1); /* direct feedthrough flag */
ssSetNumSampleTimes(S, 1); /* number of sample times */
ssSetNumSFcnParams(S, 0); /* number of input arguments */
ssSetNumRWork(S, 0); /* number of real work vector elements */
ssSetNumIWork(S, 0); /* number of integer work vector elements*/
ssSetNumPWork(S, 0); /* number of pointer work vector elements*/
}
/*
* mdlInitializeSampleTimes - initialize the sample times array
*/
static void mdlInitializeSampleTimes(SimStruct *S)
{
ssSetSampleTime(S, 0, CONTINUOUS_SAMPLE_TIME);
ssSetOffsetTime(S, 0, 0.0);
}
/*
* mdlInitializeConditions - initialize the states
*/
static void mdlInitializeConditions(double *x0, SimStruct *S)
{
162
}
/*
* mdlOutputs - compute the outputs
*/
static void mdlOutputs(double *y, double *x, double *u,int tid)
{
double Psi_qs, Psi_ds, Psi_s, Teta_rad, Teta, pi, coseno;
int sector;
Psi_qs = u[0];
Psi_ds = u[1];
pi = 3.141592653589793;
Psi_s = sqrt(pow(Psi_qs,2) + pow(Psi_ds,2));
coseno = Psi_ds/Psi_s;
Teta_rad = acos(coseno);
if(Psi_qs >= 0){
Teta = Teta_rad*360/pi;
if (0 <= Teta && Teta <30) {
sector = 1;
}
else if(30 <= Teta && Teta <90){
sector = 2;
}
else if(90 <= Teta && Teta <150){
sector = 3;
}
else if(150 <= Teta && Teta <180){
sector = 4;
}
}
else {
Teta = -Teta_rad*180/pi;
if (-30 <= Teta && Teta <0) {
sector = 1;
}
else if(-90 <= Teta && Teta <-30){
sector = 6;
}
else if(-150 <= Teta && Teta <-90){
163
sector = 5;
}
else if(-180 <= Teta && Teta <-150){
sector = 4;
}
}
y[0] = Psi_s;
y[1] = Teta;
y[2] = sector;
}
/*
* mdlUpdate - perform action at major integration time step
*/
static void mdlUpdate(double *x, double *u, SimStruct *S, int tid)
{
}
/*
* mdlDerivatives - compute the derivatives
*/
static void mdlDerivatives(double *dx, double *x, double *u, SimStruct *S, int tid)
{
}
/*
* mdlTerminate - called when the simulation is terminated.
*/
static void mdlTerminate(SimStruct *S)
{
}
#ifdef MATLAB_MEX_FILE /* Is this file being compiled as a MEX-file? */
#include "simulink.c" /* MEX-file interface mechanism */
#else
#include "cg_sfun.h" /* Code generation registration function */
#endif
164
A.2. Interfaz para la Simulación
A.2.1. Instrucciones de Uso y Familiarización con la Interfaz Desarrollada
Es necesario ingresar al medio MATLAB y al utilitario “guide”, para que una vez que
se ingresa abrir el archivo Presenta0.fig del Directorio PRESENTACION. Hacer que
trabaje el programa y automáticamente cumple con las instrucciones de cada botón de
las ventanas.
Para propósitos de familiarización a continuación se detallan las principales ventanas
de la interfaz. Los resultados se muestran en otro conjunto de ventanas con ejes que
cargan datos generados en la simulación.
Figura A.1: Presentación Inicial
165
Figura A.2: Opciones de la Simulación
Figura A.3: Característica de la Maquina
166
Figura A.4: Opciones de Simulación para Cada Caso
167
Figura A.5: Ventana de Acceso al Control Vectorial
Figura A.6: Ventana de Acceso al DTC
168
Figura A.7: Ventana de Acceso al Estimador FKE
169
Figura A.8: Ventana Resultados Generales
170
Descargar