7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7...

28
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. I NTRODUCCIÓ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.

Transcript of 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7...

Page 1: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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.

Page 2: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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

Page 3: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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

Page 4: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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

Page 5: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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:

Page 6: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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

Page 7: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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

Page 8: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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.

Page 9: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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

Page 10: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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)

Page 11: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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:

Page 12: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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.

Page 13: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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.

Page 14: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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

Page 15: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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)

Page 16: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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.

Page 17: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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.

Page 18: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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.

Page 19: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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

Page 20: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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.

Page 21: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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.

Page 22: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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)

Page 23: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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.

Page 24: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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

Page 25: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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

Page 26: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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.

Page 27: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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)

Page 28: 7. PROGRAMACIÓN DE LAS HERRAMIENTASbibing.us.es/proyectos/abreproy/4943/fichero/7... · 7 Programación de las herramientas 213 todos los parámetros de una máquina y almacenar

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.