ATPS Controle Automacao Processo - Parte 1

36
FACULDADE ANHANGUERA DE MATÃO ATIVIDADES PRÁTICAS SUPERVISIONADAS Controle Automação Processo 8º serie Trabalho acadêmico apresentado como exigência da disciplina Controle Automação Processo, do curso de Engenharia Mecânica, da Faculdade Anhanguera de Matão. Prof°. Jose Claudio Pinto de Azevedo Ricardo Lucio Donadon Flavio Shin Iti Tsumoto [email protected] [email protected] R.A. 1008778215 R.A. 1008780343

Transcript of ATPS Controle Automacao Processo - Parte 1

Page 1: ATPS Controle Automacao Processo - Parte 1

FACULDADE

ANHANGUERA DE MATÃO

ATIVIDADES PRÁTICAS

SUPERVISIONADAS

Controle Automação Processo

8º serie

Trabalho acadêmico apresentado como exigência da

disciplina Controle Automação Processo, do curso de

Engenharia Mecânica, da Faculdade Anhanguera de

Matão.

Prof°. Jose Claudio Pinto de Azevedo

Ricardo Lucio Donadon

Flavio Shin Iti Tsumoto

Marcelo Marcussi Miquelin

Lucas da Silva Ratuchinski

Francês Douglas Proetti

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

R.A. 1008778215

R.A. 1008780343

R.A. 1072131299

R.A. 1023767487

R.A. 1009758878

MATÃO – SP

Page 2: ATPS Controle Automacao Processo - Parte 1

DESAFIO

Neste desafio você aplicará conhecimentos desenvolvidos durante as aulas de Automação e Controle de Processos. Assim, o reservatório de água B deve permanecer cheio, permitindo a vazão contínua pela válvula V1 quando necessário. À medida que o nível do reservatório B tende a diminuir, o motor deve acionar a bomba, captando água a partir do reservatório A.

Ao iniciar o processo de uso da água do reservatório B, a válvula V2 deve estar aberta, permitindo a captação de água pela bomba. Para fins didáticos, ao mesmo tempo em que evitamos o desperdício valioso de água, a vazão do reservatório B será depositada no reservatório A. Esse processo abre a possibilidade, de executarmos quantos testes forem necessários para o sistema proposto, com o mesmo volume de água.

O sistema não deve acionar o motor/bomba, caso não haja água presente no reservatório A, ou mesmo se o fluxo de água estiver interrompido, significando válvula V2 fechada. Um indicador luminoso, ou audível deve alarmar tal condição.

Um protótipo deverá ser construído e apresentado para o professor, junto com os relatórios que serão solicitados em cada etapa.

Figura 1. No final do projeto os alunos terão aplicado tópicos, estudados na sala de aula, consolidando

os conhecimentos adquiridos. Aperfeiçoar técnicas para gestão e desenvolvimento de projetos, ensaios em laboratório, simulação, observação e comparação entre dados reais, teóricos e simulados, bem como, a elaboração de relatórios sobre cada etapa vencida, permitem uma consistente oportunidade, para a equipe desenvolver habilidades e competências, constantemente cobradas dos profissionais da área de Engenharia.

Objetivo do desafio

Um protótipo funcional que atenda as premissas do projeto para apresentação ao professor e convidados.

Page 3: ATPS Controle Automacao Processo - Parte 1

ETAPA 1

Aula-tema: Medição de Vazão e noções de metrologia. Controle e Sintonia de Controladores PID.

Esta atividade é importante para que toda a equipe entenda quais conhecimentos são necessários para o projeto. Entender o processo a ser controlado, como medir grandezas físicas, enviando essas informações para o mundo digital; processar informações, para finalmente, atuar no processo, mostrar quantos conhecimentos vitais deverão ser estudados, para o sucesso desta atividade prática.

Para realizá-la, devem ser seguidos os passos descritos.

PASSOS

Passo 1

Pesquisar sobre os temas abaixo: 1 Instrumentos para controle de processos; R: Elemento primário ou sensor Parte de uma malha ou de um instrumento que primeiro sente o valor a variável de processo.

IndicadorDispositivo que apenas indica o valor de uma determinada variável de processo, sem interferir no processo.

TransmissorDispositivo que sente uma variável de processo por meio de um elemento primário e que produz uma saída cujo valor é geralmente proporcional ao valor da variável de processo. O elemento primário pode ser ou não parte integrante do transmissor.

ControladorDispositivo que por finalidade manter em um valor pré-determinado uma variável de processo.

RegistradorDispositivo destinado ao armazenamento de valores (dados) de uma determinada variável de controle. Esta função anteriormente era realizada por meio do traçado de gráficos sobre o papel de forma contínua. Atualmente o armazenamento de tais informações é feito de modo digital.

ConversorDispositivo que emite um sinal de saída padronizado modificado em relação à natureza do correspondente sinal de entrada.

2 Medição de vazão e noções de metrologia; R: A medição de vazão inclui no seu sentido mais amplo, a determinação da quantidade de líquidos, gases e sólidos que passa por um determinado local na unidade de tempo; podem também ser incluídos os instrumentos que indicam a quantidade total movimentada, num intervalo de tempo.

