Tutorial Analisis y Control de Sistemas Usando MATLAB
November 21, 2022 | Author: Anonymous | Category: N/A
Short Description
Download Tutorial Analisis y Control de Sistemas Usando MATLAB...
Description
TUTORIAL DE ANÁLISIS Y CONTROL DE SISTEMAS USANDO MATLAB
Manuel Vargas Villanueva Este tutorial está basado en un trabajo original de: Manuel Berenguel Soria y Teodoro Álamo Cantarero
Contenido
´ LISIS Y CONTROL DE SISTEMAS USANDO MATLAB 1 ANA
1
1.1
´n . Introduccion o
1.2
Tra Trat tamie amiento nto mediante funcio funciones nes de tran transfere sferencia. ncia. Siste Sistemas mas con-
1
1.2.1
Dominio Temporal . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2.2
Dominio Frecuencial . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.2. 1.2.33
Coma Comand ndos os rela relaci cion onad ados os con con op oper erac acio ione ness de bloq bloque uess . . . . . . . . . . .
9
1.2.4
Lugar de las ra´ıces . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
Est Estudi udio o tem tempo poral ral y fre frecue cuenci ncial al de sis sistem temas as de pri primer mer y seg segund undo o orden .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
1.3.1
Sistemas de primer orden . . . . . . . . . . . . . . . . . . . . . . . . .
12
1.3.2
Sistemas de segundo orden . . . . . . . . . . . . . . . . . . . . . . . .
15
1.33.3 1.
Analisis ´alisis del efecto de un cero en la respuesta temporal de un sistema de segundo orden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
In Influ fluen enci ciaa de polos polos ad adic icio iona nale les. s. Pol Polos os domi domina nan ntes tes . . . . . . . . . . . .
26
1.3. 1.3.44 1.4
Tra Trat tamie amiento nto mediante funci funciones ones de trans transfere ferencia. ncia. Siste Sistemas mas discretos
1.5
1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
tinuos
1.3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
´ n en el espa Tra Trata tamiento miento mediante descripcion o espacio cio de est estados ados
1
. . . .
28 30
2
1.5. 1.5.11
CONTENIDO
Dis Dise˜ no n o de regu regula lado dore ress en el espa espaccio de est stad ados os . . . . . . . . . . . . .
1.6
´ n medi Manipulacion o mediante ante obje objetos tos .
1.7
´ s impo Re Resu sume men n de lo los s co coma mand ndos os mas a impor rtante antes s del Cont Control rol Syste System m Toolbox .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32 33
36
Cap´ıtulo 1
´ ANALISIS Y CONTROL DE SISTEMAS USANDO MATLAB
1.1 Introducci´ Introduccio on ´n En lo que sigue, se va a realiz realizar ar una introducci´ introducci´ on on a los comandos de matlab relacionados con la teor´ teor´ıa de control de sistemas. Casi todas las funciones que se describen pert pertenecen enecen al Control System Toolbox . Las funciones principales se van a explicar sobre ejemplos demostrativos, con el fin de que su uso y comprensi´on o n sean lo m´as as sencillos posible. Se realizar´an an ejemplos tanto en el dominio dominio temporal, continuo continuo y discreto, discreto, como en el frecuencial. frecuencial. Tambi´ ambi´een n se mostrar´a la forma de dar la descripci´on on de un sistema lineal mediante funci´on on de transferencia, conjunto conjunto de polos y ceros, o variables variables de estado. Asimismo Asimismo se comentar´ comentar´ a la forma de manipular una funci´on on de transferencia como un objeto.
1.2 Trat Tratamiento mediante funciones de transferencia. transferencia. Sistemas continuos
Este apartado muestra muestra el uso de algunas de las herramientas herramientas con las que cuenta matlab para el dise˜ no no y an´aalisis lisis de sistemas de control. Para el ejemplo se va a partir de una descripci´on on de la planta en forma de funci´on on de transferencia: H (s) =
.2s2 + .3s + 1 (s2 + .4s + 1)(s 1)(s + .5)
En matlab las funciones de transferencia se introducen dando el par de polinomios numeradordenominador: 1
2
Tra Trat tamie amiento nto medi mediante ante funci funciones ones de trans transfere ferencia. ncia. Sistemas Sistemas conti continuos nuos
num = [.2 .3 1]; den1 = [1 .4 1]; den2 den2 = [1 .5]; .5];
El polinom p olinomio io del denominador denominador es el producto de dos t´ erminos. erminos. Para obtener el polinomio resultante se usa el producto de convoluci´on on (o de polinomios).
den = conv(den conv(den1,de 1,den2) n2)
Para ver los polos (o los ceros) de la funci´on on de transferencia, podemos usar: roots(den) (roots(num) ). Una forma m´as as completa de convertir una funci´on on de transferencia dada por dos polinomios numerador y denominador, en un conjunto de factores de grado 1, correspondientes a los polos (z (z1 , z2 , z3 ) y ceros (c ( c1 , c2 ), de la forma: s s − c ) (1 − c ) H (s) = (1 − zs ) (1 − zs ) (1 − zs )
K (1 (1 1
2
1
2
3
es mediante el comando tf2zp: [ceros,p [cer os,polos olos,gan ,gan] ] = tf2zp tf2zp (N,D); (N,D);
que devuelve un vector conteniendo los ceros de la funci´on on de transferencia, un vector conteniendo los polos, y un escalar correspondiente a la ganancia est´atica. atica. La funci´ funci´ oon n complementaria menta ria a ´esta esta tambi´ tamb i´en en existe: exi ste:
[N,D] [N,D ] = zp2tf zp2tf (ceros,p (ceros,polos olos,gan ,gan); );
Como curiosidad, cabe mencionar que el nombre de estas funciones es bastante descriptivo: ”tf-two-zp” procede de transfer-function to zero-pole form .
1.2.1 1.2 .1
Domini Dominio o Temporal emporal
La respuesta ante un escal´oon n a la entrada se puede analizar en sistemas que tengan una descripci´on on en forma de funci´ on on de transferencia o una representaci´on on en el espacio de estados, generando un vector de tiempos y usando la funci´on on step:
t = [0:.3: [0:.3:15] 15]’; ’; y = step(num step(num,den ,den,t); ,t); plot (t,y); (t,y);
´ AN ALISIS Y CONTROL DE SISTEMAS USANDO MATLAB
3
title (’Respue title (’Respuesta sta a un escalon escalon unitario unitario’); ’); xlabel (’tiempo(seg)’); (’tiempo(seg)’); grid;
La respuesta al escal´on on unitario puede verse en la Fig. 1.1. Seleccionando con el rat´on on en la curva, curv a, pueden pueden modificarse modificarse algunos atributos de la misma. misma. Tambi´ ambi´een n pueden modificarse las propiedades de los ejes de forma an´aloga. aloga. Las figuras figuras guardars guardarsee en ficheros ficheros .fig propios de aficos afic os est´andar. and ar. matlab, o exportarse en diferentes formatos gr´ Respuesta a un escalón unitario 2.5
2
1.5
1
0.5
0 0
5
10
15
tiempo(seg)
Figura 1.1: Respuesta a escal´on on unitario
No es necesario necesario recuperar el resultado resultado de la simulaci´ simulacion o´n ante escal´on on que realiza step para despu´es es repr r epresent esentarl arloo con co n plot, sino que el propio comando step, si lo utilizamos sin par´ametros ametros de salida, realiza la representaci´on. o n. Es m´ mas, ´as, en este segundo caso, la representaci´ on on gr´aafica fica es algo m´as as interactiva, puesto que si ”pinchamos” con el bot´on on izquierdo en alg´ u un n punto de la gr´afica, afica, nos dice los valores correspondientes al tiempo y al valor de la salida en ese punto. La respuesta impulsional se puede obtener del mismo modo, pero usando en este caso la funci´on on impulse, que tiene una sintaxis similar al comando step. N´ootese tese que el vector de tiempos ya ha sido definido con anterioridad.
impulse (num,den,t); (num,den,t);
La respuesta al impulso puede verse en la Fig. 1.2. La respuesta respuesta del sistema sistema a cualquier cualquier tipo de entrada entrada tambi´ tambi´ en en puede obtenerse. obtenerse. Para ello es necesario tener la se˜nal nal de entrada en un vector u , que l´ogicamente ogica mente deber´ de ber´a tener ten er la misma dimensi´ oon n que el vector de tiempos. En sistemas multivariables, en vez de un vector de entradas tendremos tendre mos una matriz. A estos efectos se usa la funci´ on on lsim. Un ejemplo caracter´ caracter´ıstico es la respuesta a una entrada en rampa:
4
Tra Trat tamie amiento nto medi mediante ante funci funciones ones de trans transfere ferencia. ncia. Sistemas Sistemas conti continuos nuos
Respuesta a un impulso 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 −0.1 −0.2 0
5
10
15
tiempo(seg)
Figura 1.2: Respuesta al impulso ramp = t; y = lsim (num,den (num,den,ram ,ramp,t) p,t); ; plot (t,y,t,ramp); (t,y,t,ramp); titl title e (’Respue (’Re spuesta sta a una rampa’); rampa’); xlabel (’tiempo(seg)’); (’tiempo( seg)’);
La respuesta a la rampa puede verse en la Fig. 1.3. Respuesta a una rampa 30
25
20
15
10
5
0 0
5
10
15
tiempo(seg)
Figura 1.3: Respuesta a la rampa
Otro ejemplo caracter caracter´ıstico es la respuesta respuesta a un ruido uniforme aleatorio. Recordamos Recordamos que rand(m,n) genera una matriz m matriz m n de n´ umeros umeros aleatorios uniformemente distribuidos entre 0 y 1. Es importante darse cuenta del filtrado que se produce en la se˜nal nal cuando pasa por el sistema (hace de filtro paso bajas).
×
noise noi se = rand rand (size (size(t) (t)); );
´ AN ALISIS Y CONTROL DE SISTEMAS USANDO MATLAB
5
y = lsim (num,den (num,den,noi ,noise,t se,t); ); plot (t,y,t,noise); (t,y,t,noise); title titl e (’Respue (’Respuesta sta a un ruido ruido aleatori aleatorio’); o’); xlabel (’tiempo(seg)’); (’tiempo(seg)’);
La respuesta al ruido puede verse en la Fig. 1.4. Respuesta a un ruido aleatorio 1.4
1.2
1
0.8
0.6
0.4
0.2
0 0
5
tiempo(seg)
10
15
Figura 1.4: Respuesta a ruido aleatorio
1.2.2 1.2 .2
Domini Dominio o Frec Frecuen uencia ciall
Respuesta en frecuencia La respue respuesta sta en frecuen frecuencia cia de los sistem sistemas as se puede puede obtene obtenerr usando usando las funcio funciones nes bode, nyquist y nichols. Si no se le ponen argumentos a la izquierda, estas funciones generan las gr´aaficas ficas por s´ı solas. En caso contrario, vuelcan los datos en los vectores de salida oportunos. opor tunos. A continuaci´oon n se presentan ejemplos de las tres posibles sintaxis de la funci´on on bode:
1.- bode(num,den) 2.- [ [mag, mag,phas phase,w] e,w] = bode (num,den (num,den) ) 3.- [ [mag, mag,phas phase] e] = bode (num,den (num,den,w) ,w)
La primera de ellas produce un gr´afico afico con la magnitud en decibelios (dB ) y la fase en grados. En las otras dos la magnitud se devuelve en el vector mag y est´a expresada en unidades absolutas, absolu tas, no en dB . Por su parte, la fase, devuelta en el vector phase , sigue siendo en grados. En esta forma, la representaci´on o n es m´as as interactiva, en el sentido de que ”pinchando” con
6
Tra Trat tamie amiento nto medi mediante ante funci funciones ones de trans transfere ferencia. ncia. Sistemas Sistemas conti continuos nuos
el rat´ on on en un punto punto de la curv curva, podemos podemos ver ver los valore valoress corres correspondi pondien entes tes.. La segunda segunda forma autom´aticamente aticamente genera los puntos de frecuencia en el vector w . En la tercera forma es el us usua uari rioo el que que esco escoge ge los rango rangoss de frecu frecuen enci cia, a, y resul resulta ta muy adecu adecuad adoo cu cuan ando do se quieren representar varias gr´aficas aficas conjuntamente, que habr´an an de compartir una misma escala frecuencial. El resultado de los dos ultimos ´ultimos comandos se puede representar usando funciones conocidas: subplot(211), loglog(w,mag), subplot(211), loglog(w,mag), title(’Magnitud’), title(’Magnitud’), xlabel(’r xlabel(’rad/s’); ad/s’); subplot(212), subplot(21 2), semilogx(w,phase), semilogx(w,phase), title(’Fase’), title(’Fase’), xlabel(’r xlabel(’rad/s’); ad/s’);
El resultado para la funci´oon n de transferencia del ejemplo anterior puede verse en la Fig. 1.5.. Cabe coment 1.5 comentar ar que el comando comando subplot(n,m,i) permite dividir una ventana gr´afica afica en una matriz de n m sub-gr´ aficas, aficas, selecc seleccion ionand andoo como como activ activaa la n´ u umero mero i (numeradas consecutivamente de izquierda a derecha y de arriba abajo).
×
Modulo
1
10
100
−1
10
−2
10
−1
0
10
10 Rad/s Fase
1
10
0
−100
−200 −1 10
0
10 Rad/s
1
10
Figura 1.5: Diagrama de Bode
El comando nyquist tiene la misma sintaxis: nyquist (num,den,w); (num,den,w); [re,im] [re, im] = nyquist nyquist (num,den (num,den,w); ,w);
Computa las partes real e imaginaria de G( jw jw)) y realiza la representaci´on on si no se le ponen par´ametros ametros de salida. Para obtener la representaci´ representaci´ on on gr´afica afica por nosotros mismos, s´olo olo hay que dibujar la parte real frente frente a la imaginaria. El resultado obtenido obtenido mediante mediante el ejemplo ejemplo anterior puede verse en la Fig. 1.6. El comando nichols computa el diagrama de Nichols de un sistema a partir de la funci´on on de transferencia en bucle abierto. Para verlo basta dibujar la magnitud del bucle abierto en
´ AN ALISIS Y CONTROL DE SISTEMAS USANDO MATLAB
7
Nyquist Diagrams From: U(1) 2.5
2
1.5
1
s i x A r y a n i g a m I
0.5 ) 1 ( Y : o T
0
−0.5
−1
−1.5
−2
−2.5 −1.5
−1
−0. 5
0
0.5
1
1. 5
2
Real Axis
Figura 1.6: Diagrama de Nyquist (en el eje de ordenadas) frente a fase del bucle abierto en grados (en eje de abcisas), o dB (en llamar a la funci´on on sin argumento de salida. Si se quiere en forma de ´abaco, se puede usar el comando ngrid. nichols (num,den nichols (num,den,w), ,w), ngrid; ngrid; [mag,pha [mag ,phase] se] = nichols nichols (num,den (num,den,w); ,w); Diagrama de Nichols 40 0 db 30
0.25 db 0.5 db
) 20 B d ( o t r e 10 i b a e l c u 0 b l e d a i c−10 n a n a g
1 db
−1 db
3 db −3 db
6 db
−6 db
−12 db
−20 db
−20
−30
−40 −360
−270
−180 fase del bucle abierto (grados)
−90
−40 db 0
Figura 1.7: Diagrama de Nichols
M´ argenes argenes de estabilidad Como es bien bie n sabido sabi do en la teor te or´´ıa cl´ cl asica ´asica del control, los m´argenes argenes de estabilidad son el margen de fase y el margen margen de ganancia ganancia.. Estos Estos m´argenes argenes se calculan usando el comando margin.
margin (num,den);
8
Tra Trat tamie amiento nto medi mediante ante funci funciones ones de trans transfere ferencia. ncia. Sistemas Sistemas conti continuos nuos
[mg,mf,w [mg, mf,wmg,w mg,wmf] mf] = margin margin (num,den (num,den); );
Como tercer par´aametro metro de entrad entradaa se le puede puede pasar el rango rango de frecuenc frecuencias ias dese deseado. ado. En el primer caso indicado, en el que no se le especifican par´ametros ametros de salida, se realiza la representaci´ on on del diagrama de Bode, junto con una indicaci´on, on, mediante l´ıneas verticales vertical es de los puntos donde se mide cada uno de los m´argen a rgenes es y los los valore aloress de los mismos mismos.. En la segunda variante, como salidas se obtienen los valores de los m´argenes argenes de ganancia (no en dB ), ), el margen de fase (en grados) y sus correspondien correspondientes tes frecuencias. frecuencias. Si existen varias varias frecuencias de corte marca los m´as as desfavorables (ver Fig. 1.8). Gm=3.448 dB, (w= 1.287) Pm=11.64 deg. ((w=1.182) w=1.182) 50
B d n i a G
0
−50 −2 10
−1
0
10
10
1
10
Frequency (rad/sec) 0 −90
g e d e s−180 a h P
−270 −360 −2 10
−1
0
10
10
1
10
Frequency (rad/sec)
Figura 1.8: M´argenes argenes de fase y ganancia
Efectos de los retardos Los retardos existen en numerosas aplicaciones de control autom´atico. atico. En sistemas sistemas lineales − sT continuos invariantes en el tiempo, el retardo viene representado por e . La for forma ma m´ mas a´s matlab wT . Por los sencilla manipular retardos en dos dejan eslaen el dominio frecuencia. otese que e− jwT =de1|− tanto tanto los retardos retar magnitu magn itud d inv invde ariable arialable y afectan afectan N´ alotese desfas desfase, e, tendiendo tendi endo a inestabiliza inestabilizarr al sistema controlado. controlado. Para prop´ ositos ositos de repres representa entaci´ ci´ on on mediante el comando comando bode, todo lo que habr´a que hacer es restar la fase del retardo a la de la funci´on on de transferencia. Por ejemplo:
num num = [0.2 [0.2 0.3 0.3 1]; 1]; den den = [1 0.9 0.9 1.2 1.2 0.5] 0.5]; ; T = 1; % Ti Tie emp mpo o de re ret tar ardo do pu puro ro w = logspace logspace (-2,1,100)’ (-2,1,100)’; ; [mag,fas [mag ,fase] e] = bode (num,den (num,den,w); ,w); faseDe fas eDelay lay = fase fase - (T*w*1 (T*w*180/ 80/pi) pi); ; % Sustra Sustrae e la fase tras conve convert rtirl irla a a gra grados dos subplo sub plot(2 t(211 11); ); semilo semilogx gx (w, 20*lo 20*log1 g10(m 0(mag) ag)); ); grid; grid; subplo sub plot(2 t(212 12); ); semilo semilogx gx (w, [fase [fase, , faseDel faseDelay] ay]); ); grid; grid;
´ AN ALISIS Y CONTROL DE SISTEMAS USANDO MATLAB
1.2.3 1.2 .3
9
Comand Comandos os relacio relacionad nados os con operacio operaciones nes de bloques bloques
Existen una serie de comandos Existen comandos relacionados relacionados con las operaciones operaciones t´ıpicas en diagramas diagramas de bloques: – [N12,D12 [N12,D12] ] = series series (N1,D1,N (N1,D1,N2,D2 2,D2) ): De Devu vuel elv ve la resu result ltan ante te de coloc colocar ar en serie serie dos funciones funcio nes de transferenci transferenciaa (Fig. 1.9). El mismo resultado resultado podr´ podr´ıa ıa obtene obtenerse rse llamando dos veces al comando conv, que recu´erdese erdese permit perm it´´ıa multiplicar multipli car dos polinomio pol inomios. s. u1
y1
u2
y2
s1
s2
Figura 1.9: Conexi´on on en serie – [N12,D1 [N12,D12] 2] = parallel parallel (N1,D1,N (N1,D1,N2,D2 2,D2) ): Dev Devuel uelve ve la result resultan ante te de colocar en parale paralelo lo dos funciones de transferencia (Fig. 1.10). u1
S1
y1
y
u
u2
y2 S2
Figura 1.10: Conexi´on on en paralelo [Nbc,Dbc] ] = feedback feedback (N1,D1,N (N1,D1,N2,D2 2,D2,-1) ,-1): A parti – [Nbc,Dbc partirr de un si sist stem emaa en bucle bucle abiert abierto, o, dado por el numerador y denominador N denominador N 1, 1,D D1, proporciona proporciona el correspondiente correspondiente en bucle cerrado, considerando que en la cadena de realimentaci´on on hay otra funci´oon n de transferencia, dada por N 2, 2, D2 (F (Fig. 1.11) 11). El ultimo u ´ ltimo par´ametro a metro indica el signo de la realimentaci´ on on ( 1 para realimentaci´on on negativa y 1 para positiva).
−
– [ [Nbc, Nbc,Dbc] Dbc] = cloop cloop (N1,D1,(N1,D1,-1) 1): En el caso en que se pretend pretendaa obtener obtener la funci´ funci´ oon n de transferencia en bucle cerrado con realimentaci´on on unitaria, puede emplearse este comando m´aass compacto, en el que se evita tener que especificar una segunda funci´on on de transferencia. Conviene tener claro que para todos estos comandos relacionados con operaciones por bloques, se podr po dr´´ıa perfectamente p erfectamente estar trabajando tra bajando con funciones de transferencia discretas, sin ninguna diferencia.
10
Trat Tratamie amiento nto me mediant diante e fun funcione ciones s de tr transf ansferen erencia. cia. Sistemas c contin ontinuos uos
y
u S1
S2
Figura 1.11: Conexi´on on en realimentaci´on on Para operaciones de bloques m´as as complejas, resulta m´aass adecuado usar la herramienta simulink que tambi´een n se explicar´ explica r´a en estas notas.
1.2.4
Lugar de las ra´ ra´ıces
El an´alisis alisis mediante el lugar de las ra´ıces ıces se puede obtener definiendo un vector de ganancias deseadas (que es el par´ametro ametro usado habitualmente para ver la evoluci´on on de los polos en bucle cerrado). La sintaxis es:
r = rlocus rlocus (N,D, (N,D,K) K); ; rlocus rloc us (N,D); (N,D);
(s) En la primera forma, calcula el lugar lug ar de las la s ra´ ra´ıces de 1 + K N D(s) = 0, para un vector de ganancias especificado, K . rlocus devuelve una matriz r con length(K) filas y length(den) columnas, conteniendo la localizaci´on on de las ra´ ra´ıces ıces comple complejas jas.. Cada Cada fila de la matriz matriz corresponde res ponde a una gananci gananciaa del vector vector K . El lugar lugar de las las ra´ ra´ıces ıces pu pued edee ser ser dibu dibujad jadoo con con plot(r,’x’) .
En la segunda forma, que es la usada habitualmente, la funci´on on directamente dibuja el lugar de las ra ra´´ıces. Adem´as, as, como vemos, no es imprescindible indicar un vector de ganancias. Para la funci´on on de transferencia que ven´ ven´ıamos utilizando en los ejemplos, se obtendr´ obtendr´ıa el lugar de las ra´ıces ıces mostrado en la Fig. 1.12 Un comando muy util u ´ til como complemento a rlocus es rlocfind, cuya sintaxis general es:
[K,polos [K,p olos] ] = rlocfind rlocfind (num,den (num,den) )
Antes Ant es de introducir introducir dicho comando es necesario haber dibujado dibujado el lugar de las ra´ ra´ıces. Al introducir rlocfind, se pide que se seleccione con el rat´on on un punto determinado del lugar,
´ AN ALISIS Y CONTROL DE SISTEMAS USANDO MATLAB
11
4
3
2
o i r 1 a n i g a i m 0 e j E
−1
−2
−3
−4 −4
−3
−2
−1
0 Eje real
1
2
3
4
Figura 1.12: Lugar de las ra´ ra´ıces
proporcionando como resultado la ganancia K K en en dicho punto y la localizaci´on on de los polos correspondien corres pondientes tes a esa ganancia. ganancia. Para mejorar la precisi´on, on, puede realizarse un zoom en torno a una zona de inte inter´ r´eess en la gr´aafica, fica, antes de ejecutar rlocfin. Otra utilidad para ver la sobreos sobreoscilaci cilaci´ on o´n que corresponder´´ıa a un par der pa r de polos p olos complejos conjugados conj ugados situados en el lugar, luga r, ser´ ser´ıa dibujar dibuj ar los lugares lug ares geom´etricos etrico s de factor fa ctor de amortigu amo rtiguamiento amiento (δ ) y frecuencia natural (ω (ωn ) constantes, mediante el comando sgrid. siguientes comandos dibujan el lugar de las ra´ıces ıces de una funci´ oon n de transEjemplo: Los siguientes ferencia, realizando una conveniente ampliaci´on on y resaltando resaltando las l´ıneas de factor de amortiguamiento 0. 0.5, 0 0..6 , 0 0..7 y de frecuencia natural 0. 0.5 rad/s rad/s (Fig. 1.13).
N = 1; D = [1 3 2 0]; rlocus(N,D); sgrid ([0.5:0.1:0.7],0.5) ([0.5:0.1:0.7],0.5); ; axis([-2.5,1,-3,3]);
Las nuevas versiones de matlab van m´as as all´a y ofrecen una herramienta interactiva para ir viendo en vivo las variaciones que sufre el lugar de las ra´ıces, ıces, conforme se a˜ a naden, n ˜ aden, eliminan y mueven mue ven los polos y ceros de bucle abierto. A esta herramient herramientaa se accede accede mediante el comando rltool. Merece la pena que el alumno dedique unos minutos minutos a esta herramien herramienta ta de gran valor did´actico. actico.
12
Estu Estudio dio tem tempora poral l y frec frecuenc uencial ial de s sistem istemas as de pr primer imer y s segun egundo do ord orden en
3
2
1
s i x A g 0 a m I
−1
−2
−3 −2.5
−2
−1.5
−1
−0.5 Real Axis
0
0 .5
1
Figura 1.13: Lugar de las ra´ ra´ıces con rejilla
1.3 Estudi Estudio o tempor temporal al y frecue frecuenci ncial al de sistem sistemas as de primer primer y seg segund undo o orden orden
1.3.1 1.3 .1
Sistem Sistemas as de primer primer orden orden
La representaci´on on en forma de funci´on on de transferencia viene dada por: G(s) =
K 1 + τs
que en notaci´on on matlab se introduce: K = 1; tau = 1; num = K; den = [tau 1];
La respuesta a un escal´on on unitario de entrada se obtiene con la funci´ on on step. El resulta resultado do puede verse en la Fig. 1.14 t = [0:0.1 [0:0.1:10 :10]’; ]’; ye = step(num step(num,den ,den,t); ,t); plot(t,ye); title titl e (’Respue (’Respuesta sta a un escalon escalon unitario unitario’); ’); xlabel (’tiempo(seg)’); (’tiempo(seg)’); grid;
´ AN ALISIS Y CONTROL DE SISTEMAS USANDO MATLAB
13
Respuesta a un escalón unitario 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0
1
2
3
4
5 6 tiempo(seg)
7
8
9
1 10 0
Figura 1.14: Respuesta a escal´on on unitario del sistema de primer orden Las dos caracter´ caracter´ısticas fundamentales de un sistema de primer orden son su ganancia est´ atica atica K K y su constante de tiempo tiempo τ . τ . La constan constante te de tiempo tiempo es el tiempo que tarda en alcanzar alcanzar el 63% de la salida. salida. La ganancia ganancia est´ estatica ´atica es el cociente entre la amplitud de salida y la de entr entrada adaoen el r´ egimen egimen permanente. permanent e. Estos valores valores se pueden comprobar directamente directamente en la gr´aafica fica analizando el vector de datos resultante: yRP yRP = ye(len ye(length gth(y (ye)) e)); ; % Valor Valor en regim regimen en perm permane anent nte e n = 1; while while ye(n) ye(n) < 0.63* 0.63*yRP yRP n=n+1; end % Con Const stant ante e de tiempo tiempo (0.1 (0.1 es el interv interval alo o tra transc nscur urrid rido o entre entre dos medid medidas as, , % se le re rest sta a 1, po porq rque ue lo los s in indi dice ces s empi empiez ezan an en 1): 1): tauEstim tauE stim = 0.1*(n-1 0.1*(n-1); );
La respuesta a una rampa unitaria de entrada para nuestro sistema de primer orden se puede simular mediante: ramp = t; yr = lsim (num,den (num,den,ram ,ramp,t) p,t); ; plot (t,yr,t,ramp); (t,yr,t,ramp); title titl e (’Respue (’Respuesta sta a una rampa’); rampa’); xlabel (’tiempo(seg)’); (’tiempo(seg)’); grid;
El resultado se muestra en la Fig. 1.15, en la que aparecen, tanto la rampa de entrada como la salida. salida. El error de seguimie seguimient ntoo en posici´ posicion ´on en r´egimen egimen permanente puede obtenerse, al igual que se ha hecho anteriormente, midiendo directamente en la gr´afica afica o bien a partir del vector vec tor de datos resultante. resultante.
14
Estu Estudio dio tem tempora poral l y frec frecuenc uencial ial de s sistem istemas as de pr primer imer y s segun egundo do ord orden en
Respuesta a una rampa 10 9 8 7 6 5 4 3 2 1 0 0
1
2
3
4
5 6 tiempo(seg)
7
8
9
10 10
Figura 1.15: Respuesta a rampa unitaria del sistema de primer orden La respuesta impulsional se puede obtener del mismo modo, pero usando en este caso la funci´ on on impulse (Fig. 1.16), que tiene una sintaxis similar al comando step.
yi = impulse impulse (num,den (num,den,t); ,t); plot (t,yi); (t,yi); title titl e (’Respue (’Respuesta sta a un impulso’ impulso’); ); xlabel (’tiempo(seg)’); (’tiempo(seg)’); Respuesta a un impulso 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0
1
2
3
4
5 6 tiempo(seg)
7
8
9
1 10 0
Figura 1.16: Respuesta a impulso del sistema de primer orden Para finalizar con la secci´oon n de sistemas de primer orden, se va a comprobar que los resultados coinciden con los esperados en la teor´ıa. ıa. Como es bien sabido, los sistemas lineales de primer orden de ganancia unidad invariantes invariantes en el tiempo tiemp o tienen las siguientes caracter´ caracter´ısticas (nos remitimos remiti mos a la bibliograf´ biblio graf´ıa): ıa): ( t/τ ) t/τ )
Respuesta a escal´oon n
unitario: ye2 (t)
=1
−e −
, (t
≥ 0)
´ AN ALISIS Y CONTROL DE SISTEMAS USANDO MATLAB
15
t/τ ) , (t ≥ 0) − τ + τ e(−t/τ ) t/τ ) , (t ≥ 0) Respuesta a impulso: yi2 (t) = (1/τ (1/τ ))e(−t/τ )
Respuesta a rampa unitaria: yr2 (t) = t
Si se dibujan estas funciones con el vector de tiempos definido anteriormente, y se superponen con las gr´aficas aficas vistas anteriorme anteriormente, nte, puede apreciarse que coinci coinciden den perfectament perfectamentee (Fig. 1.17). ye ye2 2 = 1 - ex exp( p(-t -t/t /tau au); ); yr2 = t - tau + tau * exp(-t/tau); yi2 yi2 = (1/tau (1/tau) ) * exp(-t exp(-t/ta /tau) u); ; plot (t,ye,t,ye2,’o’); (t,ye,t,ye2,’o’); title(’R titl e(’Respu espuesta esta teorica teorica a escalon escalon unitario unitario’); ’); grid; pause; plot (t,yr,t,ramp,t,yr2, (t,yr,t,ramp,t,yr2,’o’); ’o’); title(’R titl e(’Respu espuesta esta teorica teorica a rampa rampa unitaria unitaria’); ’); grid; pause; plot (t,yi,t,yi2,’o’); (t,yi,t,yi2,’o’); title titl e (’Respue (’Respuesta sta teorica teorica a impulso’ impulso’); ); grid;
1.3.2 1.3 .2
Sistem Sistemas as de segund segundo o orde orden n
La representaci´on on normal de un sistema de segundo orden en forma de funci´oon n de transferencia viene dada por: K wn2 G(s) = 2 s + 2δw 2δw n s + wn2 donde: K : gananci gananciaa est´ atica atica del sistema sistema.. Se va a suponer suponer en el an´ alisis alisis siguiente, sin p´ erdida erdida de generalidad, que K que K = 1. δ : Coeficiente de amortiguamiento. wn : Frecuencia natural no amortiguada del sistema. Del polinomio pol inomio caracter carac ter´´ıstico se tiene t iene que las dos ra´ ra´ıces son s son s1,2 = distinguirse los siguientes casos:
Si δ δ > 1 Caso 1: Si
−δwn ±wn√ δ 2 − 1, pudiendo
ra´ıces reales distintas en SPI (sobreamortiguado). → 2 ra´
16
Estu Estudio dio tem tempora poral l y frec frecuenc uencial ial de s sistem istemas as de pr primer imer y s segun egundo do ord orden en
Respuesta teórica a escalón unitario 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0
1
2
3
4
5
6
7
8
9
1 10 0
7
8
9
10 10
7
8
9
1 10 0
Respuesta te¢rica a rampa unitaria 10 9 8 7 6 5 4 3 2 1 0 0
1
2
3
4
5
6
Respuesta teórica a impulso 1 0.9 0.8
0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0
1
2
3
4
5
6
Figura 1.17: Respuesta a escal´on, on, rampa e impulso del sistema de primer orden
´ AN ALISIS Y CONTROL DE SISTEMAS USANDO MATLAB
Caso 2: Si Si δ = 1 amortiguado.
17
→ 2 ra´ ra´ıces reales reale s iguales igual es en SPI (l (l´´ımite sobre-sub), sobre- sub), sistema cr´ cr´ıticamente ıticam ente
Caso 3: Si 0 < δ
View more...
Comments