Recuperando dados das aulas passadas:
xxxxxxxxxx
>> 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 seconds
Discrete-time zero/pole/gain model.
>> zpk(G)
1
------------------
(s+10) (s+2) (s+1)
Continuous-time zero/pole/gain model.
>>
Para descobrir de forma rápida o Ultimate Gain, que poderia ser adotado nesta planta, podemos apelar para o gráfico do Root-Locus:
xxxxxxxxxx
>> rlocus(BoG)
>> axis([0 1.1 -0.2 1.1]) % zoom na região de interesse
E obtemos o gráfico:
O Ultimate gain fica em: . Temos que agora, ir variando o valor do ganho proporcional dentro desta faixa para descobrir por tentativa e erro (sem usar o método de Yuri), um bom valor para .
Tentando descobrir o valor de ...
xxxxxxxxxx
>> Ku=246;
>> ftmf_Ku=feedback(Ku*BoG,1);
>> figure; step(ftmf_Ku)
xxxxxxxxxx
>> Ku=246.5;
>> ftmf_Ku=feedback(Ku*BoG,1);
>> figure; step(ftmf_Ku)
>> title('Ku = 246.5')
Realizando "zoom" no gráfico anterior para inferir o valor de (período de oscilação).
xxxxxxxxxx
>> axis([355 385 -0.1 2.1])
Do gráfico anterior:
xxxxxxxxxx
>> Tu=(384-356)/20
Tu =
1.4
Entrando numa tabela de Ziegler-Nichols, ZH: "classic PID", à partir de: https://en.wikipedia.org/wiki/Ziegler–Nichols_method e supondo PID na arquitetura paralela:
xxxxxxxxxx
>>Kp=0.6*Ku
Kp =
147.9
>> Ki=1.2*Ku/Tu
Ki =
211.29
>> Kd=0.075*Ku*Tu
Kd =
25.883
Simulando o PID usando Simulink:
Arquivo: PID_paralelo.slx.r2019b ou PID_paralelo.mdl.
A eq. do PID Discreto do Matlab/Simulink é:
Separando a ação integral teríamos:
reescrevendo na notação de expoentes negativos em teremos:
então concluímos que este já corresponde ao ganho para ação integral na versão discreta do PID. Notar que a própria eq. da ação integral já contempla o termo para calculo da área (neste caso, integração retangular).
Já a ação derivativa corresponde à:
note que:
E assim, de forma similar ao que ocorre com a ação integral, a parte da equação relacionada com a ação derivativa já leva em conta o período de amostragem .
Sendo assim, os ganho que devem ser adotados para este PID (ciciar sobre o bloco PID Discrete para abrir a caixa de Propriedades):
Simulando o sistema com estes valores obtermos a seguinte resposta:
E então percebemos um (em ) e um segundos (lembrar que o degrau iniciou no instante segundo).
Percebe-se que falta realizar uma sintonia fina sobre estes valores iniciais para os parâmetros no PID.
Se forem usados os valores:
obtemos a seguinte resposta:
E agora obtermos melhores resultados: (em ) e .
Fim