3

Page 4: ATPS Controle Automacao Processo - Parte 1

A quantidade total movimentada pode ser medida em unidades de volume (litros, mm3, cm3, m3, galões, pés cúbicos) ou em unidades de massa (g, Kg, toneladas, libras). A vazão instantânea é dada por uma das unidades acima, dividida por uma unidade de tempo (litros/min, m3/hora, galões/min). No caso de gases e vapores, a vazão instantânea pode ser expressa, em Kg/h ou em m3/h. Quando se mede a vazão em unidades de volume, devem ser especificadas as "condições base" consideradas. Assim no caso de líquidos, é importante indicar que a vazão se considera "nas condições de operação", ou a 0 °C, 20 °C, ou a outra temperatura qualquer. Na medição de gases, é comum indicar a vazão em Nm3/h.

3 Dinâmica dos processos e os modelos representativos; R: Basicamente a automação de um processo produtivo visa a sua otimização, obtendo produtos com um custo unitário reduzido em um tempo menor e com uma maior uniformidade. Isto é conseguido indiretamente quando alcançados os seguintes objetivos: • Aumentar e controlar a qualidade do produto;• Incrementar a produtividade;• Aumentar a confiabilidade do processo;• Disponibilizar dos dados referente são processo para análise;• Aumento da segurança em relação às pessoas e ao ambiente.

4 O controle PID; R: 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.

5 Sintonia de controle PID;

R: A ideia principal é utilizar um método baseado em sistemas adaptativos por modelo de referência para estimar os parâmetros do controlador PID. Para avaliar este método será utilizado o controle de atitude de veículos lançadores. A intenção é buscar um melhor desempenho do que obtido com os métodos convencionais já utilizados: métodos analítico e linear quadrático. O veículo lançador é considerado um corpo rígido de terceira ordem. Como o modelo de referência do sistema é especificado de acordo com os requisitos de projeto que são considerados como um sistema de segunda ordem e o sistema em malha fechada do controle de atitude PID do veículo lançador é de quarta ordem com dois zeros, não há "matching" entre o modelo de referência e o sistema de controle.

Page 5: ATPS Controle Automacao Processo - Parte 1

Passo 2

Efetuar uma pesquisa buscando mais conhecimento sobre os seguintes temas:

1. CLPs,R: Um Controlador Lógico Programável ou Controlador Programável, conhecido também por suas siglas CLP ou CP e pela sigla de expressão inglesa PLC (Programmable logic controller), é um computador especializado, baseado em um microprocessador que desempenha funções de controle através de softwares desenvolvidos pelo usuário (cada CLP tem seu próprio software) - controle de diversos tipos e níveis de complexidade. Geralmente as famílias de Controladores Lógicos Programáveis são definidas pela capacidade de processamento de um determinado número de pontos de Entradas e/ou Saídas (E/S).

2. Linguagem de Programação Ladder,R: A linguagem ladder, diagrama ladder ou diagrama de escada é um auxílio gráfico para

programação Controladores Lógicos Programáveis (CLPs) no qual as funções lógicas são

representadas através de contatos e bobinas, de modo análogo a um esquema elétrico com os

contatos dos transdutores e atuadores. A linguagem ladder está entre as cinco linguagens de

programação de CLPs definidas pela IEC 1131-3 : FBD (Function block diagram), LD (Ladder diagram),

ST (Structured text), IL (Instruction list) e SFC (Sequential function chart). O nome (ladder, escada

em inglês) provem do fato que a disposição dos contatos e bobinas é realizada, de maneira geral, na

horizontal, que lembra o formato de uma escada.

3. Sensores,R: Um sensor é um dispositivo que responde a um estímulo físico/químico de maneira específica e

mensurável analogicamente.O desenho inteligente do sensor, com bordas arredondadas e uma ampla

zona activa de imagem maximiza tanto o conforto do paciente como a qualidade de impacto. Alguns

sensores respondem com sinal elétrico a um estímulo positivo, isto é, convertem a energia recebida em

um sinal elétrico. Nesse caso, podem ser chamados de transdutores. O transdutor converte um tipo

de energia em outro. É geralmente composto por um elemento sensor, normalmente piézoeletrico, e

uma parte que converte a energia proveniente dele em sinal elétrico. O conjunto formado por um

transdutor tensómetro, um condicionador de sinal (amplificador) e um indicador é chamado de sistema

de medição em malha fechada.Quando o sinal é disponibilizado não por um indicador, mas na forma de

corrente ou tensão já condicionado - (4 a 20) mA, (0 a 10) V ou (0 a 5) V, geralmente - o dispositivo é

chamado detransmissor ou transdutor.Entre outras aplicações, os sensores são largamente usados

na medicina, indústria e robótica.

