# data[].attributes.body
Ts=6
Mp=0.3
a=4/Ts
Z=(-log(Mp))/sqrt((%pi*%pi)+(log(Mp)*log(Mp)))
a=Z*Wn;
Wn=a/Z
s=%s
G=(Wn*Wn)/((s*s)+(2*a*s)+(Wn*Wn))

# data[].attributes.body
MA=3.4705486/(%s^2 + 1.3333333*%s +3.4705486)
h=1
MF=MA/.h
t=0.1:0.1:100
u=ones(t)
y= csim(u,t,MF)
plot(t,y)

# data[].attributes.body
d=poly([1 2 1],"s","coeff")
n=poly([2 -1 1],"s","coeff")
K1=1
MA1=(K1*n)/d
h=1
MF1=MA1/.h
evans(MF1)

Sistema estável - polos no SPE

# data[].attributes.body
d=poly([1 2 1],"s","coeff")
n=poly([2 -1 1],"s","coeff")
K2=2
MA1=(K2*n)/d
h=1
MF1=MA1/.h
evans(MF1)

Sistema marginalmente estável. Para sistema estável, K<2

# data[].attributes.body
d=poly([1 2 1],"s","coeff")
n=poly([2 -1 1],"s","coeff")
K3=5
MA1=(K3*n)/d
h=1
MF1=MA1/.h
evans(MF1)

Sistema instável - polos no SPD

