Anda di halaman 1dari 31

Practicas de Laboratorio de Control Automatico

2017
I NDICE GENERAL

1. Simulink 1
1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2. Objetivos Especficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Prepractica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1. Ejemplo Basico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2. Biblioteca de Bloques de Simulink . . . . . . . . . . . . . . . . . . . . . . . 15

I
I NDICE DE FIGURAS

1.1. Biblioteca de Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2


1.2. Modelo Nuevo en Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Circuito RLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4. Bloques para la simulacion del circuito RLC . . . . . . . . . . . . . . . . . . . . . . 5
1.5. Modelo construido para la simulacion del circuito RLC . . . . . . . . . . . . . . . . 9
1.6. Resultado de las simulaciones al cambiar escalas y duracion. . . . . . . . . . . . . . 10
1.7. Modelo y configuracion de parametros del circuito RLC usando variables de estado . 11
1.8. Simulacion del circuito RLC usando variables de estado . . . . . . . . . . . . . . . . 12
1.9. Modelo y configuracion de parametros del circuito RLC usando funcion de transfe-
rencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.10. Simulacion del circuito RLC usando funcion de transferencia . . . . . . . . . . . . . 15
1.11. Cuadro de configuracion del bloque Zero-Pole . . . . . . . . . . . . . . . . . . . . . 17
1.12. Cuadro de configuracion del bloque Integrator . . . . . . . . . . . . . . . . . . . . . 19
1.13. Cuadro de configuracion del bloque Transport Delay . . . . . . . . . . . . . . . . . 20
1.14. Cuadro de configuracion del bloque Saturation . . . . . . . . . . . . . . . . . . . . . 21
1.15. Cuadro de configuracion del bloque Gain . . . . . . . . . . . . . . . . . . . . . . . 22
1.16. Cuadro de configuracion del bloque Sum . . . . . . . . . . . . . . . . . . . . . . . . 24
1.17. Cuadro de configuracion del bloque Product . . . . . . . . . . . . . . . . . . . . . . 25
1.18. Cuadro de configuracion del bloque Math Function . . . . . . . . . . . . . . . . . . 26
1.19. Cuadro de configuracion del bloque Trigonometric Function . . . . . . . . . . . . . 27

II
Simulink

1.1. Antecedentes
Simulink es una interfaz grafica que esta incluida dentro del programa MatLab para realizar simu-
laciones de manera muy sencilla porque se pueden expresar las ecuaciones que modelan un sistema
mediante la interconexion de bloques configurables.

Otra caracterstica importante del Simulink, es que puede realizar simulaciones aplicando dis-
tintos metodos numericos para sistemas continuos o discretos, e incluso se puede interactuar con
hardware en tiempo real.

Como resultado de las caractersticas mencionadas del Simulink, los estudiantes pueden realizar,
con relativa facilidad, simulaciones de los controladores disenados y de los sistemas estudiados, para
confirmar los resultados predichos en sus analisis.

1.1.1. Objetivo General


Familiarizar al estudiante con la elaboracion y simulacion de modelos en Simulink para verificar
los resultados obtenidos teoricamente.

1.1.2. Objetivos Especficos


Introducir al estudiante en el manejo de las bibliotecas y bloques mas utilizados en los modelos
de Simulink.

Entender las formas de transferir datos entre el workspace de Matlab y Simulink.

Conocer los principales parametros de configuracion de una simmulacion.

1
LABORATORIO DE CONTROL AUTOMATICO

1.2. Prepractica
Estando dentro de MatLab, para trabajar con Simulink, lo mas comun es que primero se abra la
biblioteca de Simulink, lo que se puede realizar de varias formas:

En el Command Window, ejecutar el comando simulink.

Hacer click en el boton .

Figura 1.1: Biblioteca de Simulink

Luego de la accion anterior, se abre una ventana de la biblioteca de toolboxes y bloques disponi-
bles en Simulink como la que se muestra en la Figura 1.1, donde se pueden apreciar algunas de las

2
LABORATORIO DE CONTROL AUTOMATICO

categoras y subcategoras que agrupan los bloques de Sinulink. De estas categoras, para el curso de
control automatico, nos vamos a enfocar en:

Simulink:
Continuous.
Math Operation.
Signal Routing.
Sinks.
Sources.
Control System Toolbox.

Figura 1.2: Modelo Nuevo en Simulink

A continuacion, para abrir un modelo en blanco hay que hacer click en el boton , con lo cual
se abrira una nueva ventana con un area de trabajo que parece un lienzo en blanco como se nuestra

