6_Controladores_Digitais Bilinear

7
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 w 1 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/w 1 . Considerando valor de w 1 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

Transcript of 6_Controladores_Digitais Bilinear

Page 1: 6_Controladores_Digitais Bilinear

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

Page 2: 6_Controladores_Digitais Bilinear

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

Page 3: 6_Controladores_Digitais Bilinear

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.

Page 4: 6_Controladores_Digitais Bilinear

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:

Page 5: 6_Controladores_Digitais Bilinear

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

Page 6: 6_Controladores_Digitais Bilinear

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

Page 7: 6_Controladores_Digitais Bilinear

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