# data[].attributes.body
s=%s
a1=5
g1=a1/(s+a1)
T=1/a1 // T=constante de tempo
Tr=2.2/a1 // Tr=Tempo de subida
Ts=4/a1 //Ts=tempo de acomodação
t=0:0.1:5
u=ones(t)
y= csim(u,t,g1)
plot(t,y)
drawaxis(x=(T),dir='r',val= 'Const. T',fontsize=1, textcolor=5, sub_int=11)
drawaxis(x=(Tr),dir='u',val= 'Tr',fontsize=1, textcolor=5, sub_int=11)
drawaxis(x=(Ts),dir='r',val= 'Ts',fontsize=1, textcolor=5, sub_int=11

# data[].attributes.body
Professora, estou com dificuldades pra plotar os parâmetros no gráfico!

# data[].attributes.body
s=%s
a2=20
g2=a2/(s+a2)
T=1/a2 // T=constante de tempo
Tr=2.2/a2 // Tr=Tempo de subida
Ts=4/a2 //Ts=tempo de acomodação
t=0:0.01:5
u=ones(t)
y= csim(u,t,g2)
plot(t,y)
drawaxis(x=(T),dir='r',val= 'Const. T',fontsize=1, textcolor=5, sub_int=11)
drawaxis(x=(Tr),dir='u',val= 'Tr',fontsize=1, textcolor=5, sub_int=11)
drawaxis(x=(Ts),dir='r',val= 'Ts',fontsize=1, textcolor=5, sub_int=11)

# data[].attributes.body
Mais rápido! Quanto maior o valor de "a", mais rápido o sinal atinge a condição final.

# data[].attributes.body
Primeira ordem;
Não possui zeros;

s=%s
a=2
G=syslin('c',((a)/(s+a)))//montar função de transf
n=G('num')
zerosG =roots(n)
d= G('den')
polosG=roots(d)
T=1/a // T=constante de tempo
Tr=2.2/a // Tr=Tempo de subida
Ts=4/a //Ts=tempo de acomodação
plzr(G)

# data[].attributes.body
Pela tabela,o Polinomio original é:

P= s^7+s^6+2*s^5+2*s^4-s^3-s^2-2*s-2

Como a linha s^5 é uma linha nula, obtem-se o polinomio auxiliar
com base na linha s^6. o polinomio auxiliar é:

Paux=s^6+2*s^4-s^2-2

Analisa -se as mudanças de sinais antes e após o polinomio auxiliar:

Após, refere-se ao polinomio auxiliar:
há uma mudança de sinal, logo, há uma raiz no SPD. Por simetria tem
que ter a outra raiz no SPE. Logo, sobram 4 raizes sobre o eixo
imaginário.

# data[].attributes.body
Raizes do polinômio original

# data[].attributes.body
Raízes do polinomio auxiliar, também chamado de polinomio par, no livro.

# data[].attributes.body
u=ones(t)
t=0:0.1:10
plot(t,u)

Plotar gráfico do degrau unitário

# data[].attributes.body
--> t= [valores t da tabela];
--> s= [valores s da tabela];
--> plot(t,s);

Plotar o gráfico com os dados da tabela.
Repare nos comentários do gráfico que marcamos os pontos de overshoot, do valor final e do tempo de acomodação, considerando este último 5% do valor final.
Através destes dados, e das fórmulas, calculamos o Zeta e o Omega N.

Mp=0,35
Ts(5%) = 0,23

# data[].attributes.body
Professora, só esclarecendo que este exercício fizemos em grupo. Agendamos uma reunião no meet no domingo e fizemos. Por isso, devem estar todos iguais.

Consideramos um Ts de 3 "tau".
Obtivemos:
Zeta= 0.3169
OmegaN= 40,67
Através destes parâmetros foi possível obter a função de transferência: G(s), conforme imagem abaixo.

# data[].attributes.body
--> g= 1654 / (%s^2 + 25.78*%s + 1654)
--> u=ones(t);
--> t=0:0.01:10;
--> y= csim(u,t,g);
--> plot(t,y)

Plotamos o grafico da FT obtida com uma entrada degrau e observamos que a saída deve acrescimo de 1 de Mp, quando comparado ao sinal original e estabilizou em 1.

# data[].attributes.body
-> t0= [valores t da tabela];
--> s= [valores s da tabela];
--> g= 1654 / (%s^2 + 25.78*%s + 1654)
--> u=ones(t);
--> t=0:0.05:10;
--> y1=csim(u,t,g);
--> plot(t,y1,'r')
--> plot(t,u,'g')
--> plot(t0,s,'b')

Programa para plotar os 3 gráficos juntos. Os Valores de T0 e s são os extraídos da tabela fornecida.

# data[].attributes.body
Conforme explicado na aula, multipliquei  a função de transferência por um K, nesse caso pelo valor de  0.246 (valor do sinal acomodado)  gerando o resultado:

g=407/(%s^2+25.78*%s+1654)
u=ones(t)
t=0:0.01:1
y=csim(u,t,g)
plot(t,y)

# data[].attributes.body
Segunda ordem.
Parametros conforme imagem abaixo.

s=%s
b=144
a=6
K=(20/144)
G=syslin('c',((b)/(s^2+s*a+b)))//montar função de transf
G1=syslin('c',((b*K)/(s^2+s*a+b)))
n=G('num')
zerosG =roots(n)
d= G('den')
polosG=roots(d)
plzr(G)
OmegaN=sqrt(b)
zeta=((a/2)/OmegaN)
pi=%pi
Mp=exp(-(pi*zeta/(sqrt(1-(zeta*zeta)))))
tpico=(pi/(OmegaN*sqrt(1-zeta*zeta)))
t=0.1:0.1:10
u=ones(t)
y= csim(u,t,G)
plot(t,y)

# data[].attributes.body
s=%s
b=200
a=30
K=((10*(7+s))/200)
G=syslin('c',((b)/(s^2+s*a+200)))//montar função de transf
//G1=syslin('c',((b*K)/(s^2+s*a+200)))
n=G('num')
zerosG =roots(n)
d= G('den')
polosG=roots(d)
plzr(G)
OmegaN=sqrt(b)
zeta=((a/2)/OmegaN)
pi=%pi
Mp=exp(-(pi*zeta/(sqrt(1-(zeta*zeta)))))
tpico=(pi/(OmegaN*sqrt(1-zeta*zeta)))
t=0.1:0.1:10
u=ones(t)
y= csim(u,t,G)
plot(t,y)

# data[].attributes.body
Sistema superamortecido

# data[].attributes.body
Segunda ordem

Parâmetros conforme imagem abaixo

s=%s
b=18
a=9
K=(5/18)
G=syslin('c',((b)/(s^2+s*a+b)))//montar função de transf
G1=syslin('c',((b*K)/(s^2+s*a+b)))
n=G('num')
zerosG =roots(n)
d= G('den')
polosG=roots(d)
plzr(G)
OmegaN=sqrt(b)
zeta=((a/2)/OmegaN)
pi=%pi
Mp=exp(-(pi*zeta/(sqrt(1-(zeta*zeta)))))
tpico=(pi/(OmegaN*sqrt(1-zeta*zeta)))
t=0.1:0.1:10
u=ones(t)
y= csim(u,t,G)
plot(t,y)

# data[].attributes.body
sistema superamortecido

# data[].attributes.body
Sistema subamortecida
O maximo sobressinal e tempo de pico não estão dando certo... devo ter errado algo na fórmula.

# data[].attributes.body
Poderia ter escrito à mão e postado aqui.

# data[].attributes.body
Não está explícito o valor de 'a'. Eu não vi ... Faltou responder as questões deste exercício. (-1,0)

# data[].attributes.body
Muito bom ter estas observações