3
LABORATORIO DE CONTROL AUTOMATICO

en la Figura 1.2. En esta area de trabajo se construira el modelo del sistema que se desea simular
agregando elementos desde la biblioteca de Simulink u otros modelos, e interconectandolos.

20

+

v + 5V vC 100 F 800 mH
iL

Figura 1.3: Circuito RLC

1.2.1. Ejemplo Basico


A continuacion se modelara y simulara el sistema mostrado en la Figura 1.3. Para este fin, se
plantean las ecuaciones 1.1 y 1.2 que rigen del sistema.

v vC dvC
= 0,0001 + iL (1.1)
20 dt
diL
vC = 0,8 (1.2)
dt
A continuacion, para facilitar la construccion del modelo en Simulink, se despejaran las derivadas
en las ecuaciones 1.1 y 1.2.

 
v vC dvC
10000 iL = (1.3)
20 dt
diL
1,25vC = (1.4)
dt

El siguiente paso es construir las ecuaciones 1.3 y 1.4 usando los siguientes bloques de Simulink:
Step: Se encuentra en Simulink/Sources. Se lo usara para representar la fuente de voltaje.

Gain: Localizado en Simulink/Math Operation. Servira para implementar las constantes que mul-
tiplican a las variables, por lo tanto se requerira de tres de estos bloques.

4
LABORATORIO DE CONTROL AUTOMATICO

Sum: Ubicado en Simulink/Math Operation. Se lo uitlizara para representar sumas o restas. Se


necesitaran dos de estos.
Integrator: Esta en Simulink/Continuous. Con este bloque se podra obtener la variable a partir
de su derivada, por lo cual se usaran dos.
Scope: Ubicado en Simulink/Sinks. Se lo usara para visualzar el comportamiento de iL .
Con la definicion los bloques requeridos para construir el modelo en Simulink, es mas facil pro-
ceder a agregarlos en el modelo nuevo desde la biblioteca y se los puede organizar como se muestra
en la Figura 1.4.

Figura 1.4: Bloques para la simulacion del circuito RLC

A continuacion se configuraran e interconectaran los bloques. Para configurar un bloque se debe


hacer doble click en este y as abrir su cuadro de dialogo de configuracion. En desarrollo de este
ejemplo se incluiran solamente los cuadros de dialogo y una referencia de que bloque representan de
acuerdo al nombre que lo identifica en la figura 1.4. Una vez realizado el cambio en la configuracion

del bloque se debe hacer click en en boton del cuadro de dialogo del bloque que se este
configurando para que los cambios sean realizados y se cierre el cuadro de dialogo.

Step: En este bloque se configurara el tamano del paso cambiando el valor final del Step, lo que
representa el encendido de la fuente.

5
LABORATORIO DE CONTROL AUTOMATICO

Gain: Este bloque se lo configurara con una ganancia de 1/20.

Gain1: Este bloque se lo configurara con una ganancia de 10000.

6
LABORATORIO DE CONTROL AUTOMATICO

Gain2: Este bloque se lo configurara con una ganancia de 1,25.

Sumadores: Ambos bloques sum deben trabajar como diferencia, y para lograr esto se edita la
lista de signos.

7
LABORATORIO DE CONTROL AUTOMATICO

En este bloque, cuando se desee dejar un espacio adicional entre los signos se usa el caracter |.

Ademas, se debe tener en cuenta que los bloques no mencionados son los que no requieren confi-
guracion adicional para el desarrollo del ejemplo.

A continuacion se conectaran los bloques, para lo cual el procedimiento mas sencillo es presionar
el boton izquierdo del mouse en la entrada de un bloque y arrastrar hasta la salida de otro o hasta
algun hilo que transporte la senal deseada. Luego de realizar todas las conexiones el modelo debe
lucir como se muestra en la figura 1.5.

8
LABORATORIO DE CONTROL AUTOMATICO

Figura 1.5: Modelo construido para la simulacion del circuito RLC

Luego hay que hacer click sobre el boton para iniciar la simulacion y cuando esta termine
se puede hacer doble click sobre el bloque Scope para ver el comportamiento de iL y se abre una
ventana similar a la mostrada en la figura 1.6a, donde es difcil apreciar el comportamiento de la
corriente en el inductor debido a la escala usada. Para mejorar la escala del grafico hay que hacer
click en el boton para que ajuste automaticamente la escala de los ejes y se obtiene el grafico
mostrado en la figura 1.6b.

