
Aula de 17/04/2024 🎵
Aplicando à planta do estudo de caso:
x
>> load planta>> zpk(BoG) 0.00012224 (z+2.747) (z+0.1903) -------------------------------- (z-0.9048) (z-0.8187) (z-0.3679) Sample time: 0.1 secondsDiscrete-time zero/pole/gain model.​A equação do controlador deveria ser:
Lembrando que não posso incluir na equação raizes instáveis (então o zero da planta em não pode ser incluÃdo na eq. do controlador).
Supondo que os 2 pólos fossem em (integrador duplo):
xxxxxxxxxx>> polos_BoG=pole(BoG)polos_BoG = 0.90484 0.81873 0.36788>> zero_BoG=zero(BoG)zero_BoG = -2.7471 -0.19031>> C_dead1=tf(poly(polos_BoG), poly([zero_BoG(2) 1 1]), T);>> zpk(C_dead1)​ans = (z-0.9048) (z-0.8187) (z-0.3679) -------------------------------- (z-1)^2 (z+0.1903) Sample time: 0.1 secondsDiscrete-time zero/pole/gain model.​>> ftma_dead1=C_dead1*BoG; >> zpk(ftma_dead1) 0.00012224 (z+2.747) (z-0.9048) (z-0.8187) (z-0.3679) (z+0.1903) ---------------------------------------------------------------- (z+0.1903) (z-0.3679) (z-0.8187) (z-0.9048) (z-1)^2 Sample time: 0.1 secondsDiscrete-time zero/pole/gain model.​>> minreal(ftma_dead1) 0.0001222 z + 0.0003358 ----------------------- z^2 - 2 z + 1 Sample time: 0.1 secondsDiscrete-time transfer function.​>> zpk(minreal(ftma_dead1)) 0.00012224 (z+2.747) -------------------- (z-1)^2 Sample time: 0.1 secondsDiscrete-time zero/pole/gain model.​>> rlocus(ftma_dead1)>> axis equalO obtivemos o seguinte RL:

Um "zoom" revela:

E então percebemos que por menor que seja o ganho do controlador, teremos pólos de MF instáveis.
Voltando a eq. do controlador, percebemos que um dos polos "extras" pode ser mantido em (integrador), mas o outro pólo, deve mudar de local. Se for "enviado" para a origem, teremos:
x
>> C_dead2=tf(poly(polos_BoG), poly([zero_BoG(2) 1 0]), T);>> zpk(C_dead2) (z-0.9048) (z-0.8187) (z-0.3679) -------------------------------- z (z-1) (z+0.1903) Sample time: 0.1 secondsDiscrete-time zero/pole/gain model.>> ftma_dead2=C_dead2*BoG;>> zpk(minreal(ftma_dead2)) 0.00012224 (z+2.747) -------------------- z (z-1) Sample time: 0.1 secondsDiscrete-time zero/pole/gain model.​>> figure; rlocus(ftma_dead2)>> hold on;>> zgrid(zeta,0)RL sem "zoom":

Um zoom na região de interesse revela:

Notamos alguns detalhes:

A idéia então é definir um local para o pólo de tal forma, a que o ponto de partida do RL ocorra justamente sobre a origem do plano-z, o que nos garante então a resposta no menor tempo possÃvel para este sistema.
Usando o App Control System Designer para isto:
Continuando na próxima aula...
Arquivo <planta.mat>
Fernando Passold, em 17/04/2024