Post on 03-Aug-2020
211
7. PROGRAMACIÓN DE LAS HERRAMIENTAS
7.1. INTRODUCCIÓN
Para realizar las simulaciones necesarias se han creado una serie de herramientas
informáticas, creadas con Matlab versión 2009b. Además la base de datos de
maquinaria, consultada por las herramientas gráficas, está realizada en un fichero de
Microsoft Excel. Será, por tanto, requisito necesario el disponer de esta versión de
Matlab o superior instalada y tener en el ordenador al menos instalado Microsoft Excel
en cualquier versión, requisito indispensable de Matlab para que se pueda de manejar
este tipo de ficheros.
Este capítulo contiene dos partes fundamentales, una primera en la que se
explica el funcionamiento de las herramientas del entorno gráfico, a modo de manual de
funcionamiento, se comenta la forma de introducir los datos y de realizar las
simulaciones.
En la segunda parte se aborda el núcleo de la programación y la estructuración
seguida, junto con una explicación breve de las funciones de Matlab que componen el
paquete de programación.
En cualquier caso, para tener una información más amplia sobre el uso de las
funciones, se puede utilizar el comando help de Matlab seguido del nombre de la
función que de la que se esté interesado.
7.2. EL ENTORNO GRÁFICO
7.2.1. INTRODUCCIÓN, PANTALLA DE PRESENTACIÓN Y EDICIÓN DE BASE
DE DATOS DE MAQUINARIA
El entorno gráfico consta de una serie de aplicaciones que enlazan con las
funciones de manera que presentan un interfaz sencillo para realizar diversas
simulaciones y evaluaciones, tanto del funcionamiento de máquinas concretas como del
comportamiento según modelos.
Se han establecido una serie de requisitos para el funcionamiento de los
programas de los que consta el entorno gráfico, que son:
Introducción de datos de forma intuitiva.
Almacenamiento y manipulación de una base de datos de máquinas
desde el propio interfaz o desde un programa externo.
Sencillez de manejo, con globos de ayuda explicativos en cada opción
del entorno gráfico.
Presentación de resultados sencilla, con posibilidad de establecer
comparativas, incluso con casos previamente analizados.
7 Programación de las herramientas
212
Exportación de resultados a ficheros de datos, con posibilidad de ser
tratados posteriormente.
Para arrancar el entorno gráfico se ha creado una función en Matlab que se llama
menu_im.m junto con la figura correspondiente menu_im.fig. Al ejecutarse esta función
aparece el cuadro de la figura 7-1, en la que hay cuatro botones grandes, cada uno de los
cuales ejecutará un programa distinto, dependiendo de lo que se pretenda, que puede
ser:
Ejecutar una simulación completa y amplia de una máquina de
inducción, con el modelo completo, sin restricciones de ningún tipo.
Ejecutar una simulación de una máquina mediante modelos reducidos,
con alimentación equilibrada, tal y como se requería al formular estos
modelos en el Capítulo 5.
Obtención de los modelos linealizados correspondientes a cada uno de
los posibles modelos de máquina utilizados. Funciones de transferencia,
ganancias, polos y ceros) y ejecutar simulaciones de dichos modelos
linealizados.
Calculo de autovalores de modelos de distintas máquinas, comparativas
entre máquinas o entre modelos.
7-1 Entorno gráfico. Pantalla de presentación
Aparece un pequeño botón en la esquina inferior izquierda que ejecuta el menú
de edición de máquinas, para poder ampliar o modificar la base de datos de las
máquinas. Al presionarlo aparece la pantalla de la figura 7-2, en la que se pueden editar
7 Programación de las herramientas
213
todos los parámetros de una máquina y almacenar los mismos en la base de datos.
Dicha base de datos se encuentra en una sencilla hoja Excel denominada imparam.xls,
que tiene la organización mostrada en la figura 7-3, el formato de Excel se ha escogido
para que sea fácilmente editable sin necesidad de utilizar el entorno gráfico.
7-2 Entorno gráfico. Edición de máquinas.
En la pantalla de edición de máquinas existe una parte superior con el modelo
del circuito de la máquina de inducción y con unos casilleros en los que se introducen
los valores de las impedancias eléctricas de la máquina escogida.
En el segundo recuadro aparece una casilla de verificación que indica si se ha de
considerar o no el efecto de la saturación del núcleo. En caso de que se considere
aparecen los valores de la curva de vacío de saturación en dos cuadros. Si se pulsa con
el ratón encima de cualquiera de los dos cuadros de edición de la curva de vacío se abre
una nueva ventana para editar la curva de saturación, mostrada en la figura 7-4, que se
explica más adelante.
En el tercer cuadro se ingresan los valores nominales de funcionamiento de la
máquina y los parámetros mecánicos, y en el cuarto cuadro se introduce un polinomio
en formato Matlab (coeficientes en un vector) que corresponde al polinomio de pérdidas
mecánicas en función de la velocidad del rótor (en radianes por segundo) que representa
7 Programación de las herramientas
214
el par de pérdidas en Nm debidas a fricción, etcétera, de forma que, por ejemplo, [2 1 3]
arrojaría un par resistente igual a 22 3r r , en Nm.
Finalmente en la parte inferior aparece un menú desplegable que permite escoger
entre todas las máquinas de la base de datos, cargando automáticamente todos los datos
en los correspondientes cuadros. Justo debajo del menú desplegable aparece la
denominación de la máquina seleccionada y a la derecha un botón de denominado
guardar, que al ser pulsado con el ratón almacena los datos introducidos en la base de
datos y, en caso de que denominación de la máquina exista en la base de datos, pide
confirmación antes de sobrescribir los datos en la misma.
Al pulsar el botón de cerrar se retornan a la función que haya llamado a
parametrizacion los parámetros presentes en el cuadro, independientemente de que se
hayan almacenado o no en la base de datos, de esta forma se pueden hacer simulaciones
con variaciones de las máquinas de la base de datos sin tener que ampliar
obligatoriamente esta.
7-3 Entorno gráfico. Base de datos de máquinas.
En la pantalla de edición de curva de saturación aparece una gráfica con la curva
de saturación, a su derecha una lista con los valores numéricos de la gráfica y debajo
unos cuadros de edición y unos botones que permiten editar la gráfica.
Para introducir un dato, se introduce la tensión de alimentación de línea en
voltios, la intensidad de fase en amperios y se pulsa con el ratón el botón de Añadir, de
7 Programación de las herramientas
215
forma que se añade dicho punto tanto a la gráfica como a la lista y se reordena esta
última.
Por el contrario, si lo que se pretende es eliminar un punto lo que hay que hacer
es seleccionarlo con el ratón en la lista de la derecha y pulsar el botón Eliminar. De esta
forma el punto se elimina de la gráfica y de la lista.
Si se presiona el botón Borrar Todos, se eliminan todos los puntos, quedando
únicamente el punto 0,0 en la gráfica y en la lista. Finalmente con el botón salir se
retorna al cuadro anterior.
7-4 Entorno gráfico. Edición curva de saturación.
Se puede hacer una llamada a la función gráfica de edición de máquinas desde la
línea de comandos de Matlab, compuesta por las funciones parametrizacion.m y
parametrizacion.fig. En este caso, la llamada es como sigue:
param=parametrizacion(n)
Al realizar la llamada se abre el cuadro de dialogo y se selecciona la máquina
que este en la posición n en la base de datos, al cerrar el cuadro se devuelve la estructura
param con los parámetros electromecánicos impuestos. Si no se indica la máquina se
escoge siempre la primera de la base de datos.
La estructura param devuelta contiene lo siguientes campos:
7 Programación de las herramientas
216
param.Pb = Potencia base en vatios para el cálculo de parámetros en PU
param.wb = Velocidad angular base (rad/s) para el cálculo de parámetros en PU
param.p = Número de polos del motor de inducción
param.Vb = Tensión base en voltios para el cálculo de parámetros en PU
param.Ib = Intensidad base en amperios para el cálculo de parámetros en PU
param.Zb = Impedancia base en ohmios para el cálculo de parámetros en PU
param.Tb = Par base en Nm para el cálculo de parámetros en PU
param.Rs = Resistencia del estator en PU ( sR )
param.Xls = Reactancia inductiva del estator en PU ( lsX )
param.Rr = Resistencia del rotor referida al estator en PU (rR )
param.Xlr = Reactancia inductiva del rotor referida al estator en PU ( lrX )
param.Xm = Reactancia mutua en PU ( mX )
param.H = Constante de inercia del rotor + la carga en segundos (H)
param.Xa= Reactancia equivalente del circuito magnético ( aX )
param.saturacion= valor booleano que indica si hay o no saturación
param.polisat= polinomio que describe la saturación como 2/ ( )m m mf
param.limlin= punto de límite lineal del flujo
param.CurvaSaturacion = Matriz con los dos vectores de tensión e intensidad de
vacío.
param.polin_perdmec = Polinomio de perdidas mecánicas (Nm) función de r
(rad/s)
param.denom = Cadena de caracteres con la denominación de la máquina.
7.2.2. SIMULACIÓN COMPLETA
Si se presiona el botón de Simulación Completa en la pantalla de menú mostrada
en la figura 7-1, nos una nueva pantalla que se muestra en la figura 7-5, con el objetivo
de seleccionar la máquina, modificar sus parámetros y establecer las alimentaciones
eléctricas de la misma, tanto estatóricas como rotóricas.
En esta figura, la introducción de datos es exactamente igual que en la pantalla
de edición de la base de datos, y también permite actualizar la base de datos de las
máquinas e introducir nueva maquinaria en la misma. La diferencia estriba en que ahora
en la parte derecha aparecen las alimentaciones tanto del rótor como del estátor, que
deben ser expresadas en voltios.
Las alimentaciones por defecto son las nominales equilibradas para el estátor y
cortocircuitado el rótor, aunque esto puede ser modificado mediante un menú
desplegable que aparece para cada alimentación. Dicho menú tiene dos opciones que
son: Nominal y Definido por Usuario. Al escoger el valor Nominal, automáticamente en
el cuadro de edición inmediatamente inferior aparece el valor instantáneo de la tensión
nominal en función del tiempo. Si se escoge el valor Definido por Usuario, se habilita el
cuadro inferior y se puede introducir como valor instantáneo una función interpretable
por Matlab del tiempo (expresado como t en segundos), una función de la velocidad del
rotor (expresada como wr y en rad/s) o una función de ambas. Incluso se puede expresar
en función del ángulo del sistema de referencia (expresado como theta en radianes) o
7 Programación de las herramientas
217
del ángulo girado por el rótor (expresado como thetar en radianes). Es decir, se podría
poner la siguiente función para la tensión del estátor:
400*cos(2*pi*50*t+pi/3+theta/thetar)*(wr<100)
De forma que también se permiten funciones lógicas en las ecuaciones, en este
caso concreto cuando la velocidad del rótor sea mayor que 100 rad/s el sistema sufre un
cortocircuito.
7-5 Entorno gráfico. Modelo completo. Datos simulación completa 1.
Es posible además crear una función externa en Matlab, que se llame por
ejemplo prueba.m que dependa de las variables antes mencionadas y que devuelva un
valor concreto, de esta forma se pueden crear funciones todo lo complejas que se
quieran para las alimentaciones. En este caso en el cuadro de edición se introduciría lo
siguiente.
prueba(t,wr,theta,thetar)
Para el caso de las variables del rótor los valores son introducidos de igual forma
y pueden depender de las mismas variables. En caso de cortocircuito se introduce el
valor 0, y en caso de una función de las variables comentadas, es igualmente aplicable
todo lo explicado para las tensiones del rótor definidas por el usuario. La única
diferencia es que no se puede escoger entre valores nominales y valores definidos, ya
que siempre son definidos por el usuario.
Al cerrar el cuadro de introducción de datos, aparece un segundo cuadro de
introducción de datos, mostrado en la figura 7-6, donde se introducen los parámetros de
la integración del modelo completo. En la parte superior aparecen los cuadros de
7 Programación de las herramientas
218
edición donde introducir los tiempos de integración inicial y final en segundos y la
tolerancia porcentual permitida en cada paso de la integración numérica.
En el cuadro denominado como Condiciones Iniciales se introducen las
condiciones iniciales de los flujos por segundo en voltios del estátor y del rótor así
como los ángulos iniciales del sistema de referencia y del rótor en radianes y la
velocidad de este último en rad/s. De esta forma se puede realizar una simulación como
continuación de otra anterior desde el mismo punto que se hubiera dejado con
anterioridad.
7-6 Entorno gráfico. Modelo completo. Datos simulación completa 2.
En el cuadro de carga hay dos cuadros de edición para introducir la carga
resistente aplicada y la inercia de dicha carga. Ambos valores se pueden introducir
como función del tiempo y de la velocidad del rotor, en segundos y rad/s
respectivamente. El valor del par resistente debe estar en Nm y el de la inercia en kg·m2.
La forma de introducir las ecuaciones es exactamente igual a como se introducían las
ecuaciones de las tensiones, pudiendo crear también funciones externas de Matlab más
complejas. Obviamente, si se introduce un par resistente negativo este corresponderá a
un par generador.
Para escoger el sistema de referencia, existe un menú desplegable, que permite
escoger entre cuatro opciones, que son: Estátor, Rótor, Síncrono y Función de t; según
se quiera escoger un sistema de referencia ligado al estátor, al rótor, a la velocidad de la
red o un sistema de referencia arbitrario y definido. En el último caso, se habilita el
cuadro de edición inmediatamente inferior que permite introducir el valor de la
velocidad angular en rad/s de un sistema de referencia en función del tiempo y/o de la
velocidad del rótor, mediante una función formada de la misma manera que la que se
puede introducir para definir el par de carga o cualquier otra función variable.
7 Programación de las herramientas
219
Hay que hacer notar que si se pretende hacer una simulación con el sistema de
referencia síncrono hay que tener cuidado de que la alimentación del estátor sea a
frecuencia nominal, ya que el programa considera el sistema de referencia síncrono
aquel que gira a dicha frecuencia. En caso de que esto no suceda así, y que la frecuencia
sea variable, para que el sistema de referencia escogido sea realmente el síncrono, y no
el que gira a frecuencia nominal, habrá que escoger el mismo como función del tiempo
e introducir la fórmula apropiada, de forma que se mantengan las propiedades que
alberga el sistema de referencia síncrono real. Por ejemplo, si la tensión de fase a es
2220cos 2 50asv t y las tensiones del resto de las fases tienen la misma frecuencia,
aunque no sean equilibradas, la velocidad de giro del sistema de referencia síncrono no
sería 50Hz, sino la derivada del ángulo de la fase, o sea 4 50e t .
Por último, se puede introducir una resistencia trifásica equilibrada en el rótor,
para simular arranques. Esta resistencia se puede introducir nuevamente como una
función del tiempo y/o de la velocidad del rótor, en unidades SI, y el valor indicado
corresponderá a cada uno de los ramales de una carga conectada en estrella, expresado
en ohmios.
Tras introducir todos estos datos y pulsar con el ratón el botón Cerrar, se cierra
la ventana y aparece una nueva con la evolución a medida que se va calculando de la
integración de las ecuaciones con las condiciones especificadas. Esta ventana, tal y
como muestra la figura 7-7 dispone de un botón de Stop, de utilidad cuando se quiere
detener la simulación antes del tiempo especificado.
7-7 Entorno gráfico. Modelo completo. Evolución de la integración.
Al acabar la simulación, o detenerla voluntariamente, desaparece esta pantalla y
aparece la pantalla de resultados. Esta ventana, representada en la figura 7-8, contiene
7 Programación de las herramientas
220
unos ejes de representación, una lista a la derecha con las variables seleccionadas para
exportar, una parte superior para seleccionar las variables a representar y/o exportar y
una barra de herramientas con opciones de impresión y manejo de la gráfica.
Para representar una gráfica, se escogen la variables de los eje x e y junto con
sus unidades, se escoge el color de la representación y si se quiere dibujar la nueva
gráfica manteniendo la anterior se activa la opción Mantener gráfica, finalmente para
que aparezca la nueva representación se presiona el botón dibujar.
Si se presiona el botón Añadir se seleccionan para exportar las variables
indicadas en los menús desplegables de los ejes x e y con las unidades indicadas en los
respectivos menús desplegables de unidades, añadiéndose a la lista de la derecha.
Para eliminar una variable de la lista de exportación se selecciona esta de la lista
de variables seleccionadas de la derecha de la ventana y se pulsa con el ratón el botón
Eliminar.
Para exportar las variables de la lista de exportación se pulsa con el ratón el
botón Exportar, apareciendo un menú de guardado con un explorador de archivos. Se
guardan los datos en formato .mat con todas las variables con el nombre indicado en la
lista, las condiciones de integración, alimentaciones y parámetros electromecánicos de
la máquina. Si lo que se presiona es el botón Exportar todo lo que ocurrirá es que se
exportarán todas las variables posibles en formatos SI y PU, también con la ayuda de un
explorador de archivos.
En todos los casos el formato de las variables exportadas será:
nombre_unidades
Las variables con las unidades que manejan la representación gráfica y la
exportación son las siguientes:
t = tiempo (s)
= Angulo del sistema de referencia (rad o PU)
r = Ángulo del rótor (rad o PU)
xsi = Intensidad de la fase x (a, b o c) o del eje x (q, d o 0) del estátor (A o PU)
xri = Intensidad de la fase x (a, b o c) o del eje x (q, d o 0) del rótor referido al estátor
(A o PU)
xsv = Tensión de la fase x (a, b o c) o del eje x (q, d o 0) del estátor (V o PU)
xrv = Tensión de la fase x (a, b o c) o del eje x (q, d o 0) del rótor referido al estátor
(V o PU)
xs = Flujo por segundo de la fase x (a, b o c) o del eje x (q, d o 0) del estátor (V o
PU)
xr = Flujo por segundo de la fase x (a, b o c) o del eje x (q, d o 0) del rótor referido
al estátor (V o PU)
eT = Par electromagnético generado por la máquina (Nm o PU)
eP = Potencia eléctrica consumida por la máquina (W o PU)
mP = Potencia mecánica cedida por la máquina (W o PU)
eQ = Potencia reactiva consumida por la máquina (VAr o PU)
7 Programación de las herramientas
221
cos( ) = Factor de potencia (PU)
m = Flujo por segundo mutuo (V o PU)
m = Decremento del flujo por segundo mutuo debido a saturación (V o PU)
7-8 Entorno gráfico. Modelo completo. Ventana de resultado.
La barra de herramientas de la parte superior contiene por orden de izquierda a
derecha lo siguiente:
Exportar todo
Imprimir gráfica (copia la gráfica a una ventana nueva, la adapta y presenta un menú
de impresión, para finalmente cerrar dicha ventana)
Zoom + (para la gráfica en curso)
Zoom – (para la gráfica en curso)
Desplazamiento de la gráfica
Señalador de datos (para mostrar los valores de un punto específico de la gráfica)
Mostrar u ocultar leyenda de la gráfica.
Por último hay un botón que indica Informe… en la parte superior izquierda de
la ventana que muestra un informe con los parámetros de la máquina, condiciones de
integración y alimentaciones y perturbaciones en las entradas de la máquina. Un
ejemplo de dicho informe se encuentra en la figura 7-9.
Se puede llamar a esta función gráfica mediante la línea de comandos mediante
la función maq_ind.m. La llamada a la función es de la siguiente forma:
7 Programación de las herramientas
222
salida=maq_ind( )
7-9 Entorno gráfico. Modelo completo. Informe resumen.
Esta función no tiene argumentos y tras la simulación devuelve los parámetros
de la máquina, las condiciones de integración, los resultados y el último punto obtenido
de las variables de estado de la integración en sistema abc y en unidades SI mediante la
variable salida, que es una estructura que tiene la siguiente forma.
salida.res = resultados de la integración en PU
salida.param = parámetros de la máquina, como resistencias etc.
salida.condintegr = condiciones de integración, tiempo final, tolerancia,
alimentaciones de tensión, par, etc.
salida.xf = vector del último punto de la integración, en el sistema de referencia abc,
unidades SI.
7 Programación de las herramientas
223
7.2.3. MODELOS REDUCIDOS
Si se pulsa con el ratón el botón Modelos Reducidos de la pantalla de
presentación aparece la ventana de simulación de modelos de orden reducido, que se
muestra en la figura 7-10.
En la parte izquierda está situada la grafica para la representación de las
variables de los modelos reducidos, y justo encima de esta se encuentra el cuadro de
selección de modelos reducidos a simular y/o representar. Dentro del cuadro existe un
botón que denominado Todo, que permite seleccionar o deseleccionar todos los modelos
de una vez. Si un modelo ha sido simulado anteriormente y no ha cambiado ninguna de
las condiciones de integración ni ninguna alimentación, al volver a ser seleccionado no
se simulará de nuevo, sino que solo se representará en la gráfica.
En caso de que cambie alguna condición de integración o alguna alimentación
de la máquina seleccionada aparecerá un botón, que normalmente no está presente,
denominado Simular de Nuevo recordando que se ha hecho alguna modificación en las
condiciones de la simulación y que la gráfica no corresponde con esas condiciones. Al
presionar este botón con el ratón, se reinician los modelos reducidos y se recalculan los
que están seleccionados con las nuevas condiciones, desapareciendo este botón al
finalizar el recálculo.
7-10 Entorno gráfico. Modelos reducidos.
En la parte derecha de la ventana se encuentran los cuadros de selección de
máquina, alimentaciones y cargas, parámetros de simulación y representación y
exportación de datos.
7 Programación de las herramientas
224
En el cuadro de selección de la máquina se encuentra un menú desplegable que
permite seleccionar entre todas las máquinas de la base de datos que se ha indicado
anteriormente, al cambiar la máquina seleccionada se restablecen los valores por defecto
de alimentaciones y condiciones de integración y se deseleccionan los modelos. Existe
además un botón denominado Modificar… que llama a la pantalla de edición de
máquinas de la figura 7-2 y que tras modificar los datos de está añade una nueva línea al
menú desplegable de máquinas con el valor particular personalizado y toma los valores
de la máquina del mismo.
Justo debajo, está el cuadro de alimentación, contiene en primer lugar un menú
desplegable para la alimentación del estátor, con dos opciones, Nominal y Definido por
Usuario. Con la primera la amplitud de la tensión trifásica equilibrada será la nominal y
con la segunda se permite introducir en el cuadro de edición inferior una función para la
amplitud de la onda reconocible por Matlab que dependa de las variables de tiempo en
segundos y velocidad del rótor en rad/s, utilizando las variables t y wr para indicarlas
respectivamente. De la misma forma se puede crear externamente una función más
compleja en un fichero de Matlab e introducirlo en el cuadro de edición.
Siguiendo con el cuadro de alimentación, el valor de la frecuencia se establece
de la misma manera exacta que la amplitud de la tensión del estátor, con un menú
desplegable par escoger entre frecuencia nominal y frecuencia definida y un cuadro de
edición donde incluir la función de la frecuencia en Hz dependiente de las variables
anteriormente citadas t y wr.
Por debajo de la opción de frecuencia se encuentran los cuadros de edición de la
amplitud de tensión de alimentación rotórica en voltios referidos al estátor, el desfase
entre la tensión del estátor y la del rótor en radianes (positiva en atraso del rótor con
respecto al estátor), el par resistente aplicado en Nm y la inercia de la carga resistente
aplicada en kg·m2. Todas estas funciones pueden ser introducidas como función
interpretable por Matlab dependiente de t y wr, o bien mediante la creación de un
fichero que esté en el mismo directorio con una función de Matlab que sea más
compleja.
En el cuadro inferior se encuentran los parámetros de simulación. Existen dos
cuadros de edición con los tiempos en segundos de inicio y finalización de la
simulación y un cuadro de edición con la tolerancia relativa de la integración de las
ecuaciones para la simulación. Justo debajo aparece un menú desplegable que permite
escoger como inicio de la simulación el punto de reposo (simulación de arranque) o el
punto de régimen permanente en el que se encontraría si todas las variables fueran
constantes y tuvieran el valor correspondiente al tiempo indicado en el cuadro de
edición de t0. De esta forma, si la función del par resistente fuera, por ejemplo:
100*(t>0)
Al seleccionar el régimen permanente como inicio de la simulación, este se
calculará automáticamente para un par resistente con un valor nulo, aunque en el
instante justo posterior a t=0 este par valga 100Nm.
El último cuadro de la parte derecha de la ventana es el de la representación y
los datos, en el existe la posibilidad de representar y comparar los distintos modelos
para las variables que resulten más interesantes, mediante los menús desplegables de los
ejes x e y en los que se encuentran las variables y los menús desplegables
7 Programación de las herramientas
225
correspondientes de las unidades, pudiendo escoger entre SI o PU. Al modificar
cualquier menú desplegable se actualiza automáticamente la gráfica.
Se encuentran en este último cuadro dos botones uno denominado Exportar y
otro denominado Exportar todo, el primero exporta únicamente las variables
representadas en la gráfica, mientras que el segundo exporta todas las variables
calculadas para los modelos reducidos que están seleccionados en el cuadro superior.
Junto con los datos, se exporta también las condiciones de integración de la máquina
junto con las alimentaciones y los parámetros electromecánicos, todo dentro de una
estructura denominada exportar.
Las variables que se pueden representar y o exportar son las siguientes:
t = tiempo en segundos.
r = velocidad del rótor (rad/s o PU)
xsi Intensidad del eje x (q o d) del estátor (A o PU)
2 2
qs dsi i =Envolvente de las intensidades del estátor (A o PU)
xri Intensidad del eje x (q o d) del rótor referido al estátor (A o PU)
2 2
qr dri i =Envolvente de las intensidades del rótor referida al estátor (A o PU)
xs flujo por segundo del eje x (q o d) del estátor (V o PU)
xr flujo por segundo del eje x (q o d) del rótor referido al estátor (V o PU)
m flujo por segundo mutuo (V o PU)
eT = Par electromagnético generado por la máquina (Nm o PU)
eP = Potencia eléctrica consumida por la máquina (W o PU)
mP = Potencia mecánica cedida por la máquina (W o PU)
eQ = Potencia reactiva consumida por la máquina (VAr o PU)
cos( ) = Factor de potencia (PU)
sv = Amplitud de la tensión de alimentación del estátor (V o PU)
rv= Amplitud de la tensión de alimentación del rótor referida al estátor (V o PU)
r = desfase de la tensión del rótor respecto al estátor.
lT = Par resistente aplicado (Nm o PU)
lH = Inercia de la carga resistente aplicada (kg·m2 o s)
s = velocidad angular del sistema eléctrico y del sistema de referencia síncrono
(rad/s o PU)
= Angulo del sistema de referencia síncrono (rad o PU)
r = Ángulo del rótor (rad o PU)
En la parte superior de la ventana hay una barra de herramientas que contiene de
izquierda a derecha y por orden lo siguiente:
Exportar Simulaciones, equivalente a exportar todo.
Imprimir gráfica (copia la gráfica a una ventana nueva, la adapta y presenta un menú
de impresión, para finalmente cerrar dicha ventana)
Zoom + (para la gráfica en curso)
7 Programación de las herramientas
226
Zoom – (para la gráfica en curso)
Zoom todo, ajusta los límites de representación de la gráfica.
Rejilla, representa o elimina la cuadrícula de la gráfica.
Desplazamiento de la gráfica
Señalador de datos (para mostrar los valores de un punto específico de la gráfica)
Mostrar u ocultar leyenda de la gráfica.
A esta función gráfica también se le puede realizar una llamada desde la línea de
comandos de Matlab, mediante la función reducidos.m y su figura asociada
reducidos.fig. Esta función no recoge parámetros ni los devuelve.
7.2.4. LINEALIZACIÓN DE MODELOS
La tercera herramienta gráfica que se llama desde la pantalla de presentación es
la de linealización de modelos reducidos. Al presionar el botón correspondiente surge la
ventana de la figura 7-11, que es el entorno gráfico para cálculo y simulación de
modelos linealizados.
7-11 Entorno gráfico. Linealización de modelos reducidos.
7 Programación de las herramientas
227
En la parte derecha se encuentran los dos cuadros de presentación de resultados,
el superior, en el que aparecen las funciones de transferencia y los polos ceros y
ganancias de las mismas, y el inferior donde aparece la representación grafica
comparativa entre un modelo reducido linealizado y su correspondiente modelo
completo.
En la parte izquierda de la pantalla están ubicados los cuadros de selección e
introducción de datos y de selección de variables a representar y linealizar.
El primero de estos cuadros es el cuadro de selección de la máquina, se
encuentra en él un menú desplegable que permite seleccionar entre todas las máquinas
de la base de datos que se ha indicado en el apartado 7.2.1, al cambiar la máquina
seleccionada se restablecen los valores por defecto de alimentaciones y condiciones de
integración. Existe además un botón denominado Modificar… que llama a la pantalla de
edición de máquinas de la figura 7-2 y que tras modificar los datos de está añade una
nueva línea al menú desplegable de máquinas con el valor particular personalizado y
toma los valores de la máquina del mismo.
Debajo inmediatamente de este primer cuadro existen dos cuadros, uno con los
cuadros de edición para introducir el punto de trabajo para cada variable de entrada y un
botón con la denominación Encontrar que calcula e introduce los valores en los cuadros
de edición del punto de trabajo como los valores de régimen permanente dados por las
entradas del sistema cuando el tiempo toma el valor del cuadro de edición de t0, ubicado
en el cuadro de los parámetros de la simulación. Si alguna función de entrada fuera
dependiente de la velocidad del rótor utilizaría la velocidad de régimen permanente del
rótor para el valor de t0.
El segundo cuadro, ubicado a la derecha del anterior, contiene un menú
desplegable para seleccionar el modelo reducido a partir del que se debe realizar la
linealización. Una vez seleccionado el modelo se calculan de forma interna las matrices
de la linealización y se representa automáticamente en la gráfica de la derecha. Debajo
del menú desplegable existen otros dos que seleccionan las variables de entrada y de
salida sobre las que se deben presentar los polos, ceros, ganancia y función de
transferencia en el cuadro de la derecha reservado a tal efecto. Para que se actualice
dicha función de transferencia, los polos, los ceros y las ganancias hay que presionar
con el ratón el botón inferior que indica F. Transfer.
El cuadro de alimentación contiene en primer lugar un menú desplegable para la
alimentación del estátor, con dos opciones, Nominal y Definido por Usuario. Con la
primera la amplitud de la tensión trifásica equilibrada será la nominal y con la segunda
se permite introducir en el cuadro de edición inferior una función para la amplitud de la
onda reconocible por Matlab que dependa de las variables de tiempo en segundos y
velocidad del rótor en rad/s, utilizando las variables t y wr para indicarlas
respectivamente. De la misma forma se puede crear externamente una función más
compleja en un fichero de Matlab e introducirlo en el cuadro de edición.
Siguiendo con el cuadro de alimentación, el valor de la frecuencia se establece
de la misma manera exacta que la amplitud de la tensión del estátor, con un menú
desplegable par escoger entre frecuencia nominal y frecuencia definida y un cuadro de
edición donde incluir la función de la frecuencia en Hz dependiente de t y wr.
7 Programación de las herramientas
228
Por debajo de la opción de frecuencia se encuentran los cuadros de edición de la
amplitud de tensión de alimentación rotórica en voltios referidos al estátor, el desfase
entre la tensión del estátor y la del rótor en radianes (positiva en atraso del rótor con
respecto al estátor), el par resistente aplicado en Nm y la inercia de la carga resistente
aplicada en kg·m2. Todas estas funciones pueden ser introducidas como función
interpretable por Matlab dependiente de t y wr, o bien mediante la creación de un
fichero que esté en el mismo directorio con una función de Matlab que sea más
compleja.
En el cuadro inferior se encuentran los parámetros de simulación. Existen dos
cuadros de edición con los tiempos en segundos de inicio y finalización de la
simulación y un cuadro de edición con la tolerancia relativa de la integración de las
ecuaciones para la simulación.
En el cuadro de representación y datos existe la posibilidad de representar y
comparar las distintas variables que resulten más interesantes entre el modelo
linealizado y su correspondiente modelo completo de referencia. Mediante los menús
desplegables de los ejes x e y en los que se encuentran las variables y los menús
desplegables correspondientes de las unidades se seleccionan los datos a representar,
pudiendo escoger entre unidades SI o PU. Al modificar cualquier menú desplegable se
actualiza automáticamente la gráfica. En la parte inferior aparece el botón Exportar que
presenta un cuadro de dialogo con explorador de ficheros para poder guardar en un
fichero de datos Matlab mediante una estructura denominada exportar lo siguiente:
Matrices de la linealización para el modelo reducido seleccionado.
Numeradores y denominadores de las funciones de transferencia entre entradas y
salidas, en unidades SI y en PU.
Todas las variables de la simulación del modelo completo
Todas las variables de la simulación del modelo reducido
Condiciones de integración.
Parámetros electromecánicos de la máquina.
En la parte superior de la ventana hay una barra de herramientas que contiene de
izquierda a derecha y por orden lo siguiente:
Exportar Simulaciones, equivalente al botón de exportar.
Imprimir gráfica (copia la gráfica a una ventana nueva, la adapta y presenta un menú
de impresión, para finalmente cerrar dicha ventana)
Zoom + (para la gráfica en curso)
Zoom – (para la gráfica en curso)
Zoom todo, ajusta los límites de representación de la gráfica.
Desplazamiento de la gráfica
Señalador de datos (para mostrar los valores de un punto específico de la gráfica)
Mostrar u ocultar leyenda de la gráfica.
Rejilla, representa o elimina la cuadrícula de la gráfica.
A esta función gráfica también se le puede realizar una llamada desde la línea de
comandos de Matlab, mediante la función linealizacion_im.m y su figura asociada
linealizacion_im.fig. Esta función no recoge parámetros ni los devuelve.
7 Programación de las herramientas
229
7.2.5. CÁLCULO DE AUTOVALORES
La última de las aplicaciones gráficas permite hacer comparativas entre modelos
o mediante los autovalores producto de la linealización, de esta manera se pueden
comparar dinámicas predichas por los distintos modelos.
Al presionar con el ratón en el botón Cálculo de Autovalores de la ventana de
presentación aparece la nueva ventana de la figura 7-12. Como se puede ver está
compuesta por una gráfica y permite compara hasta tres modelos simultáneamente.
En la parte derecha de la ventana está la representación gráfica comentada, y en
la parte superior de esta hay un cuadro con dos botones de radio que permiten escoger el
modo de representación de dicha gráfica. Las opciones son representar la parte real y la
parte imaginaria de los autovalores frente a la velocidad normalizada del rótor o
representar la parte imaginaria de los autovalores frente a la parte real junto con la
representación de las variables de estado en régimen permanente frente a la velocidad
del rótor.
7-12 Entorno gráfico. Comparativa de modelos mediante autovalores.
En la parte izquierda de la ventana el cuadro superior es el cuadro de selección
de la máquina, se encuentra en él un menú desplegable que permite seleccionar entre
todas las máquinas de la base de datos que se ha indicado en el apartado 7.2.1. Al
cambiar la máquina seleccionada se restablecen los valores por defecto de
alimentaciones y condiciones de integración. Existe además un botón denominado
Modificar… que llama a la pantalla de edición de máquinas de la figura 7-2 y que tras
7 Programación de las herramientas
230
modificar los datos de está añade una nueva línea al menú desplegable de máquinas con
el valor particular personalizado y toma los valores de la máquina del mismo.
Por debajo de la selección de la máquina hay tres cuadros, referentes a los
modelos a los cuales se quiere calcular los autovalores y comparar entre sí. Todos tienen
la misma forma y el mismo funcionamiento. Primero hay un menú desplegable que
permite escoger entre los distintos modelos, y una vez escogido se establecen como
tensión de alimentación y frecuencia de alimentación las nominales, con el rótor en
cortocircuito e inercia de carga nula. Estos valores pueden ser modificados
manualmente en sus correspondientes cuadros de edición que se encuentran justo debajo
del menú desplegable. Junto a los cuadros de edición hay un botón denominado
Nominal que restablece los cuadros de edición a las condiciones indicadas
anteriormente. En la parte inferior del cuadro se encuentra un botón de selección que
habilita todos los elementos del cuadro e indica que debe representarse gráficamente el
modelo con las condiciones establecidas.
En la parte inferior esta el cuadro de los parámetros de cálculo, con los cuadros
de edición de la velocidad del rótor normalizada mínima y máxima para la que realizar
los cálculos y la tolerancia relativa de los cálculos numéricos internos que se realizan
para encontrar los distintos puntos. Finalmente existe un botón denominado Compara
para realizar los cálculos y representarlos gráficamente y un botón denominado
Exportar que exporta los cálculos de los modelos seleccionados en una estructura
denominada exportar que contiene lo siguiente:
Parámetros electromecánicos de la máquina seleccionada.
Autovalores para el rango indicado de cada modelo seleccionado
Variables de estado de régimen permanente para el rango especificado de cada
modelo.
Vector con los valores de alimentaciones y cargas (entradas) empleadas en cada
modelo.
Por último en la parte superior de la ventana hay una barra de herramientas que
contiene de izquierda a derecha y por orden lo siguiente:
Exportar Simulaciones, equivalente al botón de exportar.
Imprimir gráfica (copia la gráfica a una ventana nueva, la adapta y presenta un menú
de impresión, para finalmente cerrar dicha ventana)
Zoom + (para la gráfica en curso)
Zoom – (para la gráfica en curso)
Zoom todo, ajusta los límites de representación de la gráfica.
Desplazamiento de la gráfica
Señalador de datos (para mostrar los valores de un punto específico de la gráfica)
Rejilla, representa o elimina la cuadrícula de la gráfica.
Mostrar u ocultar leyenda de la gráfica.
A esta función gráfica también se le puede realizar una llamada desde la línea de
comandos de Matlab, mediante la función autov_gui.m y su figura asociada
autov_gui.fig. Esta función no recoge parámetros ni los devuelve.
7 Programación de las herramientas
231
7.3. ESTRUCTURA DE LA PROGRAMACIÓN Y FUNCIONES DE
MATLAB
7.3.1. ESTRUCTURA BÁSICA
La filosofía utilizada para la creación de estas herramientas ha sido la de crear
un paquete básico de funciones de los distintos modelos con forma canónica, que
además deben seguir una línea de programación común, de forma que se pueda ampliar
el paquete de herramientas en cualquier momento o añadir nuevas funciones de
modelos. De esta manera cualquier modelo vendrá determinado por dos funciones, la
primera contiene las ecuaciones diferenciales de estado, mientras que la segunda
determina las variables de salida. Estas dos funciones son dependientes de los
parámetros electromecánicos de la máquina, de las variables de estado y las
excitaciones.
Esta estructura permite realizar linealizaciones de modelos de forma sencilla y
automatizada, así como crear funciones en Matlab que engloben sistemas conjuntos con
diversas máquinas para realizar simulaciones de sistemas más complejos.
( , )f x u, param
( , )g x u, param
ddt
x
yu
x
u
x
7-13 Funciones básicas de los modelos
En todos los casos la denominación que se ha dado a las funciones y su
estructura sigue una serie de reglas generales que son válidas para todos los modelos.
Estas reglas son las siguientes:
Los parámetros electromecánicos de la máquina vienen dados por una estructura
denominada param que tiene una denominación común de los campos que es válida
sea cual sea el modelo empleado.
El vector de excitaciones u contiene siempre las mismas variables físicas sea cual
sea el modelo reducido o si es un modelo linealizado, de forma que, por ejemplo
u(1) es siempre la amplitud de la tensión de alimentación del estátor.
El vector de salidas y contiene siempre las mismas variables físicas sea cual sea el
modelo reducido o si es un modelo linealizado, de forma que, por ejemplo y(13) es
siempre el par electromagnético generado.
La función de cálculo de salidas debe funcionar en forma matricial, de forma que si
las excitaciones y las variables de estado vienen dadas por matrices por ser una
concatenación de vectores para distintos instantes de la simulación la función
devuelva una matriz con los vectores de salida concatenados.
7 Programación de las herramientas
232
Toda función de estado se denomina eqsmotind_modelo.m, donde modelo es un
nombre corto especificado para el modelo y será común a todas las funciones que se
refieran al mismo, por ejemplo para la función de tercer orden clásico la función
será eqsmotind_3clas.m. Esto permite automatizar funciones comunes a los modelos
como la linealización.
Toda función de salidas se denomina salidas_reducidosmodelo.m, donde modelo es
un nombre corto especificado para el modelo y será común a todas las funciones que
se refieran al mismo, por ejemplo salidas_reducidos3clas.m.
Para poder integrar las funciones mediante los integradores de Matlab del
paquete ODESUITE hay que crear una función que englobe a la función de las
ecuaciones diferenciales, de manera que se incluya el vector tiempo y si fuese necesario,
como es en el caso que se presenta, interprete y convierta funciones de entradas en
valores instantáneos a suministrar a la función que contiene las ecuaciones diferenciales.
En este caso, la función se denomina eqsmotid_modelo_integ.m, donde nuevamente
modelo es el nombre corto especificado anteriormente. La llamada a la función es de la
siguiente forma.
dxdt=eqsmotind_modelo_integ(t,x,param,condinteg)
Donde x es el vector de estados, t es el valor tiempo, param es la misma
estructura con los parámetros electromecánicos de la máquina, condinteg es una nueva
estructura con las condiciones de integración, funciones de entrada, etc. y dxdt es el
vector diferencial del vector de estados. Dentro de esta función se realiza una llamada a
la función que contiene las ecuaciones de estado y utiliza sus resultados. La función de
integración es específica del paquete de programación, debido al entorno gráfico creado
y su forma de tratar los datos de la simulación, en caso de que se dieran los datos de otra
forma habría que crear una función nueva, que haga de interfaz de integración con la
función de las ecuaciones de estado.
El vector de excitaciones u tiene unos valores ya predefinidos, aunque si se
crearan funciones con nuevos modelos e hiciera falta ampliar se podría anexar al vector
a partir de los elementos que no están definidos, ya que ninguna función tiene definido
el que este vector u tenga un tamaño determinado, sino que sólo interpreta los valores
que le son necesarios. Los valores que ya están definidos del vector de excitaciones son:
u(1) = amplitud de la tensión del estátor (PU)
u(2) = amplitud tensión del rótor (PU)
u(3) = desfase entre la tensión del rótor y la del estátor (rad)
u(4) = par resistente aplicado (PU)
u(5) = Inercia de la carga (s)
u(6) = frecuencia de alimentación del estátor (corresponde con la del sistema de
referencia, al ser el síncrono el escogido)
u(7) = ángulo girado por el sistema de referencia (PU)
u(8) = ángulo girado por el rótor (PU)
u(9) = parte real de la derivada de la tensión del estátor (PU)
u(10) = parte imaginaria de la derivada de la tensión del estátor (PU)
u(11) = parte real de la derivada de la tensión del rótor (PU)
u(12) = parte imaginaria de la derivada de la tensión del rótor (PU)
u(13) = derivada de la frecuencia de alimentación (PU)
7 Programación de las herramientas
233
En cuanto al vector de salidas también tiene definidas las variables físicas que
corresponden a cada elemento del vector. Si se requiere de otras variables se pueden
definir anexadas. Hay que tener presente que las funciones gráficas definidas
anteriormente solamente interpretan las 17 primeras posiciones del vector de salidas.
Las posiciones definidas son:
y(1) = Velocidad angular del rotor normalizada
y(2) = Componente d (real) de la intensidad del estátor (PU)
y(3) = Componente q (imaginaria) de la intensidad del estátor (PU)
y(4) = Valor absoluto de la intensidad del estátor (PU)
y(5) = Componente d (real) de la intensidad del rótor referida al estátor (PU)
y(6) = Componente q (imaginaria) de la intensidad del rótor referida al estátor (PU)
y(7) = Valor absoluto de la intensidad del rótor referida al primario (PU)
y(8) = componente d del flujo por segundo del estátor (PU)
y(9) = componente q del flujo por segundo del estátor (PU)
y(10) = componente d del flujo por segundo del rótor referido al estátor (PU)
y(11) = componente q del flujo por segundo del rótor referido al estátor (PU)
y(12) = valor del flujo por segundo mutuo (PU)
y(13) = Par electromagnético (PU)
y(14) = Potencia activa consumida (PU)
y(15) = Potencia mecánica cedida (PU)
y(16) = Potencia reactiva consumida (PU)
y(17) = Factor de potencia
En el caso del modelo completo, estos dos vectores contienen una organización
distinta de las variables, debido a la especificación de alimentación equilibrada de los
modelos reducidos. Para más información en la ayuda de las funciones de Matlab está
completamente especificadas las variables que componen dichos vectores.
La estructura con los parámetros electromecánicos de la máquina contiene los
siguientes campos, aunque no tienen por qué ser necesarios todos los campos en todas
las funciones:
param.wb = Velocidad angular base (rad/s) para el cálculo de parámetros en PU
param.Xls = Inductancia de dispersión del estator en PU
param.Xlr = Inductancia de dispersión del rotor referida al estator en PU
param.Xm = Inductancia mutua en PU
param.Xa = Reactancia equivalente del circuito magnético en PU
param.Rs = Resistencia del estator en PU
param.Rr = Resistencia del rotor referida al estator en PU
param.saturacion = valor booleano que indica si hay o no saturación
param.polisat = polinomio que describe la saturación como 2
m m mf
param.limlin = punto de límite lineal del flujo
param.H = Constante de inercia del rotor segundos
param.a, param.b, param.c, param.d, param.dn y param.e = constantes complejas
de acoplamiento del sistema de 5º orden
param.r, param.m, param.s =constantes complejas del cálculo de intensidades del
sistema de 5º orden.
7 Programación de las herramientas
234
param.polin_perdmec = polinomio que representa las pérdidas mecánicas en (PU)
en función de wr (normalizado)
param.Pb = Potencia base en vatios para el cálculo de parámetros en PU
param.p = Número de polos del motor de inducción
param.Vb = Tensión base en voltios para el cálculo de parámetros en PU
param.Tb = Par base en Nm para el cálculo de parámetros en PU
El resto de funciones del paquete de programación son auxiliares para cada
modelo, para tratamiento de datos, linealizaciones, cálculo de autovalores, etc., o bien
auxiliares comunes a todos los modelos. En los siguientes apartados se comenta
brevemente todas las funciones del paquete de programas. En el caso de que se requiera
más información sobre la utilización de dichos comandos úsese el comando help de
Matlab seguido del nombre de la función.
7.3.2. FUNCIONES DEL MODELO COMPLETO
El programa del modelo completo, que permite hacer simulaciones con tensiones
desequilibradas y con sistemas de referencia distintos al síncrono, contiene un núcleo
que funciona de la misma manera explicada en el epígrafe 7.3.1, aunque los vectores de
salidas y y de excitaciones u están estructurados de forma distinta dado que contienen
las componentes 0 que surgen de los desequilibrios entre otras razones. Las funciones
que componen este núcleo son eqsmotind.m y salidas.m. La llamada a las dos funciones
es como sigue:
dxdt = eqsmotind(x,u,param)
y = salidas(x,u,param)
Para la integración de las ecuaciones de estado se utiliza la función
eqsmotind_integ.m que devuelve los valores de las ecuaciones diferenciales del cálculo
de los flujos de un motor de inducción para la integración en el sistema de referencia
qd0 y en PU para un momento determinado calculando también el ángulo
correspondiente del sistema de referencia qd0, la velocidad angular del rotor y el ángulo
girado por el último. La llamada a la función se realiza de la siguiente forma:
dxdt = eqsmotind(t,x,param,condinteg)
Se puede ejecutar la simulación gráfica del modelo completo sin necesidad de
abrir el menú con la llamada a la función maq_ind.m tal y como viene explicado en el
epígrafe 7.2.2.
Durante la llamada a la función maq_ind.m, se van ejecutando en las siguientes
funciones en el orden especificado:
seleccion.fig y seleccion.m que son las responsables de la ejecución de la ventana de
selección de maquinaria de la figura 7-5
condintegr.fig y condintegr.m que son las que componen la ventana de selección de
condiciones de integración de la figura 7-6
resultados.fig y resultados.m que muestran, una vez integradas las ecuaciones, los
resultados de la simulación mediante la ventana de resultados de la figura 7-8
7 Programación de las herramientas
235
Las funciones informe_resumen.fig e informe_resumen.m muestran en el entorno
gráfico a petición del usuario el informe de la simulación de la ventana mostrada en la
figura 7-9.
7.3.3. FUNCIONES DE LOS MODELOS REDUCIDOS
El programa de simulación de modelos reducidos permite hacer simulaciones
con distintos modelos, todos con la estructura común explicada en el epígrafe 7.3.1. Por
requisitos de los modelos las alimentaciones son equilibradas, lo que provoca que no
tenga componentes homopolares y en las salidas se han incluido los flujos por segundo
que en algunos modelos coinciden con las variables de estado. En la Tabla 7-1 se
encuentran las denominaciones de las funciones del núcleo, que como se ha explicado
anteriormente son comunes a todas las funciones, distinguiéndose unas de otras
solamente en una pequeña parte que se ha denominado Nombre Corto.
Tabla 7-1 Denominación de las funciones de modelos reducidos.
Modelo Nombre Corto Funciones del modelo.
Clásico de primer orden 1clas
eqsmotind_1clas.m
salidas_reducidos1clas.m
eqsmotind_1clas_integ.m
2º orden de Richards 2rich
eqsmotind_2rich.m
salidas_reducidos2rich.m
eqsmotind_2rich_integ.m
2º orden de Richards & Tan 2rictan
eqsmotind_2rictan.m
salidas_reducidos2rictan.m
eqsmotind_2rictan_integ.m
2º orden de Richards & Tan Modificado 2rictanmod
eqsmotind_2rictanmod.m
salidas_reducidos2rictanmod.m
eqsmotind_2rictanmod_integ.m
Clásico de tercer orden 3clas
eqsmotind_3clas.m
salidas_reducidos3clas.m
eqsmotind_3clas_integ.m
Refinado de tercer orden 3ref
eqsmotind_3ref.m
salidas_reducidos3ref.m
eqsmotind_3ref_integ.m
3er orden de Richards 3rich
eqsmotind_3rich.m
salidas_reducidos3rich.m
eqsmotind_3rich_integ.m
Orden 5 completo 5clas
eqsmotind_5clas.m
salidas_reducidos5clas.m
eqsmotind_5clas_integ.m
Orden 5 completo con saturación 5classat
eqsmotind_5classat.m
salidas_reducidos5classat.m
eqsmotind_5classat_integ.m
Clásico de tercer orden con saturación 3classat
eqsmotind_3classat.m
salidas_reducidos3classat.m
eqsmotind_3classat_integ.m
Clásico de primer orden con saturación 1classat
eqsmotind_1classat.m
salidas_reducidos1classat.m
eqsmotind_1classat_integ.m
7 Programación de las herramientas
236
La llamada a las funciones del núcleo es de la siguiente forma, sin más que
sustituir modelo por el nombre corto de la tabla.
dxdt = eqsmotind_modelo(x,u,param)
y = salidas_reducidosmodelo(x,u,param)
Las funciones de integración son llamadas de la siguiente manera, también
sustituyendo modelo por el nombre corto especificado
dxdt=eqsmotind_modelo_integ(t,x,param,condinteg)
Para calcular el vector de entradas u a partir de las funciones del tiempo, la
velocidad del rótor y las variables de estado y tiempo se ha creado la función
calcula_entradas.m que realiza los cálculos tanto en forma escalar como en forma
vectorial dependiedo de si la llamada a la función se realiza mediante una variable
unidimensional para la variable del tiempo y un vector para las variables de estado o
mediante un vector para el tiempo y una matriz para las variables de estado. La llamada
a la función se realiza de la siguiente forma:
y=calcula_entradas(tiempo,x,param,condinteg)
Para el modelo reducido de tercer orden refinado existe una función específica
para el cálculo de las entradas u, que se denomina calcula_entradas3ref.m y que tiene la
misma estructura que calcula_entradas.m. La diferencia está en que el modelo de tercer
orden no calcula directamente la velocidad del rótor, sino que la primera de las variables
de estado ha de ser convertida para calcular la velocidad del rótor. La llamada viene
dada por:
y=calcula_entradas3ref(tiempo,x,param,condinteg)
Se puede ejecutar el entorno gráfico de los modelos reducidos mediante las
funciones reducidos.fig y reducidos.m.
7.3.4. FUNCIONES DE LINEALIZACIÓN, AUTOVALORES Y FUNCIÓN DE
TRANSFERENCIA
Para encontrar las matrices de la forma canónica resultante de la linealización de
las ecuaciones tanto de estado como de salida existe la función linealiza.m con el único
requisito de que las funciones a linealizar tengan la forma especificada en el epígrafe
7.3.1. La función devuelve las matrices de la linealización y los puntos de equilibrio de
las variables de estado y de salida. La llamada a la función es como sigue:
[x0,y0,A,B,C,D]=linealiza(fun1,fun2,u0,x00,options)
De forma que fun1 y fun2 son 2 handles a la función de ecuaciones de estado y a
la función de salida respectivamente. Para el caso del modelo clásico de tercer orden por
ejemplo, los handles vendrían dados por @(x,u) eqsmotind_3clas(x,u,param) y @(x,u)
salidas_reducidos3clas(x,u,param). Por otro lado u0 es el punto del vector de
excitación alrededor del que se va a hacer la linealización.
7 Programación de las herramientas
237
Para poder hacer simulaciones de los modelos linealizados, se ha creado un
núcleo similar a los modelos reducidos, donde las ecuaciones de estado vienen dadas
por eqsmotind_lin.m y salidas_reducidoslin.m con las mismas estructuras del vector de
excitaciones y del vector de salidas que los modelos reducidos. La diferencia está en
que en vez de utilizar la estructura de parámetros electromecánicos de la máquina dada
por param, usan las matrices obtenidas de la linealización y que los resultados de la
función de salida son los valores incrementales respecto al punto de trabajo en vez de
los valores absolutos. Estas funciones vienen dadas por
dxdt = eqsmotind_lin(x,u,A,B)
y = salidas_reducidoslin(x,u,C,D)
Para adaptar las funciones variables de las entradas junto con las ecuaciones de
estado para realizar la integración existe la función eqsmotind_lin_integ.m que tiene la
siguiente sintaxis de llamada
dxdt = eqsmotind_lin_integ(t,x,A,B,param,condinteg)
Si se pretende calcular los autovalores de un modelo determinado se utiliza la
función autovalores_maqind.m, que calcula los estados de equilibrio (x) y los
autovalores (y) correspondientes al modelo reducido de máquina de inducción dada por
el handle fun para un intervalo de valores de velocidad del rótor. En el caso del modelo
de tercer orden clásico por ejemplo, el handle sería @(x,u)eqsmotind_3clas(x,u,param).
[x,y]=autovalores_maqind(fun,u0,options,wr)
Para ejecutar la ventana del entorno gráfico para la linealización de la figura
7-11 sin necesidad de pasar por la pantalla de menú inicial están las funciones
linealizacion_im.fig y linealizacion_im.m.
En el caso del entorno gráfico para el cálculo de autovalores de la figura 7-12, se
puede ejecutar sin pasar por la pantalla de menú mediante las funciones autov_gui.fig y
autov_gui.m.
7.3.5. FUNCIONES AUXILIARES
Existen una serie de funciones que no son específicas de ninguna de las partes
anteriores, en cambio son o pueden ser útiles de una forma genérica.
En primer lugar existen tres funciones de cambio de sistemas de referencia,
trans.m, antitrans.m y trans_qd0_qd0.m, la primera realiza la transformación del
sistema de referencia abc a un sistema de referencia qd0, la segunda hace la
transformación inversa y la tercera realiza el cambio entre distintos sistemas de
referencia qd0.
Las llamadas a las funciones son como siguen
[f_qd0]=trans(f_abc,thetaqd0,thetaabc)
[f_abc]=antitrans(f_qd0,thetaqd0,thetaabc)
7 Programación de las herramientas
238
[f_qd0_dest]=trans_qd0_qd0(f_qd0_orig,theta_orig,theta_des)
Para poder expresar de una forma más intuitiva las funciones de transferencia se
ha creado la función transfer2latex.m que convierte a formato Latex dicha función de
transferencia expresada mediante dos vectores correspondientes al numerador y
denominador. La llamada a la función se realiza de la siguiente forma.
cad = transfer2latex(num,den)
Dentro de esta función hay una llamada a otra función denominada poly2str2.m
que convierte un polinomio expresado mediante un vector a una cadena de caracteres, la
llamada a la función se realiza de la siguiente forma
[s,len] = poly2str2(den)
Los integradores de Matlab tienen la opción de hacer los cálculos con un paso de
integración variable, esto es muy interesante, ya que permite hacer los cálculos de una
manera más rápida. Esto es especialmente importante en el caso en el que se alcanzan
valores de régimen permanente en el sistema de referencia síncrono, ya que al acercarse
a dicho régimen permanente los valores de las variables eléctricas deben ser constantes
en dicho sistema de referencia, permitiendo aumentar el paso de la integración y
calculando menos valores para un intervalo de tiempo determinado.
En cambio es preciso si se usan los integradores de esta manera evitar el efecto
de aliasing que puede surgir al reconvertir los vectores de resultados, expresados en el
sistema de referencia qd0, de nuevo al sistema de referencia abc. Para ello es necesario
crear un nuevo vector de tiempos con una frecuencia mínima que nos asegure que no se
producirá este efecto no deseado e interpolar los vectores de las variables de estado.
Para calcular este vector de tiempos se ha creado la función frecmin.m que crea el nuevo
vector manteniendo los valores del antiguo en introduce entre dos valores consecutivos
de tiempos tantos valores igualmente escalados como sea necesario para que la nueva
frecuencia de muestreo sea como mínimo la indicada en la función. La llamada a la
función es de la siguiente forma.
y = frecmin(t,fmin)
Durante la integración de las ecuaciones aparece una pantalla gráfica que va
mostrando el valor de la variable de estado relacionada con la velocidad del rótor. La
función que permite que se muestre la evolución de esta integración se llama
salida_eqs.m.
Las otras funciones comunes que están creadas son las referentes al entorno
grafico, que ya han sido explicadas con anterioridad, que son menu_im.fig y menu_im.m
para inicializar el entorno gráfico, parametrizacion.fig y parametrizacion.m para la
función gráfica de tratamiento de la base de datos y parametrización de las máquinas y
finalmente curvasat.fig y curvasat.m que permiten editar las curvas de saturación de las
máquinas.