14
Engenharia Electrotécnica Controlo 2.ª AULA Representação gráfica de sinais – Rampa unitária, Impulso unitário e Escalão unitário Docente Prof.ª Sónia Marques Instituto Politécnico de Setúbal

Lab matlab 2 - ltodi.est.ips.ptltodi.est.ips.pt/smarques/controlo/LAB/Lab matlab 2.pdf · Instituto Politécnico de Setúbal - Controlo – 02/03 Por Profª Sónia Marques 7 Existe

Embed Size (px)

Citation preview

Page 1: Lab matlab 2 - ltodi.est.ips.ptltodi.est.ips.pt/smarques/controlo/LAB/Lab matlab 2.pdf · Instituto Politécnico de Setúbal - Controlo – 02/03 Por Profª Sónia Marques 7 Existe

Engenharia Electrotécnica

Controlo

2.ª AULA Representação gráfica de sinais –

Rampa unitária, Impulso unitário e Escalão unitário

Docente

Prof.ª Sónia Marques

Instituto Politécnico de Setúbal

Page 2: Lab matlab 2 - ltodi.est.ips.ptltodi.est.ips.pt/smarques/controlo/LAB/Lab matlab 2.pdf · Instituto Politécnico de Setúbal - Controlo – 02/03 Por Profª Sónia Marques 7 Existe

Instituto Politécnico de Setúbal - Controlo – 02/03

Por Profª Sónia Marques 2

• 2ª aula

Representação gráfica de sinais – Rampa unitária, Impulso unitário e Escalão unitário,

RAMPA UNITÁRIA

≤≥

=000