4. Conversores A/D e D/A,R: Os conversores A/D e D/A são usados como interface entre os circuitos analógico e digital. Serão apresentadas, nesse mini-curso, as técnicas de conversão A/D e D/A. As arquiteturas dos conversores D/A abordadas serão: com resistor ponderado, com rede R-2R e com PWM. As arquiteturas de conversores D/A serão divididas em dois grupos: à frequência de Nyquist (paralelo, aproximação sucessiva, rampa dupla e incremental) e sobre-amostrados (delta sigma). Serão mostradas as características de conversores A/D e D/A e feitas comparações dos diversos conversores com relação a estas características. Abordagens de implementação desses conversores em circuitos integrados também serão feitas.

5

Page 6: ATPS Controle Automacao Processo - Parte 1

5. MatLab/Simulink;R: Simulink, desenvolvido pela companhia The MathWorks, é uma ferramenta para modelagem, simulação e análise de sistemas dinâmicos. Sua interface primária é uma ferramenta de diagramação gráfica por blocos e bibliotecas customizáveis de blocos. O software oferece alta integração com o resto do ambiente MATLAB. Simulink é amplamente usado em teoria de controlee processamento digital de sinais para projeto e simulação multi-domínios.

6. Multisim da National;R: O software NI Multisim é uma ferramenta interativa para projeto e simulação de circuitos eletrônicos, simulação interativa, projeto de placas e testes integrados.Com a combinação do software NI Multisim e o ambiente gráfico para desenvolvimentoNI LabVIEW, técnicos e projetistas podem desenvolver placas de circuito impresso (PCBs) personalizadas, além de comparar facilmente dados simulados em modelos SPICE com dados medidos em componentes reais, resultando em poucas correções de projeto, redução de erros na criação de protótipos e um menor tempo de lançamento do produto no mercado.Professores e instrutores têm em mãos uma ferramenta muito útil e amigável para ensino de eletrônica, pois o software NI Multisim abstrai a complexidade de simulação de circuitos eletrônicos de tal maneira que os estudantes não precisam possuir grande experiência em SPICE para rapidamente adquirir, simular e analisar novos projetos. Ainda assim, a mesma ferramenta oferece recursos sofisticados de projeto e análise para usuários mais experientes.

7. Software Ladder do CLP da instituição, bem como, interfaces de E/S. R: Entrada/saída, sigla E/S (em inglês: Input/output, sigla I/O) é um termo utilizado quase que exclusivamente no ramo da computação (ou informática), indicando entrada (inserção) de dados por meio de algum código ou programa, para algum outro programa ou hardware, bem como a sua saída (obtenção de dados) ou retorno de dados, como resultado de alguma operação de algum programa, consequentemente resultado de alguma entrada.São exemplos de unidades de entrada de um computador: disco rígido, microfone, teclado, mouse, tela sensível ao toque, Scanner, Leitor de código de barras, Celular, Pendrive, Máquina fotográfica digital, Webcam, joystick e outros acessórios de jogos.São exemplos de unidades de saída de um computador: monitor, caixas de som, impressora.Algumas unidades são de entrada e saída de dados ou também chamados Dispositivos Híbridos: disco rígido, disco flexível ou disquete, monitor sensível a toques, pendrive, joystick vibratório eimpressora.As interfaces de entrada e saída são responsáveis pela conexão entre as várias partes de um sistema computacional baseado na arquitetura de Von-Neumann. Esta interface é responsável por conectar fisicamente o processador e a memória do sistema ao barramento, tornando-se o terceiro elemento do sistema computacional proposto, foi uma grande revolução no mundo da informática, pois facilita a vida de muitas pessoas.Ao contrário do que se pode pensar a interface de entrada e saída não é só o conector físico e sim também o responsável pela comunicação lógica entre o barramento e o dispositivo. Essa função de conexão foi basicamente desenvolvida para que seja possível a comunicação entre vários dispositivos, fazendo com que a velocidade do barramento seja mais bem aproveitada e ainda tanto os periféricos quanto os elementos essenciais tenham programação/produção mais voltada ao seu desempenho, deixando a interconexão com as interfaces de entrada e saída.

Page 7: ATPS Controle Automacao Processo - Parte 1

ETAPA 2

Aula-tema: Medição de Vazão e noções de metrologia. Controle e Sintonia de Controladores PID.

Esta atividade é importante para que você desenvolva o coração do controle do processo proposto.

Para realizá-la, devem ser seguidos os passos descritos.

PASSOS

Passo 1

Pesquisar e projetar o controle PID, sensores e sinalizadores a serem utilizados. Elabore um esboço do projeto, listando as etapas a serem desempenhadas por cada integrante do grupo, indicando responsabilidades, cronograma e recursos necessários. Simular no Matilab/Simulink o seu controle PID.

Passo 2

Simular cada subsistema de entrada e saída no Multisim. Avaliar se o programa Ladder desenvolvido para o CLP está atendendo as necessidades do projeto.

Passo 3

Efetuar um levantamento de possíveis fornecedores, custo e disponibilidade dos componentes envolvidos no projeto. Faça um detalhamento do seu projeto, eventualmente, implementando alguns ajustes.

Implementação de um controlador PID digital (Matlab)

Algoritmo PID ideal Discretizando a equação do algoritmo PID de posição:

obtém-se o sinal de controlo discreto, mk, a partir de:

7

