Aula de 17/04/2024.
Suponha a seguinte planta:
que será amostrada à :
xxxxxxxxxx>> T=0.1;>> G=tf(10,poly([-1 -10]));>> zpk(G)ans = 10------------ (s+10) (s+1)Continuous-time zero/pole/gain model.>> BoG=c2d(G,T);>> zpk(BoG)ans = 0.035501 (z+0.6945) --------------------- (z-0.9048) (z-0.3679)Sample time: 0.1 secondsDiscrete-time zero/pole/gain model.Suponha que a eq. do controlado seja:
Note que necessitamos acrescentar um pólo ao controlador, em . Se este pólo for um integrador, garantimos , então:
Neste caso, repare que a fica:
Repare que se:
vamos ter:
.
repare no pólo de MF em .
Ou seja, deliberadamente queremos:

Neste caso, a resposta do sistema para entrada degrau fica:
Calculando , pelo método da divisão longa:

O que graficamente resulta em:

Ou seja: um degrau deslocado exatamente de 1 período de amostragem.
Note que o ganho do controlador, neste caso, deveria ser:
Confirmando:
xxxxxxxxxx>> C_dead=tf(poly(polos_BoG),poly(zeros_BoG), T);>> zpk(BoG)ans = 0.035501 (z+0.6945) --------------------- (z-0.9048) (z-0.3679) Sample time: 0.1 secondsDiscrete-time zero/pole/gain model.>> Integrador=tf(1,[1 -1],T)Integrador = 1 ----- z - 1 Sample time: 0.1 secondsDiscrete-time transfer function.>> C_dead = C_dead*Integrador;>> zpk(C_dead)ans = (z-0.9048) (z-0.3679) --------------------- (z-1) (z+0.6945) Sample time: 0.1 secondsDiscrete-time zero/pole/gain model.>> ftma_dead=C_dead*BoG;>> zpk(ftma_dead)ans = 0.035501 (z+0.6945) (z-0.9048) (z-0.3679) ----------------------------------------- (z+0.6945) (z-0.9048) (z-1) (z-0.3679) Sample time: 0.1 secondsDiscrete-time zero/pole/gain model.>> ftma_dead2=minreal(ftma_dead);>> zpk(ftma_dead2)ans = 0.035501 -------- (z-1) Sample time: 0.1 secondsDiscrete-time zero/pole/gain model.>> rlocus(ftma_dead)>> axis equalTemos o RL:

O ganho do controlador está próximo de ou mais exatamente:
x
>> K=1/0.035501K = 28.168>> ftmf=feedback(K*ftma_dead,1);>> zpk(ftmf) (z+0.6945) (z-0.9048) (z-0.3679) --------------------------------------------- (z+0.6945) (z-0.9048) (z-0.3679) (z-1.17e-05) Sample time: 0.1 secondsDiscrete-time zero/pole/gain model.>> minreal(ftmf) 1 ------------ z - 1.17e-05 Sample time: 0.1 secondsDiscrete-time transfer function.>> Repare, praticamente .
A resposta ao degrau fica:
xxxxxxxxxx>> figure; step(ftmf)Resultando no seguinte gráfico:

👉 Aplicando ao caso da nossa planta --> ver aula de 17/04/2024.
Fernando Passold, em 17/04/2024.