(0&RQWUROHGH6LVWHPDV0HFkQLFRV Exemplo de Projeto PID Para a planta cuja função de transferência está abaixo, determine os valores das constantes de um controlador PID para que o sobressinal seja inferior a 20% e o tempo de estabilização a 2 % seja inferior a 6 segundos. Usar a metodologia de Ziegler-Nichols. Y ( s) 10 = U ( s ) s ( s + 2)( s + 5) Solução: A metodologia de Ziegler-Nichols é baseada na margem de ganho para um controlador apenas proporcional. O ganho que leva o sistema a oscilar será chamado de Km, e a frequência respectiva de ωm. Pode-se encontrar este valor de vários modos, por exemplo através do diagrama do lugar das raízes ou pelos diagramas de Bode. Usando o diagrama do lugar das raízes através do MATLAB, o programa respectivo pode ser o seguinte: » np=10; » dp=poly([-5 -2 0]); » printsys(np,dp) num/den = 10 -----------------s^3 + 7 s^2 + 10 s » rlocus(np,dp) » [Km pmf]=rlocfind(np,dp) Select a point in the graphics window selected_point = 0.0231 + 3.2551i Km = 1 Página 2 DMC 10/30/01 7.4676 pmf = -7.0778 0.0389 + 3.2480i 0.0389 - 3.2480i O ponto selecionado evidentemente varia para cada aplicação do programa. No entanto, como o método é empírico, os valores podem ter uma pequena variação, o que não influi no resultado final. Dos valores dos pólos de malha fechada para o ponto selecionado pode-se deduzir que a freqüência natural é aproximadamente 3.25 rad/s. Assim, pode-se adotar as fórmulas para encontrar as constantes do método: » wm=3.25; » Kp=0.6*Km; » Kd=(Kp*pi)/(4*wm); » Ki=(Kp*wm)/pi; na10exemplos_s1.doc DMC 10/30/01 Página 3 O diagrama de blocos do sistema encontra-se na figura abaixo. Deve-se encontrar primeiro a função de transferência de malha aberta. É conveniente observar que o diagrama acima não permite que o seu modelo seja transferido adequadamente para o espaço do MATLAB, dado que existiria uma função imprópria (o elemento derivativo). Poderia ser usado também o bloco do SIMULINK do controlador PID, porém a representação acima é mais clara em relação aos seus elementos. Para o cálculo da função de transferência de malha aberta, resultado da convolução entre o controlador e a planta, não pode ser usado o comando series, porque a função de transferência do controlador é imprópria, ou seja, K ( s) = Kd s2 + K p s + Ki s . Assim, considerando P(s) é a função de transferência da planta, para encontrar KP ( s ) = K ( s ) P ( s ) faz-se uso dos seguintes comandos MATLAB: » nk=[Kd Kp Ki]; » dk=[1 0]; » nma=conv(nk,np); » dma=conv(dk,dp); » printsys(nma,dma) num/den = 10.83 s^2 + 44.81 s + 46.35 --------------------------s^4 + 7 s^3 + 10 s^2 na10exemplos_s1.doc Página 4 DMC 10/30/01 Para encontrar a função de transferência de malha fechada, faz-se uso do comando cloop: » [nmf dmf]=cloop(nma,dma); » printsys(nmf,dmf) num/den = 10.83 s^2 + 44.81 s + 46.35 ----------------------------------------s^4 + 7 s^3 + 20.83 s^2 + 44.81 s + 46.35 A função acima representa portanto o sistema de malha fechada para os valores das constantes encontradas. Deve-se agora verificar se a resposta ao degrau satisfaz os requisitos especificados inicialmente pelo problema. Em geral, a solução apresentada pelo método Ziegler-Nichols é apenas razoável, servindo como ponto de partida para se encontrar os valores finais mais adequados e que satisfaçam as especificações. Assim, para a resposta ao degrau, pode-se utilizar o diagrama de blocos traçado no SIMULINK, levando ao gráfico abaixo. Observa-se que o sobressinal é da ordem de 60 %, e o tempo de estabilização também é superior a 6 segundos, o que não atende às especificações. Para na10exemplos_s1.doc Página 5 DMC 10/30/01 diminuir o sobressinal, pode-se aumentar o fator de amortecimento, o que pode ser conseguido através do aumento do ganho derivativo, o que também acarreta um melhor tempo de estabilização. Assim, usando o MATLAB com os comandos a seguir e traçando a resposta ao degrau com o auxílio do diagrama de blocos, encontra-se o gráfico abaixo. » nk nk = 1.0828 4.4805 4.6352 » Kd=5; » nk=[Kd Kp Ki]; » nma=conv(nk,np); » [nmf dmf]=cloop(nma,dma); onde pode-se constatar que o sobressinal já atende à especificação porém o tempo de estabilização ainda não é satisfatório. No entanto ocorre segundo sobressinal que se prolonga durante algum tempo o qual é efeito da constante de integração. Diminuindo-se este valor, pode-se melhorar a resposta. Para o valor de Ki = 0.2, encontra-se o resultado da figura abaixo, com os seguintes comandos: » Kd=5; na10exemplos_s1.doc Página 6 DMC 10/30/01 » Ki=0.2; » t=0:0.01:10; » nk=[Kd Kp Ki]; » nma=conv(nk,np); » [nmf dmf]=cloop(nma,dma); » y=step(nmf,dmf,t); » plot(t,y);grid que aparentemente atende a todas as especificações. Para confirmar, deve-se fazer uso do programa mstepar.m que calcula os parâmetros da resposta ao degrau. na10exemplos_s1.doc