6_controladores_digitais bilinear
TRANSCRIPT
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]; % FT da Planta >> nc = 11172*[1 29.4]; dc = [1 2*294 294^2]; % FT do Controlador Contínuo >> [npd dpd] = c2dm(np, dp, T, ’zoh’); % Discretização da Planta >> [ncd dcd] = c2dm(nc, dc, T, ’tustin’); % Discretização do Controlador (Transformação Bilinear) >> printsys(ncd, dcd, ’z’) % 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); % Denominador de Malha Aberta >> dma = conv(dpd, dcd); % Numerador de Malha Aberta >> [nmf dmf] = feedback(nma, dma, 1, 1); % Função de Transferência de Malha Fechada >> dstep(nmf, dmf) % 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:
1
2)(
+=
z
zzP
O período de amostragem para esse controlador deve ser menor que 1/w1, isto é, T < 0,0323 s.
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’); % Discretização da Planta >> [ncd dcd] = c2dm(nc, dc, T, ’tustin’); % Discretização do Controladorr >> ncd = conv(ncd,[2 0]); % Acréscimo do Termo Compensatório 2z >> dcd = conv(dcd,[1 1]); % Acréscimo do Termo Compensatório z+1 >> printsys(ncd, dcd, ’z’) % Apresentação do Controlador Digital >> nma = conv(npd, ncd); % Denominador de Malha Aberta >> dma = conv(dpd, dcd); % Numerador de Malha Aberta >> [nmf dmf] = feedback(nma, dma, 1, 1); % Função de Transferência de Malha Fechada >> dstep(nmf, dmf, 50) % 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:
)2)(1(
10)(
++=
sssG
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; % Numerador da Planta >> dp = conv([1 1],[1 2]); % Denominador da Planta >> [npd dpd] = c2dm(np, dp, T, ’zoh’); % Discretização da Planta >> printsys(npd, dpd, ’z’); % Apresentação da FT discretizada da planta >> z = roots(npd); % Zeros da FT discretizada da planta >> p = roots(dpd); % 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
>> zgrid on % Traçado da linhas de ζ e wnT constantes >> rlocus(npd,dpd) % Obtenção do lugar das raízes do sistema >> axis([0 1 0 1]) % Mudança de Escala
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); % Obtenção da função de transferência de malha fechada >> dstep(npdmf, depmf) % 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
1
905,0)(
−−=z
zzD
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]); % Denominador de Malha Aberta com controle PI >> dma = conv(dpd,[1 -1]); % Numerador de Malha Aberta com controle PI >> [nmf dmf] = feedback(nma, dma, 1, 1); % FT de Malha Fechada com controle PI >> dstep(nmf, dmf) % Resposta ao Degrau usando controle PI >> zgrid on % Traçado das linhas de ζ e wnT constantes >> rlocus(nma, dma) % Obtenção do Lugar das raízes com a inclusão do PI >> axis([0 1 0 1]) % 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:
)1()819.0)(905.0("
)(−
−−=zz
zzkzG
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:
>> nma = conv(npd, conv([1 -0.905], [1 -0.819])); % Denominador de M.Aberta c/ controle PID >> dma = conv(dpd, [1 -1 0]); % Numerador de M.Aberta c/ controle PID >> zgrid on; % Traçado das linhas de ζ e wnT constantes >> rlocus(nma, dma); % Obtenção do LGR do sistema + PID >> axis([0 1 0 1]) ; % Mudança de Escala >> [K pmf] = rlocfind(nma, dma) % Click sobre o ponto do LGR c/ ζ = 0,707 >> nma = K*nma; % Inclusão no controlador do ganho obtido >> [nmf dmf] = feedback(nma, dma, 1, 1); % FT de Malha Fechada com controle PID >> dstep(nmf, dmf, 80) % Resposta ao Degrau com o controle PID
LABORATÓRIO DE SISTEMAS DE CONTROLE II 7
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