Está en la página 1de 12

Practica 2 Simulacin virtual de sistemas de control (MATLAB)

Objetivo
El alumno se familiarizar con el entorno de MATLAB y podr simular sistemas de control mediante comandos, as como con diagramas de bloques (Simulink).

Introduccin
El estudio de los Sistemas de Control involucra las siguientes tareas: Modelar Simular Regular Optimizar Compensar Estabilizar

Es necesario por lo tanto saber hacer lo indicado en cada una de las 6 etapas anteriores, pero tambin es necesario hacerlo rpido y correctamente, por lo tanto, para lograr lo anterior es indispensable usar la computadora y un software (programa) adecuado. En la ingeniera del control la mayora de los autores de los textos correspondientes emplean MATLAB (Laboratorio de Matrices o Matemtico). Vamos ahora a iniciar el uso de MATLAB para estudiar los sistemas de control tanto Analgicos como Discretos. Iniciaremos con la aclaracin de que este programa lo podemos emplear en 2 opciones: 1. Con comandos 2. Dibujando grficamente o representando el sistema con un diagrama de bloques, para ello se corre el subprograma de Simulink, en donde aparecen libreras de donde tomamos los diferentes bloques funcionales, y los llevamos a una pgina nueva donde se configura el diagrama correspondiente.

Material y equipo
Computadora Software Matlab & Simulink

Trabajo de laboratorio
1. Para iniciar a manejar MATLAB abrimos nuestro programa y nos saldr en la pantalla una imagen tal como se muestra a continuacin, y en la que se puede apreciar nuestra ventana de comandos que es en donde nosotros vamos a trabajar.

2. A continuacin daremos varios ejemplos de los comandos y de las funciones que podemos manejar en MATLAB, manejando diferentes sistemas de control, mediante sus funciones de transferencia o modelos en variables de estado. 3. Primero trabajaremos con las operaciones bsicas, para ello introduciremos los siguientes comandos en Matlab: a) Suma b) Resta Sean A = 25 y B = 18 >>A=25 A= 25 >> B=18 B= 18 >> C= A + B C= 43 Sean C = 100 y D = 35 >> C=100 C= 100 >> D=35 D= 35 >> E=C-D E= 65

c) Multiplicacin Sean F= 8 y G = 10 >> F=8 F= 8 >> G=10 G= 10 >> H=F*G H= 80 e) Exponenciacin Sean L = 5 y M = 4 >> L=5 L= 5 >> M=4 M= 4 >> N = L ^ M N= 625

d) Divisin Sean I = 72 y J = 9 >> I=72 I= 72 >> J=9 J= 9 >> K = I / J K= 8 f) Raiz cuadrada Sea X = 25 >> X=25 X= 25 >> sqrt(X) ans = 5

4. Ahora trabajaremos con la aplicacin de las operaciones bsicas para resolver un polinomio con la formula general. Sea el Polinomio: 2x2 + 3x +10 = 0 b = 3 c = 10 Aplicamos x

Donde a = 2

Antes de continuar debemos tener en cuenta la jerarqua y prioridad de las operaciones en MATLAB y el orden en que las realiza.

1 2 3 4 5

OPERACIN SIMBOLO JERARQUA Suma + 3 Resta 3 Multiplicacin * 2 Divisin / 2 Exponenciacin ^ 1


3

Operaciones de igual jerarqua tendrn una prioridad de izquierda a derecha. En caso de que existan parntesis las operaciones se inician en el parntesis ms interno. Despus de definir lo anterior procedemos a introducir los siguientes comandos: >> a=2 a= 2 >> b=3 b= 3 >> c=10 c= 10 >> x1 = (-b + sqrt (b ^2 -4*a*c))/(2*a) x1 = -0.7500 + 2.1065i >> x2 = (-b - sqrt (b ^2 -4*a*c))/(2*a) x2 = -0.7500 - 2.1065i 5. El siguiente paso es trabajar con las operaciones bsicas con matrices, para ello capture la siguiente informacin. a) Suma >> A=[1 5 2;8 -6 0;3 7 -5] A= 1 5 2 8 -6 0 3 7 -5 >> B=[4 -2 3;-1 9 3;0 -6 5] B= 4 -2 3 -1 9 3 0 -6 5 >> C=A+B C= 5 3 5 7 3 3 3 1 0 b) Resta >> A=[1 5 2;8 -6 0;3 7 -5] A= 1 5 2 8 -6 0 3 7 -5 >> B=[4 -2 3;-1 9 3;0 -6 5] B= 4 -2 3 -1 9 3 0 -6 5 >> C=A-B C= -3 7 -1 9 -15 -3 3 13 -10
4

