ALUNOS 1 - NOTA 2- DATA Projeto de um Controlador PID 1.1 Objetivo Este experimento tem como objetivo a implementação de um controlador PID para um dos processos da MPS-PA Estação Compacta. Supõe-se que o modelo matemático já foi obtido no segundo experimento. 1.2 Introdução O controlador PID combina as vantagens do controlador PI e PD. A ação integral está diretamente ligada à precisão do sistema sendo responsável pelo erro nulo em regime permanente. O efeito desestabilizador do controlador PI é contrabalanceado pela ação derivativa que tende a aumentar a estabilidade relativa do sistema ao mesmo tempo em que torna a resposta do sistema mais rápida devido ao seu efeito antecipatório. Na figura 01 apresenta-se o diagrama de blocos com controlador PID. O processo de ajuste dos parâmetros PID é chamado de sintonia. R(s) E(s) Controlador PID U(s) Processo C(s) Fig. 01 Diagrama de Blocos para um processo com controle PID O termo de natureza integral tem a característica de fornecer uma saída não nula após o sinal de erro ter sido zerado. Este comportamento é conseqüência do fato de que a saída depende dos valores passados do erro e não do valor atual. Em outras palavras, erros passados carregam o integrador num determinado valor, o qual persiste mesmo que o erro se torne nulo. Esta característica tem como conseqüência que distúrbios constantes 1
podem ser rejeitados com erro nulo já que, diferentemente do que ocorre com controladores proporcionais, aqui não é necessário que o erro seja não nulo para dar origem a um controle que cancele o efeito do distúrbio. Assim, a principal razão para a presença do termo de natureza integral é reduzir ou eliminar erros estacionários. O termo derivativo tem o papel de aumentar o amortecimento e, em geral, melhorar a estabilidade de um sistema. Intuitivamente, a ação do termo derivativo pode ser entendida quando considerarmos um controlador PD num instante em que o erro é momentaneamente nulo, mas sua taxa de variação, não. Nesse caso, o termo proporcional não terá contribuição alguma sobre a saída, mas o termo derivativo, sim; este último tem assim o papel de fazer com que o controlador se antecipe a ocorrência do erro. Essa característica de tornar o controlador sensível à taxa de variação do erro tem claramente o efeito de aumentar o amortecimento do sistema. A combinação dos termos de natureza proporcional, integral, e derivativa é normalmente utilizada para se obter um grau aceitável de redução de erro estacionário simultaneamente com boas características de estabilidade e amortecimento. Os compensadores PID são os mais comuns nas aplicações industriais. Eles permitem um compromisso na especificação de mais de um parâmetro da resposta transitória, entre eles: tempo de estabilização, tempo de subida e overshoot máximo, com uma especificação de erro máximo de regime permanente. Isso dá grande flexibilidade na especificação de projetos, diferente do que ocorria com o controlador proporcional que só garantia a especificação de um parâmetro. Existem três principais topologias utilizadas em projetos de PID: Paralelo, Série e Acadêmico. A topologia paralela pode ser visualizada na figura 02 e sua função de transferência é dada pelo por: U ( s) Ki = Kc + + Kd s E( s) s 2
Fig. 02 Topologia Paralelo para um controlador PID Já na figura 03 podemos visualizar a topologia série, onde sua função de transferência é dado por: U ( s) 1 = Kc 1+ 1+ E( s) TI s ( T s) D Fig. 03 Topologia Série para um controlador PID Por fim, temos na figura 04 a topologia acadêmica, onde sua função de transferência é dada por: U ( s) 1 = Kc 1+ + Td s E( s) Ti s 3
Fig. 04 Topologia Acadêmico para um controlador PID 1.3 Pré-Laboratório 1. Utilizando os modelos matemáticos obtidos em experiências anteriores projetar um controlador PID para algumas especificações desejadas. O resultado simular utilizando o Matlab/Simulink. 1.4 Trabalho em Laboratório: Tarefa 1: Implementar o aplicativo de controle no simulink para um dos comportamentos desejados conforme a figura 05 Fig. 05 Sistema controlado com controlador PID com anti Wind-up - Simulink 4
Tarefa 2: Implementar o aplicativo de controle no Labview para o mesmo comportamento desejado na tarefa anterior conforme a Figura 06 e Figura 07. Para a implementação do controle viu-se necessário dar uso a outra metodologia de leitura dos sinais analógicos (nível, vazão, pressão e temperatura), pois a estrutura apresentada no laboratório anterior apresentou certa dificuldade em controlar os sistemas devido à leitura e a escrita dos sinais analógicos não serem efetuadas simultaneamente. Fig. 06 Front Panel do Controlador PlD - Labview. Primeiramente monta-se a estrutura de comunicação da mesma forma efetuada no laboratório anterior: 5
Fig. 07 Conexão com a bancada. Logo em seguida utilza-se o bloco de leitura automática chamado SetAutoSendMode (bloco encontrado dentro do menu Method for EASYPORT.lib), como visto na Figura 08. Fig. 08 Estrutura que efetua a auto leitura do canal analógico selecionado. Em seguida, cria-se uma estrutura do tipo Stacked Sequence Structure, na qual será dividida em dois estágios: Primeiro estágio: Neste primeiro estágio são realizadas três tarefas: (a) é setado o bit dois, para habilitar o modo analógico de funcionamento da bomba de água; (b) é zerada a variável denominada integrador (para evitar que o acumulo do integrador de uma simulação anterior afete o atual experimento); (c) é feito uma pausa no sistema utilizando um bloco de comunicação com o usuário (Programming > Dialog & User > Display Message to User). Estes três estágios podem ser observados conforme a Figura 09. 6
Fig. 09 Primeiro estágio da Stacked Sequence Structure. Segundo estágio: Neste segundo estágio é colocada a estrutura while onde será feita a implementação do controlador PID. Os parâmetros de interesse são mostrados através de gráficos e indicadores no painel frontal. Para melhor entender o segundo estágio, será mostrado o controle PID em três partes, parte proporcional, parte integral e parte derivativa. a. Parte Proporcional: Da mesma forma feita no experimento anterior, a parte proporcional do controlador é constituída apenas por um ganho Kp e depende do erro atual do sistema. b. Parte Integral: Na parte integral do controlador utilizou-se uma variável global denominada Integrador que é responsável pelo somatório acumulativo de erro que representa a integração numérica do erro do sistema (utilizou-se a regra dos retângulos). Para completar a integração numérica deve-se multiplicar o somatório de erro pelo período de amostragem que no exemplo citado é de 10 ms. 7
c. Parte Derivativa: Na parte derivativa do controlador utilizou-se um registrador que armazena um dado entre duas iterações da rotina de while (para adicionar este registrador basta clicar com o botão direito do mouse sobre o contorno da rotina de while e clicar em add shift register) quem é o responsável pelo armazenamento do erro do ciclo anterior para assim efetuar a comparação com o erro atual. Desta forma tem-se a variação (derivada) do erro feita de forma numérica. Para completar o processo de derivação deve-se dividir a equação de diferenças pelo período de amostragem que no exemplo citado é de 10 ms. O controlador por completo pode ser observado na Figura 10 abaixo: Fig. 10. Controle PID. Com a adição do controle integral, notou-se um grave problema conhecido como Wind-Up que é o efeito de acumulo exagerado do erro devido ao fato do sistema possuir saturação. Para minimizar os efeitos de Wind-Up criou-se uma rotina denominada Anti Wind-Up que é responsável por zerar o acumulo do erro sempre que o sistema estiver saturado. Basicamente consiste em duas estruturas de caso: 8
Ação de controle igual ou maior que 32735 (saturação): fixa-se o valor analógico a ser enviado para a bomba em 32735 e o integrador é zerado (Figura 11). Ação de controle maior que zero e menor que 32735: o valor analógico que será enviado para a bomba recebe o valor da ação de controle, e o erro recebe o valor do somatório de erro ( Figura 12). Ação de controle menor que zero: o valor analógico que será enviado para a bomba é fixado em zero e a variável integrador também é zerada (Figura 13). Fig. 11. Estrutura de Anti Wind-Up. 9
Fig. 12. Estrutura de Anti Wind-Up. Fig. 13. Estrutura de Anti Wind-Up. 10
Fig. 14. Vista geral do controlador PID. Como pode ser observado na Figura 14, tem-se um bloco cujo desenho é um metrômetro que é colocado para gerar uma base de tempo para cada loop da estrutura de while, este bloco é encontrado no menu de Programming>Timing, e o que define a base de tempo, no caso da Figura 14 tem-se uma base de tempo de 10 ms. Também dentro do while pode-se observar um bloco chamado GetInputWord que trabalha juntamente com o bloco SetAutoSendMode e é responsável pela leitura do sinal desejado, abaixo segue uma tabela com os valores constantes que devem ser colocados nas variáveis destes dois blocos e também o fator de correção dos sensores que foi fornecido pela Festo : Tabela 1 SetAutoSendMode GetInputWord Variável desejada Fator ModIndex ChannelMask ModIndex WordIndex Nível 0,9 0 1 0 1 Vazão 0,75 0 2 0 2 Pressão 0,04 0 4 0 3 Temperatura 10 0 8 0 4 11
Por fim, da mesma forma feita anteriormente, deve ser feita a desconexão do computador com a bancada que é feita utilizando a estrutura mostrada na Figura 15. Fig. 15 Estrutura de fechamento da conexão entre computador e bancada. 1.5 Atividades Extra Classe: Atividade 1: Apresentar os resultados do sistema controlado com o Labview e comparar com os resultados obtidos no pre-laboratório. Comente sobre os resultados. Atividade 2: Apresentar os resultados do sistema controlado com o simulink e comparar com os resultados obtidos no pre-laboratório. Comente sobre os resultados. Observações: Desde que a escala de tempo entre o Labview e Simulink serem diferentes, na hora da implementação não deverão ser misturados os modelos matemáticos. Ou seja, se o modelo matemático de um processo foi levantado com o Labview, então a implementação do controlador terá que ser no labview. 12