Page 8: ATPS Controle Automacao Processo - Parte 1

onde:

e os novos parâmetros estão relacionados com os analógicos da seguinte forma:

Pode-se também derivar o algoritmo de velocidade a partir de:

Este tem como saída o incremento (ou decremento) no valor da variável manipulada em cada instante (∆mk) e não o valor absoluto desta variável (mk):

Uma implementação do algoritmo de posição, no formato de S-function (Matlab): function [sys, x0, str, ts] = pid_pos (t, x, u, flag, ts, kc, Ti, Td) persistent s ek_1 if flag == 0 %inicialização sys = [0 0 1 1 0 1 1]; x0 = [ ]; str = [ ]; ts = [-2 0]; %tempo de amostragem variável s=0; elseif flag == 4 %Calcula próximo instante de amostragem ns = t / ts; %ns nº de amostras sys = (1 + floor(ns + 1e-13*(1+ns)))*ts; %momento próxima amostra elseif flag == 3 if t==0 ek_1=u(1); end; kp=kc; ki=kc*ts/Ti; kd=kc*Td/ts; %Converte parametros ek=u(1); s = s + ek; m=kp*ek+ki*s+kd*(ek-ek_1); ek_1=u(1); sys = m;

Page 9: ATPS Controle Automacao Processo - Parte 1

else %por defeito não retorna nada sys = [ ]; end

Algoritmo 3-1: PID de posição em Matlab (S-function)

Repare-se que esta função assume como parâmetros de entrada kc, Ti e Td e converte-os para os parâmetros kp, ki e kd.

Fig. 3-1: Diagrama blocos do Controlador PID discreto (posição)

Criar o bloco PID de posição como descrito acima num modelo. A partir da janela principal do Matlab: File->new->Model.

Os blocos podem ser guardados numa biblioteca para uso futuro. A partir da janela do Modelo: File->new->Library abre uma janela de biblioteca. Pode-se agora arrastar o bloco PID_posição para a biblioteca. Na biblioteca além dos blocos devem ser guardadas também as s-functions correspondentes. Para isso criar um directório, por ex. pid_lib, e guardar nesse directório a biblioteca com o nome pid_lib. Copiar agora a s-function pid_pos.m para esse mesmo directório. Para que esse directório fique registado no caminho do Matlab, de modo que as s-functions estejam acessíveis a partir da janela principal do Matlab: File->Set path, e depois adicionar ao caminho o directório onde está a biblioteca: pid_lib.

Pode-se agora obter o controlador PID de velocidade a partir do controlador de posição, Algoritmo 3-1. Na janela da biblioteca:

#1 copiar o bloco PID_Posição e renomeá-lo para PID_velocidade. #2 Abrir a máscara e mudar o nome da s-function para pid_vel #3 Copiar o ficheiro com a s-function pid_pos.m para pid_vel.m e alterar o código para: function [sys, x0, str, ts] = pid_vel (t, x, u, flag, ts, kc, Ti, Td) persistent ek_ % passa a ter só uma variável persistente: (...) if flag == 0

9

Page 10: ATPS Controle Automacao Processo - Parte 1

% apagar a inicialização da variável: s = 0 (...= elseif (flag == 3) % substituir por: if t==0 ek_=ones(2,1)*u(1); end %ek_(1) -> ek-1, ek(2) -> ek-2 kp=kc; ki=kc*ts/Ti; kd=kc*Td/ts; %Converte parametros ek=u(1); dm=ek*(kp+ki+kd)-ek_(1)*(kp+2*kd)+ek_(2)*kd; ek_(2)=ek_(1); ek_(1)=ek; sys = dm;

Algoritmo 3-2: PID de velocidade (alterações ao Algoritmo 3-1 PID de posição ) Nota: se não fôr possível efectuar alterações na biblioteca, é porque esta está protegida. Para a desproteger, na janela da biblioteca Edit->Unlock Library.

Resposta ao degrau do algoritmo PID Vai-se agora analisar a resposta ao degrau dos controladores PID analógico e digital. Primeiro copiar para a biblioteca o controlador analógico fornecido pela biblioteca do Simulink. Para isso aceder à biblioteca do simulink digitando simulink <enter> na janela principal do Matlab e arrastar o PID controller para a biblioteca pid_lib. Agora ao ver por baixo da máscara a implementação deste controlador têm-

se:

Fig. 3-2: PID analógico Matlab

No diagrama acima as constantes têm outra designação da já referida, sendo a correspondência dada por (3-7):

Fig. 3-3: PID analógico segundo equação (3-1)

Page 11: ATPS Controle Automacao Processo - Parte 1

A versão da Fig. 3-2 é uma implementação diferente do controlador já visto, pois não segue a equação (3-1), visto que a constante (Kc = P) apenas é aplicada ao termo proporcional, e não a todos os 3 termos, e a constante de tempo integral está invertida. Para alterar esta implementação para que respeite a equação (3-1) pode-se alterar o diagrama da Fig. 3-2 de acordo com a Fig. 3-3 e renomear o bloco para PID_analógico). Repare-se que manipulando as constantes Porporcional, Integral e Derivativa como indicado na equação (3-7), ambos os modelos têm respostas idênticas. Nesta disciplina vamos assumir que o modelo de PID é o dado pela equação (3-1) ou Fig. 3-3, pois os métodos de sintonia do PID estudados assumem este modelo. Para comparar as diferentes implementações do algoritmo PID na resposta ao degrau desenhar o diagrama abaixo:

Fig. 3-4: Diagrama blocos para resposta ao degrau do controlador PID

Para já não inclua o bloco a vermelho: actuador. Os 4 manual switches permitem ligar o algoritmo correspondente de modo a apresentar no scope a saída deste. Em cada bloco PID, colocar nos parâmetros Porporcional (Kc), Integral (Ti) e Derivativo (Td), respectivamente as variáveis: Kc; Td e TI. Nos blocos PID discretos colocar também no parâmetro Sample Time a variável ts. No bloco step colocar no valor inicial do degrau 0 e no valor final do degrau a variável uf. O degrau ocorre no instante de tempo 1 segundo. Estas variáveis deverão ser definidas no workspace do Matlab e permitem definir iguais parâmetros para todos os controladores do diagrama. Gravar agora o modelo com o nome pid00.mdl. Este modelo não deve ser gravado no directório onde está a biblioteca pid_lib. Escolha outro directório, p. ex STR_aula3. Neste directório vai-se também criar um script que permita lançar o modelo e definir os parâmetros do controlador. Este ficheiro vai chamar-se pid_step.m:

11

Page 12: ATPS Controle Automacao Processo - Parte 1

uf = 1 %Amplitude do degrau Kc = 0.5 Ti = 2 Td = 1

%define os parâmetros do controlador PID

Ts = 0.25 pid00 %Abre modelo

Fig. 3-5: Resposta ao degrau unitário do PID analógico e do discreto

Como se pode observar a resposta das implementações analógica e digital de posição são muito semelhantes. Se se pretender que a resposta do controlador digital seja mais rectilínea deve-se reduzir o intervalo de amostragem. Experimentar alterar Ts = 0.1 e executar outra vez a simulação. A implementação analógica que acompanha a distribuição do simulink é uma rampa com menor declive, pois o declive da rampa neste caso é dado por y = Ti e, e não por

Repare-se que o pico inicial na resposta é proporcional ao termo derivativo, e por isso cresce com Td, de modo que alterando Td para 0 e executando a simulação o pico não existe. Assim o termo derivativo pode ser sintonizado para compensar uma resposta inicial do sistema demasiado amortecida, no entanto um valor demasiado grande pode provocar ligeiras oscilações na resposta do sistema, impedindo-o mesmo de estabilizar. Já a resposta do PID_velocidade não é uma rampa, mas sim uma recta paralela ao degrau de entrada, pois constituí um incremento na posição do actuador e não a posição absoluta. Para ensaiar o PID_velocidade vai-se simular um actuador. Este será implementado no formato de uma s-function, actuador.m, onde os parâmetros serão o intervalo de amostragem (ts), os valores de posição inicial (pini), mínimo (pmin) e máximo (pmax) do actuador: Function [sys, x0, str, ts]=actuador (t, x, u, flag, ts, pmin, pmax, pini) persistent act %valor corrente do actuador [pmin, pmax]. if flag == 0 sys = [0 0 1 1 0 1 1]; x0 = [ ]; str = [ ];

Proporcional a Td y = Ti e

Após executar a simulação deve-se obter no scope a seguinte figura:

Page 13: ATPS Controle Automacao Processo - Parte 1

ts = [-2 0]; %tempo de amostragem variável %Garante valores de posição máximo mínimo e inicial coerentes if pmin>pmax error ('Erro: Valor pmin tem de ser <= pmax!'); elseif pini>pmax act = pmax; elseif pini<pmin act = pmin; else act=pini; %inicializa posiçãoo do actuador end elseif flag == 4 ns = t / ts; sys = (1 + floor(ns + 1e-13*(1+ns)))*ts; elseif flag == 3 act=act+u(1); %actualiza posição do actuador if act>pmax act = pmax; %garantido que não ultrapassa elseif act<pmin act = pmin; %os limites fisicos pmin e pmax end sys = act; else sys = [ ]; end

Algoritmo 3-3: Actuador (S-function) Mascarar o bloco do actuador de acordo com a figura seguinte:

Fig. 3-6: Definição do actuador como s-function

13

Page 14: ATPS Controle Automacao Processo - Parte 1

Para já definir no actuador o valor inicial como 0, o mínimo como -20 e o máximo como 20 e o intervalo de amostragem a variável Ts. Nota: Atenção que nos actuadores pode ser considerado um valor mínimo negativo e simétrico do máximo sendo a posição central 0, ou então um valor mínimo nulo e igual ao inicial. Arrastar o bloco actuador para a biblioteca. Não esquecer que a s-function actuador.m tem de estar guardada no directório da biblioteca pid_lib. Alternativamente o actuador poderia ser desenvolvido como uma montagem de blocos simulink e mascarando o sub-sistema tal como acima:

Fig. 3-7: Diagrama blocos do actuador