c) Multiplicacin >> A=[1 5 2;8 -6 0;3 7 -5] A= 1 5 2 8 -6 0 3 7 -5 >> B=[4 -2 3;-1 9 3;0 -6 5] B= 4 -2 -1 9 0 -6 >> C=A*B C= -1 31 28 38 -70 6 5 87 5

d) Divisin >> A=[1 5 2;8 -6 0;3 7 -5] A= 1 5 2 8 -6 0 3 7 -5 >> B=[4 -2 3;-1 9 3;0 -6 5] B= 4 -2 -1 9 0 -6 >> C=A/B C= 0.3846 0.5385 -0.1538 1.8231 -0.7077 -0.6692 0.7462 -0.0154 -1.4385

3 3 5

3 3 5

6. Sean los polinomios p = y q= A continuacin veremos las operaciones con polinomios con el siguiente procedimiento: a) Suma >> p=[3 10 7] p= 3 10 7 >> q=[6 -4 5] q= 6 -4 5 >> r=p+q r= 9 6 12 b) Resta >> p=[3 10 7] p= 3 10 7 >> q=[6 -4 5] q= 6 -4 5 >> r=p-q r= -3 14 2

c) Multiplicacin >> p=[3 10 7] p= 3 10 7 >> q=[6 -4 5] q= 6 -4 5 >> r=conv(p,q) r= 18 48 17 22 35

c) Divisin >> p=[3 10 7] p= 3 10 7 >> q=[6 -4 5] q= 6 -4 5 >> [C,R]=deconv(p,q) C= 0.5000 R= 0 12.0000 4.5000

7. Sea el polinomio q = Ahora veamos el clculo de las races de polinomios por medio del comando roots haciendo lo siguiente: >> q=[5 6 7] q= 5 6 7 >>roots(q) ans = -0.6000 + 1.0198i -0.6000 - 1.0198i 8. Ahora trabajaremos con los comandos para la resolucin de Sistemas de Ecuaciones. Sea el siguiente sistema de 3 ecuaciones con 3 incgnitas, capture de la manera indicada: X1 + 3X2 + 5X3 = 22 -2X1 + 4X2 =6 3X1 + 8X2 9X3 = -8 >> A=[1 3 5; -2 4 0; 3 8 -9] A= 1 3 5 -2 4 0 3 8 -9 >> B=[22; 6; -8] B= 22 6 -8

>> x=inv(A)*B x= 1.0000 2.0000 3.0000

9. Representacin de Sistemas mediante Simulink. Primero que nada tenemos que definir los bloques ms utilizados en Simulink:
Constante Integrador

Multiplexor

Derivador

Demultiplexor

Multiplicador

Ganancia

Funcin de transferencia

Scope

Entrada rampa

Sumador

Entrada escaln

Constante: Este bloque sirve para definir una entrada constante. Multiplexor: Se utiliza para introducir dos o ms seales en un solo nodo. Demultiplexor: Realiza la funcin inversa al multiplexor, es decir, divide una seal en dos o ms nodos. Ganancia: Como su nombre lo indica, se utiliza para darle ganancia determinada por el usuario a una seal cualquiera. Scope: Sirve para mostrar en una grfica diversas seales de entrada, salida, etc. Sumador: Se utiliza para sumar o restar dos o ms seales de un sistema. Integrador: Este bloque tiene la funcin de integrar la seal que entre por l. Derivador: Este bloque deriva una seal que entre por este bloque. Multiplicador: Multiplica varias seales que se conecten en sus entradas. Funcin de transferencia: Este bloque es muy til, ya que si se tiene la funcin de transferencia de un sistema de control solo se introduce en este bloque sin necesidad de desarrollar el diagrama a bloques. Entrada rampa: Es una entrada del tipo rampa. Entrada escaln: Es una entrada del tipo escaln.
7