ttt

)t(u

Considere um sistema de 1ª ordem com a seguinte função de transferência

11+

=Ts

)S(G

A resposta do sistema a uma rampa unitária de um sistema de 1ª ordem é dada pela

expressão, 0t TeTt)t(c Tt

≥+−=−

onde T representa a constate de tempo do sistema. Define-se em primeiro o tempo de 0 a 10 segundos de, depois a constante de tempo por exemplo T=0.5 e por fim o gráfico pelo comando plot(x,y): Define-se em primeiro o tempo de 0 a 10 segundos de 0.1 em 0.1, logo t=0:0.1:10, » t=0:0.1:10; » depois a expressão matemática da resposta temporal para uma constantes de tempo, T= 0.5, » T=0.5; »y= t-T+T*exp(-t/T); » e por fim o gráfico pelo comando plot(x,y) onde se coloca no mesmo gráfico a curva

de uma rampa unitária e a resposta do sistema 0t e..t)t(c .t

≥+−=−

505050 » plot(t,y,'m.',t,t) »

0 t

u(t)

1

Page 3: Lab matlab 2 - ltodi.est.ips.ptltodi.est.ips.pt/smarques/controlo/LAB/Lab matlab 2.pdf · Instituto Politécnico de Setúbal - Controlo – 02/03 Por Profª Sónia Marques 7 Existe

Instituto Politécnico de Setúbal - Controlo – 02/03

Por Profª Sónia Marques 3

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10

Vamos agora mostrar, variando a constante de tempo T que, quanto menor a constante de tempo menor o erro estacionário. T=1, T=5, T=10 » T=1; » y1= t-T+T*exp(-t/T); » T=5; » y2= t-T+T*exp(-t/T); » T=10; » y3= t-T+T*exp(-t/T); » y4= t; » plot(t, y1 , 'mo' , t , y2 , 'c.' , t , y3 , 'g*' , y4 , t , 'k+') »

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10

u(t)=t

c(t)=t-T+T*exp(-t/T) T=0.5

y = t-1+exp(-t) y = t

y = t-5+5*exp(-t/5)

y = t-10+10*exp(-t/10)

Page 4: Lab matlab 2 - ltodi.est.ips.ptltodi.est.ips.pt/smarques/controlo/LAB/Lab matlab 2.pdf · Instituto Politécnico de Setúbal - Controlo – 02/03 Por Profª Sónia Marques 7 Existe

Instituto Politécnico de Setúbal - Controlo – 02/03

Por Profª Sónia Marques 4

IMPULSO UNITÁRIO

≠=

=atat

)t(u01

Considere um sistema de 1ª ordem com a seguinte função de transferência genérica,

11+

=Ts

)S(G

A resposta do sistema a um impulso unitário de um sistema de 1ª ordem é dada pela

expressão, 0t Te)t(c

Tt

≥= onde T representa a constate de tempo do sistema.

Define-se em primeiro o tempo de 0 a 10 segundos de, depois a constante de tempo por exemplo T=3 e por fim o gráfico pelo comando plot(x,y): Define-se em primeiro o tempo de 0 a 4 segundos de 0.1 em 0.1, logo t=0:0.1:4, » t=0:0.1:4; » depois a expressão matemática da resposta temporal para várias constantes de tempo, T= 0.5, T=1, T=2, T=8, » T=0.5; » y1=exp(-t/T)/T; » T=1; » y2=exp(-t/T)/T; » T=2; » y3=exp(-t/T)/T; » T=4; » y4=exp(-t/T)/T; » T=8; » y5=exp(-t/T)/T; e por fim o gráfico pelo comando plot(x,y) onde se coloca no mesmo gráfico as várias curvas, » plot(t,y1,t,y2,t,y3,t,y4,t,y5) »

0 a t

u(t)

1

Page 5: Lab matlab 2 - ltodi.est.ips.ptltodi.est.ips.pt/smarques/controlo/LAB/Lab matlab 2.pdf · Instituto Politécnico de Setúbal - Controlo – 02/03 Por Profª Sónia Marques 7 Existe

Instituto Politécnico de Setúbal - Controlo – 02/03

Por Profª Sónia Marques 5

0 0.5 1 1.5 2 2.5 3 3.5 40

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

No entanto a resposta do sistema a um impulso unitário já está definida no Matlab e é dada pelo comando impulse(num,den): » T=8; » num=1; » den=[T 1]; » impulse(num,den) »

Time (sec.)

Am

plitu

de

Impulse Response

0 5 10 15 20 25 30 35 40 450

0.02

0.04

0.06

0.08

0.1

0.12

ESCALÃO UNITÁRIO

<≥

=atat

)t(u01

0 a t

u(t)

1

T=0.5

T=1

T=2

T=4

T=8

Page 6: Lab matlab 2 - ltodi.est.ips.ptltodi.est.ips.pt/smarques/controlo/LAB/Lab matlab 2.pdf · Instituto Politécnico de Setúbal - Controlo – 02/03 Por Profª Sónia Marques 7 Existe

Instituto Politécnico de Setúbal - Controlo – 02/03

Por Profª Sónia Marques 6

SISTEMAS DE 1ª ORDEM Considere um sistema de 1ª ordem com a seguinte função de transferência genérica,

11+

=Ts

)S(G

A resposta do sistema a um degrau unitário de um sistema de 1ª ordem a um escalão

unitário é dada pela expressão, 0t e)t(u Tt

≥−=−

1 onde T representa a constate de tempo do sistema. Define-se em primeiro o tempo de 0 a 10 segundos de 0.09 em 0.09, logo t=0:0.09:10, » t=0:0.09:10; depois a expressão matemática da resposta temporal para várias constantes de tempo, T= 1, T=1.5, T=4, T=10 , »T1=1; »T2=1.5; »T3=4; »T4=10; »y1=1-exp(-t/T1); »y2=1-exp(-t/T2); »y3=1-exp(-t/T3); »y4=1-exp(-t/T4); e por fim o gráfico pelo comando plot(x,y) onde se coloca no mesmo gráfico as quatro curvas: »plot(t, y1,'mo',t,y2,'c.',t , y3,'g*', t , y4, 'k+') »

0 2 4 6 8 100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Verifica-se então conforme esperado que quanto menor a constante de tempo mais rápida é a resposta do sistema.

T=10

T=4

T=1.5

T=1

Page 7: Lab matlab 2 - ltodi.est.ips.ptltodi.est.ips.pt/smarques/controlo/LAB/Lab matlab 2.pdf · Instituto Politécnico de Setúbal - Controlo – 02/03 Por Profª Sónia Marques 7 Existe

Instituto Politécnico de Setúbal - Controlo – 02/03

Por Profª Sónia Marques 7

Existe no entanto uma função definida no Matlab que permite obter, a partir de qualquer função de transferência, a resposta do sistema a um escalão unitário. Essa função é step(numerador,denominador). » T =8; » num=1; » den=[T 1]; » step(num,den) »

Time (sec.)

Am

plitu

de

Step Response

0 5 10 15 20 25 30 35 40 450

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Existe uma outra função definida no matlab, o comando ltiview, que representa não só a resposta temporal de sistemas a um escalão unitário bem como ao impulso unitário, o diagrama de bode, o diagrama de Nyquist, entre outros, bem como parâmetros importantes característico de cada gráfico. Considere a função de transferência

1211

2 KKsKsK)S(G

++= onde K1=2.95 e K2=0.47

» sys=tf(2.95, [1 2.95*0.47 2.95]) Transfer function: 2.95 -------------------- s^2 + 1.387 s + 2.95 »ltiview('step',sys) »

Page 8: Lab matlab 2 - ltodi.est.ips.ptltodi.est.ips.pt/smarques/controlo/LAB/Lab matlab 2.pdf · Instituto Politécnico de Setúbal - Controlo – 02/03 Por Profª Sónia Marques 7 Existe

Instituto Politécnico de Setúbal - Controlo – 02/03

Por Profª Sónia Marques 8

Time (sec.)

Am

plitu

de

Step Response

0 1.6 3.2 4.8 6.4 80

0.5

1

1.5

Time (sec.)

Am

plitu

de

Impulse Response

0 1.6 3.2 4.8 6.4 8-0.5

0

0.5

1

1.5

Frequency (rad/sec)

Pha

se (d

eg);

Mag

nitu

de (d

B)

Bode Diagrams

10-1 100 101-200

-150

-100

-50

0

-50

0

50

Page 9: Lab matlab 2 - ltodi.est.ips.ptltodi.est.ips.pt/smarques/controlo/LAB/Lab matlab 2.pdf · Instituto Politécnico de Setúbal - Controlo – 02/03 Por Profª Sónia Marques 7 Existe

Instituto Politécnico de Setúbal - Controlo – 02/03

Por Profª Sónia Marques 9

SISTEMAS DE 2ª ORDEM Considere um sistema de 2ª ordem com a seguinte função de transferência genérica,

22

2

2 ωξωω

++=

nn

n

ss)S(G

Fazendo a frequência natural não amortecida ωn =5 rad/s e variando o coeficiente de amortecimento ξ= 0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1 e 2, vem, » num=25; » coef=0 » den=[1 2*coef*5 25]; » sys=tf(num,den) Transfer function: 25 -------- s^2 + 25 » ltiview('step',tf(num,den)); » coef=0.1 » den=[1 2*coef*5 25] » sys1=tf(num,den) Transfer function: 25 ------------ s^2 + s + 25 » coef=0.2 » den=[1 2*coef*5 25]; » sys=tf(num,den) Transfer function: 25 -------- s^2 + 2s+25 » coef=0.3 : : » coef=2 » den=[1 2*coef*5 25] » sys20=tf(num,den) Transfer function: 25 --------------- s^2 + 20 s + 25 » No fim faz-se refresh no Workspace no gráfico do LTI Viewer e as respostas são representadas todas no mesmo gráfico,

Page 10: Lab matlab 2 - ltodi.est.ips.ptltodi.est.ips.pt/smarques/controlo/LAB/Lab matlab 2.pdf · Instituto Politécnico de Setúbal - Controlo – 02/03 Por Profª Sónia Marques 7 Existe

Instituto Politécnico de Setúbal - Controlo – 02/03

Por Profª Sónia Marques 10

Time (sec.)

Am

plitu

de

Step Response

00

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

Considerando o caso de subamortecido, 0≤ξ<1, no plot options obtenha o tempo de pico, o tempo de subida ou crescimento, o tempo de estabelecimento ou acomodação, e comente. Considere agora o caso de amortecimento crítico, ξ=1, e sobreamortecimento, ξ>1, o que varia nas características da resposta transitória. Fazendo o coeficiente de amortecimento ξ = 0.2 e variando a frequência natural não amortecida ωn entre 0 e 5 , vem, » w=0.1; » num=w*w; » den=[1 2*w*0.2 w*w]; » a=tf(num,den); » w=0.5; » num=w*w; » den=[1 2*w*0.2 w*w]; » a1=tf(num,den); » w=0.9; » num=w*w; » den=[1 2*w*0.2 w*w]; » a2=tf(num,den);

ξ=0

ξ=0.1

ξ=0.2

ξ=0.3ξ=0.4

ξ=2

ξ=1

ξ=0.5

Page 11: Lab matlab 2 - ltodi.est.ips.ptltodi.est.ips.pt/smarques/controlo/LAB/Lab matlab 2.pdf · Instituto Politécnico de Setúbal - Controlo – 02/03 Por Profª Sónia Marques 7 Existe

Instituto Politécnico de Setúbal - Controlo – 02/03

Por Profª Sónia Marques 11

» w=1.5; » num=w*w; » den=[1 2*w*0.2 w*w]; » a3=tf(num,den); » w=5; » num=w*w; » den=[1 2*w*0.2 w*w]; » a4=tf(num,den); » ltiview(‘step’,a,a1,a2,a3,a4) »

Time (sec.)

Am

plitu

de

Step Response

0 500

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

O que se mantêm? Como é que variam as características da resposta ao escalão unitário, comente. COMPARAÇÃO DE UM SISTEMA DE 1º ORDEM COM UM SISTEMA DE 2º ORDEM SOBREAMORTECIDO, ξ>1, » num1=1; » den1=[1 1]; » a1=tf(num1,den1) Transfer function: 1 ----- s + 1 » num2=36; » den2=[1 3*2*6 36]; » a2=tf(num2,den2) »

w=0.1w=0.5w=0.9

w=1.5

w=.5

Page 12: Lab matlab 2 - ltodi.est.ips.ptltodi.est.ips.pt/smarques/controlo/LAB/Lab matlab 2.pdf · Instituto Politécnico de Setúbal - Controlo – 02/03 Por Profª Sónia Marques 7 Existe

Instituto Politécnico de Setúbal - Controlo – 02/03

Por Profª Sónia Marques 12

Transfer function: 36 --------------- s^2 + 36 s + 36 » ltiview('step',a1,a2) »

Time (sec.)

Am

plitu

de

Step Response

0 1 2 3 4 5 60

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Como é que se podem diferenciar a resposta a um sistema de 1ª ordem e a resposta ao sistema de 2ª ordem?? Pela derivada na origem. Ampliando na origem,

Time (sec.)

Am

plitu

de

Step Response

0

0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

EXERCICÍOS Considere então um sistema de 2ª ordem com frequência natural não amortecida ωn=5 e coeficiente de amortecimento ξ =2, a função de transferência é então,

25425)( 2 ++

=ss

SG

Page 13: Lab matlab 2 - ltodi.est.ips.ptltodi.est.ips.pt/smarques/controlo/LAB/Lab matlab 2.pdf · Instituto Politécnico de Setúbal - Controlo – 02/03 Por Profª Sónia Marques 7 Existe

Instituto Politécnico de Setúbal - Controlo – 02/03

Por Profª Sónia Marques 13

Representa-se o numerador por um polinómio num=[25] e o denominador den=[ 1 4 25]. O escalão unitário é dado pelo comando step(num,den): » num=25; » den=[ 1 4 25]; » step(num,den) »

Time (sec.)

Am

plitu

de

Step Response

0 0.5 1 1.5 2 2.5 30

0.2

0.4

0.6

0.8

1

1.2

1.4From: U(1)

To: Y

(1)

O coeficiente de amortecimento - ξ - e frequência natural não amortecida - Wn pode ser determinada pelo comando damp(den): » [Wn,coef]=damp(den) Wn = 5 5 coef = 0.4000 0.4000 » Fazendo ϖn = 5 e ξ = 0 o denominador fica 2502 222 ++=++ ssss nn ωξω logo a

função de transferência é : 25

252 +

=s

)S(G e o gráfico vem:

Page 14: Lab matlab 2 - ltodi.est.ips.ptltodi.est.ips.pt/smarques/controlo/LAB/Lab matlab 2.pdf · Instituto Politécnico de Setúbal - Controlo – 02/03 Por Profª Sónia Marques 7 Existe

Instituto Politécnico de Setúbal - Controlo – 02/03

Por Profª Sónia Marques 14

Time (sec.)

Am

plitu

de

Step Response

00

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

Calcule os pólos da função de transferência utilizando o comando roots. Onde se localizam no plano complexo, utilize o comando pzmap? Relacione a localização dos pólos com o tipo de resposta obtida no gráfico anterior.