6.1 Controladores Digitais baseados em Controladores Analógicos

Propaganda
UNIVERSIDADE DO ESTADO DE SANTA CATARINA
CENTRO DE CIÊNCIAS TECNOLÓGICAS
DEPARTAMENTO DE ENGENHARIA ELÉTRICA
LABORATÓRIO DE SISTEMAS DE CONTROLE II
6 CONTROLADORES DIGITAIS
6.1
Controladores Digitais baseados em Controladores
Analógicos
O sistema de controle contínuo abaixo, apresentado no item 5.7 da apostila
“Introdução ao Controle Digital”, foi projetado para que se atendessem as especificações:
a) Máximo “overshoot” = 42%
b) Margem de Ganho = 25 dB
Figura 6.1: Sistema de Controle Contínuo
Muitas vezes as especificações desejadas não são bem atendidas, devido à natureza do
projeto, que é de tentativa e erro. Verifique, usando o MATLAB, se as especificações do
projeto, foram atendidas:
>> % Verificação das especificações de projeto para o Sistema Contínuo
>> numa = 11172*172.4*[1 29.4];
% Numerador da função de transferência de MA
>> dena = [1 2*294 294^2 0 0];
% Denominador da função de MA
>> [numf denf] = feedback(numa,dena,1,1);
% Obtenção da função de transferência de MF
>> step(numf, denf);
% Resposta ao Degrau do Sistema (Figura 6.2)
>>
% Neste gráfico, obtenha o valor do máximo overshoot
>> bode(numa, dena)
% Gráficos de Bode de malha aberta (Figura 6.3)
Nos diagramas de Bode, determine a freqüência para fase = 180 graus; para esta freqüência, verifique
o quanto falta de ganho para 0 dB, que é a Margem de Ganho do sistema. Determine, também, a
freqüência w1 para ganho = 0 dB.
6.2
Controlador Digital Via Transformação Bilinear - D1(z)
O período de amostragem para esse controlador deve ser menor que 0,2/w1.
Considerando valor de w1 obtido nos diagramas de Bode, T < 0,0065 s. No exemplo do item
5.7 da apostila, foi usado T = 0,01 s, que não atende a esse requisito. Portanto, o desempenho
do controlador não pode ser garantido.
>> T = 0.01;
>> np = [172.4];
dp = [1 0 0];
>> nc = 11172*[1 29.4]; dc = [1 2*294 294^2];
>> [npd dpd] = c2dm(np, dp, T, ’zoh’);
>> [ncd dcd] = c2dm(nc, dc, T, ’tustin’);
>> printsys(ncd, dcd, ’z’)
% FT da Planta
% FT do Controlador Contínuo
% Discretização da Planta
% Discretização do Controlador (Transformação Bilinear)
% Apresentação do Controlador Digital
LABORATÓRIO DE SISTEMAS DE CONTROLE II
2
O controlador digital para o período de amostragem T = 0,01 será dado por:
10.502 z^2 + 2.6919 z - 7.8101
num/den = ------------------------------------z^2 + 0.38057 z + 0.036208
Figura 6.2 – Resposta ao Degrau do Sistema de Controle Contínuo
Figura 6.3 – Gráficos de Bode de Malha Aberta do Sistema de Controle Contínuo
Usando o controlador digital obtido, tem-se a resposta ao degrau mostrada na Figura
6.4. Para isso, devem ser executados os seguintes comandos:
>> nma = conv(npd, ncd);
>> dma = conv(dpd, dcd);
>> [nmf dmf] = feedback(nma, dma, 1, 1);
>> dstep(nmf, dmf)
% Denominador de Malha Aberta
% Numerador de Malha Aberta
% Função de Transferência de Malha Fechada
% Resposta ao Degrau para o Sistema Discretizado
LABORATÓRIO DE SISTEMAS DE CONTROLE II
3
Figura 6.4 – Resposta ao Degrau do Controle Digital usando D1(z) e T = 0.01s
Observe que as especificações de projeto não foram atendidas. Repita o procedimento
acima para T = 0,001s, que atende às especificações de projeto, e compare o resultado com as
respostas dos sistemas contínuo e com o sistema discreto com T = 0,01s.
6.3
Transformação Bilinear com Termo Compensatório
Imposição de Resposta em Freqüência - D2(z)
O controlador assim obtido corresponde ao controlador de Tustin, usado
anteriormente, acrescido do seguinte termo compensatório:
2z
z +1
O período de amostragem para esse controlador deve ser menor que 1/w1, isto é, T < 0,0323 s.
P( z ) =
No exemplo do item 5.7 da apostila, foi usado T = 0,01 s, atendendo a esse requisito e,
portanto, garantindo o desempenho do controlador. Este resultado pode ser visto na Figura
6.5, que é gerada, executando-se os seguintes comandos:
>> T = 0.01;
>> [npd dpd] = c2dm(np, dp, T, ’zoh’);
>> [ncd dcd] = c2dm(nc, dc, T, ’tustin’);
>> ncd = conv(ncd,[2 0]);
>> dcd = conv(dcd,[1 1]);
>> printsys(ncd, dcd, ’z’)
>> nma = conv(npd, ncd);
>> dma = conv(dpd, dcd);
>> [nmf dmf] = feedback(nma, dma, 1, 1);
>> dstep(nmf, dmf, 50)
% Discretização da Planta
% Discretização do Controladorr
% Acréscimo do Termo Compensatório 2z
% Acréscimo do Termo Compensatório z+1
% Apresentação do Controlador Digital
% Denominador de Malha Aberta
% Numerador de Malha Aberta
% Função de Transferência de Malha Fechada
% Resposta ao Degrau para o Sistema Discretizado
Nota-se que esta resposta é muito mais próxima daquela obtida usando o controle contínuo,
que é mostrada na Figura 6.2.
LABORATÓRIO DE SISTEMAS DE CONTROLE II
4
Figura 6.5 – Resposta ao Degrau do Controle Digital usando D2(z) e T = 0.01s
6.4
Controladores Digitais no Plano z
O exemplo de Controlador Proporcional-Integral apresentado no capítulo 6 da apostila
“Introdução ao Controle Digital” será estudado aqui. A planta a ser controlada tem a função
de transferência dada por:
G (s) =
10
( s + 1)( s + 2)
Para um período de amostragem T = 0,1 s (5 vezes menor que a menor constante de tempo da
planta), obtenha a função de transferência discretizada da planta:
>> T = 0.1;
>> np = 10;
>> dp = conv([1 1],[1 2]);
>> [npd dpd] = c2dm(np, dp, T, ’zoh’);
>> printsys(npd, dpd, ’z’);
>> z = roots(npd);
>> p = roots(dpd);
% Numerador da Planta
% Denominador da Planta
% Discretização da Planta
% Apresentação da FT discretizada da planta
% Zeros da FT discretizada da planta
% Pólos da FT discretizada da planta
A execução destes comandos resulta na FT discretizada da planta e seus zeros e pólos:
0.04528 z + 0.040971
num/den = -----------------------------z^2 - 1.7236 z + 0.74082
z=
-0.9048
p=
0.9048
0.8187
O projeto será iniciado com um controlador proporcional (D(z) = K). Para tal, é
interessante obter o lugar das raízes do sistema (Figura 6.6), através dos comandos:
LABORATÓRIO DE SISTEMAS DE CONTROLE II
5
% Traçado da linhas de ζ e wnT constantes
% Obtenção do lugar das raízes do sistema
% Mudança de Escala
>> zgrid on
>> rlocus(npd,dpd)
>> axis([0 1 0 1])
Figura 6.6 – Lugar das raízes do sistema com controle proporcional
Usando a função rlocfind, verifique que para ζ = 0,35, K ≅ 1 e os pólos de malha fechada são,
aproximadamente, 0,84 ± j0,28.
>> [K pmf] = rlocfind(npd, dpd)
% Click o mouse sobre o ponto do LGR com ζ = 0,35
Com este valor de K, obtém-se a resposta ao degrau do sistema exibida na Figura 6.7.
>> [npdmf depmf]=feedback(K*npd, dpd, 1, 1);
>> dstep(npdmf, depmf)
% Obtenção da função de transferência de malha fechada
% Resposta ao degrau do sistema com D(z) = 1
Figura 6.7 – Resposta ao Degrau do Controle Digital proporcional com K = 1 e T = 0,1s
LABORATÓRIO DE SISTEMAS DE CONTROLE II
6
Percebe-se que o sistema apresentou um erro de regime, que pode ser anulado
acrescentando uma ação integrativa ao controlador. O projeto realizado na apostila procurou
não alterar significativamente o transitório, nem o lugar das raízes do sistema, resultando em
D( z ) =
z − 0,905
z −1
A resposta ao degrau do sistema com este controlador PI é apresentada na Figura 6.8 e foi
gerada usando os comandos abaixo:
>> nma = conv(npd,[1 -0.905]);
>> dma = conv(dpd,[1 -1]);
>> [nmf dmf] = feedback(nma, dma, 1, 1);
>> dstep(nmf, dmf)
>> zgrid on
>> rlocus(nma, dma)
>> axis([0 1 0 1])
% Denominador de Malha Aberta com controle PI
% Numerador de Malha Aberta com controle PI
% FT de Malha Fechada com controle PI
% Resposta ao Degrau usando controle PI
% Traçado das linhas de ζ e wnT constantes
% Obtenção do Lugar das raízes com a inclusão do PI
% Mudança de Escala
Figura 6.8 – Resposta ao Degrau do Controle Digital PI e T = 0,1s
Nota-se que o transitório ficou um pouco pior. Para melhorá-lo, uma ação de controle
derivativa será acrescentada. Na apostila, propõe-se o seguinte controlador PID:
k " ( z − 0.905)( z − 0.819)
z( z − 1)
Com este controlador, gere novamente o LGR (Figura 6.9) e ache o valor de K relativo a ζ =
0,707 (máximo overshoot = 4%). Depois, obtenha a resposta ao degrau do sistema para o
valor de K encontrado (Figura 6.10). Para isso, execute os seguintes comandos no Matlab:
G( z ) =
>> nma = conv(npd, conv([1 -0.905], [1 -0.819]));
>> dma = conv(dpd, [1 -1 0]);
>> zgrid on;
>> rlocus(nma, dma);
>> axis([0 1 0 1]) ;
>> [K pmf] = rlocfind(nma, dma)
>> nma = K*nma;
>> [nmf dmf] = feedback(nma, dma, 1, 1);
>> dstep(nmf, dmf, 80)
% Denominador de M.Aberta c/ controle PID
% Numerador de M.Aberta c/ controle PID
% Traçado das linhas de ζ e wnT constantes
% Obtenção do LGR do sistema + PID
% Mudança de Escala
% Click sobre o ponto do LGR c/ ζ = 0,707
% Inclusão no controlador do ganho obtido
% FT de Malha Fechada com controle PID
% Resposta ao Degrau com o controle PID
LABORATÓRIO DE SISTEMAS DE CONTROLE II
Figura 6.9 – Lugar das raízes do sistema com controle PID
Figura 6.10 – Resposta ao Degrau do Controle Digital PID e T = 0,1s
7
Download