A continuacin se propone un sistema de control con un modelo matemtico de acuerdo a la teora clsica. d2y(t) + 6dy(t) + 10y(t) = 10u(t) dt dt Aplicando transformada de Laplace y factorizando y(s): S2y(s) + 6Sy(s) + 10y(s) = 10u(s) y(s)(S2 + 6S + 10) = 10u(s) Podemos expresar como una funcin de transferencia la expresin anterior: F.T. = Salida(s) = y(s) = 10 . 2 Entrada(s) u(s) S + 6S + 10

y(s) u(s)

Tambin podemos trabajar con la expresin anterior de la siguiente forma: S2y(s) + 6Sy(s) + 10y(s) = 10u(s) S2y(s) = 10u(s) - 6Sy(s) - 10y(s) Por lo que el diagrama a bloques en simulink queda como se muestra a continuacin:

S2y(s) u(s)

Sy(s) y(s)

Capture las figuras anteriores, corra la simulacin en ambos casos y observe las seales de entrada y salida, seleccionando el scope con el puntero y dando doble click.
8

Ahora representaremos el diagrama en Simulink correspondiente al siguiente modelo matemtico en el espacio de estados. [ ] =[ ][ ]+ [ ][ ]

[ ] =[

][

]+[

][

Si desarrollamos las ecuaciones correspondientes: 1 = - X1 + 10U1 + 11U2 ... (1) 2= - 8X2 + 12U1 + 13U2 ... (2) 3= - 9X3 + 14U1 + 15U2 ... (3) Y 1 = X1 + 2X3 + 5U1 .. (4) Y2 = 3X1 + 4X2 + 4U2 .. (5) Desarrollando cada una de las 5 ecuaciones anteriores el diagrama a bloques finalmente queda como se muestra abajo:

X1

U1 U2 2 X2

X3

Capture el diagrama anterior, corra la simulacin y obtenga las seales de entrada y salida

U1 vs Y1

U2 vs Y2
10

10. Finalmente tenemos los comandos para el manejo de grficas. Title Grid Label Plot T=inicio:incremento:final Se utiliza para dar ttulo a una grfica. Sirve para cuadricular la grfica. Sirve para etiquetar los ejes de las abscisas y ordenadas. Se utiliza para graficar una expresin. Sirve para escalar el tiempo en una grfica.

Veamos el siguiente ejemplo: Sea el Sistema G(s) = >>num=[0 0 0 1]; >>den= [1 1 1 0]; >>t=0: 0.1:7; >>c=step(num,den,t); >>u=1; >>plot(t,c,^,t,u,*) >>grid >>title(Curva de respuesta rampa unitaria para el sistema G(s) =1/S(S^2+S+1)) >>xlabel(t segs) >>ylabel(Entrada y Salida) Con los comandos anteriores obtendremos una grfica como la que se muestra a continuacin:

11

Corra el programa anterior y obtenga las figuras correspondientes, que le ilustran como cuadricular graficas, como poner ttulos, como etiquetar ejes y obtener 2 seales en un mismo diagrama.

Trabajo de casa
1. Para el siguiente sistema trace el diagrama de bloques correspondiente.

2. Aplqueselo a la computadora (Con comandos o en Simulink). 3. Aplique una entrada: a) Step unitario b) Rampa unitaria c) Senoidal 4. Obtenga sus respuestas correspondientes (Muestre las grficas a escalas adecuadas que contengan mnimo la entrada y la salida perfectamente identificadas). Considere los siguientes valores para los elementos del sistema: R1 = 25 R2 = 40 L = 10 H C = 0.01 F

12

También podría gustarte