Continuação da aula anterior, de 28/04/2025, Projeto de PDs.
Recuperando dados da aula passada, arquivo: dados.mat.
Lembrando da planta:
x>> zpk(BoG)
ans =
0.00012224 (z+2.747) (z+0.1903)
--------------------------------
(z-0.9048) (z-0.8187) (z-0.3679)
Sample time: 0.1 seconds
Discrete-time zero/pole/gain model.
O PD, opção (c) (aula passada), chegou à equação:
Mantendo o zero do Lead na mesma posição do zero dos PD's anteriores, falta apenas definir a posição do pólo para o Lead. Este pólo correspondeo ao pólo do filtro passa-baixas incorporado ao PD). Como nbão queremos filtrar as respostas dinâmicas do pólo mais rápido da planta: .
xxxxxxxxxx
>> Lead=tf([1 -0.76],[1 -0.15],T)
Lead =
z - 0.76
--------
z - 0.15
Sample time: 0.1 seconds
Discrete-time transfer function.
>>ftma_Lead=Lead*BoG;
>> rlocus(ftma_Lead)
>> axis equal
>> axis([-8 1 -4 4])
RL da plata + Lead:
"Sintonizando" este controlador...
xxxxxxxxxx
>> axis([-0.15 1 -0.2 0.6]) % zoom na região de interesse
>>hold on
>> zgrid(zeta,0)
>> [K_lead,polosMF]=rlocfind(ftma_Lead)
Select a point in the graphics window
selected_point =
0.70705 + 0.31889i
K_lead =
290.24
polosMF =
0.70646 + 0.31885i
0.70646 - 0.31885i
0.73216 + 0i
0.060893 + 0i
E assim temos o RL:
xxxxxxxxxx
>> % Fechando a malha
>> ftmf_Lead=feedback(K_lead*ftma_Lead, 1);
>> figure; step(ftmf_Lead, ftmf_PDc)
>> legend('Lead', 'Pd (c)') % comparando com PD(c)
Resposta ao degrau em MF comparando com PD (c) projetado na aula passada:
xxxxxxxxxx
>> erro_Lead=((1-dcgain(ftmf_Lead))/1)*100
erro_Lead =
19.618
Melhorando este PD:
Versão 2 do lead susando o App Control System Designer:
xxxxxxxxxx
>> % Exportado controlador C para Lead2
>> zpk(Lead2)
ans =
394 (z-0.76)
------------
(z-0.15)
Name: C
Sample time: 0.1 seconds
Discrete-time zero/pole/gain model.
Podemos modificar a posição do zero do Lead, quase cancelando o 2o-pólo mais rápido da planta em , para obter um controlador mais rápido (ver PD(d) da aula passada).
Usando App Control System Designer, vamos aproveitar e modificar posição do zero do Lead, colocando-o próximo de .
xxxxxxxxxx
>> % Exporando controlador C para Lead3
>> zpk(Lead3)
ans =
430 (z-0.79)
------------
(z-0.15)
Name: C
Sample time: 0.1 seconds
Discrete-time zero/pole/gain model.
Finalizando seção de trabalho para próxima aula:
xxxxxxxxxx
>> save dados
>> diary off
Fernando Passold, em 05/05/2025