Colocar o actuador no modelo pid00.mdl na posição indicada na Fig. 3-4. Executar outra vez a simulação. Agora a resposta do PID_velocidade é igual ao PID_posição. Se se pretender simular que os limites físicos do actuador foram ultrapassados, alterar o valor máximo do actuador para 5 e voltar a executar a simulação. Agora a resposta do PID_velocidade não ultrapassa esse valor:

Fig. 3-8: Resposta ao degrau unitário do PID velocidade utilizando um actuador

Page 15: ATPS Controle Automacao Processo - Parte 1

Sintonia do controlador PID A sintonia utilizada no exemplo anterior foi efectuada de acordo com o método de Ziegler Nichols para um controlador analógico e convertida para parâmetros equivalentes no controlador Digital, no entanto esta pode ser efectuada também directamente. Se não for conhecida a função de transferência da plant esta poderá ser obtida através da curva de reacção do processo, isto é da resposta em malha aberta ao degrau. Assumindo que se tem o seguinte sistema de 1ª ordem, com atraso de 0.6 segundos e como entrada um degrau de amplitude 2:

Fig. 3-9: Plant com atraso de 0.6 segundos e entrada de degrau com amplitude 2

Para processos de 1ª ordem, a curva de reacção do processo segue o padrão:

Fig. 3-10: Curva de reação do processo

Neste caso particular será:

15

)∞y(

t p L + T=T T

Page 16: ATPS Controle Automacao Processo - Parte 1

Fig. 3-11: Resposta ao degrau de amplitude 2 da Plant do diagrama anterior

O valor de L pode ser obtido fazendo com que os dados do scope sejam escritos para o workspace do Matlab, e verificando em que instante de tempo é que a resposta deixa de ser nula. Já o tempo em que a recta com declive R intersecta a resposta final pode ser lido através da figura com o comando ginput, e resolvendo:

(3-9) Tp = Tt - L = 3.3353 - 0.6001 = 2.7351

Assim pode-se obter o declive da recta, isto é R:

E o ganho:

Sendo a função de transferência dada por:

Page 17: ATPS Controle Automacao Processo - Parte 1

Obviamente que neste caso a função de transferência correcta é conhecida:

Assim vai-se comparar a sintonia do PID para a função de transferência estimada (3-12) e para a correcta, dada pela equação (3-14).

Agora a sintonia do PID pela regras de Ziegler-Nichols é dada por:

e de acordo com Goff:

(3-16) Ts = 0.3 L

usando a transformação para parâmetros digitais (3-4), Takahashi propôs a seguinte regra:

Para a função estimada com Ts = 0.3 * 0.6001 = 0.18003, têm-se então:

17

Page 18: ATPS Controle Automacao Processo - Parte 1

e para a correcta, com Ts = 0.3 * 0.6 = 0.18:

Para aplicar estes parâmetros nos controladores PID já desenvolvidos as s-function devem ser alteradas para receberem os parâmetros Kp, Ki e Kd e não os converter a

partir de Kc, Ti e Td.

Por isso antes de adicionar o controlador na malha como mostra a figura abaixo, podem ser criados 2 novos blocos para o algoritmo de posição e velocidade.

Fig. 3-12: Exemplo de Plant controlada por PID

Estes parâmetros também podem ser estimados analiticamente através da resposta em malha aberta, de acordo com:

Isto é a área superior entre curva de resposta em malha aberta e a resposta final y(∞) dividida pela resposta final dá-nos o Tempo total (Tt). O atraso (L) pode ser medido verificando quando a resposta deixa de ser nula e assim pode-se calcular a constante de tempo Tp. Se se tiver um vector com resposta em malha fechada (y) e outro com vectores com os tempos correspondentes (t) o seguinte script, id1.m, identifica (numericamente) a função de transferência de 1ª ordem na resposta ao degrau de amplitude A: function [K, Tp, L, R] = id1(y, t, A) % Atraso

Page 19: ATPS Controle Automacao Processo - Parte 1

I=find(y>0) L=t(I(1)-1) % Constante de tempo Tp de acordo com (3-20) yf = y(length(y)); tfi = t(length(t)); Tt = ((yf*tfi)-trapz(t,y))/yf; Tp = Tt - L; % Declive R = yf / Tp; %Não necessário para este método % Ganho K = yf / A; % 1 pois e resposta ao degrau unitário

Algoritmo 3-4: Identificação de F.T. 1ª ordem

Os vectores podem ser retirados a partir do Scope, fazendo com que este grave as curvas numa variável do workspace: Scope Parameters -> Data history. Se se pretender visualizar a resposta ao degrau da função de transferência estimada pode-se adicionar à função acima: %Mostra resposta a FT estimada [y,t]=step(tf(A*K, [T 1])); y=[0; y]; t=[0; t+L]; plot(t,y) hold on grid ylabel('Amplitude') xlabel('time (s)') title ('Estimated TF step response') plot([L Tt], [0 yf], 'r') hold off

Algoritmo 3-5: Mostra curva de resposta estimada

Para este caso os valores obtidos são: K = 1.9991 T = 2.4928 L = 0.6000 (R = 1.6039)

Que é muito próximo da FT real. Pode-se também de acordo com (3-16) e (3-17) desenvolver um script que calcule os parâmetros para a versão discreta do PID: Kp, Ki, Kd e Ts: function [Kp, Ki, Kd, Ts] = pid_id_d(y, t, A) [K,T,L,R]=id1(y,t,A); Ts = 0.3 * L; Kp = 1.2 / (R * (L +Ts)); Ki = (0.6 * Ts) / (R * (L + Ts/2)^2); Kd = (0.5/(R * Ts) + 0.6/(R * Ts))/2; %Ponto medio de Kd

Algoritmo 3-6: Cálculo dos parâmetros para PID discreto

Também seria válido calcular os parâmetros para o PID analógico: Kc, Ti e Td, de acordo com (3-15) e convertê-los para os parâmetros do modelo discreto: function [Kp, Ki, Kd, Ts] = pid_id_ad(y, t, A) [K,T,L,R]=id1(y,t,2);

19

Page 20: ATPS Controle Automacao Processo - Parte 1

Kc=1.2/(R*L); Ti=2*L; Td=0.5*L; Ts = 0.3 * L; Kp = Kc; Ki = Kc*Ts/Ti; Kd = Kc*Td/Ts;

Algoritmo 3-7: Cálculo dos parâmetros para PID Analógico e conversão para discreto

Na figura abaixo tem-se a comparação da resposta controlada por PID de posição para a função de transferência estimada (a vermelho) e a para a correcta (a azul), sintonizado de acordo com (3-18) e (3-19):

Fig. 3-13: Controlo com PID de posição sintonizado de acordo com (3-18) e (3-19)

Na figura seguinte tem-se a comparação da resposta controlada por PID de velocidade para a função de transferência estimada (a vermelho) e a para a correcta (a azul), sintonizado também de acordo com (3-18) e (3-19). Repare-se que o overshoot é menor.

referência

resposta com PID

resposta em malha aberta sinal de controlo m(k)

4

3.5

3

2.5

2

1.5

1

0.5

0 15 1050

Page 21: ATPS Controle Automacao Processo - Parte 1

Fig. 3-14: Controlo com PID de velocidade sintonizado de acordo com (3-18) e (3-19) Por outro lado se a função de transferência fôr de 2ª ou 3ª ordem pode ser usada uma variante do método de Ziegler-Nichols em malha fechada:

• 1: Fazer montagem em malha fechada com realimentação unitária positiva de um controlador P puro (isto é um ganho) em série com o processo. (Ou Desligar D e I no controlador PID)

• 2: Selecionar como referência um degrau

• 3: Aumentar o ganho P até que as oscilações tenham uma amplitude constante. Este ganho é chamado ganho critico e designado por Ku.

• 4: Identificar o Período das oscilações Pu.

• 5: Sintonizar o controlador de acordo com:

Kc τI τD

PI 0.45 K u Pu / 1.2

PID Ku / 1.7 ou 0.6 Ku Pu / 2 Pu / 8

21

Page 22: ATPS Controle Automacao Processo - Parte 1

Alternativamente pode ser usada a Tyreus-Luyben Tuning Chart, também conhecida por TLC, que tem como objectivo reduzir efeitos oscilatórios e aumentar a robustez:

Kc τI τD

PI Ku/3.2 2.2 Pu

PID Ku/2.2 2.2 Pu Pu/6.3

Veja-se um exemplo. Seja o processo de 2ª ordem dado por:

Que corresponde ao modelo simulink da figura seguinte:

Fig. 3-15: Controlo com PID de processo de 2º ordem

Com x = 0, a resposta do processo G(s) em malha aberta a um degrau com amplitude 0.5 é instável, como mostra a figura abaixo, pois tem um polo duplo na origem:

Fig. 3-16: Resposta em malha aberta do processo G(s) com x = 0

Fechando o interruptor na malha de realimentação e aumentando o ganho proporcional em série com o processo até P = 2.07 atinge-se o ganho critico Ku = P = 2.07. Pode-se agora medir o período de oscilação nessas condições Pu=7.05.

Page 23: ATPS Controle Automacao Processo - Parte 1

Fig. 3-17: Resposta em condições de ganho critico com Ku=2.07 e Pu = 7.05 Pode-se também escrever um script que faça esta análise a partir da saída acima e de Ku, retornando os parâmetros do controlador PID analógico. Posteriormente se necessário estes terão de ser convertidos para os parâmetros digitais: function [Kc, Ti, Td, Pu] = pid_id_cl(y, t, Ku, TLC) %Se TLC <> 0 usa Tyreus-Luyben chart para sintonia %Procura 1º maximo max=0; for x=1:length(t) if y(x) < max break; end; max=y(x); x=x+1; end %Procura próximo mínimo min=max; for x=x:length(t) if y(x) > min break; end; min=y(x); x=x+1; end Pu=t(x); if TLC == 0 %Ziegler Nichols Kc=Ku/1.7; % ou Ku*0.6; Ti=Pu/2; Td=Pu/8; else %Tyreus-Luyben Kc=Ku/2.2; Ti=Pu*2.2; Td=Pu/6.3; end

Algoritmo 3-8: Cálculo dos parâmetros para PID Analógico em malha fechada

Para este caso os parâmetros estimados são:

Kc = 1.2176 Ti = 3.5250 Td = 0.8812 Pu = 7.0500

O intervalo de amostragem foi seleccionado para 0.01 segundos. A resposta apresenta-se a seguir:

23

Page 24: ATPS Controle Automacao Processo - Parte 1

Fig. 3-18: Controlo com PID de posição sintonizado de acordo com Algoritmo 3-1

Modificando agora o processo, fazendo x=1, a resposta em malha aberta não é instável e não apresenta erro em regime estacionário:

Fig. 3-19: Resposta em malha aberta do processo G(s) com x = 1

Para o ganho critico Ku=2.12 em malha fechada obtém-se Pu = 5.84, e os parâmetros estimados são: Kc = 1.2471 Ti = 2.9200 Td = 0.7300 Com um intervalo de amostragem de 0.01 segundos, a resposta é:

Page 25: ATPS Controle Automacao Processo - Parte 1

Fig. 3-20: Controlo com PID de posição sintonizado de acordo com Algoritmo 3-1

Como se pode observar a sintonia para o algoritmo de velocidade precisa ainda de alguma afinação. Somando 1.2 ao valor de Td encontra-se uma melhor afinação.

Formas alternativas do algoritmo PID Transferência sem saltos (bumpless transfer) Seguidamente apresenta-se um algoritmo modificado de modo a possibilitar a transferência do controlo automático para o manual o mais suavemente possível. O controlo manual assumido é:

Fig. 3-21: Simulação de controlo manual

Onde a intenção corresponde ao sinal de referência ou setpoint desejado, o olho a uma leitura da saída do processo e a mão ao sinal de controlo a aplicar ao processo. O ganho pode ser variado de modo amplificar a referência reduzindo o erro em regime estacionário. Para este caso considere-se G = 1.5. Neste caso a intenção ou a referência, é multiplicada por um factor de 1.5 de modo a eliminar o erro em estado estacionário sem afectar a estabilidade.

25

Page 26: ATPS Controle Automacao Processo - Parte 1

Fig. 3-22: Simulação de bumpless transfer para método 1

No instante de tempo t = 15, é efectuada a transição do modo manual para automático. As alterações ao algoritmo PID de posição para o método 1:

function [sys, x0, str, ts] = pid_bump_01 (t, x, u, flag, ts, kp, ki, kd, tt, MV) persistent s ek_1 (...) if flag == 3 %tt é o instante de transição manual -> automático

if t > tt-1 %Simula ligação do controlador PID neste instante

ek_1 = u(1);

s = 0;

end

ek=u(1); s = s + ek; m =

kp*ek + ki*s + kd*(ek-

ek_1) + MV; ek_1 = ek;

sys = m;

Algoritmo 3-9: PID bumpless método 1 (alterações ao Algoritmo 3-1 PID de posição )

Page 27: ATPS Controle Automacao Processo - Parte 1

A figura seguinte mostra a resposta do algoritmo PID de posição na transferência do modo de controlo manual para automático (que é diferente do método 1 com MV=0):

Fig. 3-23: Resposta sem bumpless transfer (t = 15 segundos)

Na figura seguinte encontra-se a resposta com o algoritmo modificado para possibilitar a transferência sem saltos pelo método 1. O valor de MV = 1 é o ponto de operação do controlador mk, ou a posição do actuador, quando da transição e pode ser obtido através de ensaios. A sintonia PID é efectuada de acordo com o já determinado em (3-19):

27

Page 28: ATPS Controle Automacao Processo - Parte 1

kp=0.9615 ki=0.1418 kd=(1.7361+2.0833)/2 ts=0.18 Como já referido o instante de transição é em: tt=15.

Fig. 3-24: Resposta bumpless transfer (método 1) em t = 15 segundos (MV = 1)

Se se variar MV a transição apresentará um salto. A seguir vai ser ensaiado o algoritmo de velocidade.

Fig. 3-25: Simulação de controlo manual

Repare-se que neste caso o controlo manual terá de ser alterado de modo que o actuador seja incrementado ou decrementado, isto é pretende-se a variação no sinal de controlo de acordo com (3-5). Então o controlo manual terá de ser redesenhado de acordo com a figura anterior. Deve ser fornecido também o intervalo de amostragem ao actuador de modo que o sinal mk seja atrasado um instante de amostragem. Abaixo tem-se as alterações no modelo para utilizar o algoritmo PID de velocidade:

Page 29: ATPS Controle Automacao Processo - Parte 1

A figura abaixo apresenta a resposta:

Fig. 3-27: Resposta bumpless transfer (método 3 algoritmo de velocidade) em t = 15 seg.

Assim consegue-se um transferência sem salto, sem ter de se ensaiar ou monitorizar constantes tais como MV.

29

Fig. 3-26: Simulação de bumpless transfer para método 3 (algoritmo de velocidade)