Adicionalmente, en la figura 1.6b se puede observar que el cambio de la corriente se estabiliza en


menos de 1 segundo, por lo cual cambiaremos el tiempo de duracion de la simulacion a 1,5 segundos
y se ejecuta nuevamente la simulacion, obteniendose el resultado mostrado en la figura 1.6c.

La simulacion del sistema tambien puede realizarse usando variables de estado para lo cual se
necesita determinar las matrices: A, B,C, D del sistema. Para obtener estas matrices primero se deben
expresar las ecuaciones diferenciales del sistema en forma matricial, que no es unica. En las ecua-
ciones 1.5 y 1.6 se muestra una de las representaciones posibles.

9
LABORATORIO DE CONTROL AUTOMATICO

(a) Simulacion del circuito RLC (b) Simulacion del circuito RLC con la escala
ajustada

(c) Simulacion del circuito RLC con la escala


ajustada

Figura 1.6: Resultado de las simulaciones al cambiar escalas y duracion.

10
LABORATORIO DE CONTROL AUTOMATICO

(a) Modelo en variables de estado para simular el circuito RLC

(b) Configuracion del bloque State-Space para el circuito RLC

Figura 1.7: Modelo y configuracion de parametros del circuito RLC usando variables de estado

11
LABORATORIO DE CONTROL AUTOMATICO

Figura 1.8: Simulacion del circuito RLC usando variables de estado

      
vC 500 10000 vC 500
= + v (1.5)
iL 1,25 0 iL 0
 
  vC
iL = 0 1 + 0v (1.6)
iL

A partir de las ecuaciones 1.5 y 1.6 se concluye que los valores de las matrices A, B,C, D son:

 
500 10000
A = (1.7)
1,25 0
 
500
B = (1.8)
0
 
C = 0 1 (1.9)
D = [0] (1.10)

Con los valores obtenidos de las matrices A, B,C, D se puede usar el bloque State-Space en la
categora Simulink/Continuous y el modelo en Simulink lucira como en la figura 1.7a. Ademas, la
configuracion de los parametros del bloque se pueden observar en la figura 1.7b y el resultado de la

12
LABORATORIO DE CONTROL AUTOMATICO

simulacion se lo puede ver en la figura 1.8.

Otra forma de realizar la simulacion del circuito RLC mostrado es obteniendo la funcion de trans-
ferencia aplicando la transformada de Laplace a las ecuaciones diferenciales y despejando la salida
deseada respecto de la entrada; en este caso la salida es iL y la entrada es v.

 
V VC
10000 IL = sVC (1.11)
20
1,25VC = sIL (1.12)
 
500V 10000IL
1,25 = sIL (1.13)
s + 500
625V = IL (s2 + 500s + 12500) (1.14)
 
625
IL (s) = V (s) (1.15)
s2 + 500s + 12500
625
G(s) = 2 (1.16)
s + 500s + 12500

La ecuacion 1.16 sirve para simular el circuito RLC usando el bloque Transfer-Fcn. En la figura
1.9a se puede observar el modelo construido en Simulink, mientras, que en la figura 1.9b los parame-
tros de configuracion del bloque Tranfer Fcn y en la figura 1.10 el resultado de la simulacion.

Se debe anadir, que al configurar los bloques se pueden usar variables presentes en el workspace
o funciones de MatLab en los cuadros de texto lo cual permite la interaccion entre scripts de MatLab
y modelos de Simulink.

Adicionalmente, en caso de que no se haya notado, cuando se abre el cuadro de dialogo para con-
figurar un bloque se puede ver que el texto en la barra de ttulo incluye el nombre del bloque que se
esta configurando.

13
LABORATORIO DE CONTROL AUTOMATICO

(a) Modelo en funcion de transferencia para simular el circuito RLC

(b) Configuracion del bloque Transfer-fcn para el circuito RLC

Figura 1.9: Modelo y configuracion de parametros del circuito RLC usando funcion de transferencia

14
LABORATORIO DE CONTROL AUTOMATICO

Figura 1.10: Simulacion del circuito RLC usando funcion de transferencia

1.2.2. Biblioteca de Bloques de Simulink


Ahora que ya se tiene una idea de como trabajar en Simulink, se revisaran los bloques mas usados
en este curso agrupados por categora.

Categora Simulink/Continuous
En esta categora estan los bloques que representan cambios continuos en el tiempo y que gene-
ralmente pueden ser expresados matematicamente como ecuaciones diferenciales. En esta categora
los bloques mas usados son:

Transfer fcn:
Sirve para implementar funciones de transferencia donde se conocen los coeficientes de los
polinomios del numerador y del denominador. Los parametros que generalmente se configuran
en este bloque son:

15
LABORATORIO DE CONTROL AUTOMATICO

Numerator coefficients Coeficientes del numerador:


Puede ser un vector o una matriz con los coeficientes de los polinomios del numerador.
La cantidad de elementos en la salida es igual al numero de filas en este parametro.

Denominator coefficients Coeficientes del denominador:


Es un vector con los coeficientes del polinomio del denominador.

Los polinomios del numerador y del denominador son polinomios de potencias de s ordena-
das descendentemente. El cuadro de dialogo pude verse en la figura 1.9b.

Zero-Pole:
Se utiliza para implementar una funcion de transferencia cuando se conocen los polos y ceros
de esta. Los parametros que usualmente se configuran son:

Zeros Ceros:
Puede ser un vector o una matriz con los ceros de la funcion de transferencia. La canti-
dad de elementos en la salida es igual al numero de columnas en este parametro pero si
solamente tiene una fila entonces tiene una salida.

Poles Polos:
Es un vector con los polos de la funcion de transferencia.

Gain Ganacia:
Es un vector con las ganancias de las funciones de transferencia.

En la figura 1.11 se puede observar el cuadro de configuracion de este bloque.

16
LABORATORIO DE CONTROL AUTOMATICO

Figura 1.11: Cuadro de configuracion del bloque Zero-Pole

State-Space:
Este bloque sirve para implementar un sistema en variables de estado y se debe conocer las ma-
trices A, B, C, D que definen el sistema. Ademas, este bloque tiene la gran ventaja de permitir
la representacion de sistemas de multiples entradas y multiples salidas con un solo bloque. El
cuadro de configuracion se lo puede observar en la figura 1.7b y los parametros que general-
mente se configuran son:

17
LABORATORIO DE CONTROL AUTOMATICO

A:
Matriz de estados.

B:
Matriz de entradas.

C:
Matriz de salidas.

D:
Matriz de transmision directa.

Integrator:
Con este bloque se puede calcular la integral de una se nal escalar o de un vector de se nales.
En la figura 1.12 se puede observar el cuadro de configuracion del bloque, pero los campos
que mas comunmente editados son:

Initial conditionCondicion inicial:


Es una constante o un vector con los valores de las condiciones iniciales de integracion
de las senales que entran al bloque. Solo es editable cuando en el campo Initial condi-
tion source esta seleccionado el elemento internal que es la opcion seleccionada por
omision.

Limit outputLimitar salida:


Es un cuadro de seleccion para habilitar la saturacion de la salida del integrador.

Upper saturation limitLmite superior de la saturacion:


Es un escalar o un vector que indican las salidas maximas del integrador.

Lower saturation limitLmite inferior de la saturacion:


Es un escalar o un vector que indican las salidas mnimas del integrador.

18
LABORATORIO DE CONTROL AUTOMATICO

Figura 1.12: Cuadro de configuracion del bloque Integrator

Transport Delay:
Este bloque permite implementar retraso en el tiempo para una senal. El cuadro de configura-

19
LABORATORIO DE CONTROL AUTOMATICO

cion se lo muestra en la figura 1.13 y los campos que generalmente se editan son:

Time delayTiempo de retraso:


Es el tiempo que tiene que transcurrir para que en la salida del bloque se vean los valores
que fue tomando la entrada.

Initial outputSalida inicial:


Es el valor que tomara la salida del bloque mientras el tiempo de simulacion sea menor
al tiempo de retraso.

Figura 1.13: Cuadro de configuracion del bloque Transport Delay

20
LABORATORIO DE CONTROL AUTOMATICO

Categora Simulink/Discontinuities
En esta categora estan algunos bloques que pueden generar saltos y otros que simplemente tienen
no linealidades, pero en este documento solo se analiza el bloque Saturation.

Saturation:
Este bloque sirve para limitar los valores que puede tomar una senal entre un maximo y un
nimo. El cuadro de configuracion de este bloque puede verse en la figura 1.14. Los parametros
que generalmente se configuran en este bloque son:

Figura 1.14: Cuadro de configuracion del bloque Saturation

Upper limitLmite superior:


Es un escalar o un vector con los valores maximos que pueden tomar las senales que
entran al bloque.

21
LABORATORIO DE CONTROL AUTOMATICO

Lower limitLmite inferior:


Es un escalar o un vector con los valores mnimos que pueden tomar las senales que en-
tran al bloque.

Categora Simulink/Math Operations


Aqu se encuentran bloques que permiten aplicar funciones matematicas sobre las senales que
entran a un bloque o realizar operaciones matematicas con las senales.

Gain:
Este bloque sirve para implementar la multiplicacion de un escalar o una matriz por la senal
de entrada. Los parametros mas comunmente configurados son:

Figura 1.15: Cuadro de configuracion del bloque Gain

GainGanancia: Es el escalar, vector o matriz que se multiplicara por la entrada.

22
LABORATORIO DE CONTROL AUTOMATICO

MultiplicationMultiplicacion: Es una lista desplegable donde se escoge el tipo de multi-


plicacion que se usara:
Element-wise: Sirve para multiplicar la los elementos de la matriz ingresada en
Gain por los elementos de la entrada.

Matrix(K*u): Se lo utiliza para realizar la multiplicacion matricial de la matriz in-


gresada en el parametro Gain y la entrada del bloque, en ese orden.

Matrix(u*K): Se lo utiliza para realizar la multiplicacion matricial de la entrada del


bloque y la matriz ingresada en el parametro Gain, en ese orden.

Cuando el parametro Gain tiene un escalar no importa cual de los tres casos se
escoja siempre realizara la operacion escalar por matriz.

Sum:
Sirve para sumar las entradas del bloque, teniendo en cuenta que la cantidad de elementos de
cada senal de entrada debe ser la misma. El cuadro de configuracion de este bloque puede ob-
servarse en la figura 1.16.

El parametro que generalmente se configura en este bloque es List of signs cuyo valor es una
cadena de caracteres que pueden ser: +,,|, que sirven para indicar que la entrada se suma, se
resta o que no existe, respectivamente.

23
LABORATORIO DE CONTROL AUTOMATICO

Figura 1.16: Cuadro de configuracion del bloque Sum

Product:
Con este bloque se pueden implementar la multiplicacion o division de dos o mas senales en
las entradas. El cuadro de configuracion se muestra en la figura 1.17 y las propiedades que
generalmente se editan son:

24
LABORATORIO DE CONTROL AUTOMATICO

Figura 1.17: Cuadro de configuracion del bloque Product

Number of imputsNumero de entradas:


Cuando se ingresa un numero mayor que uno genera esa cantidad de entradas para
ser multiplicadas. Aunque, tambien se puede ingresar una cadena de caracteres con los
smbolos: ,/, que definen si la entrada es un multiplicando o un divisor.

MultiplicationMultiplicacion:
Es un campo con una lista desplegable donde se puede seleccionar entre:
Element-wise(.*): Sirve para realizar la operacion de MatLab . o ./ con las en-
tradas del bloque dependiendo de los signos en el campo Number of inputs.

25
LABORATORIO DE CONTROL AUTOMATICO

Matrix(*): Sirve para realizar la multiplicacion de matrices o multiplicacion por la


inversa de una matriz dependiendo de los signos en el campo Number of inputs.

Math Function:
Con este bloque se pueden implementar varias operaciones matematicas como exponenciales,
logaritmos y potencias. En la figura 1.18 y el parametro que se suele configurar es Function
que consiste de una lista desplegable donde se seleciona la funcion que se desea ejecutar.

Figura 1.18: Cuadro de configuracion del bloque Math Function

Sqrt:
Este bloque es util para implementar la raz cuadrada de un numero.

26
LABORATORIO DE CONTROL AUTOMATICO

Trigonometric Function:
Este bloque permite implementar funciones trigonometricas, hiperbolicas o sus inversas. Es-
tas funciones se las pueden seleccionar de la lista desplegable en el parametro Function.
Ademas, hay que tener en cuenta que para las funciones trigonometricas la entrada tiene que
estar en radianes.

Figura 1.19: Cuadro de configuracion del bloque Trigonometric Function

Categora Simulink/Signal Routing


En esta categora se encuentran bloques que permiten simplificar la conexion de los bloques. Aqu
se analizaran: mux y demux que sirven para concatenar o seleccionar senales.

27
LABORATORIO DE CONTROL AUTOMATICO

Demux:
Este bloque extrae las componentes de una senal y las devuelve como variables separadas.

Mux:
La funcion de este bloque es combinar las entradas en un solo vector de salida.

28