Post on 26-Oct-2015
Marcos Marcelino Mazzucco
2009
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS - ASPECTOS TEÓRICOS E
EXEMPLOS COM GNU OCTAVE
INSTRUMENTAÇÃO INDUSTRIALMODELAGEM DE SISTEMAS
TRANSFORMADA DE LAPLACECONTROLE FEEDBACK
GNU OCTAVE
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS - ASPECTOS TEÓRICOS E
EXEMPLOS COM GNU OCTAVE
Este material foi desenvolvido para acompanhar a disciplina Instrumentação e Controle de Processos, ministrada pelo professor Dr. Marcos Marcelino Mazzucco. O uso não autorizado deste material incorre em violação dos direitos autorais, estando sujeito às penalidades previstas na legislação em vigência. Acompanha este material os software livres GNU Octave e MED disponíveis em www.octave.org e www.eqm.unisul.br/prof/marcos.
Marcos Marcelino Mazzucco
Última atualização de conteúdo 20/02/2009Última revisão 20/02/2009
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
ÍNDICE
1 INTRODUÇÃO...............................................................................................................................5
2 INSTRUMENTAÇÃO DE PROCESSOS QUÍMICOS.....................................................................7
2.1 INTRODUÇÃO................................................................................................................................8
2.2 SINAIS DE ENTRADA E SAÍDA...........................................................................................................8
2.3 SENSORES...................................................................................................................................8
2.4 ELEMENTO FINAL DE CONTROLE.......................................................................................................9
2.4.1 VÁLVULAS DE CONTROLE........................................................................................................10
2.4.2 INVERSOR DE FREQÜÊNCIA.....................................................................................................14
2.5 TRANSMISSÃO DE DADOS...............................................................................................................14
2.6 TRANSDUTORES E TRANSMISSORES..................................................................................................15
2.7 CARACTERÍSTICAS DOS INSTRUMENTOS..............................................................................................16
2.8 HARDWARE DE CONTROLE.............................................................................................................16
2.9 SIMBOLOGIA...............................................................................................................................19
2.10 EXERCÍCIOS.............................................................................................................................21
3 MODELAGEM DE PROCESSOS QUÍMICOS.............................................................................31
3.1 MODELOS DE PROCESSOS QUÍMICOS...............................................................................................32
3.1.1 MODELAGEM MATEMÁTICA DE UM TANQUE DE ESTOQUE DE LÍQUIDO..................................................34
3.1.2 MODELAGEM MATEMÁTICA DE UM TANQUE DE AQUECIMENTO POR VAPOR.............................................36
3.1.3 MODELAGEM MATEMÁTICA DE UM CSTR COM TROCA TÉRMICA........................................................38
3.1.4 MODELAGEM MATEMÁTICA DE UMA COLUNA DE ABSORÇÃO...............................................................40
3.1.5 MODELAGEM MATEMÁTICA DE UMA TROCADOR DE CALOR DUPLO TUBO...............................................42
3.2 SOLUÇÃO NUMÉRICA COM MATLAB E OCTAVE.....................................................................................45
3.3 EXERCÍCIOS...............................................................................................................................45
4 TRANSFORMADA DE LAPLACE E LINEARIZAÇÃO DE SISTEMAS.......................................48
4.1 DEFINIÇÃO.................................................................................................................................49
4.2 PROPRIEDADES...........................................................................................................................49
4.3 OPERAÇÕES NO DOMÍNIO S............................................................................................................49
4.4 TEOREMAS DOS VALORES INICIAL E FINAL.........................................................................................52
4.5 TRANSLAÇÃO DA FUNÇÃO NO TEMPO ..............................................................................................52
4.6 TRANSLAÇÃO DA TRANSFORMADA....................................................................................................53
4.7 COMO OPERAR A TRANSFORMA INVERSA..........................................................................................54
4.7.1 EXPANSÃO EM FRAÇÕES PARCIAIS PARA POLINÔMIOS COM RAÍZES DISTINTAS........................................55
4.7.2 EXPANSÃO EM FRAÇÕES PARCIAIS PARA POLINÔMIOS COM RAÍZES MÚLTIPLAS.......................................58
4.7.3 EXPANSÃO EM FRAÇÕES PARCIAIS PARA TERMOS QUADRÁTICOS SEM RAÍZES REAIS (RAÍZES COMPLEXAS).....60
- Marcos Marcelino Mazzucco -
1
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
4.7.4 EXPANSÃO EM FRAÇÕES PARCIAIS COM GNU OCTAVE..................................................................63
4.8 SOLUÇÃO DE EDOS COM COEFICIENTES CONSTANTES..........................................................................68
4.9 LINEARIZAÇÃO DE SISTEMAS...........................................................................................................74
4.10 RELAÇÕES ÚTEIS......................................................................................................................78
4.11 EXERCÍCIOS.............................................................................................................................79
5 COMPORTAMENTO DINÂMICO DE SISTEMAS.......................................................................81
5.1 FUNÇÃO DE TRANSFERÊNCIA..........................................................................................................82
5.1.1 FUNÇÃO DE TRANSFERÊNCIA PARA UM SISTEMA COM UMA ENTRADA E UMA SAÍDA..................................82
5.1.2 FUNÇÃO DE TRANSFERÊNCIA PARA UM SISTEMA COM DUAS ENTRADAS E UMA SAÍDA...............................85
5.1.3 PROPRIEDADES DA FUNÇÃO DE TRANSFERÊNCIA E AS FORMAS GANHO/CONSTANTE DE TEMPO E ZEROS-
PÓLOS.......................................................................................................................................89
5.2 SISTEMAS DE PRIMEIRA ORDEM......................................................................................................91
5.2.1 RESPOSTA DE UM SISTEMA DE PRIMEIRA ORDEM A UMA ENTRADA DEGRAU DE MAGNITUDE M:..................92
5.2.2 RESPOSTA DE UM SISTEMA DE PRIMEIRA ORDEM A UMA ENTRADA IMPULSO DE MAGNITUDE M:..................93
5.2.3 RESPOSTA DE UM SISTEMA DE PRIMEIRA ORDEM A UMA ENTRADA SENOIDAL:........................................95
5.2.4 RESPOSTA DE UM SISTEMA DE PRIMEIRA ORDEM A UMA ENTRADA PULSO RETANGULAR DE MAGNITUDE M:. . .99
5.3 SISTEMAS DE SEGUNDA ORDEM...................................................................................................101
5.3.1 RESPOSTA DE UM SISTEMA DE SEGUNDA ORDEM A UMA ENTRADA DEGRAU DE MAGNITUDE M:................103
5.3.2 CARACTERÍSTICAS DAS RESPOSTAS DE SISTEMAS DE SEGUNDA ORDEM.............................................109
5.4 SISTEMAS DE ALTA ORDEM E OUTROS ELEMENTOS DINÂMICOS............................................................112
5.4.1 AVANÇO-RETARDO..............................................................................................................114
5.4.2 RESPOSTA INVERSA............................................................................................................116
5.4.3 TEMPO MORTO OU ATRASO POR TRANSPORTE.........................................................................117
5.5 SISTEMAS DE ALTA ORDEM - MODELOS APROXIMADOS.........................................................................121
5.6 PÓLOS E ZEROS.......................................................................................................................123
5.7 EXERCÍCIOS.............................................................................................................................124
6 IDENTIFICAÇÃO DE SISTEMAS..............................................................................................129
6.1 INTRODUÇÃO............................................................................................................................130
6.2 OBTENÇÃO DE MODELOS POR REGRESSÃO.....................................................................................130
6.3 OBTENÇÃO DE MODELOS POR ANÁLISE GRÁFICA..............................................................................140
6.3.1 MODELOS DE PRIMEIRA ORDEM............................................................................................140
6.3.2 MODELOS DE PRIMEIRA ORDEM + TEMPO MORTO E O MÉTODO DE SUNDARESAN E KRISHNAWAMY......142
.............................................................................................................................................145
6.3.3 MODELOS DE SEGUNDA ORDEM + TEMPO MORTO.....................................................................147
7 CONTROLE FEEDBACK...........................................................................................................153
7.1 INTRODUÇÃO............................................................................................................................154
7.2 CONTROLADORES FEEDBACK........................................................................................................155
- Marcos Marcelino Mazzucco -
2
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
7.2.1 CONTROLE PROPORCIONAL...................................................................................................156
7.2.2 CONTROLE INTEGRAL..........................................................................................................157
7.2.3 CONTROLE PROPORCIONAL E INTEGRAL...................................................................................158
7.2.4 CONTROLE DERIVATIVO.......................................................................................................159
7.2.5 CONTROLE PROPORCIONAL, INTEGRAL E DERIVATIVO..................................................................159
7.3 PID DIGITAL............................................................................................................................160
7.4 CODIFICANDO UM CONTROLADOR PID NO GNU OCTAVE..................................................................161
7.5 RESPOSTA DE UM PROCESSO A UM CONTROLADOR PID....................................................................162
7.6 COMPORTAMENTO DINÂMICO DE SISTEMAS DE CONTROLE FEEDBACK....................................................163
7.6.1 DIAGRAMA DE BLOCOS........................................................................................................163
7.6.2 OBTENÇÃO DA FUNÇÃO DE TRANSFERÊNCIA EM MALHA FECHADA..................................................175
7.6.3 EXERCÍCIO........................................................................................................................176
7.6.4 RESPOSTA DE UM SISTEMA AOS CONTROLADORES P E PI ..........................................................176
7.6.5 DIAGRAMA DE BLOCOS COM GNU OCTAVE.............................................................................181
7.6.6 EXERCÍCIO........................................................................................................................202
8 ANÁLISE DE ESTABILIDADE..................................................................................................203
8.1 CRITÉRIO GERAL DE ESTABILIDADE.................................................................................................204
8.1.1 EXERCÍCIO- DETERMINAÇÃO DOS PARÂMETROS DO CONTROLADOR..................................................218
8.2 CRITÉRIO DE ESTABILIDADE DE ROUTH...........................................................................................218
8.3 MÉTODO DA SÍNTESE DIRETA.......................................................................................................228
9 SINTONIA DE CONTROLADORES PID....................................................................................231
9.1 CRITÉRIO DA RESPOSTA TRANSIENTE..............................................................................................232
9.1.1 RELAÇÕES DE SINTONIA DE COHEN-COON...............................................................................233
9.1.2 RELAÇÕES DE SINTONIA BASEADAS NA INTEGRAL DO ERRO...........................................................236
9.1.3 RELAÇÕES DE SINTONIA DE ZIEGLER - NICHOLS.........................................................................243
9.2 SINTONIA MANUAL .....................................................................................................................253
9.3 ANÁLISE DA RESPOSTA FREQUENCIAL DE SISTEMAS............................................................................253
9.4 EXERCÍCIO FINAL......................................................................................................................254
10 CONSIDERAÇÕES FINAIS.....................................................................................................256
11 REFERÊNCIAS........................................................................................................................258
12 ANEXO 1- SUBROTINAS .......................................................................................................259
12.1 FRACOES_PARCIAIS..................................................................................................................259
12.2 POLYMULT..............................................................................................................................260
12.3 POLYADD...............................................................................................................................261
12.4 POLYPOWER...........................................................................................................................262
- Marcos Marcelino Mazzucco -
3
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
12.5 EXIBIRFT................................................................................................................................263
12.6 DEGRAU_UNITARIO...................................................................................................................264
12.7 PRIMEIRA_ORDEM....................................................................................................................265
12.8 GERAR_DADOS .......................................................................................................................266
12.9 SUNDARESAN_KRISHNAWAMI ......................................................................................................267
12.10 SINGLE_LOOP.......................................................................................................................268
12.11 COHEN_COON.......................................................................................................................270
12.12 ITAE................................................................................................................................271
12.13 ZIEGLER_NICHOLS..................................................................................................................272
- Marcos Marcelino Mazzucco -
4
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
1 INTRODUÇÃO
A busca de sistemas para automatização e controle de tarefas é progressiva e
abrange todos os segmentos da vida moderna, de tarefas domésticas até grandes
produções industrias. Registros históricos indicam que os egípcios criaram o primeiro
sistema de controle, um regulador de nível para um relógio d’água. A revolução industrial
somente tomou impulso com o desenvolvimento de mecanismos de controle automático,
desde que o controle manual não é viável em processos massivos de produção. Para as
máquinas a vapor os reguladores de nível, temperatura e pressão são dispositivos
indispensáveis. No período de 1600 a 1800 os sistemas de controle ganharam
importância. A partir de 1800 estudos matemáticos impulsionaram a arte de controlar
processos. Nos séculos 19 e 20, seguindo necessidades dos meios de comunicação,
navegação de aviões, navios, foguetes e a pressão das guerras novos problemas
apresentaram-se e assim novas estratégias de controle foram desenvolvidas. O controle
digital surgiu e redirecionou as atenções. Hoje, certamente, a demanda de muitos
produtos não seria atendida se processos manuais fossem utilizados. Mesmo que uma
grande quantidade de pessoas pudesse produzir o mesmo volume de bens que um
processo automático, a qualidade e as características do produto obtido não seriam
mantidas durante o tempo. Assim, o objetivo de automatizar um processo é aumentar sua
capacidade ou eficiência ou diminuir sua periculosidade (Mazzucco, 2003). A
automatização deve ser distinguida do controle do processo, cujo objetivo é assegurar
uma quantidade (temperatura, pressão, composição, etc.) em um determinado valor (set
point ou referência) ou intervalo pela manipulação de alguma variável.
Podemos destacar alguns tipos de variáveis que possuem atribuições formais em
controle de processos: variável medida, variável controlada e variável manipulada e
perturbações. A variável medida pode coincidir com a controlada, mas isto não é uma
regra. Por exemplo, pode-se medir a temperatura e pressão de um gás em um duto,
estimar a vazão e controlá-la manipulando, através de uma válvula, o fluxo de massa.
Um sistema de controle consiste, ao menos, por: processo(s), sensor(es),
controlador(es), e atuador(es). Estes elementos constituem uma malha de controle. Cada
elemento possui um comportamento dinâmico mais ou menos importante que deve ser
- Marcos Marcelino Mazzucco -
5
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
conhecido e, além disso, a interação entre eles é determinante do sucesso de uma
proposta de controle.
Para formalizar os conteúdos descritos, este material pretende fornecer os
conceitos essenciais de controle de processos. Desde modelagem de sistemas até
análise de problemas no domínio e Laplace. Desde controle feedback até análise de
estabilidade. Para completar o conteúdo serão apresentados os equipamentos típicos
utilizados na indústria química para permitir a aplicação das estratégias estudadas, tópico
este que será tratado a seguir.
- Marcos Marcelino Mazzucco -
6
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
2 INSTRUMENTAÇÃO DE PROCESSOS QUÍMICOS
- Marcos Marcelino Mazzucco -
7
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
2.1 INTRODUÇÃO
Para sistemas de controle a aplicação em campo depende de elementos elétricos,
eletrônicos, mecânicos ou pneumáticos que permitam que o processo e o sistema de
controle possam interagir de forma compor uma estrutura entrada/saída. Atualmente,
muitos destes dispositivos são baseados em equipamentos eletrônicos, sendo divididos e
duas categorias, os digitais e os analógicos. Na indústria química a maioria dos
elementos de medição e os elementos finais de controle são instrumentos analógicos.
Destacam-se as seguintes classes de equipamentos em um sistema de controle:
Instrumentos de medição (sensores), elementos finais de controle, transdutores,
controladores, indicadores e registradores.
2.2SINAIS DE ENTRADA E SAÍDA
Tipicamente, na indústria química até meados de 1950, a transmissão de sinais
era realizada por via pneumática, sinais típicos de sensores como temperatura e pressão
eram conduzidos por via pneumática. Da mesma forma, atuadores como válvulas
pneumáticas eram a base dos elementos finais de controle e daí a utilização esta forma
de sinal. Assim tanto controladores como registradores foram desenvolvidos para atuar
por via pneumática. Atualmente as válvulas pneumáticas correspondem aos
representantes mais presentes dos pneumáticos na indústria química. Em alguns projetos
onde existe o risco de explosão ainda são utilizados equipamentos pneumáticos. O
padrão de transmissão de dados por via pneumática estabelece a faixa de trabalho de 3-15psig.
A partir de 1960, com o desenvolvimento mais intensivo da indústria de
eletrônicos, os sinais passaram a ser transmitidos, também, por meio de cabos elétricos
em duas formas: corrente (mA) ou tensão (VCC, VDC). Os padrões estabelecidos são:
Corrente contínua: 1-5mA, 4-20mA, 10-50mA
Tensão contínua: 0-5VDC, 1-5VDC, ±5VDC, ±10VDC
2.3SENSORES
Os sensores são os elementos responsáveis por permitir a quantificação da
variável que se deseja medir. Os sensores típicos da indústria são:
- Marcos Marcelino Mazzucco -
8
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
- Temperatura: os mais comuns são termopares (sensor da tensão (mV) produzida pela
junção de dois metais como níquel, platina, cobre, etc.), termoresistores (sensor resistivo,
também conhecido como RTD: resistance-temperature detector, fabricado a partir de
materiais como platina, níquel e níquel-cobre) e termistrores (sensor resistivo, também
conhecido como NTC- negative temperature coefficient, fabricado a partir de material
semicondutor, tais como óxidos de cobalto, magnésio e níquel e sulfetos de cobre,
alumínio e ferro. A resistência neste sensor diminui com a temperatura).
-Pressão absoluta e diferencial: os mais comuns são tubo de Bourdon, diafragma.
-Velocidade de fluxo, fluxo de massa, fluxo volumétrico: tanto para líquidos como
gases duas estratégias podem ser utilizadas para medir fluxo: turbina e queda de
pressão. No caso da turbina os pulsos gerados podem ser modulados ou totalizados
através de um contador (counter) para produzir um sinal de fluxo. No caso da queda de
pressão, esta deve ser obtida através de uma placa de orifício ou um tubo de Venturi e
determinadas as medidas das pressões antes e após o acessório. A vazão é proporcional
a raiz quadrada da queda de pressão. As placas de orifício devem garantir uma queda de
pressão de 50,8cm (20in) de coluna d'água até 5,08mca (200in). Medições por via
magnética, térmica, vórtice e Coriólis também são muito utilizadas.
-Nível de líquido: pressão diferencial e bóias são as formas mais simples de medir
nível de líquido.
-Viscosidade: a queda de pressão é a forma mais simples de inferir a viscosidade.
-pH: é uma medida facilmente realizada através de eletrodos de potencial.
-Condutividade, Absorção de ultravioleta e infravermelho: são medidas
importantes que podem ser utilizadas para inferir composição ou em combinação com
outras medidas para fornecer variáveis não mensuráveis.
-Umidade: para sólidos ou gases são necessárias técnicas diversas. Uma forma
simples é medir a condutividade e traduzi-la em unidade.
2.4ELEMENTO FINAL DE CONTROLE
Os elementos finais de controle agrupam todas as variáveis que podem ser
manipuladas. Neste caso temos o ajuste direto ou indireto da variável deseja. O caso de
manipular a vazão de um fluido por ser realizada diretamente restringindo o fluxo de
massa. No caso de manipular a temperatura de uma mistura, é necessária a intervenção
em outra variável como a vazão, por exemplo.
Resistências elétricas podem ser utilizadas como elementos para quantificar
energia e portanto regular temperatura em alguns processos.
- Marcos Marcelino Mazzucco -
9
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
A manipulação de fluxos materiais é tarefa comum em processos químicos e pode
ser realizada através de válvulas ou pelo controle de velocidade em motores de corrente
contínua ou alternada.
2.4.1 VÁLVULAS DE CONTROLE
Válvulas de controle são equipamentos presentes na maioria dos processos
químicos e consistem de três partes: válvula, atuador e posicionador. Requerem uma
série de especificações para serem utilizadas, sendo as mais comuns dos tipos globo e
esfera.
Os mecanismos de atuação podem ser elétricos ou pneumáticos, sendo os
últimos mais utilizados. Os mecanismos pneumáticos são, basicamente, constituídos por
um diafragma conectado a uma mola e uma haste (plug). Em um dos lados do diafragma
existe uma câmara onde é injetado ar comprimido que pressiona a mola no sentido de
movimentar a haste para abrir ou fechar a válvula. Assim o atuador é dito ar-abre (A-O)
ou ar-fecha (A-C). A forma de atuação pode ser utilizada de acordo com o controlador
(ação direta ou ação reversa) ou por considerações de segurança.
Os posicionadores são os elementos que regulam a pressão (3-15psig) exercida
sobre o diafragma de um atuador de forma a posicioná-lo em uma fração de sua faixa de
trabalho. Os sinais de entrada destes equipamentos são em tensão ou corrente.
Em uma válvula o fluxo é alterado na proporção v=CV.f.(∆P/gs)1/2. A constante CV
ou coeficiente da válvula é definido pelo fabricante. Dependendo do projeto da válvula
resulta f (característica da válvula) que representa a relação entre quanto a haste do
atuador é movimentada (0≤ L ≤1) e quanto o fluxo é alterado. Desta função resulta uma
classificação destes dispositivos em linear (f=L), Abertura rápida ou raiz quadrada
(f=(L)1/2) e igual percentagem (f=RL-1).
- Marcos Marcelino Mazzucco -
10
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
As figuras que seguem foram extraídas de Chemical Engineers' Handbook (Robert H.
Perry e Don W. Green, Mc Graw Hill).
- Marcos Marcelino Mazzucco -
11
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
- Marcos Marcelino Mazzucco -
12
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
- Marcos Marcelino Mazzucco -
13
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
2.4.2 INVERSOR DE FREQÜÊNCIA
De uma geração mais avançada de dispositivos finais de controle, os inversores
ou variadores de freqüência representam uma excelente solução para o controle de
velocidade de motores. Incorporando possibilidades como comunicação analógica (4-
20mA) e serial (RS232), configuração ampla, controle PID, feedback, reversão de
direção, agenda de set-point (set-point schedule), indicador configurável, etc. permite um
eficiente controle de velocidade de motores trifásicos, mesmo em linhas monofásicas. Os
controle de vazão e nível em correntes bombeadas pode ser realizado por este
dispositivo sem o uso de válvulas de controle.
2.5TRANSMISSÃO DE DADOS
A transmissão de dados por via pneumática acontece através de tubos PVC ou
polietileno de 1/4 ou 3/8 de diâmetro com paredes rígidas, onde os efeitos de propagação
- Marcos Marcelino Mazzucco -
14
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
do sinal devem ser considerados. Sinais neste formato são, normalmente, transmitidos
por até 200m de distância, respeitadas as condições do meio.
A transmissão elétrica de dados é mais flexível que a anterior e quase imune aos
efeitos dinâmicos da linha de transmissão. Cabos blindados contendo múltiplos fios são
disponíveis para transmissão analógica enquanto para transmissão digital cabos do tipo
par-trançado, cabo paralelo são usados, além dos blindados. A transmissão de dados na
forma de corrente (4-20mA) deve ser preferida pois na forma de tensão (V) os dados são
mais facilmente corrompidos. Cuidados especiais devem ser tomados, entre eles aterrar
os cabos em apenas uma das extremidades, utilizar aterramento adequado, conectar
adequadamente cabos, bem como cabos e equipamentos (terminações). Os efeitos mais
comuns, resultantes de problemas na transmissão são: defasagem (biasing), ruído
(noise) e atenuação.
A transmissão digital torna-se mais vantajosa em grandes instalações onde muitos
equipamentos estão conectados com grande tráfego de dados. Os protocolos mais
utilizados são o serial (RS232 e RS585), o ethernet, e especializados como Fieldbus e o
profibus. A tecnologia HART que utiliza sinais analógicos (4-20mA e digitais (1200bps)
está presente em muitas aplicações.
2.6TRANSDUTORES E TRANSMISSORES
Na prática a nomenclatura de transmissores, sensores e transdutores é confusa.
Alguns profissionais de processos referem-se indistintamente aos casos, contudo isto não
parece adequado, desde que o sinal de um elemento sensor nem sempre é passível de
ser transmitido de forma adequada. É requerido assim um transmissor para exercer as
funções de converter o sinal em outra forma, linearizá-lo e retransmiti-lo. Em certos casos
o transdutor seria representado por um elemento sensor, uma pequena unidade de
processamento de sinal e um transmissor. Os transdutores mais comuns são:
Transdutor V/I: recebe um sinal em tensão (1-5VDC, por ex.) e retransmite em
corrente (4-20mA, por ex.).
Transdutor I/V: recebe um sinal em corrente (4-20mA, por ex.) e retransmite em
tensão (1-5VDC, por ex.).
Transdutor I/P: recebe um sinal em corrente (4-20mA, por ex.) e retransmite em
pressão (3-15psig, por ex.).
Transdutor de pressão: recebe um sinal em pressão e retransmite em corrente ou
tensão. Corresponde ao próprio sensor de pressão na maioria dos casos.
- Marcos Marcelino Mazzucco -
15
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Transdutor pt100/I: recebe um sinal de um sensor pt100 (ohm) e retransmite em
corrente.
Transdutor Termopar/I: recebe um sinal de um termopar (mV), realiza a
compensação da junção (referência) e retransmite em corrente.
SCR (silicon-controlled rectifier). recebe um sinal em corrente contínua e varia a
potência aplicada a um elemento de aquecimento.
2.7CARACTERÍSTICAS DOS INSTRUMENTOS
Algumas características devem ser consideradas quando da definição de um
equipamento, são elas:
-Faixa (range) e span: a faixa compreende os limites do intervalo de trabalho,
enquanto span é o intervalo de trabalho (limite superior - limite inferior).
-Exatidão (Accuracy): diferença entre o valor medido e o valor real ou padrão
aceito. Pode ser expressa na forma do valor absoluto da diferença do valor medido, na
forma de percentual do valor medido, na forma de percentual do limite superior de
medição e na forma de percentual do span (mais comum).
-Resolução: menor alteração na entrada que resulta em uma mudança na saída
do transdutor.
-Precisão: distância entre os valores medidos que pode ser observada com base
em uma certa resolução.
-Repetibilidade: diferença entre medidas para as mesmas condições em um
processo.
2.8HARDWARE DE CONTROLE
PLC ou CLP (controlador lógico programável): atualmente, consiste de um
sistema de sequenciamento digital microprocessado com capacidade para implementar
funções boolenas (OR, AND, NOT, XOR, etc.) dispondo, também de funções
matemáticas (exp, seno, log, etc.), temporizadores, contadores, comunicação via RS232,
RS485 e ethernet. Os CLPs mais sofisticados implementam inclusive controladores
contínuos como PID, onde é permitida interação entre o PID e as funções lógicas
implementadas. Pode ser programado através de linguagens de programação como C,
PASCAL, BASIC, FORNTRAN, Assembler ou através de diagramas lógicos conhecidos
como ladder diagrams.
Mutiplexador: dispositivo que permite direcionar (chavear) uma entrada ou saída
de um dispositivo multiplicando sua capacidade. Neste dispositivo, primeiro é enviado um
- Marcos Marcelino Mazzucco -
16
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
sinal indicando o caminho deve ser seguido e depois é enviado/recebido o sinal para
este.
Placas ou cartões A/D e D/A: responsáveis por realizar a interface entre um
computador digital e um sinal analógico. Possuem precisão numérica limitada dada pela
quantidade de bits utilizada na representação dos dados. Uma placa com precisão de
12bits pode representar um sinal na faixa de 4-20mA (span=16) com 16/(212-1)=
0,0039mA de resolução. Assim se um elemento sensor é utilizado para medir
temperatura na faixa de 0-1 000°C, a precisão da medida será 0,24°C, ou seja, "não
existe" diferença entre T=25,1 e 25,2°C.
Computadores e Sistemas digitais: a crescente capacidade computacional e a
produção em série de computadores permitiram à indústria em geral a expansão e
sofisticação dos sistemas de automatização e controle com custo reduzido. Deste fato
resultaram complexas redes de comunicação permitindo um acompanhamento rigoroso
do processo e ajuste contínuo dos objetivos de controle. Também resulta deste fato a
grande quantidade de informações disponibilizada aos operadores e engenheiros de
processos. A aplicação de sistemas digitais no controle de processos implica na
substituição/adequação de muitos sistemas, principalmente os ditos de nível 0 como
sensores e atuadores, para os quais o princípio de operação é intrinsecamente analógico.
Porém conduz a um complexo acoplamento de mecanismos constituindo um sistema de
controle distribuído (DCS- Distributed Control System), que consiste, justamente de
sistemas microprocessados interligados por uma rede digital. Os sistemas interligados
são representados por sensores, atuadores, CLPs, Registradores, Indicadores,
Multiplexadores, Interfaces Homem-máquina, servidores, estações de controle,
controladores, terminais de programação, unidades de backup, etc.
- Marcos Marcelino Mazzucco -
17
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Fonte: Chemical Engineers' Handbook
- Marcos Marcelino Mazzucco -
18
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
2.9SIMBOLOGIA
Para representar as funções dos instrumentos na planta usa-se a notação ISA
com um círculo contendo duas letras ou três letras. A primeira letra corresponde a
variável de processo e a segunda e a terceira correspondem a um modificador de função
ou a função do dispositivo (T= transmissor, C=controlador, I=indicador). Também é
possível identificar a malha de controle inserindo um número abaixo das letras para
indicá-la. Os símbolos mais frequentemente utilizados em diagramas de controle de
processos químicos são:
MediçãoSímbolo Significado
TTTransmissor de temperatura (Temperature Transmitter)
PTTransmissor de pressão (Pressure Transmitter)
LTTransmissor de nível (Level Transmitter)
ATTransmissor de composição (Analysis Transmitter)
FTTransmissor de fluxo (Flow Transmitter)
AtuaçãoSímbolo Significado
Válvula de controle com acionamento pneumático por diafragma
Válvula de controle com acionamento por solenóide
Válvula de controle com acionamento por pistão
Válvula de controle com ajuste manual
Bomba
Transmissão/retransmissãoSímbolo Significado
Linha de transmissão elétrica
linha de transmissão pneumáticaSinal indefinido
- Marcos Marcelino Mazzucco -
19
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Sinal hidráulico
I/PTransdutor/conversor corrente para pressão
I/VTransdutor/conversor corrente para tensão
Controle/IndicaçãoSímbolo Significado
TCControlador de temperatura (Temperature controller)
PCControlador de pressão (Pressure controller)
FCControlador de fluxo (Flow controller)
TIIndicador de temperatura
PIIndicador de pressão
FIIndicador de fluxo
Exemplo de identificação (fonte: Process Control Fundamentals)
Exemplo de simbologia (fonte: Process Control Fundamentals)
- Marcos Marcelino Mazzucco -
20
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Detalhamento da simbologia ISA (fonte: Process Control Fundamentals)
Para uma descrição completa da simbologia de instrumentação pode ser
consultado o guia da Instrument Society of America (ISA).
2.10EXERCÍCIOS
1. Para uma ilustração mais completa segue uma figura retirada de Mazzucco
(2003) para um sistema para polimerização de estireno. Refaça esta ilustração com a
simbologia apresentada.
2. No diagrama abaixo indique a função de cada instrumento numerado e a natureza dos
sinais de medição e controle (elétrico, pneumático, analógico, digital, etc.), bem como a
possível faixa de operação e transmissão de cada instrumento.
- Marcos Marcelino Mazzucco -
21
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Água friaÁgua fria
Vapor saturado
AT TT
Produtos(Conc, Temp)
Reagentes(Conc, Temp)
ACI/P A/DComputadorControlador
D/A
I/P
I/P
Reator
Trocador de calor
1 2
3 4
5
6
7
3. No fluxograma da coluna de destilação abaixo o engenheiro esqueceu de completar os
instrumentos necessários para compor a malha de controle. Faltou: Na corrente de
alimentação o controle do fluxo de entrada para evitar a inundação da torre. Na saída da
coluna faltou o controle de nível no tambor de refluxo. Na base faltou o controle de nível.
Também faltou incluir o controle de pressão na coluna através do vapor d'água utilizado
no refervedor. Faltou incluir instrumentos para indicar a temperatura e a pressão no topo
e na base da coluna, bem como para indicar os fluxos de líquido nas saídas da coluna e
na alimentação. Faça a proposta de instrumentação e controle da coluna completando o
fluxograma abaixo.
- Marcos Marcelino Mazzucco -
22
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Água
Vapor d’água sat.
F1
F2
F3
F21
F22
F31
F32
F4
Condensado saturado
V3L3
V2L2
(vapor benzeno+tolueno)
98,9%benzeno
45% benzeno +55%Tolueno
(liq. benzeno+tolueno)1,5%benzeno
Tambor de refluxo
4. [ENC-1998] O fluxograma abaixo representa, de modo resumido, uma unidade para a
produção de etilbenzeno a partir de benzeno e etileno.
A reação de alquilação do benzeno produz, no entanto, não apenas etilbenzeno: reações
sucessivas produzem o benzeno di e trialquilado.
- Marcos Marcelino Mazzucco -
23
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Os produtos polialquilados são indesejáveis devido ao baixo preço de mercado. Para
minimizar a produção dos polialquilados, opera-se o reator com excesso de benzeno,
convertendo os polialquilados em etilbenzeno:
Note que quanto maior o excesso de benzeno empregado no reator, mais elevada será a
conversão em etilbenzeno.
Com base nessas informações:
(i) ...;
(ii) considerando a alimentação da coluna A constante, esquematize a forma mais
simples de controlar essa coluna (malha(s) de controle) de modo a garantir a sua
operação estável, mantidas constantes a pressão e a temperatura de operação da
mesma.
Resposta esperada:
5.[ENC-2000] O fluxograma abaixo representa, de modo simplificado, um processo para
produção de acetato de vinila, a partir de etileno (C2H4) e ácido acético (C2H4O2):
- Marcos Marcelino Mazzucco -
24
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
O reator opera em fase gasosa, empregando paládio como catalisador. As duas
principais reações que ali ocorrem são:
Reações secundárias, não descritas, produzem acetato de etila e compostos de elevada
massa molar (resinas) gerados pela polimerização do acetato de vinila, na descarga do
reator. Os gases que deixam o reator são resfriados e alimentados a uma coluna
lavadora, que separa os componentes condensáveis (água, acetatos, resinas e ácido
acético) dos incondensáveis (dióxido de carbono, etileno e oxigênio). A solução obtida no
fundo da lavadora é fracionada em uma coluna de destilação.
A coluna de destilação fraciona a solução que deixa o fundo da lavadora. Além do
produto principal (acetato de vinila), obtêm-se:
- acetato de etila: tem valor comercial, segue para tancagem e é vendido.
- ácido acético: é reciclado para o processo.
A corrente de água e o produto de fundo da coluna devem ser descartados.
a) ...b) A corrente de água contém ainda 1% molar de ácido acético como contaminante. A
neutralização do ácido torna-se imperativa antes do seu descarte. Supondo a utilização
de um tanque de neutralização de operação contínua, esquematize a instrumentação
necessária à sua operação automática.
Resposta esperada:
- Marcos Marcelino Mazzucco -
25
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
6. [ENC-2001] Um reator de hidrogenação catalítica processará uma fração de petróleo a
5 x 106Pa e 440oC. O hidrogênio será alimentado em grande excesso, contendo 4% de
CH4, impureza que não toma parte na reação. O efluente do reator deverá ser resfriado
até 220oC, condensando os compostos subcríticos da mistura, para então ser submetido
a uma expansão súbita (“flash”). A expansão adiabática promoverá a separação dos não-
condensáveis (H2 e CH4) da fase líquida (produto da reação). Para o reaproveitamento do
hidrogênio em excesso, parte da fase gasosa deverá ser recomprimida e reciclada para o
reator (veja o fluxograma abaixo).
a) ...
- Marcos Marcelino Mazzucco -
26
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
b) Esquematize a instrumentação mínima necessária para manter constante a pressão
na descarga do tambor de “flash”.
Resposta esperada:
A pressão na descarga do tambor de "flash" poderá ser controlada por uma válvula que
regule a vazão de descarga na purga:
7.[ENC 2002] No processo de produção de etanol por fermentação de açúcar, tem sido
sugerido o aproveitamento do dióxido de carbono gerado na fermentação, como
alternativa para melhorar a economia do processo. O fluxograma abaixo representa uma
proposta para uma unidade de recuperação de CO2. Forneça o nome e a função de cada
um dos oito itens indicados no fluxograma.
Resposta esperada:
1. Absorvedora ou coluna de absorção.
Função: remover o O2 e N2 da mistura de gases (CO2 + O2 + N2 + H2O + etanol) retirada
da dorna de fermentação, por absorção do CO2 em um solvente líquido.
2. Trocador de calor.
Função: reduzir a temperatura do solvente líquido, de modo a aumentar a solubilidade do
CO2, para tornar possível a operação de absorção.
3. Coluna de esgotamento (stripping) do CO2.
- Marcos Marcelino Mazzucco -
27
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Função: retirar (separar) o CO2 do solvente líquido por aumento de temperatura.
4. Compressor.
Função: aumentar a pressão do gás para permitir a condensação a temperaturas
tecnicamente viáveis.
5. Trocador de calor.
Função: reduzir a temperatura do gás comprimido, facilitando a compressão do segundo
estágio.
6. Coluna de adsorção.
Função: retirar a umidade da mistura gasosa, evitando a formação de gelo no trocador
seguinte.
7. Controlador de nível.
Função: manter o selo líquido no fundo da torre absorvedora.
8. Válvula de segurança e alívio.
Função: impedir danos físicos provocados pela elevação da pressão acima dos níveis
preestabelecidos nos equipamentos.
8.[ENC-2003] Uma empresa está planejando instalar uma coluna de destilação para
recuperar ácido acético de uma corrente de rejeito, objetivando reduzir o seu passivo
ambiental. Uma firma de consultoria submeteu o fluxograma de engenharia simplificado,
apresentado abaixo. O engenheiro revisor identificou dois erros graves que inviabilizam
tecnicamente o projeto, assinalando-os no fluxograma. Apresente as razões que levaram
o engenheiro a apontar esses dois erros.
Resposta esperada:
- Marcos Marcelino Mazzucco -
28
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
– A válvula VG02 está sendo controlada pelo nível do tambor de refluxo. Isso impede que
se possa estabilizar a vazão do refluxo (em conseqüência, a razão de refluxo) em um
valor adequado para a separação desejada, tornando o controle da qualidade do produto
de topo impraticável.
– A corrente de fundo da coluna de destilação é de líquido saturado. Nessas condições, a
instalação de uma válvula de controle na sucção da bomba poderá provocar a cavitação
na bomba.
9. [ENADE-2008] Propõe-se um novo processo para produzir 1,2-butadieno a partir do
butano. Emprega-se para isso um reator que opera em fase líquida, com catalisador na
forma de partículas sólidas muito finas, dispersas no líquido, operando a 80 oC e 9 bar. A
figura abaixo mostra o fluxograma do processo.
Memorial Descritivo:
Butano é alimentado ao reator pela corrente 1. No reator ocorre a reação: C4H10 −>C4H6 +
2H2 com conversão de 60% da carga. A descarga é feita pela evaporação dos produtos e
do reagente, que deixam o reator pela corrente 2, de modo a evitar operações para a
recuperação do catalisador. O condensador parcial TC1 condensa e resfria parte da
descarga. O vaso V1 separa a fase líquida do hidrogênio formado. A fase líquida é
separada na destiladora T1, obtendo-se no fundo o 1,2-butadieno com pureza de 98%
molar. O butano é recuperado no topo da torre e reciclado para o reator. A destiladora
opera a uma pressão de 2,7 bar. Analisando o processo proposto, constata-se que a:
- Marcos Marcelino Mazzucco -
29
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
(A) produção da unidade será controlada de forma muito eficiente pelo medidor de vazão
instalado na corrente de butadieno que deixa o fundo da torre destiladora.
(B) corrente 3, que descarta o hidrogênio formado na reação a partir do vaso V1, sairá
saturada com butano e 1,2-butadieno, o que exigirá a instalação adicional de uma torre
lavadora (scrubber) para reduzir as perdas desses compostos.
(C) pressão de operação da torre destiladora, sabendo-se que a saturação do butano a
2,7 bar ocorre a 28oC, está adequada ao uso de água como fluido de resfriamento do
condensador de topo, como proposto no fluxograma.
(D) válvula de controle instalada na tubulação que deixa o fundo da torre e que controla o
nível do selo líquido está na posição correta.
(E) destiladora pode ser substituída por um tambor flash, que permitirá a separação do
1,2-butadieno na pureza desejada (98% molar), com evidente economia no capital
investido e na energia empregada na separação.
Resposta esperada:
O item correto é a letra B.
- Marcos Marcelino Mazzucco -
30
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
3 MODELAGEM DE PROCESSOS QUÍMICOS
- Marcos Marcelino Mazzucco -
31
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
O modelo de um processo corresponde à representação matemática dos sistemas
por este contidos. Isto não significa que o comportamento de um sistema deve ser
conhecido com exatidão, mas apenas com precisão suficiente para a proposta em que
este está inserido. Em processos químicos, estão envolvidas transformações físicas e
químicas. Desta forma, o modelo deve considerar aspectos relevantes como cinética
química, efeitos das transferências de calor, massa e quantidade de movimento,
termodinâmica, relações empíricas e efeitos físicos como dissipação elétrica, mecânica,
etc. É oportuno ressaltar que nem sempre o modelo mais preciso é o mais adequado
para todas as situações. Também deve ser considerado que para certos propósitos os
modelos fenomenológicos (teóricos) podem ser substituídos por modelos empíricos e
estatísticos.
A modelagem matemática, de acordo com a forma, é útil em casos diversos,
destacando-se: Simulações de comportamento em situações variadas, treinamento de
operadores, análise de risco (manual de segurança), otimização das condições de
operação, projeto de sistemas de controle e controladores, ajuste de controladores e
alterações no processo.
3.1MODELOS DE PROCESSOS QUÍMICOS
A modelagem fenomenológica de processos químicos está baseada nos
princípios de conservação da massa, energia e quantidade de movimento. Estas
quantidades são determinadas, entre outras, a partir de medidas de características físicas
e químicas como densidade, concentração, temperatura, fluxo volumétrico, velocidade
linear, pressão, capacidade calorífica, condutividade térmica, etc.. Os modelos de
processos químicos podem abordar casos em regime permanente (estado estacionário)
ou em estado transiente. Os modelos dinâmicos (estado transiente) são descritos por um
sistema de uma ou mais equações diferenciais ordinárias ou parciais e equações
algébricas. Os sistemas estáticos, por sua vez podem ser caracterizados pelos mesmos
tipos de equações, porém excluindo-se a dependência do tempo.
As equações baseadas nos princípios de conservação (balanços), em processos
químicos, requerem também equações ditas constitutivas, onde estão contemplados
efeitos como taxa de reação, equilíbrio termodinâmico, taxas de transferência de calor,
massa e quantidade de movimento, taxa de crescimento microbiano, estimativas
populacionais, etc.
- Marcos Marcelino Mazzucco -
32
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Em um sistema estipulado, os balanços procedem a partir dos princípios de
conservação.
−
+
−
=
Sistema no
Consumo de
Sistemano
Geração de
massadecorrentesdas
ouas vizinhançra asSistema pa
do cia deTransferên
massadecorrentesdasoueiras das front
través Sistema apara o cia deTransferên
no Sistema
Acúmulo de}...{}...{
}...{}...{
}...{
Para massa e energia temos:
F1
F2
Sistema
dE/dt= ∆E=∆U(t)+ ∆K(t)+ ∆P(t)
dm/dt
∆U=U(t)-U(t-∆t)
∆K=K(t)-K(t-∆t)∆P=P(t)-P(t-∆t) Q
W
saídasii
n
ientradasii
n
iS HFHFWQ
dtdE
11
..
==∑−∑+−= ; com [ ]
dtPKUmd
dtdE )( ++=
∑∑ −+−= SWQHFHFdtdE
2211
221121)( vv ρρρ −==−=
dtVdFF
dtdm
∫+−=V
iiii dVrFF
dtdm
21
Onde
Fj: Fluxo de massa (ou molar) ou vazão mássica de uma corrente (massa/tempo)
Fij: Fluxo de massa ou vazão mássica da espécie i numa corrente j (massai/tempo)
ri: Taxa de reação química da espécie i (massa ou mols de i/Volume.tempo)
V: Volume do Sistema
m: Massa do Sistema
mi: Massa da espécie i no Sistema
vj: Fluxo volumétrico ou vazão volumétrica da corrente j (volume/tempo)
ρj: densidade da corrente j
H: Entalpia por unidade de massa (ou molar)
K: Energia cinética por unidade de massa (ou molar)
P: Energia potencial por unidade de massa (ou molar)
- Marcos Marcelino Mazzucco -
33
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
K: Energia Interna por unidade de massa (ou molar)
WS: Fluxo de energia na forma Trabalho de eixo (work shaft)
Q: Fluxo de energia na forma de Calor.
Destacam-se, neste caso duas equações constitutivas:
- Transferência de calor: Q= U.ATC.(Tvizinhanças-Tsistema)
- Cinética da reação ∏−
=k
nk
RTE
ik
A
CeAr .
onde:
U: Coeficiente global de transferência de calor
ATC: Área para transferência de calo
A= Fator de freqüência ou pré-exponencial.
EA=Energia de Ativação da reação.
R= Constante dos gases ideais
T=Temperatura em escala absoluta
Ck= Concentração mássica ou molar da espécie k
nk= ordem da reação em relação a espécie k
É claro que esta representação é geral e portanto não contempla muitos casos de
engenharia, por isso serão desenvolvidos modelos para alguns casos típicos de
processos químicos.
3.1.1 MODELAGEM MATEMÁTICA DE UM TANQUE DE ESTOQUE DE LÍQUIDO
F1
F2
h
D
- Marcos Marcelino Mazzucco -
34
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Trata-se de um tanque continuamente alimentado com líquido, cujo nível deste (h)
depende dos fluxos de entrada e saída. Por sua vez, o fluxo de saída depende do nível
de líquido no tanque.
Balanço de Massa Global no interior do tanque:
21 FFdtdm −=
2211)( vv ρρρ −=
dtVd
2211)()( vv ρρρ
ρρρ −=
∂∂+
∂∂
dtdV
dtdV
VV
2211 vv ρρρ −=dtdV
21 vv −=dtdhA ; com A= πD2/4
A equação de Bernoulli para o escoamento em uma restrição descreve a vazão na
saída do tanque em proporção à pressão exercida na restrição (válvula):2/1
22 )( PPCV −=v
Considerando descarga livre:
P=Patm+ρgh
Assim:2/1
2 )( ghPPC atmatmV ρ+−=v
( )A
ghCdtdh V
2/11 )(ρ−
=v
Ao invés da equação de Bernoulli o escoamento na saída poderia ser
representado através da analogia com a lei de Ohm para circuitos elétricos onde a
diferença de potencial é diretamente proporcional ao produto da corrente elétrica pela
resistência oferecida pelo elemento considerado. Neste caso, sendo RV a resistência ao
escoamento oferecida pela válvula:
h=v2RV (U=IR na eletricidade)
v2= h/RV
hARAdt
dh
V
11 −=v
- Marcos Marcelino Mazzucco -
35
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Observe que a mudança na representação do modo de escoamento produziu uma
equação diferencial não linear no primeiro caso e uma linear no segundo. As implicações
disto serão discutidas oportunamente.
3.1.2 MODELAGEM MATEMÁTICA DE UM TANQUE DE AQUECIMENTO POR VAPOR
F1
F2
F3
F4
h
D
Trata-se de um tanque de aquecimento encamisado onde é utilizado vapor d'água
saturado como fonte de energia. O vapor deixa a camisa como condensado saturado em
uma temperatura T4.
Balanço de Massa Global no interior do tanque:
21 FFdtdm −=
2211)( vv ρρρ −=
dtVd
2211)()( vv ρρρ
ρρρ −=
∂∂+
∂∂
dtdV
dtdV
VV
2211 vv ρρρ −=dtdV
21 vv −=dtdhA ; com A= πD2/4
( ) Adtdh /21 vv −=
Balanço de energia no interior do tanque:
∑∑ −+−= SWQHFHFdtdE
2211
- Marcos Marcelino Mazzucco -
36
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Considerando que não há acúmulo das energias cinética e potencial, admitindo fluido
incompressível e trabalho desprezível:
QHFHFdtmHd +−= 2211
)(
QHFHFdt
mdHdt
Hdm +−=+ 2211
Com CP=cte:
( ) ( ) QTTCFTTCFdtdTmC
dtdmTTC refPrefPPrefP +−−−=+− )()()( 222111
( ) ( ) QTTCFTTCFdtdTmC
dtdhATTC refPrefPPrefP +−−−=+− )()()( 222111ρ
Substituindo o balanço de massa e fazendo Tref=0:
QTCFTCFdtdTmCTC PPPP +−=+− 22211121 )( vvρ
QTCTCTCdtdTAhC PPPP +−−−= )( 2122221111 vvvv ρρρρ
Com ρ=ρ1=ρ2; CP= CP1= CP2; T=T2:
QTCTTCdtdTAhC PPP +−−−= )()( 21211 vvvv ρρρ
QTTCdtdTAhC PP +−= )( 11vρρ
)/()/()( 11 PAhCQAhTTdtdT ρ+−= v
Incorporando a equação para transferência de calor, Q= UATC(T4-T):
AhC
TT
dtdT P
T)-(TA)( 4TC
11 ρU
+−=
v
- Marcos Marcelino Mazzucco -
37
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
3.1.3 MODELAGEM MATEMÁTICA DE UM CSTR COM TROCA TÉRMICA
vA0,CA0
vA1,CA1, T1
T0
vA2, T2
vA3, T3
CA, T
Trata-se de um reator químico em regime de operação contínua, perfeitamente agitado,
onde ocorre uma reação A→B, de primeira ordem. A reação é exotérmica, assim o reator
é resfriado por uma correntede FA2 a uma temperatura T2. O nível de líquido no tanque é
constante bem como a densidade da mistura.
Balanço de Massa Global no interior do tanque:
0=dtdm
(densidade e nível constantes)
Balanço Molar para a espécie A:
VrFFdt
dNAAA
A +−= 10
VrCCdt
dCV AAAA +−= 1100 vv
( ) AAAA rCC
VdtdC
+−= 11001 vv
Balanço Molar para a espécie i qualquer em relação ao reagente limite A:
iiAii FFVr
dtdCV −+−= 0ν
onde:
νi=coeficiente esteq. de i / coeficiente esteq. de A: (+) prod., (-) reag.
)(0 XFF iiAi ν+Θ= ; com Θi=Fi0/FA0
Balanço de energia no interior do tanque:
ssaídas
I
iii
entradas
I
iii WQHFHF
dtdE −+−= ∑∑
== 11; com (Fi=Civ)
A energia total do sistema é a soma dos produtos das energias específicas, Ei, das várias
espécies no volume do sistema pelo número de mols destas espécies.
- Marcos Marcelino Mazzucco -
38
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
E= ∑=
n
iii EN
1
Negligenciando as mudanças nas energias cinética e potencial e mantendo a energia
interna U, obtemos a entalpia Hi.
E= ∑ ii EN = ∑i
iiUN = ∑ − )ˆ( iii VPHN
Onde Vi é o volume molar (L/gmol)
Diferenciando em relação ao tempo e substituindo na equação do balanço de energia:
∑ ∑ ∑∂
∂−
∂∂+
∂∂
tVNP
tNiH
tHN ii
ii
i
)ˆ( = ∑ ∑− saídaiientradaii HFHF +Q
Considerando que não há acúmulo das energias cinética e potencial, admitindo fluido
incompressível e trabalho desprezível:
=−+∑ ∑ dtdPV
dtdCVH
dtdTVCC i
ipii QHFHF iiii +−∑ ∑00 , com (Fi0=Ci0v0)
Como o balanço molar para a espécie i, negligenciando a variação da pressão total e
considerando o caso de nenhuma mudança de fase, a equação fica:
( ) ∑ ∑∑ ∑∑∑ −+=−+−+ iiiiiiiiAiiipi HFHFQHFHFVrHdtdTCCV 000ν
Rearranjando:
)()( 00 VrHHHFQdtdTCCV AiiiiiiPi −−−−= ∑∑∑ ν
Como Hi =CPi(T-Tref) e Fi0=FA0Θi , T1=T; CA1=CA e admitindo CP médio:
∑∑==
−∆−−Θ−=n
iARipiiA
n
iiPi VrHTTCFQ
dtdTCCV
100
1)()(
onde:
0
0
i
T
Tpi
pi TT
dTCC i
−=
∫
dTCTHTHT
TpR
oRR
R
∫ ∆+∆=∆ )()(
∑∑ −=∆reagentes
iPii
produtos
iPiip CCC νν
Para uma reação em fase líquida a seguinte aproximação é freqüentemente realizada:
- Marcos Marcelino Mazzucco -
39
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
∑ ∑∑ =Θ=≅ PSAPiiAiPiiPi CCCCCCCC 000
onde, CPS é a capacidade calorífica da solução. Com esta aproximação, assumindo que
todas as espécies entram com a mesma temperatura T0, incorporando a equação para
transferência de calor e considerando mistura perfeita na camisa, Q= UATC(T3-T):.
0030 )()()( VrHTTCFTTAdtdTVCC ARPSATCPSA −∆−−−−= U
PSA
ARTE
R
PSA
TC
CCCAeH
VTT
VCCTTA
dtdT
A
0
00
0
3 )()(−
∆−
−−
−=
vU
3.1.4 MODELAGEM MATEMÁTICA DE UMA COLUNA DE ABSORÇÃO
L Gxf y3
Lx3
Gy2
Lx2
Gy1
L G
x3yf
Lxi+1
Gyi
Lxi
Gyi-1
i
Trata-se de uma coluna de absorção de três estágios onde é injetado um gás na base e
um dos componentes deste é absorvido em um líquido, cuja corrente é alimentada no
topo. G e L representam os fluxos molares das respectivas correntes, bem como yf e xf
representam as frações molares do componente absorvido nas correntes de gás e
líquido, respectivamente. Este equipamento é, freqüentemente, associado em série para
- Marcos Marcelino Mazzucco -
40
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
aumento de capacidade. Em cada estágio da coluna será considerado contato perfeito,
de forma que o componente absorvido esteja em equilíbrio nas correntes de gás e líquido
que deixam cada estágio.
Balanço de massa global (mols)
GLGLdtdN
ff −−+=
Considerando densidade constante (invariável com a mudança de concentração) e nível
de líquido constante em cada estágio:
0=dtdN
Balanço molar para o componente absorvido (A) no estágio i:
AiAiiAiAAi GyLxGyLx
dtdN
−−+= −+ )1()1(
)()( )1()1( AiiAAiiAAi yyGxxL
dtdN −+−= −+
Da condição de equilíbrio:
yAi=axAi+b
Como NAi=NxAi
)()( )1()1( baxbaxGxxLdt
dxN iiAAiiAAi −−++−= −+
)1()1( )( +− ++−= iAAiiAAi LxaGLxaGx
dtdxN
Como N=ρV/Mol e L=ρv/Mol, dividindo a equação por L:
)1()1( )1( +− ++−= iAAiiAAi x
LaGxx
LaG
dtdx
LN
Para o primeiro estágio:
)()( 1121
AAfAAA yyGxxL
dtdxN −+−=
)( 1121 baxy
LGxx
dtdx
LN
AAfAAA −−+−=
)()1(121 by
LG
LaGxx
dtdx
AfAAA −++−=τ
Para o segundo estágio:
3212 )1( AAA
A xL
aGxxL
aGdt
dx++−=τ
- Marcos Marcelino Mazzucco -
41
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Para o terceiro estágio:
AfAAA x
LaGxx
LaG
dtdx
++−= )1(323τ
Onde:
LaG
= fator de Stripping
LG
= razão gás-líquido
τ=tempo médio de residência
As equações para os três estágios são combinadas pois a composição em um estágio
depende dos estágios adjacentes.
3.1.5 MODELAGEM MATEMÁTICA DE UMA TROCADOR DE CALOR DUPLO TUBO
vapor (TS)
condensado (TS)
zz=0 z=L
Fluido v ; Tz(0,t)
Fluido v ; Tz(L,t)
Trata-se de um trocador de calor tipo duplo tubo com operação em contracorrente. A
corrente quente é caracterizada por vapor saturado numa temperatura TS e a corrente fria
é sujeita a um perfil de temperatura ao longo do comprimento do tubo (z) e ao longo do
tempo.
Para tornar mais realística esta modelagem, será assumido que a resistência
térmica na parede do tubo interno é significante, de forma que a temperatura da parede
não possa ser admitida nem como TZ nem como TS e exista um perfil de temperatura na
parede ao longo do tempo e do comprimento (z), ou seja, TP=TP(z,t).
Balanço de energia no conteúdo do tubo interno:
QHHdtdH
zzzV
+−=
∆+∆
vv ρρ
- Marcos Marcelino Mazzucco -
42
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
QTTCTTCdtdTVC refzzPrefzP
VP +−−−=
∆ ∆+
∆
)()( vv ρρρ
QTTCdt
dTzCA zzzPz
PS +−=∆ ∆+ )(vρρ
)()( zzPVTCzzzPz
PS TTAhTTCdt
dTzCA −+−=∆∆∆+vρρ
)()(zzP
zzzP
zPS TT
zzDh
zTTC
dtdTCA −
∆∆+
∆−= ∆+ πρρ v
Aplicando o limite quando ∆z→0:
)( zzPz
Pz
PS TTDhzTC
tTCA −+
∂∂−=
∂∂ πρρ v
onde:
ρ= densidade do fluido
As= área da seção transversal (πD2/4)
D= diâmetro do tubo interno (exceto espessura do casco)
TP= temperatura na parede
h= coeficiente de transferência de calor do fluido
v= fluxo volumétrico (volume/tempo)
)( zzPPS
z
S
z TTCADh
zT
AtT
−+∂
∂−=
∂∂
ρπv
O termo DhCA PS
πρ
é o tempo característico de aquecimento do fluido (τQ):
)(1zzP
Q
z
S
z TTz
TAt
T−+
∂∂
−=∂
∂τ
v
Balanço de energia no casco do tubo interno:
)()()()()( zzPzPSeSP
PPPSP TTDhTTDht
TCA −−−=∂
∂ ππρ
onde:
ρ(P)= densidade do material do tubo
As(P)= área da seção transversal (πDe2/4-πD2/4)
De= diâmetro externo do tubo interno (com espessura do casco)
TP= temperatura na parede
TS= temperatura do condensado (saturado)
CP(P)=capacidade calorífica do material do tubo
- Marcos Marcelino Mazzucco -
43
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
hS= coeficiente de transferência de calor do condensado(exterior)
h= coeficiente de transferência de calor do fluido (interior)
)()()()()()()()(
zzPPPPSP
zPSPPPSP
eSP TTCA
DhTTCA
Dht
T−−−=
∂∂
ρπ
ρπ
)(1)(1zzP
PzzPS
SP
P TTTTt
T−−−=
∂∂
ττ
Resumo: as duas equações resultantes representam os perfis de temperatura no fluido
frio e nas paredes do tubo interno.
)(1zzP
Q
z
S
z TTz
TAt
T−+
∂∂
−=∂
∂τ
v
)(1)(1zzP
PzzPS
SP
P TTTTt
T−−−=
∂∂
ττ
As equações são dependentes e constituem um problema de valor de contorno. Assim, é
requerido que se conheça as condições de contorno. Estas condições podem ser obtidas
considerando operação em estado estacionário:
)(10 zzPQ
z
S
TTzT
A−+
∂∂
−=τ
v
)(1)(10 zzPPz
zPSSP
TTTT −−−=ττ
desta forma isolando TP na última equação, substituindo na anterior e resolvendo a
equação diferencial ordinária resultante obtém-se Tz e TP em z=0 e em z=L. Com as
condições iniciais definidas e lembrando que Tz= Tz(z,t) e Tw= Tw(z,t) temos Tz(0,0) e
Tz(L,0). A solução numérica das e.d.p. (equação diferencial parcial) pode ser obtida pela
discretização destas em z de forma que um sistema de e.d.o. (equação diferencial
ordinária) será obtido. A discretização pode ser efetuada aproximando a derivada parcial
e z pelo método das diferenças finitas:
zTT
zT jzjzz
∆−
=∂
∂ − )1()(
Isto equivale a dividir, longitudinalmente, o tubo resolvendo as e.d.o. resultantes para
cada fração de tubo obtendo assim ao final de cada integração a temperatura de cada
seção que corresponde a condição inicial da seção seguinte. A solução das e.d.o. para a
última fração fornecem Tz(L,t) e Tw= Tw(L,t).
As equações discretizadas ficam:
- Marcos Marcelino Mazzucco -
44
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
)(1)()(
)1()()(jzjP
Q
jzjz
S
jz TTzTT
AdtdT
−+∆−
−= −
τv
)(1)(1)()()(
)(jzjP
PzjPS
SP
jP TTTTdt
dT−−−=
ττ
Observe que para N divisões no tubo serão obtidas 2N e.d.o. e que a precisão desta
solução numérica é tanto maior quanto maior for o valor de N. Este modelo difere dos
anteriores por constituir um modelo a parâmetros distribuídos, enquanto os anteriores
correspondem a modelos a parâmetros concentrados.
3.2SOLUÇÃO NUMÉRICA COM MATLAB E OCTAVE
Os exemplos apresentados podem ser resolvidos com GNU Octave através das
subrotinas lsode(...) e ode45(...). No MathWorks Matlab a subrotina ode45(...) pode ser
utilizada. Nos dois pacotes de solução numérica os procedimentos são idênticos. No
exemplo anterior foi utilizado GNU Octave .
3.3EXERCÍCIOS
1. Desenvolva a solução numérica para o modelo do trocador de calor duplo tubo.
2. Entre os exemplos trabalhados está o modelo de esvaziamento e enchimento de um
tanque de estoque de líquido. No modelo trabalhado, a área da seção transversal é
constante. Faça o modelos para um tanque cônico:
- Marcos Marcelino Mazzucco -
45
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
3. (ENADE 2008) Pseudocódigo é uma forma genérica de se escrever um algoritmo, da
forma mais detalhada possível, utilizando-se uma linguagem simples, nativa a quem o
escreve, de modo a ser entendida sem necessidade de se conhecer a sintaxe de uma
linguagem de programação específica. Apresenta-se abaixo o pseudocódigo de um
algoritmo capaz de resolver equações diferenciais da forma , freqüentemente
encontrada em problemas de modelagem em engenharia.
Uma forma equivalente, e algumas vezes complementar, ao pseudocódigo, utilizada para
se representar um algoritmo é o diagrama de fluxos (fluxograma). Que fluxograma
representa, de modo mais preciso, o pseudocódigo descrito acima?
- Marcos Marcelino Mazzucco -
46
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
(A) (B) (C)
(D) (E)
- Marcos Marcelino Mazzucco -
47
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
4 TRANSFORMADA DE LAPLACE E LINEARIZAÇÃO DE SISTEMAS
- Marcos Marcelino Mazzucco -
48
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
A modelagem matemática (dinâmica) de processos recai em E.D.O.s que estão
sujeitas às soluções analítica ou numérica. Quando as equações que descrevem um
sistema são equações diferenciais lineares é conhecida uma ferramenta matemática
chamada Transformada de Laplace que permite a solução rápida e simplificada destas. A
ferramenta consiste em transformar uma E.D.O em uma equação algébrica (E.A.) em um
domínio transformado chamado Domínio de Laplace onde a equação é resolvida. Obtida
a solução neste domínio transformado procede-se a operação inversa e a solução no
domínio do tempo é obtida.
4.1DEFINIÇÃO
O domínio de Laplace ou domínio s é obtido pela transformação de uma função
f(t), no domínio do tempo, pela integração da função f(t) multiplicada por e-st, com t0=0 e
t=∞.
( ) ∫∞
−==0
)()()( dtetfsFtf stL
F(s) representa a função f(t) transformada para o domínio de Laplace e L é o operador de
Laplace. O operador inverso de Laplace L-1(F(s)) transporta a função F(s) para o domínio
original (tempo).
4.2PROPRIEDADES
Para que uma função f(t) seja transformada usando o operador de Laplace é
requisito básico que a função seja contínua para t>0. Além disso a transformada de
Laplace é uma operação linear, ou seja satisfaz o princípio geral da superposição:
L(af1(t)+bf2(t))=[aL(f1(t))]+ [bL(f2(t))]=aF1(s)+bF2(s)
onde f1 e f2 são funções no tempo e a e b são constantes.
4.3OPERAÇÕES NO DOMÍNIO SAs regras básicas para operações no domínio s são:
L(f1(t) + f2(t))=F1(s) + F2(s)
L(f1(t) - f2(t))=F1(s) - F1(s)
L(af(t))= aF(s)
L(f(t-θ))=e-θsF(s)
L(df(t)/dt)=sF(s)-f(0)
L(d2f(t)/d2t)=s2F(s)-sf(0)-df/dt(0)
- Marcos Marcelino Mazzucco -
49
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
L(dnf(t)/dnt)=snF(s)-sn-1f(0)-...dfn-1/d n-1(0)
L( ∫t
dttf0
)( )=F(s)/s
Tabela 4.1- Transformadas de Laplace
f(t) F(s) observação)(tδ 1 impulso unitário
função delta de DiracS(t)
S(t)=0 para t<0 e S(t)=1 para t≥0 s1
degrau unitário
a
sa
(a: constante)
t2
1s
rampa unitária
tn-1 ( )ns
n !1−
e-bt
bs +1 crescimento
exponencial1-e-bt
)( bssb+
decaimento exponencial
e-t/τ(1/τ)
11+sτ
(tn-1e-bt)/(n-1)! nbs )(
1+ com n>0
tn-1e-t/τ/(τn(n-1)!)ns )1(
1+τ
(e-bt- e-at)/(a-b)))((
1bsas ++
(e-t/τ1- e- t/τ
2)/(τ1-τ2))1)(1(
1
21 ++ ss ττ(c-a)/(b-a)eat+(c-b)/(a-b)e-bt ))((
)(bsas
cs++
+
1/τ1(τ1-τ3)/(τ1-τ2)e-t/τ1+
1/τ2(τ2-τ3)/(τ2-τ1)e-t/τ2 )1)(1(
1
21
3
+++
sss
τττ
1-e-t/τ
)1(1
+ss τsen(ωt)
22 ωω+s
senóide
cos(ωt)22 ω+s
sco-senóide
- Marcos Marcelino Mazzucco -
50
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
sen(ωt+φ)22
)sen()cos(ω
φφω++
ss
e-a/tsen(ωt)22)( ω
ω++ as
(a, ω:real)senóide amortecida
e-a/tcos(ωt) 22)( ω++
+as
as (a, ω:real)co-senóide amortecida
)1/sen(11 2/
2ζτ
ζττζ −
−− te t
121
22 ++ ss ζ ττ (0≤|ζ|<1)
1+(τ1e-t/τ1-τ2e-t/τ
2)/( τ2-τ1) )1)(1(
1
21 ++ sss ττ ( τ1≠τ2)
)1/sen(1
11 2/
2ζτψ
ζτζ −+
−− − te t
)12(1
22 ++ sss ζ ττ(0≤|ζ|<1)
)1
(tan2
1
ζζ
ψ−
= −
)1/sen(1
)1/cos(1
22
2/
ζτζ
ζζττζ
−−
+−− −
t
te t
)12(1
22 ++ sss ζ ττ (0≤|ζ|<1)
1+(τ3-τ1)/(τ1-τ2)e-t/τ1+
(τ3-τ2)/(τ2-τ1)e-t/τ2 )1)(1(
1
21
3
+++
ssss
τττ
( τ1≠τ2)
e-at/((b-a)(c-a))+e-bt/((c-a)(a-b))+e-ct/((a-c)(b-c)) ))()((
1csbsas +++
(e-at-e-bt)/(b-a)))((
1bsas ++
df()/dt sF(s)-f(0) Equação Diferencial Ordinária (EDO) de
1a ordemdnf()/dtn
01
1
02
2
0
2
1
...
)0()(
=−
−
=−
−
=
−
−
−
−−
−−
tn
n
tn
n
t
n
nn
dtfd
dtfds
dtdfs
fssFs
=
∑−
= =−
−−
− −−1
1 0
1
1 )0()(n
i tin
ini
nn
dtfds
fssFs
EDO de ordem n
∫t
dttf0
)(F(s)/s
integral
- Marcos Marcelino Mazzucco -
51
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
A Tabela 4.1 é utilizada nas mudanças de domínio t→s e s→t, sendo necessário primeiro
obter formas para f(t) e F(s) que nela se enquadrem. Tabelas mais completas podem ser
obtidas em livros de cálculo.
4.4TEOREMAS DOS VALORES INICIAL E FINAL
O valor de uma função f(t) quando t→∞, ou seja, )(lim)( tfyt ∞→
=∞ pode ser
determinado, no domínio de Laplace com Re(s)≥0 (parte real de s) para todo s, pela
expressão:
)(lim)(0
ssFys→
=∞
Da mesma forma o valor inicial de uma função f(t) quando t→0, ou seja,
)(lim)0(0
tfyt →
= pode ser determinado, no domínio de Laplace, pela expressão:
)(lim)0( ssFys ∞→
=
Obs.: Re (s) ≥ 0 para todo s é a condição para que a função sF(s) seja contínua. Caso a
função não seja limitada, no domínio do tempo, o teorema não pode ser aplicado.
Observa-se isto se, ao menos, uma das raízes do denominador de F(s) for positiva ou for
um número complexo com parte real nula e parte imaginária positiva ou for um número
complexo com parte real positiva e parte imaginária com qualquer sinal. Estes teoremas
não podem ser aplicados se f(t) não for assintótica.
4.5TRANSLAÇÃO DA FUNÇÃO NO TEMPO
A translação do tempo (time delay) consiste em um atraso no aparecimento da
resposta de uma função após um estímulo (entrada). Em engenharia de processos é,
mais comumente, referida como tempo morto (dead time). O tempo morto, na maioria
dos processos químicos, é caracterizado pelo atraso de transporte resultante do
escoamento de fluidos em tubos.
Matematicamente, uma função f(t) atrasada no tempo em θ unidades de tempo
pode ser representada por:
g(t)=f(t-θ)S(t-θ)
- Marcos Marcelino Mazzucco -
52
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Onde: S é a função degrau definida como S(t-θ)=0 para t<θ e S(t-θ)=1 para t≥θ
Assim a transformada de f(t-θ) fica:
L(g(t))=L(f(t-θ)S(t-θ))=e-θsF(s)
4.6TRANSLAÇÃO DA TRANSFORMADA
De forma diferente da translação no tempo, a translação da transformada aparece
no domínio de Laplace e não possui o mesmo significado. A translação da transformada
é o resultado da existência de funções exponenciais no domínio do tempo. Ou seja:
L(e-atf(t))= F(s+a)
Esta definição é extremamente útil na determinação da transformada inversa. Por
exemplo: determinar a transformada inversa de 2)(1)(as
sF+
= .
Solução:
( )
+
= −−2
11
)(1)(as
LsFL
Da tabela:
f(t) F(s)(tn-1e-bt)/(n-1)!
nbs )(1
+Assim:
f(t)= (t2-1e-at)/1!
f(t)= te-at
O mesmo resultado seria obtido pela translação da transformada:
teas
Lentãots
Lse at−−− =
+
=
2
12
1
)(1
)(1
De forma semelhante, quando no domínio do tempo aparece e-atf(t) a
transformada deste produto pode ser obtida a partir da transformada de f(t), L(f(t)),
fazendo s=s+a no domínio de Laplace. Por exemplo:
Determinar a transformada de f(t)= e-atsin(ωt).
Solução:
( ) ( ))sen()( teLtfL at ω−=
Da tabela:
- Marcos Marcelino Mazzucco -
53
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
f(t) F(s)e-a/tsen(ωt)
22)( ωω
++ asAssim:
F(s)= 22)( ωω
++ as
O mesmo resultado seria obtido pela translação da transformada:
( )
( ) 22
22
)()sen(
)sen(
ωωω
ωωω
++=
+=+
=
−
asteL
assfazer
entãos
tLse
at
Outro exemplo:
18,03)( 2 ++
=ss
sY
Vamos alterar a forma do denominador da equação completando o quadrado da equação
do segundo grau:
4,0222 84,0
384,0)4,0(
318,0
3)(+→+
=++
=++
=ssssss
sY
+
= −−
84,084,0
84,03)( 2
14,0
sLety t
sen(ωt)22 ω
ω+s
))84,0((84,0
3)( 4,0 tsenety t−=
4.7COMO OPERAR A TRANSFORMA INVERSA
Dado que uma função F(s) pode ser separada em funções parciais na forma
F(s)=F1(s) + F2(s)+...+Fn(s), a transformada inversa de Laplace pode ser obtida a partir
das transformas das funções ou frações parciais, ou seja:
F(s) =F1(s) + F2(s)+...+Fn(s)
L-1(F(s))= L-1(F1(s)) + L-1(F2(s))+...+ L-1(Fn(s))
f(t)= f1(t) + f2(t) +...+ fn(t)
- Marcos Marcelino Mazzucco -
54
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
O seguinte algoritmo representa a inversão da transformada:algoritmo inversão <<Expandir a função F(s) em uma série de frações parciais>> <<Determinar todas as constantes da série de frações parciais>> <<Determinar a transformada inversa de cada uma das frações parciais>> <<Compor a função no domínio do tempo>>fim
Problemas de controle de processos envolvem, freqüentemente, problemas na
forma chamada zero-pólo:
∏
∏
=
=
−
−== N
nn
M
mm
ps
zsK
1
1
)(
)(
P(s)Z(s)F(s) ; com N≥M
Para este modelo as frações parciais podem ser obtidas de acordo com os pólos (raízes
do denominador) da equação.
4.7.1 EXPANSÃO EM FRAÇÕES PARCIAIS PARA POLINÔMIOS COM RAÍZES DISTINTAS
Para raízes distintas, reais ou complexas a seguinte expansão pode ser realizada:
∑∏
∏=
=
=
−
=−
−==
N
n n
nN
nn
M
mm
psc
ps
zsK
1
1
1
)(
)(
P(s)Z(s)F(s)
Ex.: determinar a transformada inversa da função F(s)=(s+1)/[(s+2)(s+3)].
A expansão em frações parciais fica:
32)3)(2()1(F(s) 21
++
+=
+++=
sc
sc
sss
Para determinar as constantes c1 e c2 pode-se utilizar três métodos:
1°Método-Multiplicação/Inspeção: Multiplicar os dois lados da equação pelo denominador
no lado esquerdo da equação:
)3)(2(32)3)(2(
)3)(2)(1( 21 ++
++
+=
+++++ ss
sc
sc
sssss
)2()3()1( 21 +++=+ scscs
)23()(1 2121 ccsccs +++=+
Comparando os coeficientes dos dois termos da equação:
- Marcos Marcelino Mazzucco -
55
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
c1+c2=1
3c1+2c2=1
Resolvendo c1 e c2 no sistema de equações resultante:
c1=-1 ; c2=2
Portanto:
32
21
)3)(2()1(F(s)
++
+−=
+++=
sssss
A transformada inversa fica:
++
+−= −−
32
21f(t) 11
sL
sL
++
+−= −−
312
211f(t) 11
sL
sL
Da tabela:
f(t) F(s)
e-bt
bs +1
tt ee 32 21f(t) −− +−=
2° Método-Substituição: substituir dois valores de s na equação e resolver o sistema de
equações resultante para ci:
32)3)(2()1(F(s) 21
++
+=
+++=
sc
sc
sss
Para s=-1:
3121)31)(21()11( 21
+−+
+−=
+−+−+− cc
20 2
1cc +=
Para s=1:
3121)31)(21()11( 21
++
+=
+++ cc
43122 21 cc +=
43
21
43
63 2
12
1cccc +=⇒+=
O sistema de equações é:
- Marcos Marcelino Mazzucco -
56
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
022
1 =+ cc
21
43 2
1 =+cc
A solução é c1=-1; c2=2
No GNU Octave o sistema é resolvido facilmente:#GNU Octave 3.1.50;mEd 3.4.1#(c)Marcos Marcelino MazzuccoA=[1 1/2 ; 1 3/4];B=[0 ; 1/2];A\B
Obs.: A transformada inversa foi desenvolvida anteriormente.
3° Método-Heaviside: o método da expansão de Heaviside consiste em:algoritmo Heavisideinicio para <<cada uma das parcelas do denominador (s+pn)>> fazer <<Multiplicar os dois lados da equação pela parcela (s+pn)>> <<Na equação resultante, fazer s=-pn >> <<Determinar a constante que resta>> fim parafim
32)3)(2()1(F(s) 21
++
+=
+++=
sc
sc
sss
3)2(
2)2(
)3)(2()2)(1( 21
++
++
+=
++++
ssc
ssc
ssss
3)2(
)3()1( 2
1 ++
+=++
sscc
ss
32)22(
)32()12( 2
1 +−+−
+=+−+− cc
11 −=c
3)3(
2)3(
)3)(2()3)(1( 21
++
++
+=
++++
ssc
ssc
ssss
21
2)3(
)2()1( c
ssc
ss +
++
=++
22
23)33(
)23()13( cc
++−
+−=
+−+−
- Marcos Marcelino Mazzucco -
57
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
22 =c
A solução é c1=-1; c2=2.
4.7.2 EXPANSÃO EM FRAÇÕES PARCIAIS PARA POLINÔMIOS COM RAÍZES MÚLTIPLAS
Para raízes múltiplas, reais ou complexas a seguinte expansão pode ser realizada:
∑∑+−=
−
= −+
−==
N
RNnr
n
nRN
n n
nnps
cps
csPsZsF
11 )()()()()(
onde:
rn é o expoente da parcela (s-pn) e assume valores 1, 2, 3,... (rn= n-(N-R))
N= Número total de pólos
R= Número de pólos repetidos (múltiplos)
N-R= Número de pólos simples
Ex.:
34
2321
3 )2()2(21)2)(1(1F(s)
++
++
++
+=
++=
sc
sc
sc
sc
ss
N=4; R=3 ; N-R=1
Para determinar 2 constantes podemos utilizar o método de Heaviside:
Multiplicando os dois lados da equação por (s+2)3:
3
34
2
33
32
31
3
3
)2()2(
)2()2(
2)2(
1)2(
)2)(1()2(1
++
++
++
++
+++
=++
+ssc
ssc
ssc
ssc
sss
432
2
31 )2()2(
1)2(
)1(1 cscsc
ssc
s+++++
++
=+
Com s=-2:
432
2
31 )22()22(
1)22(
)12(1 ccc
sc
++−++−++
+−=
+−
14 −=c
Multiplicando os dois lados da equação F(s) por (s+1):
34
2321
3 )2()1(
)2()1(
2)1(
1)1(
)2)(1()1(1
++
++
++
++
++
+=
+++
ssc
ssc
ssc
ssc
sss
34
232
13 )2()1(
)2()1(
2)1(
)2(1
++
++
++
++
+=+ s
scs
scs
sccs
Com s=-1:
- Marcos Marcelino Mazzucco -
58
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
34
232
13 )21()11(
)21()11(
21)11(
)21(1
+−+−
++−
+−+
+−+−
+=+−
cccc
11 =c
Para determinar as 2 constantes restantes vamos substituir dois valores de s na equação
e resolver o sistema de equações resultante para ci:
34
2321
3 )2()2(21)2)(1(1F(s)
++
++
++
+=
++=
sc
sc
sc
sc
ss
Para s=1:
34
2321
3 )21()21(2111)21)(11(1
++
++
++
+=
++cccc
27932541 4321 cccc +++=
271
9321
541 32 −+++=
cc
271
21
541
9332 +−=+
cc
Para s=0:
3232
3 )20(1
)20(20101
)20)(10(1
+−+
++
++
+=
++cc
81
421
81 32 −++=
cc
821
4232 +−=+
cc
Resolvendo o sistema resultante no GNU Octave:
271
21
541
9332 +−=+
cc
821
4232 +−=+
cc
Código:#GNU Octave 3.1.50;mEd 3.4.1#(C)Marcos Marcelino Mazzucco,Dr. A=[1/3 1/9 ; 1/2 1/4];B=[1/54-1/2+1/27 ; -1+2/8];A\B
A solução é c2=-1; c3=-1.
- Marcos Marcelino Mazzucco -
59
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Exercício: Obtenha a solução no domínio do tempo.
4.7.3 EXPANSÃO EM FRAÇÕES PARCIAIS PARA TERMOS QUADRÁTICOS SEM RAÍZES REAIS (RAÍZES COMPLEXAS)
Para termos quadráticos com raízes, apenas, complexas a seguinte expansão pode ser
realizada:
DsCsC
DssF
++
=+
= 221
2
1)(
Exemplo:
38
462
34)3)(4(506)( 2
32
212
2
++
++−=
++
++
=++
+=ss
ssC
sCsC
ssssF
O exemplo que segue mostra como aplicar a transformada inversa na equação
+
+
= 22
A1
)(ω
ωτ ss
KsYP
P , resolvendo-a através de dois métodos de expansão:
( )2211A)(
ωτ
τω
+
+
=ss
KsY
P
P
P
Expandindo em frações parciais considerando as raízes distintas:
( ) ( )
−+
++
+
=is
Cis
C
s
CKsY
P
P
P
ωωτ
τω 321
1A)(
Determinando as constantes (distintas) pelo método de Heaviside:
22
2
1 1 ωττ
P
PC+
=
iC
P
P
ωωττ
22 22 +−=
iC
P
P
ωωττ
22 23 +−=
Rearranjando a equação expandida:
- Marcos Marcelino Mazzucco -
60
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
( ) ( )( )
++++−+
+
= 22321
1A)(
ωωω
ττ
ωs
isCisC
s
CKsY
P
P
P
( )( )
( )( )
+−+
+++
+
= 2223
22321
1A)(
ωω
ωτ
τω
siCC
ssCC
s
CKsY
P
P
P
Substituindo as constantes:
12222 22
2
2232 +−=
+−+
+−=+
ωττ
ωωττ
ωωττ
P
P
P
P
P
P
iiCC
12222 222223 +−=
+
−−+−
=−ωτ
ωτωωτ
τωωτ
τ
P
P
P
P
P
P iii
CC
( ) ( )
+
+−
+
+−
+
+
+= 22
22
22
22
2
22
2
111
1A)(ω
ωωτ
ωτ
ωωτ
τ
τ
ωττ
τω
s
ii
s
s
s
KsY P
P
P
P
P
P
P
P
P
( ) ( ) ( )
++
+−
++
= 222222 11A)(
ωω
ωωτ
τ
ωτωττ
τss
s
s
KsY P
P
P
PP
PP
( ) ( ) ( ) ( )
+
++
−++
= 22222
22
11
11
A)(ωω
ττ
τωτω
sss
sKsY P
PP
P
P
A mesma solução poderia ser obtida considerando a expansão específica para raízes
complexas apenas:
( )2211A)(
ωτ
τω
+
+
=ss
KsY
P
P
P
Sendo: DsCsC
DssF
++=
+= 2
212
1)(
- Marcos Marcelino Mazzucco -
61
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
( )
+
+++
=
+
+
=
P
P
P
P
P
P
s
Cs
CsCK
ss
KsY
τωτ
ω
ωτ
τω
1A
11A)( 3
2221
22
Multiplicando os dois lados da equação (parte entre colchetes) pelo denominador do lado
esquerdo:
( ) ( )
+
+
+
++
+
++
= 223222221 1
111 ω
ττ
ωτω
sss
Css
sCsC
P
P
P
( ) 11)( 22321 =++
++ ω
τsCsCsC
P
123
23
22
121 =+++++ ω
ττCsCCsCsCsC
PP
100)()()( 223
22
1231 ++=+++++ ssCCsCCsCC
PP
ωττ
Analisando os coeficientes:
C1+C3=0
C1/τP+C2=0
C2/τP+C3ω2=1
Assim:
C1+C3=0 → C1=-C3
C1/τP+C2=0 → C2= C3/τP
C2/τP+C3ω2=1
C3=τP2/(1+τP
2ω2)
C2=τP/(1+τP2ω2)
C1=-τP2/(1+τP
2ω2)
Retornando à função Y(s):
( )
++
++
++
+
−=
+
+
=
P
P
P
P
P
P
P
P
P
P
P
P
P
ss
sK
ss
KsY
ττ
ωττ
ωωτ
τωτ
τ
τω
ωτ
τω
1111A
11A)(
22
2
22
2222
2
22
- Marcos Marcelino Mazzucco -
62
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
+
++
+−+
=1
11
A)(2
2222 sssKsY
P
PP
P
P
P
P
ττ
ωτ
ωττ
τω
+
++
−++
=
+
++
+−+
= 22222
22
2
2222 11
1A
11
1A)(
ωω
ωωτ
τωτ
ωτττ
ωτ
ωτω
sss
sK
sssKsY P
PP
P
P
P
PP
P
P
As equações obtidas pelas duas formas de expansão são iguais, sendo que a solução no
domínio do tempo é:
f(t) F(s) observaçãosen(ωt)
22 ωω+s
senóide
e-t/τ(1/τ)
11+sτ
cos(ωt)22 ω+s
sco-senóide
( ) ( )
+−
+=
−
)sen()cos(11
A)( 222 tteKty P
t
PP
P ωωτ ωτ
ωτωτ
τ
( )
+−
+=
−
)sen()cos(1
A)( 22 tteKty P
t
PP ωωτ ωωτ
ωττ
4.7.4 EXPANSÃO EM FRAÇÕES PARCIAIS COM GNU OCTAVE
A subrotina residue(<<poli. numerador>>, <<poli denominador>>) de GNU Octave
realiza a expansão em frações parciais da razão de dois polinômios. A subrotina
residue(...) expande a razão de dois polinômios na forma:
∑ ∑= =
−+−
=n
n
I
i
iIie
n
n skps
csPsZ
n1 1)()(
)(
A subrotina residue(...) retorna, em ordem, os valore de [c, p, k, e] na equação anterior.
Ex.:
651F(s) 2 ++
+=ss
s
Código:#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco[c,p,k,e]=residue([1,1],[1,5,6])
- Marcos Marcelino Mazzucco -
63
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
A subrotina fracoes_parciais(...,...), faz interface com a subrotina residue(...,...) e foi
escrita para acompanhar este material, realizando a expansão e apresentando o
resultado na forma de texto. A subrotina está disponível em
http://www.eqm.unisul.br/prof/marcos e está apresentada no apêndice 1. Os parâmetros
requeridos são os mesmos da subrotina residue e, adicionalmente, um parâmetro do tipo
texto (string) pode ser utilizado para que o resultado seja apresentado, também, na forma
de texto. Matlab dispõe da subrotina printsys(...,...,...) para exibir a função algébrica que
representa um sistema. Com Octave pode ser utilizada a subrotina tfout(...,...,..). No
apêndice 1 está a subrotina exibirft(...,...,...) que também pode ser utilizada para esta
finalidade.
Código:#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Dr. Marcos Marcelino Mazzuccofracoes_parciais([1,1],[1,5,6],'s');[c,p,k,e]=fracoes_parciais([1,1],[1,5,6]),'s')
- Marcos Marcelino Mazzucco -
64
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Para o caso da expansão em frações parciais com raízes múltiplas a lista de retorno da
subrotina residue, [c, p, k, e], apresentará os graus das parcelas do denominador no
parâmetro “e”:
33
2214
2343 )2()2(218201871
)2)(1(1F(s)
++
++
++
+=
++++=
++=
sc
sc
sc
sc
ssssss
[c,p,k,e]=residue([1],[1,7,18,20,8])
- Marcos Marcelino Mazzucco -
65
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
4.7.4.1 Multiplicação de polinômios com GNU Octave
Na expansão em frações parciais, se os polinômios no numerador e no
denominador estiverem na forma zero-polo é necessário realizar o produto dos termos no
numerador e/ou denominador para utilizar a subrotina residue(...). Esta operação pode
ser realizada manualmente ou utilizando a subrotina conv(<<A>>,<<B>>) onde A e B são
vetores que representam os coeficientes de um polinômio (apenas dois polinômios
podem ser multiplicados por vez).
Ex.:
32)3)(2()1(F(s) 21
++
+=
+++=
sc
sc
sss
A subrotina polymult([...],[...],[...],...,"s"), apresentada no apêndice 1, foi
desenvolvida para acompanhar este material e permite a multiplicação de diversos
polinômios com apenas um comando, simplificando a escrita das instruções.
Ex.:
5432)5)(4)(3)(2()1(F(s) 4321
++
++
++
+=
+++++=
sc
sc
sc
sc
sssss
Código:#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Dr. Marcos Marcelino Mazzuccoconv([1,2],[1,3]p=polymult([1,2],[1,3],"s");pp=conv(conv(conv([1,2],[1,3]),[1,4]),[1,5])p=polymult([1,2],[1,3],[1,4],[1,5],"s");
- Marcos Marcelino Mazzucco -
66
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
4.7.4.2 Adição de polinômios com GNU Octave
Para somar dois polinômios pode-se utilizar a operação "+" do GNU Octave que
exige que os vetores que representam os polinômios tenham o mesmo número de
coeficientes. Ou também, utilizar a subrotina polyadd([...],[...],[...],..., "s") desenvolvida
para acompanhar este material e listada no apêndice 1. A figura a seguir mostra a soma
de dois polinômios realizada de várias formas. Com a subrotina polyadd() não é
necessário que os dois polinômios sejam representados com o mesmo número de
coeficientes, desde que o significado seja mantido (o parâmetro "s" é opcional).#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Dr. Marcos Marcelino Mazzuccop1=[1,2,3,4,0];p2=[0,0,1,2,3];polyout(p1);polyout(p2);p=p1+p2polyout(p);p=polyadd([1,2,3,4,0],[1,2,3],"s");
- Marcos Marcelino Mazzucco -
67
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
4.7.4.3 Potenciação de polinômios com GNU Octave
A subrotina polypower(<<polinômio>>,<<expoente>>,"s"), apresentada no
apêndice 1, foi desenvolvida para acompanhar este material e permite a potenciação de
polinômios.
812611
)2(1F(s) 233 +++
=+
=ssss
Código:#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Dr. Marcos Marcelino Mazzuccopolypower([1,2],3,"s");
4.8SOLUÇÃO DE EDOS COM COEFICIENTES CONSTANTES
- Marcos Marcelino Mazzucco -
68
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
A tabela de aplicação do operador de Laplace também pode ser aplicada para
resolver equações diferencias ordinárias de ordem n, desde que possuam coeficientes
constantes e sejam lineares.
Para praticar vamos resolver um exemplo, primeiro com uma EDO de ordem 1:
02)(3)(4 =++ tydt
tdy
Para resolver uma EDO é necessária uma condição inicial. Neste caso, y(0)=1.
( )0234 LydtdyL =
++
Pelo princípio da superposição linear:
( ) ( ) ( )0234 LLyLdtdyL =++
Da tabela:
f(t) F(s)df()/dt sF(s)-f(0)
( ) 02)(3)0()(4 =++−s
sYyssY
( ) 02)(31)(4 =++−s
sYssY
( ) 04234)( =−++s
ssY
( )3424)(
+−=
ssssY
A expansão em frações parciais com GNU Octave é:#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Dr. Marcos Marcelino Mazzucco[c,p,k,e,s]=fracoes_parciais([4,-2],polymult([1,0],[4,3]),"s")rats(c)rats(p)
- Marcos Marcelino Mazzucco -
69
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Obs.: A subrotina rats(...) determina a forma racional de um número (1,66667=5/3)
A solução no domínio do tempo é obtida através da transformada inversa:
−+
+= −−
sL
sL 3/2
4/33/5y(t) 11
−
+= −−
sL
sL 13/2
4/313/5y(t) 11
Da tabela:
f(t) F(s)
e-bt
bs +1
A
sa
32
35y(t) 4
3
−=− t
e
Fazendo t=0, obtém-se a condição inicial:
- Marcos Marcelino Mazzucco -
70
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
133
32
35y(0)
043
==−=⋅−
e
Para praticar melhor vamos resolver outro exemplo, agora com uma EDO de
ordem 3:
0161161 2
2
3
3
=−+++ ydtdy
dtyd
dtyd
As condições iniciais são:
;0;0;0)0(0
2
2
0
===== tt dt
yddtdyy
( ) ( ) 0161161 2
2
3
3
=−++
+
+
LyL
dtdyL
dtydL
dtydL
Da tabela:
f(t) F(s)dnf()/dtn
01
1
02
2
0
21 ...)0()(=
−
−
=−
−
=
−− −−−−−t
n
n
tn
n
t
nnn
dtfd
dtfds
dtdfsfssFs
dnf()/dtn
∑−
= =−
−−− −−
1
1 0
11 )0()(n
i tin
ininn
dtfdsfssFs
Para o primeiro termo:
( )
+−−=
=−
−−
=−
−−−
023
2312
013
1311133
3
3
..)0(.1tt dt
dysdtdysyssYs
dtdyL
Como:
;0;0;0)0(0
2
2
0
===== tt dt
yddtdyy
( ) ( ) ( )sYssYsdtdyL 33
3
3
000 =+−−=
Os demais termos seguem o mesmo raciocínio. Assim a transformada de Laplace da
função fica:
( ) ( ) ( ) ( ) 016116 23 =−+++s
sYssYsYssYs
Isolando Y(s):
- Marcos Marcelino Mazzucco -
71
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
( ) ( )6116123 +++
=ssss
sY
( ) ( )( )( )3211
+++=
sssssY
Resolvendo com GNU Octave:#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Dr. Marcos Marcelino Mazzucco[c,p,k,e,s]=fracoes_parciais([1],polymult([1,0],[1,1],[1,2],[1,3]),"s");c,rats(c)p,rats(p)
( ) ( ) ( ) ( ) sssssY 6/1
12/1
22/1
36/1 +
+−+
++
+−=
No domínio do tempo:
( ) ( ) ( ) ( )
+
+
−+
+
+
+
−= −−−−
sL
sL
sL
sLty 6/1
12/1
22/1
36/1 1111
- Marcos Marcelino Mazzucco -
72
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Da tabela:
f(t) F(s)
e-bt
bs +1
A
sa
( ) 6/12/12/16/1 23 +−+−= −−− ttt eeety
O gráfico a seguir representa esta função.#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Dr. Marcos Marcelino Mazzuccot=0:0.01:10;plot(t,-1/6*exp(-3*t)+1/2*exp(-2*t)-1/2*exp(-t)+1/6)xlabel("t");ylabel("y");
- Marcos Marcelino Mazzucco -
73
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
4.9LINEARIZAÇÃO DE SISTEMAS
A linearização de sistemas consiste em uma aproximação de uma equação não
linear à uma forma linear de maneira que operadores lineares possam ser aplicados.
Usando expansão em série de Taylor com truncamento no termo de primeira ordem
obtém-se uma aproximação adequada para processos onde perturbações não produzem
grandes desvios da posição aproximada.
Supondo uma equação na forma:
),( yxfdxdy =
Linearizando no ponto x0 utilizando expansão em série de Taylor com truncamento
(grau1=):
0000 ,0
,000 )()(),(),(
yxyx xfxx
yfyyyxfyxf
∂∂−+
∂∂−+≅
Assim:
0000 ,0
,000 )()(),(
yxyx xfxx
yfyyyxf
dxdy
∂∂−+
∂∂−+=
Considere a equação 5/ += yxdxdy
com x(0)=4 e y(0)=2:
Sendo f(x,y)= x/y a aplicação a expansão em série de Taylor truncada no termo linear
fica:
0000 ,0
,000 )()(),(),(
yxyx xfxx
yfyyyxfyxf
∂∂−+
∂∂−+≅
0000 ,0
,000
)/()()/()(/),(yxyx x
yxxxy
yxyyyxyxf∂
∂−+∂
∂−+≅
0000 ,,2
1)4()1.()2(2/4),(yxyx
yx
yxyyxf
−+
−−+≅
02
0
0 1)4()1.(
)2(2/4),(y
xy
xyyxf −+
−−+≅
21)4(
24)2(2/4),( 2 −+−−+≅ xyyxf
- Marcos Marcelino Mazzucco -
74
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
2)4()2(
24),( −+−−≅ xyyxf
Então a EDO linearizada fica:
52
)4()2(24 +−+−−= xy
dxdy
Em outro exemplo vamos testar a precisão desta linearização resolvendo a equação de
balanço de massa no tanque de acumulação considerando os modelos apresentados
anteriormente nas formas linear e não-linear. Para completar a comparação, agora,
vamos considerar a linearização do modelo não-linear para obter um terceiro modelo:
( )A
ghCdtdh V
2/11 )(ρ−
=v
2/11
2/12/11 )( hKhgC
dtdhA VV −=−= vv ρ
Linearizando o termo h1/2:
−+=
−+=
−21
002/1
02/1
02/1
02/1
21)()(
0
hhhhhdhdhhhh
h
Substituindo:
)21)(( 2
1
002/1
01
−+−=
−hhhhK
dtdhA Vv
O programa para GNU Octave a seguir mostra a comparação entre os modelos completo,
linear e linearizado para duas perturbações: 25% e 100% da vazão alimentação (v0).%program tanque_estoque_liquido#Última gravação: 02/02/2009;segunda-feira;22:56#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor: Dr. Marcos Marcelino Mazzucco#Objetivo: analisar modelos p/ tanque de estoque de líquidoclear all;%var global v1 Kv h0 A Rv;function [dydx]= f(y,x) global v1 Kv Rv h0 A; #y é o vetor de variáveis dependentes. #x é a variável independente t=x;#renomear as variáveis para facilitar a compreensão %>>modelo real h=y(1); dh1dt=(v1-Kv*h^(1/2))/A; %end; %>>modelo linearizado h=y(2); dh2dt=(v1-Kv*(h0^(1/2)+(h-h0)*1/2*h0^(-1/2)))/A;
- Marcos Marcelino Mazzucco -
75
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
%end; %>>modelo linear h=y(3); dh3dt=(v1-h*1/Rv)/A; %end; %>>sistema de equações; dydx=[dh1dt;dh2dt;dh3dt];endfunction;%begin %>>condições iniciais e propriedades físicas h0=1; #valor inicial de h A=1; #Área ro=1000;#densidade=kg/m3 g=9.8;#m/s2; v0=8/3600;#m3/s Cv=v0/(ro*g)^(1/2); Kv=Cv*(ro*g)^(1/2); Rv=1/v0; t=linspace(0,3600,100); %end; %>>primeiro teste %>>vazão inicial; v1=10/3600;#m3/s %>>Integrar equações; y=lsode("f",[h0,h0,h0],t); %>>gráfico figure(1); hold("on"); plot(t,y(:,1),"-b;h;"); plot(t,y(:,2),"-+r;h-Linearizado;"); plot(t,y(:,3),"-om;h-Linear;"); xlabel("t");ylabel("h");grid("on"); %end; %end; %>>segundo teste %>>vazão inicial; v1=16/3600;#m3/s %>>Integrar equações; y=lsode("f",[h0,h0,h0],t); %>>gráfico figure(2); hold("on"); plot(t,y(:,1),"-b;h;"); plot(t,y(:,2),"-+r;h-Linearizado;"); plot(t,y(:,3),"-om;h-Linear;"); xlabel("t");ylabel("h");grid("on"); %end; %end;%end.Observe que o uso do identificador estrutural personalizado (%>>) facilita a organização
do programa e permite a visualização deste na forma de árvore no software MED 3.x
(www.eqm.unisul.br/prof/marcos).
- Marcos Marcelino Mazzucco -
76
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Os gráficos, a seguir, foram obtidos a partir do programa anterior.
- Marcos Marcelino Mazzucco -
77
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
4.10RELAÇÕES ÚTEIS
( ) ))sen()(cos( btjbtee attbja +=+
cos(-bt)=cos(bt) ;b>0
sen(-bt)=-sen(bt) ;b>0
=
+=+=+
− )(tan);sen()sen()cos(
2
11
22
213
321
aaaaa
bababaφ
φ
2)cos(
tjtj eetωω
ω +=−
( )2
)sen(tjtj eejt
ωω
ω −=−
2
222
2
4)
2(
/
)(a
bac
abs
ad
acs
absa
dcbsas
d
−++=
++=
++
- Marcos Marcelino Mazzucco -
78
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
4.11EXERCÍCIOS
1. Linearize as seguintes funções:
a) A
RTE
AA CeCTfrA−
== ),(
b) y=2x2+x+1/x
c) rA=-0,2CACB
2. Manipule as expressões que seguem para que assumam as formas indicadas no lado
direito da igualdade, determinando as constantes indicadas:
a))()12(
1bs
Ks +
=+
b))1()3(
1+
=+ s
Ks τ
c))1()32(
1+
=+ s
Ks τ
d) nbsK
s )()13(2
2 +=
+
e) nsK
s )1()3(1
2 +=
+ τ
f) 22
21
22 )1()1()54()32(2/1
++=
++ ssK
ss ττ
g) 22
21
22 )()()54()32(2/1
pspsK
ss −−=
++
h) )1()3(1
+=
++ sK
is τ
i))1)(1()1)(1()54)(32(
32
21
2
21
1
+++
++=
++−
sssK
ssK
sss
ττττ
j))1()1()54)(32(
32
2
2
1
1
++
+=
++−
sK
sK
sss
ττ
k) nsnK
s)!1(6 1
3
−=
l) mn smK
snK
ss )!1()!1(18 21
4
−+−=+
- Marcos Marcelino Mazzucco -
79
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
m) ∑∑
=
+++
++
n
nn
m
mm
sa
sb
ss
ss
11023
1102
n) ))()((6221222
32123 pspsps
Ksss −−−
=+++
3. Determine a solução no domínio do tempo para as equações:
a) 105 176s 86s 16s s
1)( 234 +−+−=sF
b) 22 )2()1(1)(
++=
sssF
c) )3)(2)(1(1)(
+++++=
sisissF
d) 2)1)(2)(1(1)(
+++++=
sisissF
e) )1)(2()1(1)( 2 +++++
=sisis
sF
f)16,12
3)( 2 ++=
sssF dica: use o teorema da translação → 22 4,02/1)4,0(
2/3)(−++
=s
sF .
g) )23)(62(210)( 2 ++
+=ss
ssF
4. Com uma planilha eletrônica, faça os gráficos no domínio do tempo para as equações
anteriores. Faça também os gráficos com o GNU Octave.
5. A equação A
AA
XX
dtdX
+−
=1
35,015,0 representa um problema que envolve um destilador
utilizado para separar uma mistura binária (contendo A e B) isotermicamente. Resolva
esta equação utilizando a transformada de Laplace para as seguintes condições :
Em t = 0 ; XA = 0,3
Em t = t ; XA = 0,4
Determine o tempo para que XA seja 0,4 através da transformada de Laplace e através da
integração da equação no domínio do tempo. Lembre-se que quando y=uv , y'=u'v+uv'.
- Marcos Marcelino Mazzucco -
80
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
5 COMPORTAMENTO DINÂMICO DE SISTEMAS
- Marcos Marcelino Mazzucco -
81
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
5.1FUNÇÃO DE TRANSFERÊNCIA
A função de transferência de um processo consiste na representação algébrica
(no domínio de Laplace) da relação dinâmica existente entre a entrada e saída de um
processo. A função de transferência pode ser obtida a partir de um modelo de equações
diferenciais lineares ou linearizadas ou através de ajuste de dados sobre uma função de
transferência empírica. Por questões práticas, os modelos para funções de transferência
são expressos na forma de variáveis desvio. Ou seja, no desvio entre o valor da variável
e o valor desta no estado estacionário. A linearização de sistemas não-lineares já resulta
na forma de variáveis desvio.
5.1.1 FUNÇÃO DE TRANSFERÊNCIA PARA UM SISTEMA COM UMA ENTRADA E UMA SAÍDA
Considere o exemplo:
F1
F2
U
RI
Trata-se de um tanque de aquecimento onde é utilizada uma resistência elétrica como
fonte de energia. O nível de líquido no tanque é mantido constante e a temperatura de
entrada é constante.
Balanço de Massa Global no interior do tanque:
0=dtdm
Balanço de energia no interior do tanque:
∑∑ −+−= SWQHFHFdtdE
2211
Considerando que não há acúmulo das energias cinética e potencial, admitindo fluido
incompressível e trabalho desprezível:
QHFHFdtmHd +−= 2211
)(
- Marcos Marcelino Mazzucco -
82
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
QHFHFdt
mdHdt
Hdm +−=+ 2211
Com CP=cte e m=cte:
( ) ( ) QTTCFTTCFdtdTmC refPrefPP +−−−= )()( 222111
QTCTCdtdTVC PPP +−= 22221111 vv ρρρ
Com ρ=ρ1=ρ2; CP= CP1= CP2; T=T2:
PVCQ
VTT
dtdT
ρ+
−=
)( 11v
No estado estacionário:
PVCQ
VTT
dtTd
ρ+
−==
)(0 11v
Subtraindo o modelo em estado estacionário do transiente:
( )PVC
QQV
TTTTdt
TTdρ
−+−−−
=− )()()( 111v
Nomeando as variáveis desvio como:
QQQ
TTT
TTT
−=′
=−=′−=′
0111
Obtém-se:
( ) QVC
TVdt
TdP
′+′−=′
ρ11v
Fazendo:
1vV=τ , V=1vτ e
PCK
1
1vρ
=
( ) QKTdtTd ′+′−=
′ττ11
QKTdtTd ′+′−=
′τ
Aplicando a transformada de Laplace e considerando o sistema inicialmente em estado
estacionário ( 0;0 =′=′ QT ):
)()()( sQKsTsTs ′+′−=′τ
)()()1( sQKsTs ′=′+τ
- Marcos Marcelino Mazzucco -
83
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
)()1(
)( sQsKsT ′
+=′
τ
De uma forma mais compacta:
)()()( 1 sQsGsT ′=′
onde G1(s) é a função de transferência que relaciona T'(s) e Q'(s).
Se Q(t) for perturbado na forma de um degrau de magnitude ∆Q (L(Q')=L(∆Q)=
∆Q/s):
sQsGsT ∆=′ )()( 1
O diagrama de blocos a seguir representa esta função de transferência:
G1(s)Q’1(s) T’(s)
Para um desenvolvimento geral vamos considerar um processo cuja saída y(t) é
influenciada pela entrada x(t) na forma da equação diferencial linear a seguir, onde x e y
são variáveis desvio:
Processox(t) y(t)
xbdtdxb
dtxdb
dtxdbya
dtdya
dtyda
dtyda m
m
mm
m
mn
n
nn
n
n 011
1
1011
1
1 ...... ++++=++++ −
−
−−
−
−
A transformada de Laplace da função com y(0)=0 e x(0)=0 (em variáveis desvio), fica:
++
++=++++
−−−
− )()(...)()(
)()(...)()(01
11
011
1 sXbssXbsXsbsXsb
sYassYasYsasYsam
mm
mnn
nn
De forma compacta:
)()(00
sXsbsYsamj
jj
ni
ii ∑∑
==
=
Como a função de transferência relaciona saída de um processo com entrada deste,
isolando Y(s)/X(s):
∑
∑
=
=== 0
0
)()()(
ni
ii
mj
jj
sa
sb
sXsYsG
- Marcos Marcelino Mazzucco -
84
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Onde m e n, tal que m≤n, são as ordens dos polinômios no numerador e
denominador e correspondem as ordens das equações diferencias que representam a
saída e a entrada.
O polinômio no denominador na função de transferência é chamado equação
característica. As raízes da equação característica são chamadas pólos da função de
transferência.
5.1.2 FUNÇÃO DE TRANSFERÊNCIA PARA UM SISTEMA COM DUAS ENTRADAS E UMA SAÍDA
Agora vamos considerar o tanque de aquecimento anterior onde a temperatura de
entrada é variável.
Balanço de Massa Global no interior do tanque:
0=dtdm
Balanço de energia no interior do tanque (Com ρ=ρ1=ρ2; CP= CP1= CP2; T=T2):
PVCQ
VTT
dtdT
ρ+
−=
)( 11v
No estado estacionário:
PVCQ
VTT
dtTd
ρ+
−==
)(0 11v
Subtraindo o modelo em estado estacionário do transiente:
( )PVC
QQV
TTTTdt
TTdρ
−+−−−
=− )()()( 111v
Nomeando as variáveis desvio como:
QQQ
TTT
TTT
−=′
−=′−=′
111
Obtém-se:
( ) QVC
TTVdt
Td
P
′+′−′=′
ρ1
11v
Fazendo:
- Marcos Marcelino Mazzucco -
85
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
1vV=τ , V=1vτ e
PCK
1
1vρ
=
( ) QKTTdtTd ′+′−′=
′ττ11
1
QKTTdtTd ′+′−′=
′1τ
Aplicando a transformada de Laplace e considerando o sistema inicialmente em estado
estacionário ( 0;0;0 1 =′=′=′ QTT ):
)()()()( 1 sQKsTsTsTs ′+′−′=′τ
)()()()1( 1 sQKsTsTs ′+′=′+τ
)()1(
)()1(
1)( 1 sQsKsT
ssT ′
++′
+=′
ττ
De uma forma mais compacta:
)()()()()( 121 sTsGsQsGsT ′+′=′
onde G1(s) e G2(s) são funções de transferência que relacionam T'(s) e Q'(s) e
T'(s) e T'1(s), respectivamente.
Para uma temperatura de entrada constante:
)()()( 1 sQsGsT ′=′
Se Q(t) for perturbado na forma de um degrau de magnitude ∆Q (L(Q')=L(∆Q)=
∆Q/s):
sQsGsT ∆=′ )()( 1
Para uma adição de energia constante:
)()()( 12 sTsGsT ′=′
Se T1(t) for perturbado na forma de uma rampa de inclinação α (L(T'1)=L(αt)= 2sα
):
21 )()(s
sGsT α=′
As funções G1(s) de G2(s) são independentes e caracterizam duas relações que,
de acordo com o princípio da superposição linear, são somadas para caracterizar
completamente T'(s).
)()()(1 sQ
sTsG′′
=
- Marcos Marcelino Mazzucco -
86
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
)()()(
12 sT
sTsG′′
=
O diagrama de blocos a seguir representa esta função de transferência:
G2(s)T’1(s)
G1(s)Q’1(s)
T’(s)++
Para um desenvolvimento geral, neste caso, vamos considerar um processo cuja
saída y(t) é influenciada pelas entradas x1(t) e x2(t) na forma da equação diferencial linear
a seguir, onde x1, x2 e y são variáveis desvio:
Processo
x1(t)y(t)
x2(t)
++++
+++++=++++
−
−
−
−
−
−
−
−
−
2022
12122
12
1222
2
2
1011
11111
11
1111
1
1
011
1
1
...
......
xbdt
dxbdt
xdbdt
xdb
xbdtdxb
dtxdb
dtxdb
yadtdya
dtyda
dtyda
m
m
mm
m
m
m
m
mm
m
m
n
n
nn
n
n
A transformada de Laplace da função com y(0)=0 e x(0)=0 (em variáveis desvio), fica:
)()()( 2
0
2
221
0
1
11
0
sXsbsXsbsYsamj
jj
mj
jj
ni
ii ∑∑∑
===
+=
Como a função de transferência relaciona saída de um processo com entrada deste,
isolando Y(s)/X(s):
)()()( 20
0
2
22
10
0
1
11
sXsa
sbsX
sa
sbsY
ni
ii
mj
jj
ni
ii
mj
jj
∑
∑
∑
∑
=
=
=
= += Onde m1≤n e m2≤n.
)()()()()( 2211 sXsGsXsGsY +=
G1(s)X1(s)
G2(s)X2(s)
Y(s)++
Na forma matricial:
- Marcos Marcelino Mazzucco -
87
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
)()(
)()()(2
121 sX
sXsGsGsY =
1
...
1
...
)(
1
011
11
1
0111111
1
s
ss
aaaa
s
ss
bbbb
s
n
n
nn
m
m
mm
⋮
⋮
−
−
−
−
=G
1
...
1
...
)(
1
011
12
2
0212122
2
s
ss
aaaa
s
ss
bbbb
s
n
n
nn
m
m
mm
⋮
⋮
−
−
−
−
=G
Na sua forma mais simples este sistema é modelado pela seguinte EDO:
( )2211011
1
1 ... xbxbyadtdya
dtyda
dtyda n
n
nn
n
n +=++++ −
−
−
Esta equação no domínio de Laplace resulta em:
)()()( 202
101 sX
sa
bsXsa
bsY
ni
ii
ni
ii ∑∑
==
+=
)()()()()( 2211 sXsGsXsGsY +=
Na forma matricial:
)()(
)()()(2
121 sX
sXsGsGsY =
- Marcos Marcelino Mazzucco -
88
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
1
...
)(
1
011
11
s
ss
aaaa
bs
n
n
nn ⋮
−
−
=G
1
...
)(
1
011
22
s
ss
aaaa
bs
n
n
nn ⋮
−
−
=G
5.1.3 PROPRIEDADES DA FUNÇÃO DE TRANSFERÊNCIA E AS FORMAS GANHO/CONSTANTE DE TEMPO E ZEROS-PÓLOS
A partir do teorema do valor final é determinado o ganho do processo em estado
estacionário (K). Esta quantidade representa a razão entre a mudança na variável de
saída, entre dois estados estacionários, para uma dada mudança na variável de entrada.
Ou seja:
12
12
xxyyK
−−=
O ganho em estado estacionário é obtido fazendo s=0 (teorema do valor final):
0
00
0
......
)()()(
asabsb
sa
sb
sXsYsG
nn
mm
ni
ii
mj
jj
++++
===
∑
∑
=
=
0
0
0
0
00)
......(lim))((lim
ab
asabsbsGK n
n
mm
ss=
++++==
→→
Colocando b0/a0 em evidência resulta a forma ganho/constante de tempo:
++′++′
===∑
∑
=
=
1...1...
)()()( 0
0
0
0
0
0n
n
mm
ni
ii
mj
jj
sasbK
saa
sbb
ab
sXsYsG
- Marcos Marcelino Mazzucco -
89
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
( )
( )mn
s
sK
sXsYsG
n
jj
m
ii
≥+
+==
∏
∏
=
= ;1
1
)()()(
1
1
τ
τ
Colocnado bm/an em evidência e determinando as raízes do numerador e denominador
resulta a forma zeros-polos:
( )
( )∏
∏
=
=
−
−== n
jj
m
ii
n
m
ps
zs
ab
sXsYsG
1
1
)()()(
As duas formas estão relacionas por:
( )
( )
( )
( )∏
∏
∏
∏
∏
∏
=
=
=
=
=
=
+
+=
+−
+−
=−
−==
n
jj
m
ii
n
j j
m
i j
n
jj
m
ii
s
sK
sp
sz
Kps
zsK
sXsYsG
1
1
1
1
1
1
1
1
11
11
')()()(
τ
τ
Dica:Na forma polinomial "Ganho/Constante de tempo" os coeficientes dos termos de menor
grau no numerador e no denominador devem ser um:
Ex:
+++
+=
++++==
11222
1212
122
)134(
123
122212234
)()()(
2323
sss
s
ssss
sXsYsG
Na forma polinomial "zeros-polos" os coeficientes que acompanham os termos de maior
grau no numerador e no denominador dever ser um. Após isto as raízes do polinômio
devem ser representadas:
Ex:
+++
+=
++++==
)2
122
222
121(2
)431(4
122212234
)()()(
2323
sss
s
ssss
sXsYsG
( )( )( )
−−−−−−
−−
==)3()2()1(
)43(
24
)()()(
sss
s
sXsYsG
Outra propriedade importante da função de transferência é aquela que relaciona
eventos linearmente independentes que ocorrem em paralelo. A influência em paralelo
das entradas de um sistema resulta na soma das funções de transferência individuais:
- Marcos Marcelino Mazzucco -
90
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
)()()()()( 2211 sXsGsXsGsY +=
G1(s)X1(s)
G2(s)X2(s)
Y(s)++
Para eventos que ocorrem em série, a função de transferência do sistema resulta
no produto das funções de transferência individuais:
)()()( 112 sXsGsX =
)()()()( 211 sGsXsGsY =
)()()()(
211
sGsGsXsY =
G1(s)X1(s)
G2(s)X2(s) Y(s)
5.2SISTEMAS DE PRIMEIRA ORDEM
Um sistema de primeira ordem é aquele descrito por uma EDO de primeira ordem.
)()()(01 tbxtya
dttdya =+
Na forma ganho/constante de tempo:
xaby
dtdy
aa
00
1 =+
xKydtdy
PP =+τ
Sendo y e x variáveis desvio (y(0)=0; x(0)=0):
)()()( sXKsYssY PP =+τ
A função de transferência de um processo de primeira ordem é:
1)()()(
+==
sK
sXsYsG
P
P
τ
Aplicando L-1:
F(t) F(s) observaçãoe-t/τ (1/τ)
11+sτ
- Marcos Marcelino Mazzucco -
91
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
No domínio do tempo:
P
t
P
P eKtxty τ
τ
−
=)()(
5.2.1 RESPOSTA DE UM SISTEMA DE PRIMEIRA ORDEM A UMA ENTRADA DEGRAU DE MAGNITUDE M:
x(t)=MS(t)
11)(
1)(
+−=
+
=+
=s
MKs
MKsM
sKsX
sKsY
P
PPP
P
P
P
P
ττ
ττ
f(t) F(s) observaçãoS(t)
S(t)=0 para t<0 e S(t)=1 para t≥0 s1
degrau unitário
e-t/τ(1/τ)
11+sτ
P
t
PPPP eMKMKty τ
ττ
−−= 1)(
)1()( P
t
P eMKty τ−
−=
A representação com GNU Octave segue:%program deg_sist_prim_ordem#Última gravação: 02/02/2009;segunda-feira;23:10#Software: GNU Octave ;mEd 3.0#Autor: Marcos Marcelino Mazzucco#Objetivo: demonstrar a relação entre constante de tempo e resposta do sistemaclear;%begin clc; clf; t=0:0.01:1; M=1; Kp=1; tau=0.1; y=M*Kp*(1-exp(-t/tau)); plot(t,y,";;"); xlabel("t"); ylabel("y(t)"); grid("on"); x=[tau,tau*2,tau*3,tau*4,tau*5]; y2=M*Kp*(1-exp(-x./tau)); hold("on"); plot(x,y2,"o"); for i=1:5 text(1.02*x(i),(i)*0.1,sprintf("(%2.3g;%2.3g)",x(i),y2(i))); text(1.02*x(i),0.04,sprintf("%dxTau",i)); plot([x(i) x(i) 0 x(i)],[0 y2(i) y2(i) y2(i)],";;");
- Marcos Marcelino Mazzucco -
92
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
endfor; hold("off"); disp("Gráfico gerado.\nFIM.")%end;
Observa-se que decorrido 63,2% da variação de y(t) necessária para que o estado
estacionário seja atingido, em qualquer sistema de primeira ordem, o tempo decorrido
equivale a uma constante de tempo (τ). Após 2τ, y(t) atinge 86,5% do valor final, após 3τ,
y(t) atinge 95% do valor final, após 4τ, y(t) atinge 98,2% do valor final e após 5τ, y(t)
atinge 99,3% do valor final. Assim dizemos que o estado estacionário é configurado,
aproximadamente, quando decorrem 4τ unidades de tempo a partir da perturbação
degrau.
5.2.2 RESPOSTA DE UM SISTEMA DE PRIMEIRA ORDEM A UMA ENTRADA IMPULSO DE MAGNITUDE M:
x(t)=M. )(tδ
11)(
1)(
+=
+
=+
=s
MKMsKsX
sKsY
P
P
P
P
P
P
τττ
- Marcos Marcelino Mazzucco -
93
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
f(t) F(s) observação)(tδ 1 impulso unitário
função delta de Dirace-t/τ(1/τ)
11+sτ
P
t
PP eMKty τ
τ
−= 1)(
A representação com GNU Octave segue:%program imp_sist_prim_ordem#Última gravação: 02/02/2009;segunda-feira;23:16#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor: Dr. Marcos Marcelino Mazzucco#Objetivo: demonstrar a resposta de um sistema sistema de primeira ordem a um impulso de magnitude Mclear all;%begin clc; clf; t=0:0.01:1; M=1; Kp=1; tau=0.1; y=M*Kp*(1/tau)*exp(-t/tau); plot(t,y,"-;ordem 1;"); xlabel("t"); ylabel("y(t)t"); grid("on");%end;
- Marcos Marcelino Mazzucco -
94
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
5.2.3 RESPOSTA DE UM SISTEMA DE PRIMEIRA ORDEM A UMA ENTRADA SENOIDAL:x(t)= Asen(ωt)
X(s)= A 22 ωω+s
Onde:
A= Amplitude
ω= Freqüência angular=Período/2π.
Obs: Amplitude = Altura da onda; Período = distância entre picos das ondas
Observe o efeito de A e ω na função seno:
O seguinte código GNU Octave foi utilizado:#GNU Octave 3.1.50;mEd 3.4.1#(C)Marcos Marcelino Mazzuccot=0:0.01:2;A=0.1;w=2*pi;#Periodo=2*pi/w=1plot(t,A*sin(w*t));grid("on");
Considerando uma entrada senoidal:
+
+
=+
= 22A
1)(
1)(
ωω
ττ ssKsX
sKsY
P
P
P
P
( )2211A)(
1)(
ωτ
τω
τ+
+
=+
=ss
KsXsKsY
P
P
P
P
P
- Marcos Marcelino Mazzucco -
95
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Expandindo em frações parciais considerando as raízes complexas:
( ) ( )
−+
++
+
=+
=is
Cis
C
s
CKsXsKsY
P
P
P
P
P
ωωτ
τω
τ321
1A)(
1)(
Obs.: Neste exemplo τ=τP.
Determinando as constantes (distintas) pelo método de Heaviside:
22
2
1 1 ωττ
+=C
iC
ωτ ωτ
22 22 +−=
iC
ωτ ωτ
22 23 +−=
Rearranjando a equação expandida:
( ) ( )( )
++++−+
+
= 22321
1A)(
ωωω
ττ
ωs
isCisC
s
CKsY
P
P
P
( )( )
( )( )
+−+
+++
+
= 2223
22321
1A)(
ωω
ωτ
τω
siCC
ssCC
s
CKsY
P
P
P
Substituindo as constantes:
12222 22
2
2232 +−=
+−+
+−=+
ωττ
ωτ ωτ
ωτ ωτ
iiCC
12222 222223 +−=
+−−
+−=−
ωττ ω
ωτ ωτ
ωτ ωτ i
iiCC
( ) ( )
+
+−+
+
−+
+
+
= 22
22
22
22
2
22
2
111
1A)(ω
ωωττ ω
ωωττ
τ
ωττ
τω
s
ii
s
s
s
KsY
P
P
P
- Marcos Marcelino Mazzucco -
96
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
( ) ( ) ( )
++
+−
+
+= 222222 11
A)(ω
ωω
τ ω
τ
τ ωωττ
τss
s
s
KsY
P
P
PP
( ) ( ) ( ) ( )
+
++
−++
= 22222
22 11
1A)(
ωω
ωτ ω
τωτ
ωτ sss
sKsY
P
P
A mesma solução poderia ser obtida considerando a expansão específica para raízes
complexas:
( )2211A)(
1)(
ωτ
τω
τ+
+
=+
=ss
KsXsKsY
P
P
P
P
P
Sendo: DsCsC
DssF
++=
+= 2
212
1)(
( )
+
+++
=
+
+
=
P
P
P
P
P
P
s
Cs
CsCK
ss
KsY
τωτ
ω
ωτ
τω
1A
11A)( 3
2221
22
Multiplicando os dois lados da equação (parte entre colchetes) pelo denominador do lado
esquerdo:
( ) ( )
+
+
+
++
+
++
= 223222221 1
111 ω
ττ
ωτω
sss
Css
sCsC
P
P
P
( ) 11)( 22321 =++
++ ω
τsCsCsC
P
123
23
22
121 =+++++ ω
ττCsCCsCsCsC
PP
100)()()( 223
22
1231 ++=+++++ ssCCsCCsCC
PP
ωττ
Analisando os coeficientes:
C1+C3=0
- Marcos Marcelino Mazzucco -
97
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
C1/τP+C2=0
C2/τP+C3ω2=1
Assim:
C1+C3=0 → C1=-C3
C1/τP+C2=0 → C2= C3/τP
C2/τP+C3ω2=1
C3=τP2/(1+τP
2ω2)
C2=τP/(1+τP2ω2)
C1=-τP2/(1+τP
2ω2)
Retornando à função Y(s):
( )
++
++
++
+
−=
+
+
=
P
P
P
P
P
P
P
P
P
P
P
P
P
ss
sK
ss
KsY
ττ
ωττ
ωωτ
τωτ
τ
τω
ωτ
τω
1111A
11A)(
22
2
22
2222
2
22
+
++
+−+
=1
11
A)(2
2222 sssKsY
P
PP
P
P
P
P
ττ
ωτ
ωττ
τω
+
++
−++
=
+
++
+−+
= 22222
22
2
2222 11
1A
11
1A)(
ωω
ωωτ
τωτ
ωτττ
ωτ
ωτω
sss
sK
sssKsY P
PP
P
P
P
PP
P
P
As equações obtidas pelas duas formas de expansão são iguais, sendo que a solução no
domínio do tempo é:
f(t) F(s) observaçãoSen(ωt)
22 ωω+s
senóide
e-t/τ(1/τ)
11+sτ
Cos(ωt)22 ω+s
sco-senóide
( ) ( )
+−
+=
−
)sen()cos(11
A)( 222 tteKty P
t
PP
P ωωτ ωτ
ωτωτ
τ
( )
+−
+=
−
)sen()cos(1
A)( 22 tteKty P
t
PP ωωτ ωωτ
ωττ
A representação com GNU Octave segue:
- Marcos Marcelino Mazzucco -
98
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
#GNU Octave 3.1.50;mEd 3.4.1#(C)Marcos Marcelino Mazzuccoclear all;clc;t=0:0.01:2;A=1;w=4*pi;Kp=1;tau=0.1;hold("on");plot(t,sin(w*t),"-3;entrada;");y=Kp*A/(1+tau^2*w^2)*(tau*w*exp(-t/tau)-tau*w*cos(w*t)+sin(w*t));plot(t,y,"-1;saída;");xlabel("t");ylabel("y(t)t");grid("on");
5.2.4 RESPOSTA DE UM SISTEMA DE PRIMEIRA ORDEM A UMA ENTRADA PULSO RETANGULAR DE MAGNITUDE M:
Um pulso ou impulso retangular pode ser representado como a soma de dois
degraus com mesma magnitude e sinais contrários.
x(t)=M.(S(t)-S(t-tPR))
Nesta representação um pulso de magnitude M é aplicado no tempo t=0 e
mantido até o tempo tPR. No tempo tPR a entrada x(0) é restaurada. Como a transformada
de Laplace somente é definida para t≥0 pode-se escrever:
x(t)=M.(1-S(t-tPR))
- Marcos Marcelino Mazzucco -
99
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
)e-(1MX(s) PRt- s
s=
( ) ( )
+
−+
=
+
=+
=1
1e1
1)e-(1M1
)(1
)( PRPR t-t-
ssssMK
ssKsX
sKsY
P
s
PP
s
P
P
P
P
ττττ
Aplicando a transformada inversa:
f(t) F(s) observação1-e-t/τ
)1(1
+ss τf(t-θ)S(t-θ) e-θsF(s) translação da função
no tempo
−
−−
−=
−−−
)(11)()(
PR
ttt
P ttSeeMKty P
PR
P ττ
A representação com GNU Octave segue:%program pulso_retangular_sistema_primeira_ordem#Última gravação: 06/02/2009;sexta-feira;16:00#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.#Objetivo:entrada pulso retangular em um sistema de primeira ordemclear all;function r=S(t)#Função degrau r=zeros(1,length(t)); for i=1:length(t) if t(i)>=0 r(i)=1; endif; endfor;endfunction%begin clc;clf; t=0:0.01:2; M=1; Kp=1; tau=0.1; tPR=0.5; hold("on"); xlabel("t"); ylabel("y(t)"); grid("on"); hnd=plot(t,M*(S(t)-S(t-tPR)),"-3;entrada;");set(hnd,"linewidth",2); y=M*Kp*((1-exp(-t/tau))-(1-exp(-(t-tPR)/tau)).*S(t-tPR)); plot(t,y,"-1;saída;"); hold("off"); disp("Gráfico gerado.\nFIM.");%end.
- Marcos Marcelino Mazzucco -
100
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
5.3SISTEMAS DE SEGUNDA ORDEM
Um sistema de segunda ordem é aquele descrito por uma EDO de segunda
ordem.
)()()()(012
2
2 tbxtyadt
tdyadt
tyda =++
Na forma ganho/constante de tempo:
xKydtdy
dtyd
PPP =++ ζ ττ 22
22
Onde:
ζ= zeta = amortecimento;
τ=τP= tau = constante de tempo do processo (ω=1/τP= freqüência natural
de oscilação);
KP= ganho do processo.
Sendo y e x variáveis desvio (y(0)=0; x(0)=0):
)()()(2)(22 sXKsYssYsYs PP =++ ζ ττ
A função de transferência de um processo de segunda ordem é:
- Marcos Marcelino Mazzucco -
101
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
12)()()( 22 ++
==ss
KsXsYsG
P
P
ζ ττ
No domínio do tempo, para o caso subamortecido:
f(t) F(s) observação
)1/sen(11 2/
2ζτ
ζττζ −
−− te t
121
22 ++ ss ζ ττ (0≤|ζ|<1)
)1/sen(11
)()( 2/
2ζτ
ζττζ −
−= − teK
txty t
P
O parâmetro ζ fornece uma medida do amortecimento após uma perturbação, ou
seja, uma medida da intensidade da oscilação natural da saída de um processo para uma
entrada aplicada.
De acordo com o valor de ζ, um sistema de segunda ordem é classificado como
sobre-amortecido ou super-amortecido (ζ>1), criticamente amortecido (ζ=1) ou
sub-amortecido (0≤ζ<1).
A natureza de suas raízes do polinômio no denominador na função de
transferência (equação característica) é diferente para classe:
-sobre-amortecido (ζ>1): raízes reais e distintas;
-criticamente amortecido (ζ=1): raízes reais e iguais (raízes múltiplas);
-sub-amortecido (0≤ζ<1): raízes complexas.
As raízes da equação característica (pólos) são:
τζζ
τττζζ τ 1
21442 2
2
222
1−+−
=−+−
=p
τζζ
τττζζ τ 1
21442 2
2
222
2−++
−=−−−
=p
Assim a função de transferência pode ser escrita nas formas:
))((')(
21 pspsKsG
−−=
)1)(1()(
21 ++=
ssKsG P
ττ
- Marcos Marcelino Mazzucco -
102
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
12)( 22 ++
=ss
KsG P
ζ ττ
onde:
212 τττ =
212 ττζ τ +=
ii p
1−=τ
5.3.1 RESPOSTA DE UM SISTEMA DE SEGUNDA ORDEM A UMA ENTRADA DEGRAU DE MAGNITUDE M:
x(t)=M.S(t)
))((12)(
12)(
212222 pspss
MKsM
ssKsX
ssKsY PPP
−−=
++
=++
=ζ ττζ ττ
De acordo com as raízes da equação característica três funções no domínio do tempo
serão obtidas:
a) sobre-amortecido (ζ>1): raízes reais e distintas:
∑=
−
=−−
=N
n n
nP
psc
pspssMK
121 ))((Y(s)
2
2
1
10
21 ))((Y(s)
psc
psC
sC
pspssMKP
−+
−+=
−−=
ou:
∑=
+
=++
=N
n n
nP
sc
sssMK
121 1)1)(1(Y(s)
τττ
+
++
+=++
=11)1)(1(
Y(s)2
2
1
10
21 sc
sc
scMK
sssMK
PP
ττττ
onde:
11
21
1−−
=−=ζζ
ττp
11
22
2−+
=−=ζζ
ττp
Determinando as constantes pelo método de Heaviside:
- Marcos Marcelino Mazzucco -
103
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
10 =C
21
11 ττ
τ−
−=C
21
22 ττ
τ−
=C
f(t) F(s) observaçãoS(t)
S(t)=0 para t<0 e S(t)=1 para t≥0 s1
degrau unitário
e-bt
bs +1 crescimento
exponencialtn-1e-t/τ/(τn(n-1)!)
ns )1(1+τ
++=
−−
22
110
21
)(ττ
ττtt
PeCeCCMKty
−+
−−=
−−21
21
2
21
11)( ττ
τττ
τττ
tt
P eeMKty
Como:
121−−
=ζζ
ττ
122−+
=ζζ
ττ
−+−
−−
−+
+
−+−
−−
−−−
=
−+
−
−−
−
1
22
2
1
22
2
2
2
11
1
11
11
)(
ζζ
τ
ζζ
τ
ζζτ
ζζτ
ζζτ
ζζτ
ζζτ
ζζτ
t
t
P
e
e
MKty
- Marcos Marcelino Mazzucco -
104
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
−+
+−−
−+−−
−−−−+−=
−+−
−−−
τζζ
τζζ
ζζ
ζζ
ζζζζ
ζζζζ t
t
P
e
e
MKty)1(
2
)1(
2
22
22 2
2
11
11
)1)(1(
)1()1(11)(
−+
+−−
−
−+−−−=
−−−
−−−−
1
2
1
2
2
22
2
2
11
11
12
)1)(1(1)(
ζττ
ζ
ζττ
ζ
ζζ
ζζ
ζ
ζζζζtt
tt
P
ee
ee
MKty
( ) ( )
−−+−+
−−=
−−
−−−− 1212
2
22
1112
11)(ζ
τζ
ττζ
ζζζζζ
ttt
P eeeMKty
−−
+
+
−−=
−−
−−−
−−
−−−
−
112
11
2 22
22
112
11)(ζ
τζ
τ
ζτ
ζτ
τζ
ζ
ζ
ζ tt
tt
t
P
ee
ee
eMKty
Como:
)senh(2
aee aa
=+ −
)cosh(2
aee aa
=− −
−−+−
−−=
−)1cosh(1)1senh(
111)( 222
2ζ
τζζ
τζ
ζτζ tteMKtyt
P
−+−
−−=
−)1cosh()1senh(
11)( 22
2ζ
τζ
τζζτ
ζ tteMKtyt
P
As respostas para uma perturbação degrau com diferentes valores de ζ>1 são
apresentadas a seguir. Observe que o aumento no valor de ζ provoca um aumento no
amortecimento.%program deg_sist_seg_ordem_sobre_amortec#Última gravação: 06/02/2009;sexta-feira;16:07#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.
- Marcos Marcelino Mazzucco -
105
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
#Objetivo:entrada degrau unitário em sistema de segunda ordemclear all;%begin clc; t=0:0.01:1; M=1; Kp=1; tau=0.1; clg; hold("on"); title("Sistema de segunda ordem sobre-amortecido (zeta>1)"); xlabel("t"); ylabel("y(t)"); grid; i=0; for zeta=[1.1 1.5 2 3] i++; sqrt_zeta=sqrt(zeta^2-1); arg=t/tau*sqrt_zeta; y=M*Kp*(1-exp(-zeta*t/tau).*(zeta/sqrt_zeta*sinh(arg)+cosh(arg))); plot(t,y,sprintf("-%d;%g;",i,zeta)); endfor;%end.
b) sub- amortecido (0≤ζ<1): raízes complexas.
−+−
−−=
−)1cos()1sen(
11)( 22
2ζ
τζ
τζζτ
ζ tteMKtyt
P
As respostas para uma perturbação degrau com diferentes valores de ζ (0≤ζ<1)
são apresentadas a seguir. Observe que o aumento no valor de ζ provoca um aumento
- Marcos Marcelino Mazzucco -
106
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
no amortecimento, enquanto a diminuição no valor de ζ provoca um aumento das
oscilações. Quando ζ=0 as oscilações não são amortecidas.%program deg_sist_seg_ordem_sub_amortec#Última gravação: 06/02/2009;sexta-feira;16:13#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.#Objetivo:entrada degrau unitário em sistema de segunda ordemclear all;%begin clc; t=0:0.01:3; M=1; Kp=1; tau=0.1; clf; hold("on"); title("Sistema de segunda ordem sub-amortecido (0<=zeta<1)"); vf=ones(1,length(t)); plot(t,vf,"2;valor final;"); i=0; for zeta=[0 0.2 0.4 0.6 0.9] i++; sqrt_zeta=sqrt(1-zeta^2); arg=t/tau*sqrt_zeta; y=M*Kp*(1-exp(-zeta*t/tau).*(zeta/sqrt_zeta*sin(arg)+cos(arg))); plot(t,y,sprintf("-%d;zeta=%g;",i,zeta)); endfor; xlabel("t"); ylabel("y(t)"); grid("on"); %end.
- Marcos Marcelino Mazzucco -
107
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
c) criticamente amortecido (ζ=1): raízes reais e iguais (raízes múltiplas);
∑∑+−=
−
= −+
−=
−=
N
RNnr
n
nRN
n n
nPnps
cps
cpss
MKsY11
21 )()()(
)(
22
2
1
102
1 )()()()(
psc
psc
sc
pssMKsY P
−+
−+=
−=
+−=
−τ
τ
t
etKMty 11)(
A resposta para uma perturbação degrau com ζ=1 é apresentada a seguir.
Observe que este caso é a situação limite dos casos anteriores quando ζ→1.
%program deg_sist_seg_ordem_critic_amortec#Última gravação: 06/02/2009;sexta-feira;16:20#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.#Objetivo:entrada degrau unitário em sistema de segunda ordemclear all;%begin clc; t=0:0.01:1; M=1; Kp=1; tau=0.1; zeta=1;
- Marcos Marcelino Mazzucco -
108
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
clf; hold("on"); title("Sistema de segunda ordem criticamente amortecido (zeta=1)"); xlabel("t"); ylabel("y(t)"); grid; y=M*Kp*(1-(1+t/tau).*exp(-t/tau)); plot(t,y,sprintf("-;%g;",zeta));%end.
5.3.2 CARACTERÍSTICAS DAS RESPOSTAS DE SISTEMAS DE SEGUNDA ORDEM
Sistemas de segunda ordem que são superamortecidos tornam-se mais lentos a
medida ζ aumenta. Os sistemas criticamente amortecidos são os que possuem a
resposta mais rápida possível, sem oscilação.
Os sistemas sub-amortecidos são sistemas oscilatórios que possuem as
características ilustradas a seguir:
Sobreelevação (overshoot -OS): é a razão entre a distância do pico da primeira
elevação (relativo ao valor final da saída) e o valor final da saída.
baOS =
21 ζ
π ζ
−
−
= eOSTempo de elevação (rise time): tempo (te) necessário para que o valor final da
saída seja atingido pelo primeira vez.
- Marcos Marcelino Mazzucco -
109
a
b
ca
±5%b
te
tP
tR
P
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
212 ζπ τ
−≈et
Tempo de resposta (settling time): tempo (tr) requerido para que a resposta
permaneça dentro de ±5% do valor final.
ζτ3≈rt
Tempo do primeiro pico: tempo (tp) necessário para que a resposta atinja o
primeiro valor máximo.
21 ζπ τ−
=Pt
Razão de declínio (decay ratio): razão entre as alturas dos picos sucessivos em
relação ao valor final.
acRD =
21
2
2)( ζ
π ζ
−
−
== eOSRD
Período de oscilação: tempo (P) entre dois picos sucessivos.
212
ζπ τ−
=P
A representação com GNU Octave segue:%program deg_sist_seg_ordem_sub_amortec_caracteristicas#Última gravação: 06/02/2009;sexta-feira;16:27#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.#Objetivo:entrada degrau unitário em sistema de segunda ordemclear all;%begin clc; t=0:0.01:3; M=1; Kp=1; tau=0.1; clf; title("Sistema de segunda ordem sub-amortecido (0<=zeta<1)"); vf=ones(1,length(t)); hold("on"); plot(t,vf,"2;valor final;"); zeta=[0.2] sqrt_zeta=sqrt(1-zeta^2); arg=t/tau*sqrt_zeta; y=M*Kp*(1-exp(-zeta*t/tau).*(zeta/sqrt_zeta*sin(arg)+cos(arg))); plot(t,y,sprintf("-1;zeta=%g;",i,zeta)); xlabel("t"); ylabel("y(t)"); grid("on"); OS=exp(-(pi*zeta)/sqrt_zeta)
- Marcos Marcelino Mazzucco -
110
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
#te=tau/sqrt_zeta*atan(-sqrt_zeta/zeta) te=pi*tau/(2*sqrt_zeta) plot([te],[1],"o3;te;"); tr=3*tau/zeta plot([tr],[1],"o4;tr;"); tp=pi*tau/sqrt_zeta plot([tp],[1+1*OS],"o5;tp;"); rd=OS^2 P=2*pi*tau/sqrt_zeta%end.
- Marcos Marcelino Mazzucco -
111
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
5.4SISTEMAS DE ALTA ORDEM E OUTROS ELEMENTOS DINÂMICOS
Sistemas de alta ordem ocorrem, mais comumente, através da associação em
série de sistemas de ordem 1 ou dois. Uma situação típica consiste de vários sistema de
primeira ordem em série onde cada sistema é dependente apenas da saída do anterior.
Neste caso os sistemas são ditos sem interação.
∏∏== +
==N
n n
nN
nn s
KsG11 )1(
)(G(s)τ
No caso de um sistema com N estágios de primeira ordem com constantes de
tempo individuais iguais a τ/N (constante de tempo total τ) e ganhos unitários sujeitos a
uma entrada degrau, as seguintes saídas podem ser esperadas:
N
N
nn
sN
sMsGsX
)1(
1)()(Y(s)1 +
== ∏= τ
%program deg_sist_ordem_n#Última gravação: 06/02/2009;sexta-feira;16:44#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.#Objetivo:entrada degrau unitário em sistemas de ordem nclear all; %begin clc; t=0:0.01:0.5; #t=0:0.01:1; M=1; N=5; Kp=ones(1,N); tau=ones(1,N).*0.1; clf; hold("on"); title(sprintf("Sistemas de ordem 1 à %d",N)); xlabel("t"); ylabel("y(t)"); grid("on"); for n=1:N exp_n_t_tau=exp(-n.*t/tau(n)); #exp_n_t_tau=exp(-1.*t/tau(n)); S=zeros(1,length(t)); for i=0:n-1 #S=S.+ (1.*t/tau(n)).^i./factorial(i); S=S.+ (n.*t/tau(n)).^i./factorial(i); endfor; y=M*Kp(n)*(1-exp_n_t_tau.*S); plot(t,y,sprintf("-%d;n=%g;",n, n)); set(gcf,"Color", [1 1 1]); axis ("tic[ 0.1 0.1 0.1"); printf("Desenhando curva para ordem %i\n",n); endfor; set(gca,"XTick",[0:0.1:1]);
- Marcos Marcelino Mazzucco -
112
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
set(gca,"YTick",[0:0.1:1]); set(gca,"Position" ,[ 0.1 0.1 0.8 0.8 ]); disp("Gráfico desenhado.\n FIM");%end.
No caso de N sistemas de ordem 1 com constantes de tempo individuais iguais a
τ e ganho unitário sujeitos a uma entrada degrau, as seguintes saídas podem ser
esperadas:
n
N
nn ss
MsG)1(
1)(G(s)1 +
== ∏= τ
%program deg_sist_ordem_n#Última gravação: 06/02/2009;sexta-feira;17:00#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.#Objetivo:entrada degrau unitário em sistemas de ordem nclear all;%begin clc; t=0:0.01:0.5; #t=0:0.01:1; M=1; N=5; Kp=ones(1,N); tau=ones(1,N).*0.1; clf; hold("on"); title(sprintf("Sistemas de ordem 1 à %d",N)); xlabel("t"); ylabel("y(t)");
- Marcos Marcelino Mazzucco -
113
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
grid("on"); for n=1:N #exp_n_t_tau=exp(-n.*t/tau(n)); exp_n_t_tau=exp(-1.*t/tau(n)); S=zeros(1,length(t)); for i=0:n-1 S=S.+ (1.*t/tau(n)).^i./factorial(i); #S=S.+ (n.*t/tau(n)).^i./factorial(i); endfor; y=M*Kp(n)*(1-exp_n_t_tau.*S); plot(t,y,sprintf("-%d;n=%g;",n, n)); set(gcf,"Color", [1 1 1]); axis ("tic[ 0.1 0.1 0.1"); printf("Desenhando curva para ordem %i\n",n); endfor; set(gca,"XTick",[0:0.1:1]); set(gca,"YTick",[0:0.1:1]); set(gca,"Position" ,[ 0.1 0.1 0.8 0.8 ]); disp("Gráfico desenhado.\n FIM");%end.
5.4.1 AVANÇO-RETARDO
Alguns sistemas podem conter elementos de avanço - retardo (lead-lag). Por
exemplo:
+=+ x
dtdxKy
dtdy
xττ
- Marcos Marcelino Mazzucco -
114
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
)1()1(
)()()(
1 ++
==ssK
sXsYsG x
ττ
Considerando este sistema sujeito a uma entrada degrau:
)1()1()()()(
1 ++
==ss
sKMsXsGsY x
ττ
A resposta no domínio do tempo é:
−−=
−τ
ττ t
x eKMty 11)(
%program deg_sist_prim_ordem_lead_lag#Última gravação: 06/02/2009;sexta-feira;17:12#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.#Objetivo:entrada degrau unitário em sistemas com avanço/retardoclear all;%begin clc; t=0:0.01:1; M=1; Kp=1; tau=0.1; tau_x=0.05; clf; hold("on"); i=-1; for tau_x=[-0.05:0.02:0.05]; i++;
- Marcos Marcelino Mazzucco -
115
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
y=M*Kp*(1-(1-tau_x/tau)*exp(-t/tau)); plot(t,y,sprintf("-%d;tau_x=%g;",i,tau_x)); endfor; xlabel("t"); ylabel("y(t)"); grid("on");%end.
Observe que um sistema com dinâmica no numerador, como este, responde
instantaneamente a uma perturbação degrau. Na prática este comportamento é incomum
pois a maioria dos processos exibe dinâmica de ordem maior no denominador, o que
atenua este comportamento.
5.4.2 RESPOSTA INVERSA
Considere o seguinte sistema sujeito a uma entrada degrau:
)1)(1()1(
)()()(
21 +++
==ss
sKsXsYsG x
τττ
)1)(1()1()()()(
21 +++
==sss
sKMsXsGsY x
τττ
A resposta no domínio do tempo é:
21
12
2
21
11()( ττ
ττττ
ττττ t
xt
x eeKMty−−
−−
+−−
+= )
%program deg_sist_resposta_inversa#Última gravação: 06/02/2009;sexta-feira;17:19#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Dr. Marcos Marcelino Mazzucco#Objetivo: entrada degrau unitário em sistemas com resposta inversaclear all;%begin clear all; clc; t=0:0.01:5; M=1; Kp=1; tau_1=0.4; tau_2=0.1; clf; hold("on"); i=-1; for tau_x=[-2, -1, 0 , 1, 2]; i++; y=M*Kp*(1+(tau_x-tau_1)/(tau_1-tau_2)*exp(-t/tau_1)+(tau_x-tau_2)/(tau_2-tau_1)*exp(-t/tau_2)); plot(t,y,sprintf("%d;tau_x=%g;",i,tau_x)); endfor; xlabel("t"); ylabel("y(t)"); grid("on");%end.
- Marcos Marcelino Mazzucco -
116
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Observe que neste sistema a resposta, primeiro diminui com um degrau positivo e
depois aumenta. Diz-se então que o sistema exibe resposta inversa. Um sistema que
exibe este comportamento é o PBR. Neste reator o aumento da temperatura na corrente
de entrada do reator faz com que a conversão na entrada aumente, consumindo os
reagentes que vão escoar para a saída, logo a temperatura na saída diminui. A medida
que o aumento de temperatura se propaga aumenta a taxa de reação e a temperatura
aumenta também.
5.4.3 TEMPO MORTO OU ATRASO POR TRANSPORTE
O tempo morto é caracterizado pelo atraso na resposta do sistema quando uma
entrada é efetuada. Os termos em língua inglesa para esta característica são: time delay,
dead time, transportation lag.
Considere o caso de um tubo onde se aplica uma perturbação na temperatura de
entrada. O efeito desta perturbação na saída do sistema somente será observado após
θ=td=V/v unidades de tempo. O tempo morto é uma característica importante pois impõe
dificuldades para sistemas de controle produzindo comportamentos oscilatórios e
instáveis.
- Marcos Marcelino Mazzucco -
117
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
A função de transferência de um processo com tempo morto é caracterizada pela
presença do termo stde − ou se θ− , pois esta é transformada de Laplace de um atraso da
função no tempo. Observe o exemplo a seguir:
Tempo mortox(t)
Processo:f(t)x(t-td) y(t-td)
No domínio de Laplace:
Tempo mortoX(s)
Processo: F(s)X(s)e-θs Y(s)
sesFsXsYsG θ−== )(
)()()(
Ou seja:
Processo comTempo morto
G(s)
X(s) Y(s)
O tempo morto introduz temos não racionais na função de transferência, assim
pode ser útil (para fins de racionalização) aproximá-lo através de uma expansão em série
de Taylor.
∏=
− −+=+−+−=N
n
nnns
nsssse
1
33
22
!)1(1...
!3!21 θθθθθ
Manipulando a expressão e truncando a série no primeiro termo obtém-se a
"Aproximação de Padé 1/1":
22
21
21
++−=
+
−=−
ss
s
se s
θθ
θ
θθ (dinâmica no numerador igual à do denominador)
Truncando a série no segundo termo obtém-se a "Aproximação de Padé 2/2":
126126
1221
1221
22
22
22
22
+++−=
++
+−≈ =−
ssss
ss
sse s
θθθθ
θθ
θθθ
Quanto maior o número de termos na série menor é o erro da aproximação,
contudo a resposta nunca será precisa. Este tipo de aproximação é útil quando aparecem
muitos sistemas em série, facilitando as manipulações algébricas. O próprio erro de
aproximação tende a ser diluído, pois o tempo morto tende a ser atenuado quando
submetido a sucessivas funções de transferência.
- Marcos Marcelino Mazzucco -
118
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
O exemplo a seguir apresenta o comportamento da aproximação do tempo morto
em um sistema. Quanto maior o tempo morto, relativo a uma mesma constante de tempo,
menor é o grau de aproximação do método de Padé 1/1.%program deg_sist_prim_ordem_tempo_morto#Última gravação: 06/02/2009;sexta-feira;17:32#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Dr. Marcos Marcelino Mazzucco#Objetivo: entrada degrau unitário em sistemas de prim. ordem com## tempo mortoclear all;function r=S(t)#Função degrau r=zeros(1,length(t)); for i=1:length(t) if t(i)>=0 r(i)=1; endif; endfor;endfunction%begin clc; t=0:0.001:0.3; M=1; Kp=1; tau=0.2; i=0; clf; for td=[0.01 0.05 0.1] i=i+1; subplot(3,1,i); hold("on"); title(sprintf("Sistema de primeira ordem com tempo morto=%g",td)); y=M*Kp*(1-exp(-(t-td)/tau)).*S(t-td); plot(t,y,"-b;exato;"); fracoes_parciais(M*Kp.*[-td 2],conv(conv([tau 1],[td 2]),[1 0]),"s"); [c,p,k,e]=residue(M*Kp.*[-td 2],conv(conv([tau 1],[td 2]),[1 0])); y=c(1)*exp(p(1)*t)+c(2)*exp(p(2)*t)+c(3)*exp(p(3)*t); plot(t,y,"-r;Padé 1/1;"); grid("on"); endfor%end.
- Marcos Marcelino Mazzucco -
119
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
- Marcos Marcelino Mazzucco -
120
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
5.5SISTEMAS DE ALTA ORDEM - MODELOS APROXIMADOS
Um sistema de ordem N pode ser aproximado como um sistema de ordem um ou
dois com tempo morto.
Considere o caso:
NsN
K
)1(G(s)
+=
τ
)1(G(s)
1 +≈
−
sKe s
τ
θ
; com ∑=
=N
nn
2τθ
)1)(1(G(s)
21 ++≈
−
ssKe s
ττ
θ
com ∑=
=N
nn
3τθ
Com este tipo de aproximação é possível modelar empiricamente sistemas de alta
ordem com precisão adequada ao propósito de controle de processos.%program deg_sist_ordem_n_aprox#Última gravação: 06/02/2009;sexta-feira;17:41#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.#Objetivo:entrada degrau em um sistema de segunda ordem + t. mortoclear all;function r=S(t)#Função degrau r=zeros(1,length(t)); for i=1:length(t) if t(i)>=0 r(i)=1; endif; endfor;endfunction%begin clc; t=0:0.01:1; tau=[0.1 , 0.08 , 0.06 , 0.04 , 0.02]; Kp=1; M=1; N=length(tau); clf; hold("on"); xlabel("t"); ylabel("y(t)"); %>>Sistema de ordem N d=[tau(1) , 1]; for j=2:N d=conv(d,[tau(j) , 1]); endfor; [c,p,k,e]=residue([1],conv([1 0],d)) s=zeros(1,length(t)); for i=1:N+1
- Marcos Marcelino Mazzucco -
121
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
s=s.+c(i).*exp(p(i)*t); endfor; y2=M*Kp*(s); plot(t,y2,sprintf("1;ordem %d;",N)); %>>end %>>Sistema de primeira ordem N1=1; td=sum(tau(N1+1:N)); y=M*Kp*(1-exp(-(t-td)/tau(1))).*S(t-td); plot(t,y,sprintf("2;ordem %d + tempo morto %g;",N1,td)); %>>end %>>Sistema de segunda ordem N1=2; td=sum(tau(N1+1:N)); d1=[tau(1) 1]; for j=2:N1 d1=conv(d1,[tau(j) 1]); endfor; [c1,p1,k1,e1]=residue([1],conv([1 0],d1)); s1=zeros(1,length(t)); for i=1:N1+1 s1=s1.+c1(i).*exp(p1(i)*(t-td)); endfor; y=M*Kp*(s1).*S(t-td); tau_1_exp=tau(1)*exp(-1*(t-td)/tau(1)); tau_2_exp=tau(2)*exp(-1*(t-td)/tau(2)); #y=M*Kp*(1-1/(tau(1)-tau(2))*(tau_1_exp-tau_2_exp)).*S(t-td); plot(t,y,sprintf("3;ordem %d + tempo morto %g;",N1,td)); %>>end grid("on");axis([0,1,-0.1,1]);%end.
- Marcos Marcelino Mazzucco -
122
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
5.6PÓLOS E ZEROS
Considere o sistema dado pela seguinte função de transferência:
)12)(1()()()(
222
21 +++==
ssssK
sXsYsG P
ζ τττ
para 10 <≤ ζ a função pode ser escrita como:
)1
)(1
)(1)(0()()()(
2
2
22
2
21
−+−
−+−−
−−−
==
τζ
τζ
τζ
τζ
τjsjsss
KsXsYsG P
Na equação anterior estão representados os pólos da função de transferência. Lembre-
se, os pólos são as raízes da função característica. Este sistema possui um pólo nulo, um
pólo real e dois pólos complexos conjugados. A representação gráfica dos quatro pólos é:
2τζ−
2
21τ
ζ−−
2
21τ
ζ−+
1
1τ
−(0,0) eixo real
eixo
imag
inár
io
III
III IV
X
X
X X
Apesar do gráfico anterior possuir pouca aplicação prática, a partir dele podem ser
obtidas informações importantes:
- Um pólo nos quadrantes I e IV (semi-plano direito) indica que o modo de
resposta contém et/τ , ou seja, quanto maior o valor de t maior o valor da saída. Se num
sistema este termo predominar uma saída ilimitada será gerada para uma entrada
- Marcos Marcelino Mazzucco -
123
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
degrau, logo o sistema é instável. Isto significa que a saída crescerá ao infinito de forma
exponencial, ou na forma oscilatória com amplitude crescente.
- Um pólo nos quadrantes II e III (semi-plano esquerdo) indica que o modo de
resposta contém funções seno e co-seno e exibirá oscilatória com amplitude amortecida.
- A presença de pólos que sejam complexos conjugados indica que a resposta
será formada por funções seno e co-seno, logo exibirá modo oscilatório;
- Um pólo na origem indica a presença de elementos integradores.
5.7EXERCÍCIOS
1. Faça os modelos e determine as funções de transferência para os sistemas a seguir.
As válvulas 1, 2 e 3 apresentam resistências ao escoamento diferentes e os tanques
apresentam dimensões diferentes. Obtenha modelos genéricos e teste-os para diferentes
configurações.
a. F1
h1
D1
F2
F3
h2
D2
2
1
- Marcos Marcelino Mazzucco -
124
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
b. F1
h1
D1
F2 F3
h2
D2
21
c. F1
h1
D1
1 F2
h2
D2
F3
F4
h3
D3
3
2
2.(ENADE 2005) Diversos sistemas físicos amortecidos encontrados em engenharia
podem ter seu comportamento expresso por meio de equações diferenciais ordinárias
não-homogêneas de segunda ordem. A resolução desse tipo de equação envolve a
- Marcos Marcelino Mazzucco -
125
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
obtenção da resposta yh(t) da equação diferencial homogênea associada, que expressa
o comportamento do sistema livre de excitações externas, e a obtenção de uma solução
particular yp(t) da equação não-homogênea. A soma de yp(t) e yh(t) fornece a solução
geral da equação não-homogênea. A resposta livre permite identificar a freqüência das
oscilações amortecidas ( f ) e a constante de amortecimento (k) do sistema. Considere
que a resposta livre de um sistema seja dada pela função yh(t) = 5e-kt cos(2πf t), cujo
gráfico está ilustrado na figura a seguir.
A freqüência (inverso do período) das oscilações amortecidas do sistema cuja resposta
livre está apresentada no texto é igual a:
(A) 0,1 Hz.
(B) 0,15 Hz.
(C) π rad/s.
(D) 10 rad/s.
(E) 10 Hz.
UESTÃO 20
Considere que yp(t) = 5sen(100t) seja a solução particular da equação diferencial que
representa o comportamento dinâmico do sistema cuja resposta livre está apresentada
no texto. Assinale a opção que melhor esboça o gráfico da resposta completa do referido
sistema, após transcorrido um minuto (t > 60 s).
(A)
- Marcos Marcelino Mazzucco -
126
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
(B)
(C)
(D)
(E)
3.(ENADE 2008) Alguns tipos de balança utilizam, em seu funcionamento, a relação entre o
peso P e a deformação elástica que ele provoca em uma mola de constante elástica K, ou seja,
P=K x δ (Lei de Hooke). Ao se colocar certa mercadoria no prato de uma balança desse tipo, a
deformação δ não ocorre instantaneamente. Existe um movimento transiente que depende de
outro parâmetro: o nível de amortecimento no mecanismo da balança, dado pelo parâmetro
adimensional ζ , denominado fator de amortecimento. O movimento transiente, a partir do
instante em que a mercadoria é colocada no prato da balança, pode ser descrito por 3 equações
diferentes (e tem comportamentos diferentes), conforme o valor de ζ.
- Marcos Marcelino Mazzucco -
127
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Com base nessas informações, conclui-se que a balança
indica o valor da massa mais rapidamente quando
(A) ζ< 0.
(B) ζ= 0.
(C) 0 < ζ< 1.
(D) ζ= 1.
(E) ζ> 1.
- Marcos Marcelino Mazzucco -
128
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
6 IDENTIFICAÇÃO DE SISTEMAS
- Marcos Marcelino Mazzucco -
129
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
6.1 INTRODUÇÃO
A modelagem empírica de sistemas encontra grande aplicação na representação
de processos químicos. Os ditos modelos "caixa preta" podem ser apresentados nos
estado estacionário ou transiente. A calibração de instrumentos é um exemplo de
modelos estáticos (em estado estacionário), enquanto os modelos obtidos nos capítulos
anteriores são modelos dinâmicos (em estado transiente).
Para a modelagem empírica dinâmica são empregados modelos de primeira e
segunda ordem com tempo morto, de forma que um pequeno conjunto de parâmetros
incorpore as informações mais importantes do processo. É claro que o modelo será
restrito a uma pequena faixa da saída do processo e que esta faixa torna-se mais estreita
quanto mais o modelo real for diferente do modelo proposto.
Neste capítulo estudaremos as técnicas mais comuns para identificação de
sistemas através de modelos empíricos e dados experimentais. Estas técnicas são
extremamente úteis no desenvolvimento de modelos para o ajuste de controladores.
6.2OBTENÇÃO DE MODELOS POR REGRESSÃO
A partir de dados que representem a saída de um processo, conforme um modelo
preestabelecido é possível caracterizar um processo a partir de regressão linear e não
linear.
A regressão linear é um método estatístico que determina quais são os
coeficientes de uma reta que melhor representam um conjunto de dados. Trata-se de um
método de ajuste baseado na minimização do quadrado do desvio entre um dado e uma
reta intermediária. Este método é chamado método dos mínimos quadrados linearizado.
As equações que representam este método são:
y=ax+b
( ) ( )
( )2
11
2
111
−
−
=
∑∑
∑∑∑N
n
N
n
N
n
N
n
N
nn
xx
yxyxNa
N
- Marcos Marcelino Mazzucco -
130
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
( ) ( ) ( )
( )2
11
2
111
2
1
−
−
=
∑∑
∑∑∑∑N
n
N
n
N
nn
N
n
N
n
N
n
xx
yxxxyb
N
Onde N= Número de pares [x ; y].
A medida da qualidade do ajuste é realizada através do coeficiente de correlação (R), o
qual atesta a melhor qualidade do ajuste quando assume valores próximos de –1 ou +1:
( ) ( )
( ) ( )2
11
22
11
2
111
.
−
−
−
=
∑∑∑∑
∑∑∑N
n
N
n
N
n
N
n
N
n
N
n
N
nn
yyxx
yxyxNR
NN
Considere o exemplo de um conjunto transdutor de temperatura que apresenta uma
resposta em tensão U equivalente a uma temperatura T. Encontre a relação T=f(U) para
o seguinte conjunto de dados:
U (Volts) Temperatura (°C)1 0 -92 1 213 2 384 3 625 4 766 5 93
O programa a seguir pode ser escrito em qualquer linguagem de programação
para realizar o ajuste linear sobre um conjunto de dados.%program regressao_linear#Última gravação: 06/02/2009;sexta-feira;17:59#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.clear all;function r=calc_a(x,y) NDados=length(x); soma_x_y=0; soma_x=0; soma_y=0; soma_x_2=0; for i=1:NDados soma_x_y=soma_x_y+x(i)*y(i); soma_x=soma_x+x(i); soma_y=soma_y+y(i); soma_x_2=soma_x_2+ x(i)^2; endfor; soma_2_x=soma_x^2; r=(NDados*soma_x_y-soma_x*soma_y)/(NDados*soma_x_2-soma_2_x);endfunction;
- Marcos Marcelino Mazzucco -
131
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
function r=calc_b(x,y); NDados=length(x); soma_x_y=0; soma_x=0; soma_y=0; soma_x_2=0; for i=1:NDados soma_x_y=soma_x_y+x(i)*y(i); soma_x=soma_x+x(i); soma_y=soma_y+y(i); soma_x_2=soma_x_2+ x(i)^2; endfor; soma_2_x=soma_x^2; r=(soma_y*soma_x_2-soma_x*soma_x_y)/(NDados*soma_x_2-soma_2_x);endfunction;function r=calc_R(x,y) NDados=length(x); soma_x_y=0; soma_x=0; soma_y=0; soma_x_2=0; soma_y_2=0; for i=1:NDados soma_x_y=soma_x_y+x(i)*y(i); soma_x=soma_x+x(i); soma_y=soma_y+y(i); soma_x_2=soma_x_2+ x(i)^2; soma_y_2=soma_y_2+y(i)^2; endfor; soma_2_x=soma_x^2; soma_2_y=soma_y^2; r=(NDados*soma_x_y-soma_x*soma_y)/((NDados*soma_x_2-soma_2_x)^(1/2)*(NDados*soma_y_2-soma_2_y)^(1/2));endfunction;%begin clc; x(1)=0;y(1)=-9; x(2)=1;y(2)=21; x(3)=2;y(3)=38; x(4)=3;y(4)=62; x(5)=4;y(5)=76; x(6)=5;y(6)=93; a=calc_a(x,y); b=calc_b(x,y); R=calc_R(x,y); printf("T=%g*U+%g com R=%g\n",a,b,R); printf("U T T*\n"); for i=1:length(x) y_novo(i)=a*x(i)+b; printf("%g %g %g\n",x(i),y(i),y_novo(i)); endfor; clf; plot(x,y,"o1;y;"); hold("on"); xlabel("Tensão(V)"); ylabel("T(°C)"); plot(x,y_novo,"1;y*;"); fflush(stdout); grid("on");%end.
- Marcos Marcelino Mazzucco -
132
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
De fato, o ajuste por regressão linear simples é uma tarefa básica para qualquer
software de matemática. O próprio GNU Octave (e Matlab) possui uma forma imediata
para realizar ajuste linear, a partir de dados armazenados em vetores:
xaay 10* =
- Marcos Marcelino Mazzucco -
133
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
1
11
2
1
2
1
⋮⋮⋮
nn x
xx
ba
y
yy
=
%program regressao_linear_2#regressão linear#Software: GNU Octave 3.1.50;mEd 3.4.1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X * C = Y% |x1 1 | |a| |y1|% |x2 1 |*|b|=|y2|% |x3 1 | |y3|% |x4 1 | |y4|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear all;%begin clc; x(1)=0;y(1)=-9; x(2)=1;y(2)=21; x(3)=2;y(3)=38; x(4)=3;y(4)=62; x(5)=4;y(5)=76; x(6)=5;y(6)=93; X=[x',ones(length(x),1)]; Y=y';#vetor coluna C=[X\Y] a=C(1); b=C(2); printf("T=%g*U+%g\n",a,b); y_novo=X*C; clf; hold("on"); title("Y=X*C");grid; xlabel("Tensão(V)"); ylabel("T(°C)"); plot(x,y,"o1;y;",x,y_novo,"1;y*;");%end
- Marcos Marcelino Mazzucco -
134
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Ou ainda:%program regressao_linear_3#Software: GNU Octave 3.1.50;mEd 3.4.1clear all;%begin clc; x(1)=0;y(1)=-9; x(2)=1;y(2)=21; x(3)=2;y(3)=38; x(4)=3;y(4)=62; x(5)=4;y(5)=76; x(6)=5;y(6)=93; [C,y_novo]=polyfit(x,y,1); a=C(1); b=C(2); printf("T=%g*U+%g\n",a,b); clf; hold("on"); title("T=f(U)");grid; xlabel("Tensão(V)"); ylabel("T(°C)"); plot(x,y,"o8;y;",x,y_novo,"8;y*;");%end.
Na forma matricial é igualmente simples realizar o ajuste linear múltiplo:%program ajuste_linear_multiplo%Autor:Marcos M. Mazzucco%Objetivo: Determinar a0, a1 e a2 para y= a0 + a1*x1 + a2*x2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X * C = Y% |1 x11 x21| |a0| |y1|% |1 x12 x22|*|a1|=|y2|% |1 x13 x23| |a2| |y3|
- Marcos Marcelino Mazzucco -
135
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
% |1 x14 x24| |y4|% |1 x15 x25| |y5|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear;%begin clc;clf; X=[ 1 3 2 5 3 7 4 9 5 11];%Dados X X=[ones(5,1),X];%Dados X Y=[6 ; 8 ; 10 ; 12 ; 14]; C=[X\Y] title(sprintf('y=(%g)x1+(%g)x2+(%g)',C)); plot3(X(:,1),X(:,2),Y,"*;dados;",X(:,1),X(:,2),X*C,"-;ajuste;"); R2=corrcoef(Y,X*C) xlabel("x"); ylabel("y"); zlabel("z"); grid("on");%end
- Marcos Marcelino Mazzucco -
136
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
A partir de regressão não-linear é possível ajustar um modelo dinâmico a um
conjunto de dados. Considere os seguintes dados:
amostra t(min) y(t)1 0 02 5 0,00393473 10 0,00632124 15 0,00776875 20 0,00864666 25 0,00917927 30 0,00950218 35 0,0096989 40 0,0098168
10 45 0,009888911 50 0,009932612 55 0,009959113 60 0,0099752
Estes dados representam um sistema de primeira ordem com ganho 0,1, constante de
tempo 10, sujeito a uma entrada degrau de magnitude 0,1.
O Modelo de um sistema linear de primeira ordem é:
)()( txeKty P
t
P
P τ
τ
−
=
O Modelo de um sistema linear de primeira ordem sujeito a uma entrada degrau é:
)1()( P
t
P eMKty τ−
−=
Para os dados anteriores, o ajuste através do método dos mínimos quadrados com GNU
Octave utilizando a subrotina leasqr(...) fica:%program ajuste_min_quad#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.clear all;%uses addpath('C:\Arquivos de programas\Octave\share\octave\packages\optim-1.0.0');function r=S(t)#Função degrau r=zeros(1,length(t)); for i=1:length(t) if t(i)>=0 r(i)=1; endif; endfor;endfunctionfunction r=sinal_aleatorio(n) r=ones(n,1); for i=1:length(r) r(i)=rand;
- Marcos Marcelino Mazzucco -
137
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
if r(i)>0.5 r(i)=+1; else r(i)=-1; endif; endforendfunctionfunction y=primeira_ordem(x,p)#Sistema global M; K=p(1); tau=p(2); t=x; y=K*M*(1-exp(-t/tau));endfunction%var global verbose=1; global M=0.1;%begin #t=0:5:60;t=t'; #y=primeira_ordem(t,[0.1,10]);y=y'; clc;clf; %>>dados t=[0 5 10 15 20 25 30 35 40 45 50 55 60]; t=t';#vetor coluna y=[0 0.0039347 0.0063212 0.0077687 0.0086466 0.0091792 ... 0.0095021 0.009698 0.0098168 0.0098889 0.0099326 0.0099591 0.0099752]; y=y';#vetor coluna %>>adicionar ruído aos dados; #ruido=5/100; ruido=0.1; y=y+sinal_aleatorio(13).*ruido.*y; %end; %end; %>>ajuste pelo método dos mínimos quadrados F = "primeira_ordem"; pin= [1 ; 1];#valores iniciais [y1,p,kvg1,iter,corp,covp,covr,stdresid,Z,r2] =leasqr(t, y, pin, F);#mín q. %end; %>>resposta printf("O modelo do sistema é: y(t)=%g/%g*exp(-t/%g)\n",... p(1),p(2),p(2)); printf("O coeficiente de correlação R2 é :%g\n",r2); plot(t,y,"*;Dados;",t,y1,"-;Ajuste;"); xlabel("t") ;ylabel("y(t)"); grid("on"); %end;%end.
- Marcos Marcelino Mazzucco -
138
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
O modelo do sistema fica:
1101,0
)()(
+=
ssXsY
- Marcos Marcelino Mazzucco -
139
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
6.3OBTENÇÃO DE MODELOS POR ANÁLISE GRÁFICA
Os métodos gráficos são muito utilizados por permitirem o uso da sensibilidade do
experimentador na análise dos dados. A partir de perturbações degrau os modelos mais
utilizados são o de primeira ordem, primeira ordem+tempo morto, segunda ordem e
segunda ordem +tempo morto.
6.3.1 MODELOS DE PRIMEIRA ORDEM
Os dados obtidos a partir de uma perturbação degrau são conhecidos como curva
de reação(ou resposta) do processo. Como já vimos, a resposta de um sistema de
primeira ordem atinge 63,2% de seu valor final quando é decorrido um intervalo de tempo
igual a constante de tempo. A partir disto podemos identificar o sistema.
Neste caso o valor final é :yf=0,01;
Quando y=0,632yf; t=τ;
Assim τ=10 quando y=0,00632
O ganho estático do sistema é:
0
0
xxyy
Kf
f
−−
=
Numa perturbação degrau xf-x0=M
- Marcos Marcelino Mazzucco -
140
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
K=0,01/0.1
K=0,1
Então o modelo do sistema é:
1101,0
)()(
+=
ssXsY
A análise gráfica torna-se mais difícil quando os dados experimentais contêm
ruídos, pois a identificação dos pontos não é tão simples. Observe o caso do exemplo
anterior quando é adicionado ruído aleatório:
Observe que é necessário desenhar uma curva intermediária pois os valores possuem,
neste caso, um ruído de ±10% do valor medido, o que torna difícil identificar a constante
de tempo e o ganho. Os ruídos podem ser originários de fontes diversas desde o
processo até a instrumentação. Quando o ruído possui características aleatórias a curva
média pode ser utilizada como um filtro. Quando apresenta características como
oscilações periódicas os dados podem ser filtrados desde que conhecida a freqüência da
oscilação. Porém quando o ruído provoca o deslocamento linear da curva de resposta, o
resultado da análise dos dados pode ser comprometida, pois, normalmente, este caso
não percebido pelo experimentador.
É importante lembrar que uma perturbação degrau nem sempre é realizável em
um processo. Considere o caso onde a entrada do processo é dada pelo fluxo de massa
- Marcos Marcelino Mazzucco -
141
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
(variável ) de uma bomba. Neste equipamento perturbações degrau não podem ser
aplicadas pois para uma mudança requerida, a bomba reagirá, como uma rampa, e
portanto os dados não podem ser analisados desta forma.
O programa do GNU Octave usado para gerar os gráficos anteriores é:%program analise_grafica_sist_prim_ordem#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.clear all;function r=sinal_aleatorio(n) r=ones(n,1); for i=1:length(r) r(i)=rand; if r(i)>0.5 r(i)=+1; else r(i)=-1; endif; endforendfunction%begin clc;clf; %>>dados t=[0 5 10 15 20 25 30 35 40 45 50 55 60]; t=t';#vetor coluna y=[0 0.0039347 0.0063212 0.0077687 0.0086466 0.0091792 ... 0.0095021 0.009698 0.0098168 0.0098889 0.0099326 0.0099591 0.0099752]; plot(t,y,"-;Dados sem ruído;"); hold("on") y=y';#vetor coluna %>>adicionar ruído aos dados; ruido=10/100; y=y+sinal_aleatorio(13).*ruido.*y; %end; %end; %>>Gráfico plot(t,y,"*;Dados;"); plt=plot([0,10,10],[0.00632,0.00632,0],"-r;63,2%;"); set(plt,"linewidth",2); xlabel("t") ;ylabel("y(t)"); grid("on"); %end;%end.
6.3.2 MODELOS DE PRIMEIRA ORDEM + TEMPO MORTO E O MÉTODO DE SUNDARESAN E KRISHNAWAMY
Modelos de primeira ordem + tempo morto podem ser utilizados para representar
dinâmicas de ordem maior que 1. O método da tangente ao ponto de inflexão da curva de
resposta pode ser utilizado para determinar o tempo morto e a constante de tempo de um
processo. Porém como este método é dependente de apenas um ponto, ele pode ser
melhorado pelo método de Sundaresan e Krishnawamy onde os tempos de resposta
quando a saída evolui 35,3% e 85,3% são utilizados para determinar a constante de
tempo e o tempo morto:
%3,85%3,35 29,03,1 tt −=θ
- Marcos Marcelino Mazzucco -
142
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
)(67,0 %3,35%3,85 tt −=τ
No gráfico a seguir:
106,0%3,35 =t
315,0%3,85 =t
O programa GNU Octave usado no caso anterior é:%program deg_sist_ordem_2_aprox_ordem_1_tm_sund_krish#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.clear all;%begin clc; clf; t=0:0.02:1; M=1; %>>ganho e contantes de tempo do processo Kp=1;
- Marcos Marcelino Mazzucco -
143
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
tau=[0.1 , 0.08];#O N° de const. de tempo define a ordem do processo N=length(tau); %end; %>>gerar dados de um sistema de ordem N d=[tau(1) , 1]; for j=2:N d=conv(d,[tau(j) , 1]); endfor; [c,p,k,e]=residue([1],conv([1 0],d)); s=zeros(1,length(t)); for i=1:N+1 s=s.+c(i).*exp(p(i)*t); endfor; y=M*Kp*(s); %end; %>>resposta plot(t,y,"*;dados;"); hold("on"); grid("on"); plot([0 , 1],[0.353*y(length(y)) , 0.353*y(length(y))],"-r;35,3%;"); plot([0 , 1],[0.853*y(length(y)) , 0.853*y(length(y))],"-b;85,3%;"); for j=1:length(y) if y(j)>0.353*y(end) t353=(t(j-1)+t(j))/2; break; endif; endfor; for k=j:length(y) if y(k)>0.853*y(end) t853=(t(k-1)+t(k))/2; break; endif; endfor; tau=0.67*(t853-t353) teta=1.3*t353-0.29*t853 K=y(end)-y(1)/M printf("O modelo do sistema é: y(t)=%1.4g/%1.4g*exp(-(t-%1.4g)/%1.4g)*S(t-%1.4g)\n", K, tau, teta, tau, teta); %end;%end.
A solução via regressão não linear é:
- Marcos Marcelino Mazzucco -
144
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
O programa GNU Octave usado no caso anterior é:%program deg_sist_ordem_2_aprox_ordem_1_tm#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.clear all;%uses addpath('C:\Arquivos de programas\Octave\share\octave\packages\optim-1.0.0');function r=S(t)#Função degrau r=zeros(length(t),1); for i=1:length(t) if t(i)>=0 r(i)=1; endif; endfor;endfunctionfunction y=primeira_ordem(x,p)#Sistema global M; K=p(1); tau=p(2); t=x; td=p(3); y=K*M*(1-exp(-(t-td)/tau)).*S(t-td);endfunction%var global verbose=1; global M=1;%begin clc; clf; t=0:0.02:1; %>>ganho e contantes de tempo do processo Kp=1;
- Marcos Marcelino Mazzucco -
145
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
tau=[0.1 , 0.08];#O N° de const. de tempo define a ordem do processo N=length(tau); %end; %>>gerar dados de um sistema de ordem N d=[tau(1) , 1]; for j=2:N d=conv(d,[tau(j) , 1]); endfor; [c,p,k,e]=residue([1],conv([1 0],d)) s=zeros(1,length(t)); for i=1:N+1 s=s.+c(i).*exp(p(i)*t); endfor; y=M*Kp*(s); %end; %>>ajuste pelo método dos mínimos quadrados F = "primeira_ordem"; pin= [1 ; 1 ; 0];#valores iniciais [y1,p,kvg1,iter,corp,covp,covr,stdresid,Z,r2] =leasqr(t', y', pin, F); fflush(stdout); %end; clc; %>>resposta printf("O modelo do sistema é: y(t)=%1.4g/%1.4g*exp(-(t-%1.4g)/%1.4g)*S(t-%1.4g)\n",p(1),p(2),p(3),p(2),p(3)); hold("on"); grid("on"); plot([0 , 1],[0.353*y(length(y)) , 0.353*y(length(y))],"-r;;"); plot([0 , 1],[0.853*y(length(y)) , 0.853*y(length(y))],"-b;;"); format("long"); p, R2=corrcoef(y,y1), %end;%end.
Para facilitar a aplicação do método de Sundaresan e Krishnawamy durante o
desenvolvimento deste texto foi desenvolvida a subrotina sundaresan_krishnawami(...),
anexo 1, que possui a seguinte sintaxe:[K, tau, teta, t353,t853]=sundaresan_krishnawami(t,y,mag_deg,str);
Os parâmetros t e y devem conter os dados coletados a partir de uma perturbação
degrau no sistema em estudo, mag_deg é a magnitude da perturbação degrau aplicada.
O parâmetro str é opcional, caso este acumular o texto “s” será mostrada a função no
domínio de Laplace. Não esqueça que na representação de um texto (string), este deve
estar entre aspas.
O código a seguir utiliza as subrotinas gerar_dados(...) e
sundaresan_krishnawami(...). São necessárias também as subrotinas primeira_ordem(...)
e degrau_unitario(...) para a geração dos dados. Todas as subrotinas estão no anexo 1.%program deg_sist_ordem_2_aprox_ordem_1_tm_com_sub_sund_krish#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.clear all;%begin clc; clf; t=0:0.01:1; M=1; %>>ganho e contantes de tempo do processo Kp=1; tau=[0.1 , 0.08];
- Marcos Marcelino Mazzucco -
146
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
N=length(tau);#O N° de const. de tempo define a ordem do processo %end; y=gerar_dados(t,M,Kp,tau,0); %>>resposta [K, tau, teta, t353,t853]=sundaresan_krishnawami(t,y,M,"s"); y_po_tm=primeira_ordem(t,M,K, tau, teta); plot(t,y,"*;dados;"); hold("on"); grid("on"); plot(t,y_po_tm,"-r;primeira ordem + tempo morto;"); %end;%end.A figura a seguir foi gerada pelo gráfico anterior.
6.3.3 MODELOS DE SEGUNDA ORDEM + TEMPO MORTO
Os métodos gráficos de Harriott e Smith e o método de regressão não-linear
produzem bons resultados na aproximação de um modelo de segunda ordem a dados
experimentais. Em qualquer experimento a curva de resposta deve ser obtida até que a
saída se aproxime do estado estacionário, de forma que não ocorra a "confusão
numérica" entre os valores do ganho e da(s) constante(s) de tempo. O ajuste de funções
sobre dados sempre requer a análise final por parte do experimentador. Uma boa forma
de realizar esta análise é graficar os dados reais de y(t) contra os dados calculados a
- Marcos Marcelino Mazzucco -
147
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
partir da equação de ajuste determinada. Deste cruzamento de informações resulta o
coeficiente de correlação.
Um exemplo de solução pelo método de regressão não-linear segue: %program deg_sist_ordem_n_aprox_ordem_2_tm#GNU Octave 3.1.50; mEd 3.4.1#(c) Marcos Marcelino Mazzuccoclear all;function r=S(t)#Função degrau r=zeros(length(t),1); for i=1:length(t) if t(i)>=0 r(i)=1; endif; endfor;endfunctionfunction y=segunda_ordem(x,p)#Sistema global M; K=p(1); tau(1)=p(2); tau(2)=p(3); t=x; td=p(4); N1=2; d1=[tau(1) 1]; for j=2:N1 d1=conv(d1,[tau(j) 1]); endfor; [c1,p1,k1,e1]=residue([1],conv([1 0],d1)); s1=zeros(length(t),1); for i=1:N1+1 s1=s1.+c1(i).*exp(p1(i)*(t-td)); endfor; y=M*K*(s1).*S(t-td);endfunctionfunction r=sinal_aleatorio(n) r=ones(1,n); for i=1:length(r) r(i)=rand; if r(i)>0.5 r(i)=+1; else r(i)=-1; endif; endforendfunction%var global verbose=1;%begin clc; %>>magnitude do degrau; global M=1; t=0:0.02:1; %>>ganho e contantes de tempo do processo tau=[0.1 , 0.08, 0.06, 0.04, 0.02]; Kp=1; N=length(tau); %end; %>>gerar dados de um sistema de ordem N d=[tau(1) , 1]; for j=2:N d=conv(d,[tau(j) , 1]);
- Marcos Marcelino Mazzucco -
148
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
endfor; [c,p,k,e]=residue([1],conv([1 0],d)); s=zeros(1,length(t)); for i=1:N+1 s=s.+c(i).*exp(p(i)*t); endfor; y=M*Kp*(s); %>>adicionar ruído aleatório; #ruido=0; ruido=5/100; y=y+sinal_aleatorio(length(t)).*ruido.*y; %end; %end; %>>ajuste pelo método dos mínimos quadrados F = "segunda_ordem"; pin= [1 ; 0.1 ; 1; 0];#valores iniciais figure(1);clf; [y1,p,kvg1,iter,corp,covp,covr,stdresid,Z,r2] =leasqr(t', y', pin, F); ylabel("y");xlabel("t"); grid("on"); %end; %>>resposta #O gráfico é gerado pela sub. leasqr(...) quando verbose=1 clc; p, r2, %end; figure(2);clf; %>>análise do resultado %>>normalizar os dados no intervalo 0..1 max_y=max(y);min_y=min(y); y_normalizado=(y.-min_y)./(max_y.-min_y); y1_normalizado=(y1.-min_y)./(max_y.-min_y); %end; %>>gráfico do resultado plot(y_normalizado,y1_normalizado,"*;;"); hold("on"); grid("on"); title("escala normalizada no intervalo 0..1"); ylabel("y_calculado");xlabel("y_real"); plot([0 ,1],[0 ,1],"-r;;");#reta y=x %end; %end;%end.
- Marcos Marcelino Mazzucco -
149
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Introduzindo 5% de ruído:
- Marcos Marcelino Mazzucco -
150
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
- Marcos Marcelino Mazzucco -
151
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Observe que, mesmo com a adição de 5% do valor de saída na forma de ruído
aleatório, o resultado do ajuste pelo método dos mínimos quadrados foi, praticamente, o
mesmo. Assim, ainda que o método seja dependente dos valores iniciais dos parâmetros,
a solução obtida é muito boa. Qualquer método de otimização não-linear pode ser
utilizado para realizar o ajuste. O método de Powel também apresenta-se como uma boa
opção. Observe também que no gráfico y_calculado x y_real, em coordenadas
normalizadas, o ajuste é tanto melhor quanto mais os pontos se aproximam da reta y=x.
- Marcos Marcelino Mazzucco -
152
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
7 CONTROLE FEEDBACK
- Marcos Marcelino Mazzucco -
153
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
7.1 INTRODUÇÃO
A idéia básica que envolve controle de processos é a medição de uma variável do
processo para manipulação de alguma quantidade que alimente o processo em relação a
algum valor de referência (set point). Para isto existem duas estratégias básicas. A
primeira, o controle feedback ou controle por realimentação, constitui a forma mais
utilizada de controle de processos. Fato este justificado pela extensão e simplicidade de
acoplamento aos mais variados processos. Contudo em casos específicos uma segunda
estratégia, o controle feedforward, constitui-se importante e não é raro apresentarem-se
soluções onde estão envolvidas as duas formas de controle.
ProcessoxP(t) yP(t)
Controlador
xC(t)
Elemento finalde controle
Elemento demedição
x(t)
yC(t)
Referência
Exemplo: Controle feedforward
ProcessoxP(t) yP(t)
Controlador
xC(t)
Elemento finalde controle
Elemento demedição
x(t)
yC(t)
Referência
Exemplo: Controle feedback.
O próprio conceito de controle está baseado na natureza do fluxo de informação
para geração da ação a ser tomada. Assim, o controle é dito em malha aberta quando
apenas uma entrada (referência) é fornecida ao controlador. É dito em malha fechada quando, ao menos duas informações são alimentadas ao controlador (referência e
alguma informação do processo). Considere como exemplo uma resistência utilizada
para aquecer água: se apenas a potência da resistência é indicada para realizar o
- Marcos Marcelino Mazzucco -
154
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
aquecimento sem nenhuma medida da temperatura da água o sistema está em malha
aberta. Se a temperatura desejada é indicada e a temperatura da água é medida e as
duas são utilizadas para ajustar a potência da resistência o sistema é dito em malha
fechada.
ProcessoxP(t) yP(t)
Controlador(variador de
potência)
xC(t)
Elemento finalde controle(resistência)
x(t)
yC(t)
Potência
Exemplo: Controle em malha aberta
ProcessoxP(t) yP(t)
Controlador(variador de
potência)
xC(t)
Elemento finalde controle(resistência)
x(t)
yC(t)
Elemento demedição
detemperatura
Temperaturadesejada
Exemplo: Controle em malha fechada
Neste capítulo serão tratadas duas estratégias de controle feedback em malha
fechada, a mais simples, controle ON/OFF, e a mais popular que corresponde ao controle
em três modos: proporcional, integral e derivativo.
7.2CONTROLADORES FEEDBACK
O princípio do controle feedback é estabelecer o desvio, e(t), entre uma variável
de saída de um processo, y(t), e um valor de referência (set point), ySP. E, a partir deste
desvio, manipular uma variável de forma que e(t) seja o menor possível. Assim podemos
distinguir duas variáveis essenciais a variável medida e a variável manipulada.
- Marcos Marcelino Mazzucco -
155
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
O controlador feedback mais utilizado é o controlador composto por três modos de
controle baseados na medida de e(t), nos valores históricos (acumulados) de e(t) e na
tendência de e(t). Este controlador, denominado PID (proporcional-integral-derivativo),
pode se resumir a um dos três modos ou associá-los, fato que lhe confere extensa
aplicação. Este controlador é capaz de lidar com os dois tipos de perturbações típicas:
mudanças no set point e perturbações carga (entrada). Estas perturbações podem ser
dos tipos sustentada (degrau) e não sustentada (pulso retangular).
7.2.1 CONTROLE PROPORCIONAL
É a forma mais simples de controle contemplando a idéia: se um desvio do valor
requerido se apresenta então uma ação em proporção a este pode ser tomada desde que
seja estabelecida uma proporcionalidade. Então, seja e(t)= r(t)-y(t), onde r(t) é o valor da
referência (set point):
yC(t)=yCS+KCe(t)
Onde:
yCS= valor da saída do controlador quando a saída do processo está em
estado estacionário.
yC(t)= valor da saída do controlador em um tempo t
KC= ganho do controlador
Na forma de variável desvio:
y'C(t)=KCe(t), onde y'C(t) é a variação na ação de controle.
No domínio de Laplace:
Y'C(s)=KCE(s)
A função de transferência do controlador proporcional é:
CC
C KsEsY
sG ==)()('
)(
Observe que nas equações apresentadas (inclusive função de transferência) não
aparecem restrições físicas para yC(t) e, conseqüentemente, y'C(t), o que indica que a
saída do controlador pode ser ilimitada. Na prática a saída é limitada e diz-se que esta
fica saturada quando os limites máximo e mínimo de controle são atingidos, ou seja:
saturadasaída
saturadasaída
→=<=<<
→=>
CminCCminC
CCCminCcmax
CmaxCCmaxC
y(t)y:y(t) ySe(t)y(t)y:y(t)y ySe
y(t)y:y(t) ySe
Como controladores de propósito geral, normalmente, apresentam a mesma
unidade para e(t) e y(t) (V, mA, psi por exemplo), KC é adimensional e em alguns
- Marcos Marcelino Mazzucco -
156
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
equipamentos é representado na forma de banda proporcional (PB) que é definida como:
PB=100/KC.
Quando KC possui sinal positivo o controlador é dito de ação direta e quando
possui sinal negativo o controlador é dito de ação reversa.
Controladores que apresentam, apenas, modo proporcional não possuem a
capacidade de eliminar erros em estado estacionário para mudanças de set point ou em
perturbações sustentadas sem intervenção manual para o ajuste de yCS. Os desvios de
controle no estado estacionário são denominados offset.
Quando KC é muito elevado, obtém-se o controle de duas posições ou controle
bang-bang que é conhecido como controle ON-OFF. Com elevado valor de KC para
qualquer entrada a saída do controlador torna-se saturada. A expressão para o controle
torna-se:
saturadasaídasaturadasaída
→=<→=≥
CminC
CmaxC
y(t)y:0e(t) Sey(t)y:0e(t) Se
Se elementos finais como válvulas solenóides são utilizadas este controlador é suficiente,
porém para válvulas proporcionais, por exemplo, além do controle resultar em oscilação
cíclica da saída, resulta também num desgaste prematuro dos elementos mecânicos
desta.
7.2.2 CONTROLE INTEGRAL
Este modo de controle incorpora a integral do erro ao longo do tempo sendo
também conhecido como reset control ou floating control por sua capacidade de
eliminar offset.
∫+=t
ICSC dtteyty
0)(1)(
τ
Onde:
τI= Tempo Integral, tempo de reset ou constante integrativa.
Na forma de variável desvio:
∫=t
IC dttety
0)(1)('
τ , onde y'C(t) é a variação na ação de controle.
No domínio de Laplace:
ssEsY
IC τ
)()(' =
- Marcos Marcelino Mazzucco -
157
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
A função de transferência do controlador proporcional é:
ssEsY
sGI
CC τ
1)()('
)( ==
7.2.3 CONTROLE PROPORCIONAL E INTEGRAL
Contudo, apesar da capacidade do controlador Integral de eliminar offset, este
modo de controle reage lentamente à perturbações e então é associado ao controle
proporcional para formar o controlador proporcional-integral (PI):
++= ∫
t
ICCSC dtteteKyty
0)(1)()(
τ
+=
+==
ssK
sK
sEsY
sGI
IC
IC
CC τ
ττ
111)()('
)(
Uma desvantagem do controle integral é que quando e(t) permanece por tempo
suficiente para que a saída do controlador esteja saturada (reset windup ou integral
windup), o valor da integral continua a crescer mesmo após a saturação do elemento final
de controle, o que induz a resposta do sistema a grandes sobrelevações(overshoot).
+
-
+-
Para corrigir este efeito, sistemas de controle comerciais incluem um mecanismo anti-
reset windup ou batch unit, que consiste em desligar o modo integral quando a saída do
controlador satura e restaurar o modo quando a saída não estiver saturada.
Cuidado o modo integral introduz elementos de instabilidade no sistema.
- Marcos Marcelino Mazzucco -
158
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
7.2.4 CONTROLE DERIVATIVO
Também chamado de controle antecipatório este modo considera a tendência de
e(t) ao longo do tempo com o intuito de "prever" o comportamento futuro do sistema.
dttdeyty DCSC)()( τ+=
Onde:
τD= Tempo derivativo.
Na forma de variável desvio:
dttdety DC)()(' τ= , onde y'C(t) é a variação na ação de controle.
No domínio de Laplace:
)()(' ssEsY Dτ=
A função de transferência do controlador derivativo é:
ssEsY
sG DC
C τ==)()('
)(
Quando e(t) torna-se constante, a derivada de e(t) torna-se nula e desta forma o
uso exclusivo este modo de controle produz offset. Para que possa ser implementado
este método deve ser associado aos modos proporcional ou integral. Desta forma, os
controladores PD e PID são obtidos.
( )sKsEsY
sG DCC
C τ+== 1)()('
)( Controlador PD
7.2.5 CONTROLE PROPORCIONAL, INTEGRAL E DERIVATIVO
A junção dos três modos de controle produz o controlador PID:
++=
++==
sssKs
sK
sEsY
sGI
IIDCD
IC
CC τ
τττττ
111)()('
)(2
No domínio do tempo:
+++= ∫ dt
tdedtteteKyty D
t
ICCSC
)()(1)()(0
ττ
Observe que no estado estacionário de/dt=0 e que no instante em uma mudança
de set point é requerida de/dt assume um alto valor ([ySP1-y(0)- ySP2+y(t+∆t)]/∆t) e a seguir,
novamente um valor baixo ([ySP2-y(t+∆t)- ySP2+y(t+2∆t)]/∆t). Este fenômeno é chamado
- Marcos Marcelino Mazzucco -
159
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
derivative kick e resulta num incremento instantâneo e alto na saída do controlador. Para
remover este efeito a equação pode ser rescrita como:
+++= ∫ dt
tdydtteteKyty D
t
ICCSC
)()(1)()(0
ττ
Esta equação também pode ser escrita como:
dttdyKdtteKteKyty D
t
ICPCSC)()()()(
0+++= ∫ (para eliminar derivative kick)
Com:
KCP=KI
KI=KC/τI
KD=KCτD
Observe que o controlador PID apresentado não é fisicamente realizável, pois o
grau do polinômio no numerador é maior que o do denominador. Por isto esta forma é
chamada de PID ideal. Comercialmente, a seguinte forma é utilizada:
+
+
+==
111
)()('
)(s
ss
sKsEsY
sGD
D
I
IC
CC α τ
ττ
τ Controlador PID real
Seeborg, et al (1989) indicam que α assume valores entre 0,05 e 0,2.
O uso dos três modos de controle está ligado a características como:
- Tolerância a offset;
- Ruídos e erros de medição;
- Presença de tempo morto acentuado;
Se em um processo não é tolerado offset e a presença de ruídos não é relevante e existe
tempo morto acentuado observa-se que o controle PID é o mais adequado. Na prática,
em sistemas para controle de fluxo, nível, temperatura e composição, onde não tolera-se
offset, o uso de controladores PI é, em geral, adequado. Contudo, o uso de controladores
PID é típico de sistemas de controle de temperatura, sendo incomum em controle de
fluxo e pouco utilizado em controle de nível, pressão e composição.
7.3PID DIGITAL
Quando trabalhamos com sistemas de controle digital, ao invés de contínuos, são
requeridas interfaces ADC(analog-to-digital converter) e DAC(digital-to-analog converter)
para manusear as informações. A entrada do controlador é sujeita a uma freqüência de
- Marcos Marcelino Mazzucco -
160
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
amostragem que equivale a pulsos de dados. Da mesma forma a saída do controlador é
aplicada em pulsos e deve ser convertida para uma forma contínua se o elemento final
requerer um sinal analógico.
Discretizando a equação do controlador PID obtém-se a forma da posição:
( )
−
∆+∆++= −
=∑ 1
1nn
Dn
kk
InCCSCn ee
teteKyy τ
τ
Derivando a equação anterior obtém-se a forma da velocidade do controlador PID:
( )
+−
∆+∆+−=−=∆ −−−− 2111 2 nnn
Dn
InnCCnCnCn eee
teteeKyyy τ
τ
CnCnCn yyy ∆+= − 1
A forma da velocidade não pode ser utilizada sem o modo integral, pois nesta forma os
modos proporcional e derivativo não incluem o set point resultando em controle em malha
aberta.
7.4CODIFICANDO UM CONTROLADOR PID NO GNU OCTAVE
No GNU Octave a codificação de um controlador PID pode ser realizada através
da subrotina tf(...) da mesma forma que qualquer outra função de transferência. A seguir
está uma subrotina genérica para geração de controladores da família do PID.#Última gravação: 10/02/2009;terça-feira;09:33#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.#Objetivo:FT de um Controlador PID#Uso:[GC]=PID([KC,tau_I,tau_D],alfa)function [GC]=PID(p,alfa) KC=p(1);tau_I=p(2);tau_D=p(3), if length(p)==1 %>>Controlador P GC=tf(KC,1,0,"XC","YC");#P %end; elseif length(p)==2 %>>Controlador PI GC=tf(KC*[tau_I , 1],[tau_I , 0],0,"XC","YC");#PI %end; elseif length(p)==3 %>>Controlador PID if nargin==1 alfa=0.05; endif; GC=tf(KC*[tau_D*tau_I, (tau_I+tau_D), 1],[alfa*tau_I*tau_D, tau_I, 0],0,"XC","YC"); %>>end endif;endfunction;
- Marcos Marcelino Mazzucco -
161
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
A próxima figura apresenta as linhas de código para criar um controlador PID com
Kc=10, τI=0,1 e τD=0,01. A subrotina sysout(...) foi usada para exibir a função de
transferência.
7.5RESPOSTA DE UM PROCESSO A UM CONTROLADOR PIDQuando sistemas de controle feedback são sujeitos a perturbações carga ou
mudanças no set point respondem conforme os modos proporcional, integral e derivativo,
os quais devem ser ajustados de forma a produzir um comportamento ótimo. Quando um
processo em malha aberta é submetido a uma perturbação na carga do tipo degrau sua
saída evolui para um novo estado estacionário. Neste caso podemos considerar que um
controlador P com ganho (KC) 0 foi utilizado. Com o modo de controle proporcional (KC≠0)
a saída não é reconduzida ao estado estacionário original, mantendo-se um offset.
Aumentando-se o valor de KC a curva resposta tende a tornar-se menos alongada,
resultando em oscilações e até instabilidade. O modo integral elimina o offset porém
introduz um comportamento oscilatório. Quanto menor o valor de τI mais rápida é a
resposta do controlador e menos informações históricas do processo são utilizadas. Isto
significa que a curva de resposta do sistema também será mais rápida. O aumento de τI
resulta em uma curva de resposta mais alongada. O modo derivativo diminui as
oscilações e o tempo de resposta, complementando os anteriores. Valores de τD
elevados podem amplificar ruídos resultando em controle de má qualidade. Assim τD é
- Marcos Marcelino Mazzucco -
162
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
mantido em baixos valores e em muitos casos é eliminado mantendo-se apenas os
modos PI.
7.6COMPORTAMENTO DINÂMICO DE SISTEMAS DE CONTROLE FEEDBACK
A resposta dinâmica de sistemas com controle feedback está vinculada a todos os
elementos dinâmicos que compõem uma malha de controle. Entende-se tais elementos
como: processo, perturbação, elemento de medição, elemento final de controle,
controlador e outros elementos. A interação entre as partes fica mais visível em um
diagrama de blocos, a partir do qual torna-se mais fácil a determinação da função de
transferência global do processo.
7.6.1 DIAGRAMA DE BLOCOS
Vamos considerar um diagrama de blocos que contenha os elementos básicos
que compõem um processo. Para isto vamos utilizar como exemplo o tanque de estoque
de líquido descrito anteriormente. Para completar este exemplo vamos incluir os
elementos com compõem a malha de controle: um transmissor de nível (LT), um
transdutor P/I para obtermos um sinal em corrente na faixa de 4-20mA , um controlador
que gera um sinal de saída na faixa de 4-20mA, um transdutor I/P para a obtenção de um
sinal pneumático na faixa de 3-15psig e uma válvula de controle.
F1
F2
LT
Controlador
I/P
P/I
set point
Controle de nível
- Marcos Marcelino Mazzucco -
163
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Desenvolveremos os modelos matemáticos para cada um dos elementos mencionados e
a seguir comporemos o diagrama de blocos com todas as informações.
Transmissor de nível:Os transmissores de nível podem ser baseados em diversos métodos.
Normalmente são baseados nas medidas de pressão e altura. Quando utilizam
diafragma, respondem como sistemas de segunda ordem. Quando utilizam bóias
respondem como sistemas de primeira ordem. Vamos utilizar o caso mais
simples, pois para este caso não haverá diferença:
)('1
)(' sXs
KsY LTLT
LTLT +
=τ
Processos químicos apresentam dinâmicas, tipicamente, lentas resultado de
elevadas constantes de tempo. Desta forma, podemos considerar a dinâmica do
transmissor de nível como negligenciável, fazendo τLT≅0. Assim:
)(')(' sXKsY LTLTLT =
Onde KLT= ganho do elemento de medição.
LTLT
LTLT K
sXsYsG ==
)(')(')(
O ganho do LT é a relação entre a faixa de saída do elemento (span da saída) e a
faixa de entrada deste (span da entrada).
KLT=(15-3)/(xLTmax-xLTmin)= [psig/m]
xLT(m)
y LT
(psi
g)
xLTmin xLTmax
3
15
zero span
- Marcos Marcelino Mazzucco -
164
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Por exemplo se o LT pode medir de 0-6m e gera uma saída de 3-15psig:
KLT=(15-3)/(6-0)=2psig/m.
Transdutor P/I:
Estes transdutores são equipamentos produzidos em série, os quais podem ter
ajustados o zero e o span.
xP/I(psig)
y P/I
(mA
)
3 15
4
20
zero span
A equação de saída é yP/I=KP/I(xP/I-3)+4
Na forma de variável desvio:
y'P/I=KP/Ix'P/I
No domínio de Laplace:
Y'P/I(s)=KP/IX'P/I(s)
IPIP
IPIP K
XYG /
/
// '
'==
KP/I=(20-4)/(15-3)=4/3=[mA/psig]
Controlador:Considerando um controlador PI:
+==
ssK
sEsY
sGI
IC
CC τ
τ 1)()('
)(
Observe que E(s)=Y'SP(s)-Y'P/I(s) e que KC é adimensional para que o controlador
possa ser genérico. Desta forma é necessário transformar o valor do set point,
- Marcos Marcelino Mazzucco -
165
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
que é alimentado em unidades de engenharia (°C, m, psig), em unidades de
corrente. Isto pode ser feito utilizando a relação entre as quantidades:
ySP=KSP(xSP-xSPmin)+4
Em variáveis desvio:
y'SP=KSPx'SP
No domínio de Laplace:
Y'SP(s)=KSPX'SP(s)
onde KSP=(20-4)/(xSPmax- xSPmin)=[mA/m]
KSP= KLTKP/I
xSP(m)
y SP
(mA
)
xSPmin xSPmax
4
20
zero span
Transdutor I/P:
Da mesma forma que os transdutores P/I, estes equipamentos são produzidos em
série, os quais podem ter ajustados o zero e o span.
- Marcos Marcelino Mazzucco -
166
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
xI/P(mA)
y I/P
(psi
g)
4 20
3
15
zero span
A equação de saída é: yI/P=KI/P(xI/P-4)+3
Na forma de variável desvio:
y'I/P=KI/Px'I/PNo domínio de Laplace:
Y'I/P(s)=KI/PX'I/P(s)
PIPI
PIPI K
sXsYsG /
/
// )('
)(')( ==
KI/P=(15-3)/(20-4) =3/4=[psig/mA]
Válvula pneumática:Apesar das válvulas, comumente, exibirem comportamento não linear, para
condições de operação em torno de um ponto, modelos de primeira ordem são
satisfatórios. Assim:
1)(')(')(
+==
sK
sXsYsG
V
V
V
VV τ
Novamente, se assumirmos que a dinâmica da válvula é negligenciável (τV=0):
VV
VV K
sXsYsG ==
)(')(')(
Onde KV=[m3/min/psig], por exemplo
Tanque:
- Marcos Marcelino Mazzucco -
167
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Balanço de Massa Global no interior do tanque:
21 vv −=dtdhA ; com A= πD2/4
Em variáveis desvio:
21' v'v' −=
dtdhA
No domínio de Laplace:
AsH'(s)=V'1(s) - V'2(s)
ssV
AssV
AsH )('1)('1)(' 21 −=
Para obter as funções de transferência que relacionem a saída da função de
transferência, H(s), com as duas entradas desta, V1(s) e V2(s), observamos que V2
é a variável manipulada e V1 é a variável sujeita a perturbações (disturbance) ou
variável de carga (load). As funções de transferência para o tanque ficam:
AssVsHsGL
1)(')(')(
1
1 ==
sK
AssVsHsG P
P =−== 1)(')(')(
2
2
)(')(')(' 21 sHsHsH += ou seja, )(')()(')()(' 21 sVsGsVsGsH PL +=
O diagrama de blocos para este exemplo é:
- Marcos Marcelino Mazzucco -
168
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
GP
GL
GV
GI/P
GC
GLT
GP/I
GSP
set point [m]
[mA]
[m]
[psig][m
A]
[mA]
[mA]
[psig][m
3/min]
[m] [m
][m
3/min]
[m]
-
++
+Y
’SPX
’SP
Y’P/I
X’C
Y’C
Y’I/P
Y’V
H’2 H
’1
H’
V’1V
’2
X’LT
Y’LT
X’P/I
Diagrama de blocos básico
O diagrama de blocos também pode ser expresso na forma alternativa:
- Marcos Marcelino Mazzucco -
169
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
G*L =G
L /GP
GV
GI/P
GC
GLT
GP/I
GS
Pset point [m
][m
A]
[m]
[psig][m
A]
[mA]
[mA]
[psig][m
3/min]
[m3/m
in]
[m]
-
++
+
Y’S
PX’SP
Y’P/I
X’CY
’CY’I/P
Y’V
V’3
H’
V’1
V’2
X’LTY’LT
X’P/I
GP
[m3/m
in]
Diagrama de blocos alternativo
Observe que a entrada de uma função de transferência, para a maior parte das funções,
corresponde a saída da anterior e portanto estas possuem a mesma unidade. Também
nos somadores as unidades devem ser mantidas. Neste diagrama de blocos podemos
distinguir dois ramos: o ramo direto (que vai de X'C até H') e o ramo de realimentação (que vai de H' até Y'P/I). Com as funções de transferência individuais, podemos obter a
- Marcos Marcelino Mazzucco -
170
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
função de transferência em malha fechada relacionando H'(s) a Y'SP(s) ou H'(s) a Y'L(s).
Para obter estas expressões é necessário conhecer os dois tipos de problemas que
surgem em controle feedback, são aqueles que envolvem mudanças de set point,
conhecidos como problema servo e aqueles que envolvem perturbações na carga,
conhecidos como problema regulador.
7.6.1.1 Problema Servo
Vamos continuar o exemplo anterior de forma a obter a função de transferência
em malha fechada para um sistema de controle que seja capaz de operar sobre
mudanças de set point. Como visto anteriormente, nas propriedades das funções de
transferência, uma série de funções pode ser substituída por uma função equivalente ao
produto das funções individuais.
)(')(')(' 21 sHsHsH +=
No problema servo:
0)('0)(' 11 =→= sHsV ou seja, não há perturbação na carga.
Então:
)(')(' 2 sHsH =
)(')()(' 22 sVsGsH P=
Como V'2(s)=Y'V(s):
VVV
VV K
sXsV
sXsYsG ===
)(')('
)(')(')( 2
)(')()('2 sXsGsV VV=
Assim:
)(')()()('2 sXsGsGsH VVP=
Como X'V(s)=Y'I/P(s):
PIPI
V
PI
PIPI K
sXsX
sXsYsG /
//
// )('
)(')(')(')( ===
)(')()(' // sXsGsX PIPIV =
Assim:
)(')()()(' //2 sXsGsGsV PIPIV=
Como X'I/P(s)=Y'C(s):
- Marcos Marcelino Mazzucco -
171
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
+===
ssK
sEsX
sEsY
sGI
IC
PICC τ
τ 1)(
)(')()('
)( /
)()()(' / sEsGsX CPI =
Assim:
)()()()()(' /2 sEsGsGsGsV CPIV=
Como E(s)=Y'SP(s)-Y'P/I(s):
Y'SP(s)=KSPX'SP(s)
Para o ramo de realimentação:
LTLT
LTLT K
sXsYsG ==
)(')(')(
IPIP
IPIP K
sXsYsG /
/
// )('
)(')( ==
)(')()()(' // sHsGsGsY IPLTIP =
Assim:
)(')()( - / sHsGsG(s)X'KE(s) IPLTSPSP=
Então:
( ))(')()( - )()()()(' //2 sHsGsG(s)X'KsGsGsGsV IPLTSPSPCPIV=
Finalmente:
( ))(')()( - )()()()()(' // sHsGsG(s)X'KsGsGsGsGsH IPLTSPSPCPIVP=
( ) )()()()()()()()()()(1)(' /// (s)X'KsGsGsGsGsGsGsGsGsGsGsH SPSPCPIVPIPLTCPIVP =+
( ))()()()()( )(1)()()( )()('
//
/
sGsGsGsGsGsGsGsGsGsGK
(s)X'sH
IPLTPVPIC
PVPICSP
SP +=
)()()()()( )(1)()()( )()('
//
//
sGsGsGsGsGsGsGsGsGsGKK
(s)X'sH
IPLTPVPIC
PVPICLTIP
SP +=
IPLTP
VPII
IC
PVPI
I
ICLTIP
SP KKs
KKK
ss
K
sK
KKs
sKKK
(s)X'sH
//
//
11
1)('
++
+
=
ττ
ττ
- Marcos Marcelino Mazzucco -
172
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
( )OLIOLI
IOL
I
IOL
I
IOL
I
IOL
I
IOL
SP KsKssK
ss
K
ss
K
sss
K
sss
K
(s)X'sH
+++
=
++
+
=
++
+
=ττ
τ
ττ
ττ
τττ
τ
2
2
2 111
1
1 11
11)('
( )1
11)('2
2
++
+=
+++
=ss
K
sKsKs
sK(s)X'sH
IOL
I
I
OLIOLI
IOL
SP ττ
τττ
τ
121
1
1)('22
2 +++
=++
+=
sss
ssK
s(s)X'sH I
IOL
I
I
SP ζ τττ
ττ
τ (Controle PI, problema servo)
111)('
+=
sK
(s)X'sH
OL
SP (Controle P, problema servo)
7.6.1.2 Problema Regulador
Vamos continuar este exemplo de forma a obter a função de transferência em
malha fechada para um sistema de controle que seja capaz de operar sobre perturbações
na carga. Utilizando novamente as propriedades das associações das funções de
transferência:
)(')(')(' 21 sHsHsH +=
)(')()(')()(' 12 sVsGsVsGsH LP +=
Como:
)(')()(' 11 sVsGsH L=
)(')()(' 22 sVsGsH P=
Resolvendo H'2(s):
Como V'2(s)=Y'V(s):
VVV
VV K
sXsV
sXsYsG ===
)(')('
)(')(')( 2
)(')()('2 sXsGsV VV=
Assim:
)(')()()('2 sXsGsGsH VVP=
- Marcos Marcelino Mazzucco -
173
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Como X'V(s)=Y'I/P(s):
PIPI
V
PI
PIPI K
sXsX
sXsYsG /
//
// )('
)(')(')(')( ===
)(')()(' // sXsGsX PIPIV =
Assim:
)(')()()(' //2 sXsGsGsV PIPIV=
Como X'I/P(s)=Y'C(s):
+===
ssK
sEsX
sEsY
sGI
IC
PICC τ
τ 1)(
)(')()('
)( /
)()()(' / sEsGsX CPI =
Assim:
)()()()()(' /2 sEsGsGsGsV CPIV=
Como E(s)=Y'SP(s)-Y'P/I(s):
No problema regulador:
0)('0)(' =→= sYsX SPSP ou seja, o set point é fixo.
Assim:
E(s)=0-Y'P/I(s)
Para o ramo de realimentação:
LTLT
LTLT K
sXsYsG ==
)(')(')(
IPIP
IPIP K
sXsYsG /
/
// )('
)(')( ==
)(')()()(' // sHsGsGsY IPLTIP =
Assim:
)(')()(- 0 / sHsGsGE(s) IPLT=
Então:
( ))(')()(-0)()()()(' //2 sHsGsGsGsGsGsV IPLTCPIV=
Finalmente, para H'2(s):
( ))(')()(-)()()()()(' //2 sHsGsGsGsGsGsGsH IPLTCPIVP=
Finalmente:
( )
+=
)(')()(-)()()()()(')(
)('//
1
sHsGsGsGsGsGsGsVsG
sHIPLTCPIVP
L
- Marcos Marcelino Mazzucco -
174
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
)(')()(')()()()()()()(' 1// sVsGsHsGsGsGsGsGsGsH LIPLTCPIVP =+
)()()()()()(1)(
)(')('
//1 sGsGsGsGsGsGsG
sVsH
IPLTCPIVP
L
+=
OLIOLI
IL
I
IOL
L
I
IOL
L
KsKssK
ss
K
sK
sss
K
sK
(s)V'sH
++=
++
=
++
=ττ
τ
ττ
ττ 2
21 111 11
)('
1
)('2
2
1 ++=
ssK
sKK
(s)V'sH
IOL
I
OL
IL
ττ
τ
(controle PI, problema regulador)
11)('
1 +=
sK
KK
(s)V'sH
OL
OL
L
(controle P, problema regulador)
7.6.2 OBTENÇÃO DA FUNÇÃO DE TRANSFERÊNCIA EM MALHA FECHADA
Observe os produtos das funções que compõem as duas funções de transferência
obtidas:
)()()()()( )(1)()()( )()('
//
//
sGsGsGsGsGsGsGsGsGsGKK
(s)X'sH
IPLTPVPIC
PVPICLTIP
SP +=
)()()()()()(1)(
)(')('
//1 sGsGsGsGsGsGsG
sVsH
IPLTCPIVP
L
+=
- Nos dois casos o produto das funções no denominador é o mesmo, contendo o produto
de todas as funções de transferência desde o somador, onde é alimentado o set point,
até o início do ramo de realimentação. Este produto é chamado função de transferência
em malha aberta (open-loop transfer function) e é representado como GOL(s).
- O numerador, por sua vez, é dado pelo produto de todas as funções de transferência
entre a saída e a entrada relacionadas.
- Marcos Marcelino Mazzucco -
175
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
OL
PVPICLTIP
SP GsGsGsGsGKK
(s)X'sH
+=
1)()()( )()(' //
OL
L
GsG
sVsH
+=
1)(
)(')('
1
- O termo "1 +..." no denominador surge em função da realimentação negativa. Em caso
de realimentação positiva surge o termo "1 -...".
7.6.3 EXERCÍCIO
Obtenha as funções de transferência para os problemas servo e regulador no exemplo
anterior utilizando um controlador PID. Preencha a tabela a seguir com as funções
obtidas com os controladores P, PI e PID.
Problema Controlador Função de transferência
P
Servo PI
PID
P
Regulador PI
PID
7.6.4 RESPOSTA DE UM SISTEMA AOS CONTROLADORES P E PI Compare, a seguir, os comportamentos dos dois controladores (P, PI) frente aos
problemas servo e regulador.
- Marcos Marcelino Mazzucco -
176
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Observe que, como a função de transferência do conjunto possui elementos
integradores (1/s), a aplicação do teorema do valor final indica que não há offset para
entradas no set point (servo), somente na carga (regulador):
(s)X's
K
sH SP
OL
111)('
+=
(Controle P, problema servo)
11
111lim
0=
+→ ssK
s
OL
soffset=1-1=0
(s)V's
K
sKK
sH
OL
OL
L
1
11)('
+= (controle P, problema regulador)
01
11lim =
+→ ssK
KK
s
OL
OL
L
osoffset=KL/KOL-0=1/0,2=5
Problema: regulador.
- Marcos Marcelino Mazzucco -
177
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Problema: servo.
- Marcos Marcelino Mazzucco -
178
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
%program controle_PI_tanque#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco#Obs.: Com GNU Octave 2.1.50 ou menor use tf2sys() ao invés de tf()clear all;%begin clc;fflush(stdout); %>>Ganho %>>Transmissor de Nível(Elemento de medição); KLT=(15-3)/(6-0); %>>Transdutor P/I; KPI=(20-4)/(15-3); %>>Transdutor I/P; KIP=(15-3)/(20-4); %>>Válvula pneumática (elemento final); KV=0.1/1;#=(m^3/min)/psig ; válvula linear %>>Processo A=1;#m^2 %>>variável de saída (manipulada); KP=-1/A;#m^-2 %>>variável de entrada (Carga); KL=1/A;#m^-2 %end; %end; %>>magnitude do degrau; M=+1; %>>controlador P ou PI %>>KC; KC=-10; %>>tau_I; tau_I=0.1; %>>end;
- Marcos Marcelino Mazzucco -
179
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
%>>selecionar problema servo ou regulador problema="servo"; #problema="regulador"; %end; KOL=KLT*KPI*KC*KIP*KV*KP;#Ganho em malha aberta clf; printf("==================Problema %s==================\n",problema) %>>resposta em malha fechada if strcmp(problema,"regulador") %>>Problema regulador com controlador PI, printf("======[Com controlador PI]=======\n"); KC, tau_I, %>>função de transferência H1=tf(M*[KL*tau_I/KOL 0],[tau_I/KOL tau_I 1],0,"V1","H"); %>>tau; tau=sqrt(tau_I/KOL) %>>zeta; zeta=tau_I/(2*tau) %>>end; %>>perturbação degrau [y1,t1]=step(H1); plot(t1,y1,"-b;Controlador PI;") grid("on");hold("on"); ylabel("y(t)"); xlabel("t");title("Problema regulador"); sysout(H1,"tf"); %>>end; %>>Problema regulador com controlador P printf("======[Com controlador P]=======\n"); KC, %>>função de transferência; H1=tf(M*[KL/KOL],[1/KOL 1],0,"V1","H"); %>>perturbação degrau; [y2,t2]=step(H1); plot(t2,y2,"-+r;Controlador P;") sysout(H1,"tf"); %>>end; elseif strcmp(problema,"servo") %>>Problema servo com controlador PI, printf("======[Com controlador PI]=======\n"); KC, tau_I, %>>função de transferência H1=tf(M*[tau_I 1],[tau_I/KOL tau_I 1],0,"SP","H"); %>>tau; tau=sqrt(tau_I/KOL) %>>zeta; zeta=tau_I/(2*tau) %end; %>>perturbação degrau; [y1,t1]=step(H1); plot(t1,y1,"-b;Controlador PI;") grid("on");hold("on"); ylabel("y(t)"); xlabel("t");title("Problema servo"); sysout(H1,"tf"); %end; %>>Problema servo com controlador P printf("======[Com controlador P]=======\n"); KC, %>>função de transferência; H1=tf(M*[1],[1/KOL 1],0,"SP","H"); %>>perturbação degrau; [y2,t2]=step(H1); plot(t2,y2,"-+r;Controlador P;") sysout(H1,"tf"); %end; endif;
- Marcos Marcelino Mazzucco -
180
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
%end;%end.
7.6.5 DIAGRAMA DE BLOCOS COM GNU OCTAVE
Devemos reconhecer que a construção de diagramas de bloco através de
comandos no GNU Octave não é trivial. Contudo, este fato não reduz a importância da
ferramenta. Um dica importante é desenhar um esboço do diagrama e em seguida
estudar uma forma de obtê-lo utilizando as subrotinas sysgroup(), sysconect(), sysscale(),
sysdup(), sysadd(), syssub(), sysprune(), sysmult() e outras que são úteis neste
desenvolvimento. Para isto é necessário conhecer a proposta de cada subrotina, alguns
detalhes do funcionamento e também utilizar a criatividade para conectar de forma lógica
(e não visual) os blocos. Para a construção de sistemas complexos, com freqüência é
necessária a adição de blocos extra para a construção do diagrama do problema.
Infelizmente não existe a visualização gráfica dos agrupamentos e apenas a função de
transferência final pode ser visualizada (na forma de texto).
Para facilitar a composição dos blocos no código GNU Octave, com o uso do
editor MED 3.x, é possível utilizar o Identificador Estrutural Personalizado (IEP) %>> para
organizar as linhas de código de cada bloco. Isto permite a identificação rápida dos
blocos e facilita a localização das funções de transferência inclusive na forma gráfica.
Veja o exemplo abaixo: %>>ft Controlador KC=-1; tau_I=1E-1; controlador="pi"; GC=tf(KC*[tau_I , 1],[tau_I , 0],0,"XC","YC");#PI GSP=tf([KLT*KPI],[0 1],0,"SP","YSP"); %end;
Em cada função de transferência é opcional a identificação da(s) entrada(s) e
saída(s). Esta opção auxilia bastante a conexão dos blocos e possibilita a conferência
das conexões. Nas ligações em série, utilizando sysmult(), para que os nomes das
entradas e saídas mantenham-se a partir dos blocos originais é necessário que o
primeiro parâmetro enviado seja a função de transferência do último bloco e que o último
parâmetro enviado seja a função de transferência do primeiro bloco. É claro que a ordem
da multiplicação não altera a função de transferência do conjunto, além do que os nomes
podem ser alterados após a multiplicação. É importante observar que para utilizar a
subrotina sysmult() é necessário que, ao menos, uma das equações características das
funções de transferência (denominador) seja de ordem maior que zero. Além disso, para
operar, nesta subrotina, duas funções de ordem zero é necessário que, na passagem dos
- Marcos Marcelino Mazzucco -
181
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
parâmetros, entre os dois primeiros parâmetros haja, ao menos, uma equação de ordem
maior que zero. Veja o exemplo:#GP é de ordem maior que zero; GV e GIP são de ordem zero (ganho puro)#É possível conectar sistemas em série de duas formas:#1) Usando agrupamento GD=sysgroup(GIP,GV,GP); GD=sysconnect(GD,1,2); GD=sysconnect(GD,2,3); GD=sysprune(GD,[3],[1]);#2) Multiplicando os blocos GD=sysmult(GV,GP,GIP); GD.inname{1}="X_IP"; GD.outname{1}="Y_P";
Observe o exemplo a seguir e os resultados que dele decorrem e veja duas
formas de construir o diagrama de blocos. No caso da perturbação no set point (servo) foi
utilizada a subrotina feedback(...) para construir a realimentação. No caso da perturbação
na carga (regulador) o diagrama não pôde ser construído desta forma. Após o código do
programa, observe também a interface de MED 3.4.1 com árvore gerada pelo uso dos
IEP (%>>).%program controle_PI_tanque_blocos#Última gravação: 10/02/2009;terça-feira;10:08#Software:GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzuccoclear all;%begin clc; fflush(stdout); clf; %>>ft Transmissor de Nível(Elemento de medição) KLT=(15-3)/(6-0); GLT=tf([KLT],[0 , 1],0,"Y","YLT"); %end; %>>ft Transdutor P/I KPI=(20-4)/(15-3); GPI=tf([KPI],[0 , 1],0,"YLT","YP/I"); %end; %>>ft Controlador KC=-1; tau_I=1E-1; %>>PI controlador="pi"; GC=PID([KC,tau_I]); %end; %>>P# controlador="p";# GC=PID([KC]); %end; GSP=tf([KLT*KPI],[0 1],0,"SP","YSP"); %end; %>>ft Transdutor I/P KIP=(15-3)/(20-4); GIP=tf([KIP],[0 , 1],0,"YC","YI/P"); %end; %>>ft Válvula pneumática (elemento final) KV=0.1/1;#=(m3/min)/psig ; válvula linear GV=tf([KV],[0 , 1],0,"YI/P","V2");
- Marcos Marcelino Mazzucco -
182
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
%end; %>>ft Processo A=1; KP=-1/A; GP=tf([KP],[1 , 0],0,"V2","Y2"); %end; %>>ft Processo (carga) KL=1/A; GL=tf([KL],[1 , 0],0,"V1","Y1"); %end; %>>magnitude do degrau; M=+1; %>>problema %>>servo; #problema="servo"; %>>regulador; problema="regulador"; %end; disp("::>conectando blocos em série no ramo direto...");fflush(stdout); %>>GD GD=sysmult(GP,GV,GIP,GC); GD.inname{1}="YSP-YP/I"; GD.outname{1}="Y1"; %>>end; disp("::>conectando blocos em série no ramo de realimentação..."); fflush(stdout); %>>GR; GR=tf(KLT*KPI,[0 1],0,"Y","YP/I"); if strcmp(problema,"regulador") disp("::>criando sistema MIMO...");fflush(stdout); T=sysgroup(GL,GD,GR); T=sysdup(T,3,[]); disp("::>criando junção de GL e GP...");fflush(stdout); J=ugain(1); J.inname{1}="Y1+Y2"; J.outname{1}="Y"; T=sysgroup(T,J); disp("::>estebelecendo malha feedback...");fflush(stdout); T = sysscale(T,diag([1, 1, 1, -1, 1]),[]);#realimentação negativa T = sysconnect(T,1,4); T = sysconnect(T,2,4); T = sysconnect(T,5,3); T = sysconnect(T,4,2); disp("::>mantendo apenas uma saída e uma entrada...");fflush(stdout); G = sysprune(T,5,1); disp("::>degrau na carga...");fflush(stdout); step(G,1) disp("::>gerando extra info. ...");fflush(stdout); sysout(G,"tf"); controlador, KC, tau_I, problema, elseif strcmp(problema,"servo") disp("::>estebelecendo malha feedback...");fflush(stdout); G=feedback(GD,GR); disp("::>conectando ft do SP...");fflush(stdout); G=sysmult(G,GSP); disp("::>degrau no SP...");fflush(stdout); step(G,1,50); disp("::>gerando extra info. ...");fflush(stdout); [N,D]=sys2tf(G); sysout(G,"tf"); controlador, KC, tau_I, problema, if strcmp(controlador,"pi") K=N(2)/D(3), tau=D(1)/D(3), zeta=D(2)/(2*tau),
- Marcos Marcelino Mazzucco -
183
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
endif; endif; xlabel("time");%end.
- Marcos Marcelino Mazzucco -
184
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
As saídas do programa, a seguir, mostram um resultado para o programa anterior que
equivale ao desenvolvimento analítico realizado anteriormente.
- Marcos Marcelino Mazzucco -
185
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Nas soluções anteriores o diagrama de blocos original para o problema servo foi
reduzido na forma que está ilustrada na próxima figura:
GP
GL
GV
GI/P
GC
GLT
GP/I
GSP
set point [m]
[mA]
[m]
[psig][m
A]
[mA]
[mA]
[psig][m
3/min]
[m] [m
][m
3/min]
[m]
-
++
+Y’SP
X’S
P
Y’P/I
X’C
Y’CY
’I/PY
’VH
’2 H’1
H’
V’1V’2
X’LTY’LT
X’P/I
GD
GR
GD
GR
GS
P
GG
SP
G
Para o problema regulador, o diagrama de blocos original foi reduzido de forma
diferente, conforme está mostrado na próxima figura:
- Marcos Marcelino Mazzucco -
186
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
GP
GL
GV
GI/P
GC
GLT
GP/I
GSP
set point [m]
[mA]
[m]
[psig][m
A]
[mA]
[mA]
[psig][m
3/min]
[m] [m
][m
3/min]
[m]
-
++
+Y’SP
X’S
P
Y’P/I
X’C
Y’CY
’I/PY
’VH
’2 H’1
H’
V’1V’2
X’LTY
’LTX
’P/I
GD
GR
GD
GR
GS
P
G
G
J
J
GL
GD
GR
GSP
GJ GL
-
G
1
2
3
4
- Marcos Marcelino Mazzucco -
187
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
GNU Octave permite a construção de um diagrama de blocos único e que seja
especificada qual entrada (YSP ou V1) será perturbada. Neste caso o diagrama de blocos
torna-se representativo de um problema MISO (multi-input-single-output). Para ilustrar
melhor este caso, vamos construir um diagrama de blocos onde seja possível visualizar
também as ações de controle geradas (YC). Assim o problema torna-se MIMO (multi-
input-multi-output).
GP
GL
GV
GI/P
GC
GLT
GP/I
GSP
set point [m]
[mA]
[m]
[psig][m
A]
[mA]
[mA
][psig]
[m3/m
in][m
] [m]
[m3/m
in]
[m]
-
++
+Y’SP
X’SP
Y’P/I
X’CY’C
Y’I/PY’V
H’2 H’1
H’
V’1V’2
X’LTY’LT
X’P/I
GD
GR
GD
GR
GS
P
G
G
J
J
GL
GD
GR
GSP
GJ GL
-
G
1
2
3
4
YL
YSP
YC
Y
- Marcos Marcelino Mazzucco -
188
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
O programa abaixo ilustra o problema apresentado no diagrama de blocos
anterior. Não se impressione com o número de linhas do programa (134), a maioria delas
é apenas explicativa. Observe que quando a linha que contém um IEP (%>>) termina
com ponto-e-vírgula (;) o identificador funciona apenas como um marcador e não como
delimitador de um bloco de informações e, portanto, não requer o identificador de
encerramento %>>end;.
%program diagrama_blocos_passo_a_passo#Última gravação: 10/02/2009;terça-feira;10:19#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco#Obs.:Nesta versão do GNU Octave não é possível conectar blocos sem## dinâmica (ganho puro) em série utilizando sysmult().clear all;%begin clc; fflush(stdout); page_screen_output(0); %>>FT Transmissor de Nível(Elemento de medição) KLT=(15-3)/(6-0); GLT=tf([KLT],[0 , 1],0,"Y","YLT"); %>>end; %>>FT Transdutor P/I KPI=(20-4)/(15-3); GPI=tf([KPI],[0 , 1],0,"YLT","YPI"); %>>end; %>>selecionar controlador %>>PI; controlador="pi"; %>>P;# controlador="p"; %end; %>>FT Controlador if strcmp(controlador,"pi") %>>Controlador PI %>>KC; KC=-1; %>>tau_I; tau_I=1E-1; GC=PID([KC,tau_I]); %end; elseif strcmp(controlador,"p") %>>Controlador P %>>KC; KC=-1; GC=PID([KC]); %end; endif; GSP=tf([KLT*KPI],[0 1],0,"SP","YSP"); %>>end; %>>FT Transdutor I/P KIP=(15-3)/(20-4); GIP=tf([KIP],[0 , 1],0,"YC","YIP"); %>>end; %>>FT Válvula pneumática (elemento final) KV=0.1/1;#(m3/min)/psig ; válvula linear GV=tf([KV],[0 , 1],0,"YIP","V2"); %>>end; %>>FT Processo
- Marcos Marcelino Mazzucco -
189
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
A=1; KP=-1/A; GP=tf([KP],[1 , 0],0,"V2","Y2"); %end; %>>FT Processo (carga) KL=1/A; GL=tf([KL],[1 , 0],0,"V1","Y1"); %end; %>>Malha %>>Grupo de blocos para o ramo direto; disp("::>formando grupo de blocos para o ramo direto:"); disp(" ------ "); disp("(1)---->| GC |--.-->(1)YC "); disp(" XC ------ \\--->(2)YC "); disp(" ------ "); disp("(2)---->| GIP |---->(3)YIP "); disp(" YC ------ "); disp(" ------ "); disp("(3)---->| GV |---->(4)V2 "); disp(" YIP ------ "); disp(" ------ "); disp("(4)---->| GP |---->(5)Y2 "); disp(" V2 ------ "); fflush(stdout); GC1=sysdup(GC,1,[]); GD=sysgroup(GC1,GIP,GV,GP); GD=sysconnect(GD,2,2); GD=sysconnect(GD,3,3); GD=sysconnect(GD,4,4); GD=sysprune(GD,[1,5],[1]); GD.inname{1}="YSP-YPI"; GD.outname{1}="YC(Válvula)"; GD.outname{2}="Y2"; disp("::>o grupo de blocos para o ramo direto tornou-se:") disp(" ------ "); disp("(1)---->| GD |---->(1)YC "); disp(" | |---->(2)Y2 "); disp(" ------ "); fflush(stdout); %>>Grupo de blocos no ramo de realimentação; disp("::>conectando blocos em série no ramo de realimentação..."); fflush(stdout); GR=tf(KLT*KPI,[0 1],0,"Y","YPI"); disp("::>o grupo de blocos para o ramo de realimentaço tornou-se:") disp(" ------ "); disp("(1)---->| GR |---->(1)YPI "); disp(" ------ "); disp("criando sistema MIMO...");fflush(stdout); disp(" ------ "); disp(" (1)---->| GL |---->(1)Y(1) "); disp(" V1 ------ "); disp(" ------ "); disp(" (2)---->| GD |---->(2)YC "); disp(" YSP-YPI| |---->(3)Y2 "); disp(" ------ "); disp(" ------ "); disp(" (3)---->| GR |---->(4)YPI "); disp(" Y ------ "); disp(" ------ "); disp(" (4)--(+)--(+)-->| J |---->(5)Y "); disp(" / / | | "); disp(" Y1 Y2 ------ "); fflush(stdout); T=sysgroup(GL,GD,GR); disp("::>criando junção de GL e GP...");fflush(stdout);
- Marcos Marcelino Mazzucco -
190
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
J=ugain(1); J.inname{1}="Y1+Y2"; J.outname{1}="Y (nível)"; T=sysgroup(T,J); %>>Malha feedback; disp("::>estabelecendo malha feedback...");fflush(stdout); T = sysscale(T,diag([1, 1, 1, -1, 1]),[]);#realimentação negativa T = sysconnect(T,1,4); T = sysconnect(T,3,4); T = sysconnect(T,5,3); T = sysconnect(T,4,2); disp("::>mantendo apenas as saídas 2 e 5 e as entradas 1 e 2 ..."); fflush(stdout); G = sysprune(T,[2 5],[1 2]); disp("::>conectando FT para SP na entrada 2 ...");fflush(stdout); G = sysscale(G,[], diag([1, KLT*KPI])); G.inname{2}="YSP"; disp(" ------ "); disp(" YL(1)---->| G |---->(1)YC "); disp("YSP(2)---->| |---->(2)Y "); disp(" ------ "); %end; fflush(stdout); %>>Selecionar tipo de problema %>>Problema regulador; #entrada=1; %>>Problema servo; entrada=2; if entrada==1 disp("::>Prob. Regulador:degrau na carga(entrada 1)...");fflush(stdout); else disp("::>Prob. servo:degrau no set point(entrada 2)...");fflush(stdout); endif; %end; %>>Perturbação degrau; step(G,entrada); controlador, disp("FIM");%end.
Observe na figura a seguir a estrutura do programa com base na organização
baseada nos IEP. No Editor MED, basta o pressionar-duplo do botão esquerdo do mouse
sobre cada nó da árvore para que o cursor de edição seja posicionado na linha de código
correspondente. O pressionar do botão direito do mouse apresenta o menu de opções.
- Marcos Marcelino Mazzucco -
191
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
As figuras a seguir ilustram a criação do diagrama de blocos em malha fechada, a
saída para uma perturbação na carga (regulador) e a saída para uma mudança no set
point (servo). Compare os gráficos com os obtidos anteriormente para confirmar as
soluções. A forma como foi construído este diagrama de blocos permitiu, também que as
ações de controle fossem visualizadas. Em cada caso, compare a saída com as ações
geradas, observando o comportamento de segunda ordem subamortecido. Observe
também que as funções de transferência para os casos servo e regulador são diferentes
pois expressam as relações entre:
– O nível no tanque (H=Y) e o set point (HSP=YSP).
– O nível no tanque (H=Y) e a vazão de entrada (V1).
- Marcos Marcelino Mazzucco -
192
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Problema regulador
A seguir a saída do GNU Octave que produziu o gráfico anterior.
- Marcos Marcelino Mazzucco -
193
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
- Marcos Marcelino Mazzucco -
194
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Problema servo
A seguir a saída do GNU Octave que produziu o gráfico anterior.
- Marcos Marcelino Mazzucco -
195
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
A subrotina single_loop(...), em anexo, foi escrita para facilitar a elaboração de
malhas de controle simples com base nos programas apresentados anteriormente. Veja o
caso anterior resolvido com esta subrotina.
- Marcos Marcelino Mazzucco -
196
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
O código elaborado é:%program diagrama_blocos_basico#Última gravação: 10/02/2009;terça-feira;10:44#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzuccoclear all;function []= grafico(n,t1,y1,t2,y2,prob) figure(n);clf; subplot(2,1,1); plot(t1,y1(1,:),"-r;Ações do controlador PI; "); hold("on"); plot(t2,y2(1,:),"-+b;Ações do controlador P; "); grid("on"); xlabel("t");ylabel("x(t)"); title(sprintf("Problema %s: Ações dos controladores",prob)); subplot(2,1,2); plot(t1,y1(2,:),"-r;Saída do sistema para o controlador PI;"); hold("on"); plot(t2,y2(2,:),"-+b;Saída do sistema para o controlador P;"); grid("on"); xlabel("t");ylabel("y(t)"); title(sprintf("Problema %s: Saídas da malha", prob));endfunction;%begin clc; fflush(stdout); page_screen_output(0); %>>FT Transmissor de Nível(Elemento de medição); KLT=(15-3)/(6-0); GLT=tf([KLT],[0 , 1],0,"Y","YLT"); %>>FT Transdutor P/I; KPI=(20-4)/(15-3); GPI=tf([KPI],[0 , 1],0,"YLT","YPI"); %>>Controlador PI; KC=-10; tau_I=1E-1; GC_PI=PID([KC,tau_I]); %>>Controlador P; KC=-10; GC_P=PID([KC]); GSP=tf([KLT*KPI],[0 1],0,"SP","YSP"); %>>FT Transdutor I/P; KIP=(15-3)/(20-4); GIP=tf([KIP],[0 , 1],0,"YC","YIP"); %>>FT Válvula pneumática (elemento final): KV=(m3/min)/psig;válvula linear KV=0.1/1; GV=tf([KV],[0 , 1],0,"YIP","V2"); %>>end; %>>FT Processo(parte manipulada); A=1; KP=-1/A; GP_M=tf([KP],[1 , 0],0,"V2","Y2"); %>>FT Processo (parte livre: carga); KL=1/A; GP_L=tf([KL],[1 , 0],0,"V1","Y1"); %>>Malha KSP=KLT*KPI; GR=tf(KLT*KPI,[0 1],0,"Y","YPI"); GP=sysmult(GV,GP_M,GIP); disp("====[Malha com controlador PI]===="); [G1,G_SP1,G_L1]=single_loop(GC_PI,GP,GP_L,GR,KSP); prompt("Pressione ENTER para a próxima sequência de cálculos..."); disp("====[Malha com controlador P ]===="); [G2,G_SP2,G_L2]=single_loop(GC_P,GP,GP_L,GR,KSP); %>>end; %>>Perturbação degrau na carga(entrada 1); prob="regulador"; [y1,t1]=step(G1,1); [y2,t2]=step(G2,1); grafico(1,t1,y1,t2,y2,prob); %>>Perturbação degrau no set point(entrada 2); prob="servo"; [y1,t1]=step(G1,2); [y2,t2]=step(G2,2); grafico(2,t1,y1,t2,y2,prob); disp("FIM");%end.
A saída do programa fica:
- Marcos Marcelino Mazzucco -
197
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Continua na próxima página...
- Marcos Marcelino Mazzucco -
198
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Continuação...
Os gráficos a seguir evidenciam o offset para o problema regulador, equacionado
anteriormente. Também é possível comparar os desempenhos dos controladores P e PI
nos problemas servo e regulador.
- Marcos Marcelino Mazzucco -
199
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
- Marcos Marcelino Mazzucco -
200
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
- Marcos Marcelino Mazzucco -
201
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
7.6.6 EXERCÍCIO
1. A equação que segue, em variáveis desvio, representa um tanque de aquecimento
com resistência elétrica, o qual possui escoamento contínuo.
)()1(
)()1(
1)( 1 sQsKsT
ssT ′
++′
+=′
ττ
F1
F2
A temperatura (T) no interior do tanque é medida e a taxa de calor alimentado é dada
pela potência da resistência elétrica, a qual é regulada por um SCR conectado a um
controlador PI. T1 é a temperatura da corrente de alimentação do Tanque e Q é a taxa de
adição de calor na resistência:
a) Utilizando a simbologia de instrumentação faça o diagrama ilustrativo do sistema em
malha fechada.
b) Faça o diagrama de blocos, contendo as funções de transferência, considerando
realimentação unitária.
c) Escreva a função de transferência para o problema servo na forma ganho/constante de
tempo.
d) Escreva a função de transferência para o problema regulador.
2. Escolha dois sistemas apresentados no capítulo de modelagem de processos e faça o
diagrama de blocos para o problema de controle em malha fechada.
- Marcos Marcelino Mazzucco -
202
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
8 ANÁLISE DE ESTABILIDADE
- Marcos Marcelino Mazzucco -
203
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
8.1CRITÉRIO GERAL DE ESTABILIDADE
Um processo quando instrumentado e conectado a um controlador adquire
características de problemas de ordem maior. Os processos auto-regulatórios são
aqueles que quando sujeitos a uma perturbação não sustentada na carga retornam à
condição original sem o uso de um controlador. Estes processos, por exemplo, perdem
esta característica e podem tornar-se oscilatórios ou instáveis quando postos em malha
fechada.
O critério geral de estabilidade é assim definido: um sistema linear é dito estável,
quando a saída deste é limitada para qualquer entrada limitada. Devemos observar que
estamos tratando de problemas sem restrições e, desta forma, os limites para entradas e
saídas podem não ser coincidentes com os limites físicos do problema sendo que este
fato não caracteriza o sistema como instável. Na prática, contudo, os limites físicos
podem adicionar complexidade aos problemas e podem introduzir elementos de
instabilidade.
Matematicamente, um sistema de controle feedback é estável se todos os pólos
da função de transferência (raízes da equação característica: denominador) são números
reais negativos ou são números complexos que possuem a parte real negativa. Desta
forma, com a equação característica na forma (s-p1)(s-p2)...(s-pn), temos que se (p1...pn)<0
e/ou ℜ(p1...pn)<0 então o sistema é estável.
(0,0) ℜ (eixo real)
eixo
imag
inár
io
III
III IV
X
X
X X
+iω
-iω
X
X
- Marcos Marcelino Mazzucco -
204
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
As seguintes observações práticas são importantes:
- Um sistema onde todas as raízes são reais e negativas é estável e sem resposta
oscilatória às perturbações na carga e no set point.
- Um sistema onde todas as raízes são reais e positivas é instável e, portanto,
com resposta ilimitada às perturbações na carga e no set point.
- Um sistema onde todas as raízes são complexas e com partes reais negativas é
estável e exibe resposta oscilatória às perturbações na carga e no set point.
- Um sistema onde todas as raízes são complexas e com partes reais positivas é
instável e exibe resposta oscilatória amplificada às perturbações na carga e no set point.
Uma condição prática para a estabilidade está relacionada aos coeficientes da equação característica. Se algum coeficiente for menor ou igual a zero então o sistema é instável. Se todos forem maiores que zero então a estabilidade deve ser verificada. Esta condição é dita necessária, porém não suficiente, pois quando os coeficientes são maiores que zero não há a garantia de que o sistema seja estável.
Considere o seguinte exemplo:
-GP
GL
GC
set point ++
+XSP XC YP
YL
Y
XL
XP
YC
)( PP ps
KG−
=
ssK
GI
ICC τ
τ )1( +=
A função de transferência para o problema servo é:
)()1(1
)()1(
1PI
IC
PI
IC
PC
PC
SP
psK
ssK
psK
ssK
GGGG
XYG
−+
+
−+
=+
==
ττ
ττ
- Marcos Marcelino Mazzucco -
205
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
)1())(0()1(
))(0()1())(0(
))(0()1(
++−++
=
−+++−+
−++
=sKKpss
sKK
psssKKpss
psssKK
GICPI
IC
PI
ICPI
PI
IC
τττ
τττ
ττ
KKKKpsssKK
GCCIPII
IC
++−++
=)(
)1(2 τττ
τ
Neste caso, já observamos que KC e τI devem ser maiores que zero para que os
coeficientes da equação característica possam ter a estabilidade analisada.
Os pólos desta função de transferência são:
( )[ ]I
CICIPICIPI KKKKpKKpp
ττττττ
24)( 2
1−+−++−−
=
[ ]I
CICIPICIPI KKKKpKKpp
ττττττ
24)( 2
2−+−−−
=
))(()1(
21 pspssKK
G IC
−−+
=τ
A análise das condições de estabilidade, a partir das raízes da equação
característica, está baseada na determinação das condições, a partir das quais, os
parâmetros do controlador podem produzir raízes negativas. Neste caso devemos
analisar dois casos:
1- Pólos complexos.
2- Pólos reais.
Para analisar este exemplo vamos considerar K=1 e, primeiro ℜ(pP)=(+1), depois
ℜ(pP)=(-1).
Caso 1: Pólos complexos.
Primeiro vamos analisar em que situações os pólos da função de transferência poderão
ser números complexos:
Para que as raízes (p1 e p2) sejam complexas, o pólo do processo, pP, deve ser
complexo e/ou o termo sob a raiz quadrada deve ser negativo. Ou seja:
jKKKKp CICIPI ωτττ =−+− 4)( 2
- Marcos Marcelino Mazzucco -
206
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
04)( 2 <−+− KKKKp CICIPI τττ
Se pP for um número complexo a raiz possuirá parte imaginária. Caso
contário, como 2)( KKp CIPI ττ +− sempre será positivo, o termo sob a raiz
quadrada somente resultará em número negativo se 2)(4 KKpKK CIPICI τττ +−>
.
Assim:2)(4 KKpKK CIPICI τττ +−>
Então se K=1 e pP=1:2)11(14 CIICI KK τττ +−>
22 )1(4 −> CCI KK ττ
2)1(4 −> CIC KK τ
2)1(4
−<
C
CI K
Kτ ,
Ou seja, se 2)1(4
−<
C
CI K
Kτ existirão raízes reais ou imaginárias em malha
fechada, para pP=1.Agora vamos analisar a estabilidade do problema com pólos complexos:
Para raízes complexas, o termo contido na raiz quadrada produzirá a parte
imaginária do complexo conjugado, logo para que o sistema seja estável basta
analisar apenas a parte real do termo entre colchetes. Analisa-se apenas a parte
real deste termo, pois pP pode ser um número complexo:
0)2
( <−ℜI
CIPI KKpτττ
0)2
)(( <−ℜI
CPI KKpτ
τ
KKp CP <ℜ )(
Como pP e K são características do processo, os únicos valores a serem
manipulados são KC e τI.
Com K=1 e ℜ(pP)=1 então:
- Marcos Marcelino Mazzucco -
207
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
KC > 1 ∴ KC deve ser maior que 1 para que o sistema seja estável.
Com K=1 e ℜ(pP)=-1:
KC > -1, porém KC>0 para que o sistema possa ser estável, então qualquer valor de KC>0 produzirá um sistema estável.
Caso 2: Pólos reais.
Primeiro vamos analisar em que situações os pólos da função de transferência poderão
ser números reais:
Para que o sistema possua raízes reais é necessário que
)4)( 2 KKKKp CICIPI τττ >+− , ba >2)( , e que pP não seja complexo.
Para que ba >2)( (raízes reais) deve ser determinada a relação entre KC e τI que
mantém a desigualdade. Com K=1 e pP=1:
( ) KKKKKKpp CICICIPIPI τττττ 4)(2)( 22 >+−−
42)( 2
>+− KKpKK
pCIIP
C
PI τττ
421 >+− CIIC
I KK
τττ
CC
I
KK
+−>
214τ
2214
CC
CI KK
K+−
>τ (condição para que as raízes sejam reais)
Neste caso se Kc=1,5 então τI>4*1,5/(1-2*1,5+1,52), ou seja, τI>24.
Observe que τI>24 é a condição para que o sistema possua raízes reais , ao invés
de complexas e que isto não constitui uma condição de estabilidade. Lembre-se,
raízes reais indicam que o comportamento do sistema não será oscilatório.
Agora vamos analisar a estabilidade:
Se as raízes são reais, para que o sistema seja estável:
Para a primeira raiz:
02
4)()( 2
1 <−+−−+−−
=I
CICIPICIPI KKKKpKKpp
ττττττ
- Marcos Marcelino Mazzucco -
208
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
KKKKpKKp CICIPICIPI τττττ 4)()( 2 −+−−<+−−
[ ] [ ]222 4)()( KKKKpKKp CICIPICIPI τττττ −+−−<+−−
)4)()( 22 KKKKpKKp CICIPICIPI τττττ −+−<+−
KKCIτ40 −<
0>KKCIτ ∴
Ou seja, de forma parcial, com τI, e K positivos, para KC>0 o sistema é
estável.Para a segunda raiz:
02
4)()( 2
2 <−+−++−−
=I
CICIPICIPI KKKKpKKpp
ττττττ
0)(][1
04)()(2
2
<−+−
<−+−++−−
baa
KKKKpKKp CICIPICIPI τττττ
Para que existam raízes reais apenas:
ba >2)(
Considerando que ba >2)( então:
baa −>− 2)(][ para que p2 seja
negativo, pois o termo [ a ] está multiplicado por -1.
Assim será garantido que:
04)()(
0)()(2
2
<−+−++−−
<−+−
KKKKpKKp
baa
CICIPICIPI τττττ
Como ba −2)( sempre será menor que (a), logo:
0>+−= KKpa CIPI ττ para que p2<0 (o termo -a seja predominante)
Assim, com K=1 e pP=1:
011 >+− CII Kττ
I
ICK
ττ
>
1>CK
- Marcos Marcelino Mazzucco -
209
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Ou seja, pela análise da raiz p1 com τI e K positivos, para KC>0 o sistema é
estável, contudo pela análise de p2, para KC>1 sistema é estável. Então, de
forma geral, para que o sistema seja estável é necessário que τI >0 e KC>1.
Os gráficos a seguir ilustram as situações onde ocorre estabilidade e instabilidade.
Veja que os valores dos parâmetros do controlador influenciam a estabilidade. Assim
processos instáveis podem ser estabilizados e, da mesma forma, processos estáveis
podem ser instabilizados.
O programa GNU Octave a seguir foi utilizado para gerar os gráficos que serão
apresentados. Observe as facilidades oferecidas pelas subrotinas roots(...), conv(...),
tf(...), sysout(...) e step(...).%program teste_estabilidade#Última gravação: 09/02/2009;segunda-feira;23:00#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzuccoclear all;%begin clc; K=1 #KC=0.5 KC=1.5 tau_I=25 #tau_I=0.1 #pP=-1 pP=1 #pP=-1 #pP=-1+1i #pP=1+1i N=K*KC*[tau_I 1]; D=conv([tau_I 0],[1 -pP]).+K*KC*[0 tau_I 1]; polos=roots(D) sis=tf(N,D); sis.inname{1}="SP"; sis.outname{1}="Y"; step(sis); sysout(sis,"tf"); sysout(sis,"zp");%end.
Os gráficos a seguir mostram diferentes situações onde as condições estabelecidas são
respeitadas ou violadas. Nestes casos não há preocupação com a qualidade do controle,
apenas a avaliação da estabilidade é considerada.
- Marcos Marcelino Mazzucco -
210
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Processo estável (pP=-1), sistema estável (ℜ(pP)=-1 → KC>0):
- Marcos Marcelino Mazzucco -
211
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Processo instável (pP=+1), sistema instável (ℜ(pP)=+1 → KC>1):
- Marcos Marcelino Mazzucco -
212
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Processo estável (pP=-1+i), sistema estável (ℜ(pP)=-1 → KC>0):
- Marcos Marcelino Mazzucco -
213
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Processo instável (pP=+1+i), sistema instável (ℜ(pP)=+1 → KC>1):
- Marcos Marcelino Mazzucco -
214
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Processo instável (pP=+1), sistema estável: (ℜ(pP)=+1 → KC>1)
- Marcos Marcelino Mazzucco -
215
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Processo instável (pP=+1+i), sistema estável (ℜ(pP)=+1 → KC>1):
- Marcos Marcelino Mazzucco -
216
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Processo instável (pP=+1), sistema estável: (ℜ(pP)=+1 → KC>0). Para que a equação
característica possua duas raízes reais τI deve ser maior que 24.
- Marcos Marcelino Mazzucco -
217
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
8.1.1 EXERCÍCIO- DETERMINAÇÃO DOS PARÂMETROS DO CONTROLADOR
Mostre de que forma podem ser escolhidos os parâmetros do controlador PI, no
processo ilustrado no exemplo do controle de nível no tanque, para o que sistema seja
estável.
8.2CRITÉRIO DE ESTABILIDADE DE ROUTH
Para casos onde a equação característica do sistema é polinomial, a estabilidade
pode ser verificada sem o uso das raízes desta, procedimento este muito útil quando o
polinômio é de ordem maior que 2 e não está disponível o recurso computacional para
determinar as raízes. Publicado em 1905, este método é baseado no seguinte arranjo:
1) seja o polinômio: ansn+ an-1sn-1+ an-2sn-2+...+ a1s+ a0=0
2) Se todos os coeficientes são positivos dispor os coeficientes intercalados na primeira
linha e na segunda linha de uma matriz. Montar a matriz no seguinte arranjo:
1 an an-2 an-4 an-6 ...2 an-1 an-3 an-5 an-7 ...3 b1 b2 b3 ...4 c1 c2 ...
... .... ...n+1 z1
onde:
1
321
1
31
2
1−
−−−
−
−−
−
−=−=
n
nnnn
n
nn
nn
aaaaa
aaaaa
b
1
541
1
51
4
2−
−−−
−
−−
−
−=−=
n
nnnn
n
nn
nn
aaaaa
aaaaa
b
1
761
1
71
6
3−
−−−
−
−−
−
−=−=
n
nnnn
n
nn
nn
aaaaa
aaaaa
b
1
2113
1
21
31
1 bbaba
bbb
aa
c nn
nn
−−
−−
−=−=
- Marcos Marcelino Mazzucco -
218
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
1
3115
1
31
51
2 bbaba
bbb
aa
c nn
nn
−−
−−
−=−=
Observe que para o cálculo dos elementos bi, ci, etc. no arranjo de Routh foram
montadas matrizes 2x2 e calculados os determinantes para cada matriz. Na montagem
das matrizes foi mantida a primeira coluna e a segunda coluna foi inserida a partir de
cada uma das colunas do arranjo. Ou seja:
Com as linhas 1 e 2 , calculamos b1, b2, ...:
1 an an-2 an-4 an-6 ...2 an-1 an-3 an-5 an-7 ...
Com as linhas 2 e 3 , calculamos c1, c2,...:
2 an-1 an-3 an-5 an-7 ...3 b1 b2 b3 ...
E assim por diante.
A partir do arranjo formado, a condição para que o sistema seja estável é obtida
da primeira coluna da matriz. Se todos os elementos na primeira coluna do arranjo forem
positivos então o sistema é estável. Se algum destes elementos for negativo o sistema é
instável, sendo que o número de trocas de sinal indica o número de raízes no semiplano
direito do eixo imaginário (RHP- right half plane).
Considere o exemplo anterior:
KKKKpsssKK
GCCIPII
IC
++−++
=)(
)1(2 τττ
τ
Com K=1 e pP=1:
CCIII
IC
KKsssK
G++−+
+=
)()1(
2 ττττ
1 τI KC
2 -τI+τIKC 03 b1
CII
CIICI
CII
CII
CI
KKK
KK
K
bττ
τττττ
τττ
+−+−−
−=+−
+−−=
)(001
- Marcos Marcelino Mazzucco -
219
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
CC
CC KK
KKb =
+−+−
=1
)1(1
Para que a primeira coluna seja positiva KC>0 e -τI+τIKC>0. Assim:
τIKC>τI
KC>1
O sistema será estável com KC>1, como determinado anteriormente.
Com K=1 e pP=-1:
CCIII
IC
KKsssK
G++++
+=
)()1(
2 ττττ
1 τI KC
2 −τI+τIKC 03 Kc
CII
CIICI
CII
CII
CI
KKK
KK
K
bττ
τττττ
τττ
++−
−=+−
+−=
)(001
CC
CC KK
KKb =
++
=1
)1(1
Para que a primeira coluna seja positiva KC>0 e τI+τIKC>0. Assim:
τIKC>-τI
KC>-1
O sistema será estável com KC>0, como determinado anteriormente.
Vamos considerar outro problema com dinâmica de segunda ordem:
-GP
GL
GC
set point ++
+XSP XC YP
YL
Y
XL
XP
YC
- Marcos Marcelino Mazzucco -
220
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
3211
2 ++=
ssGP
ssK
GI
ICC τ
τ )1( +=
Determinar a condição de estabilidade para este caso usando o arranjo de Routh.
A equação característica é 1+GCGP:
0)1(
32111 2 =
+++
+ssK
ss I
IC
ττ
( ) 0)1(322 =++++ sKsss ICI ττ
0)3(2 23 =++++ CIICII KKsss ττττ
1 τI τI(KC+ 3)2 2τI KC
3b1=(-τI KC +2τIτI(KC + 3))/(2τI)
b1= τI(KC+ 3)- KC/2
0
4
c1=(-0.2.τI+(τI(KC+ 3)- KC/2)KC)/(τI(KC+3)- KC/2)
c1=(τI(KC+ 3)- KC/2)KC)/(τI(KC+ 3)- KC/2)
c1=KC
b1= τI(KC+ 3) - KC/2>0
2τIKC +6τI - KC>0
KC(2τI-1) +6τI >0
para τI=0,1:
-0,8KC +0,6 >0
-0,8KC +0,6 >0
Para que a condição se mantenha:
-0,8KC> -0,6
0,8KC< 0,6
KC<0,6/0,8<0,75
Ou:
- Marcos Marcelino Mazzucco -
221
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
KC(2τI-1) +6τI >0
Se τI>0,5 então
KC>0
Se τI<0,5 então
KC(2τI-1)< -6τI
Ex.: KC<-6.0,4/(2.0,4-1)< 12
c1=KC >0
KC>0
O programa GNU Octave a seguir gera as saídas deste exemplo para as
condições apresentadas.
%program teste_estabilidade_2#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzuccoclear all;%begin clc; #KC=0.8 #KC=0.7 KC=14 #KC=11 #tau_I=0.1 #tau_I=0.6 tau_I=0.4 GC=tf(KC*[tau_I 1], [tau_I 0]); GP=tf([1],[1 2 3]); G=feedback(sysmult(GC,GP),ugain(1)); sysout(G,"tf"); step(G);%end.
- Marcos Marcelino Mazzucco -
222
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Para τI=0,1 o sistema é instável com KC≥0,75.
- Marcos Marcelino Mazzucco -
223
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Para τI=0,1 o sistema é estável com KC<0,75.
- Marcos Marcelino Mazzucco -
224
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Para τI=0,6 o sistema é estável com KC>0.
- Marcos Marcelino Mazzucco -
225
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Para τI=0,4 o sistema é estável com KC<12.
- Marcos Marcelino Mazzucco -
226
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Para τI=0,4 o sistema é instável com KC≥12.
- Marcos Marcelino Mazzucco -
227
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
8.3MÉTODO DA SÍNTESE DIRETA
Consiste em determinar o limite de estabilidade para um sistema. O limite de
estabilidade é determinado pelo eixo imaginário, uma vez que, quando os pólos estão a
direita do eixo imaginário o sistema torna-se instável. Assim, na função de transferência o
limite de estabilidade é atingido quando as partes reais dos pólos da equação
característica forem zero.
s-(ℜ(p) +jω)=0 (uma raiz da equação característica)
Se ℜ(p)=0 então
s-(0 +jω)=0
s=jω
Assim fazendo s=jω na equação característica é determinado o limite de estabilidade do
sistema.
Considerando ainda o exemplo anterior:
KKKKpsssKK
GCCIPII
IC
++−++
=)(
)1(2 τττ
τ
Com K=1 e pP=1:
CCIII
IC
KKsssKG
++−++=
)()1(
2 ττττ
A equação característica fica:
0)(2 =++−+ CCIII KKss τττ
Fazendo s=jω:
0)(2 =++−+− CCIII KKj ττωωτ
0)()( 2 =+−++− CIICI KjK ω τωτωτ
A equação anterior é um complexo conjugado, logo a igualdade somente será
mantida se as parte real e imaginária forem zero:
0)( 2 =+− CI Kωτ
Então: 2ωτ ICK =
0)( =+− CII Kj ω τωτ
Então: 1==I
ICK
ω τωτ
- Marcos Marcelino Mazzucco -
228
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
O limite de estabilidade para KC é 1, ou seja, o sistema somente é estável para
KC>1, pois 0)( 2 <+− CI Kωτ e, neste caso, 0)( >+− CII Kττ (os coeficientes devem ser
positivos para que possa haver estabilidade). Se KC=1 e τI=0,1 então ω=±3,16, ou seja
freqüência de oscilação da saída será 3,16 rad/s (por exemplo). Desta forma o período da
oscilação será P=2π/3,16=1,988 s/ciclo. Veja o exemplo a seguir:
%program teste_estabilidade_3#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzuccoclear all;%begin clc; K=1 KC=1 tau_I=0.1 pP=1 N=K*KC*[tau_I 1]; D=conv([tau_I 0],[1 -pP]).+K*KC*[0 tau_I 1]; polos=roots(D) sis=tf(N,D); sis.inname{1}="SP"; sis.outname{1}="Y"; sysout(sis,"zp"); step(sis,1,10,1000) tics("x",[0,0.9:1.988/2:10]); replot%end.
- Marcos Marcelino Mazzucco -
229
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
- Marcos Marcelino Mazzucco -
230
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
9 SINTONIA DE CONTROLADORES PID
- Marcos Marcelino Mazzucco -
231
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
A escolha dos parâmetros de um controlador PID, com base nos critérios de
estabilidade, não garante que seja obtido o desempenho desejado. De fato, na
observação dos gráficos apresentados, para controle em malha fechada, é facilmente
diagnosticado o comportamento indevido do sistema de controle no comportamento,
excessivamente, oscilatório. Para a sintonia ou ajuste fino do controlador são necessárias
informações do comportamento do processo que será ligado ao controlador. Uma forma
de obter estas informações é através do critério da resposta transiente, que será
discutido aqui.
9.1CRITÉRIO DA RESPOSTA TRANSIENTE
A resposta transiente de um sistema feedback mostra a capacidade do
controlador em lidar com perturbações ou mudanças. Esta capacidade mede o
desempenho do controlador nas seguintes características:
Nas transições de set point:
- Tempo de elevação (tempo para atingir o novo set point): deve ser minimizado;
- Sobrelevação (Overshoot):deve ser minimizado;
- Oscilações: devem ser minimizadas;
- Tempo de estabilização (saída desviada em ±5% do valor final): deve ser
minimizado;
- Offset (desvio permanente do valor final): deve ser eliminado;
- Estabilidade: deve ser maximizada;
- Ações de controle: devem ser as menores possíveis e aplicadas com a menor
freqüência possível;
- Robustez (tolerância a pequenas variações no processo ou erros de
modelagem): deve ser maximizada.
Nas perturbações na carga:
- Efeito da perturbação: deve ser minimizado;
- Oscilações: devem ser minimizadas;
- Tempo de estabilização: deve ser minimizado;
- Offset: deve ser eliminado;
- Estabilidade: deve ser maximizada;
- Marcos Marcelino Mazzucco -
232
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
- Ações de controle: devem ser as menores possíveis e aplicadas com a menor
freqüência possível;
- Robustez: deve ser maximizada.
Na prática nem todos estes objetivos podem ser satisfeitos simultaneamente,
desde que, devido às características do controle feedback, não é possível, ao mesmo
tempo eliminar uma sobrelevação, reduzir o tempo de estabilização e as oscilações em
transições de set point. Da mesma forma, um controlador ajustado para atuar em
mudanças de set point não produzirá uma resposta com a mesma qualidade na rejeição
às perturbações. Assim para um desempenho adequado torna-se necessário, em muitos
casos, um ajuste intermediário que permita desempenhos medianos para perturbações
na carga e mudanças de set point.
Para o ajuste de controladores PID (determinação de Kc, τI, τD) existem
abordagens específicas para os casos servo e regulador que serão vistas neste capítulo.
Os métodos que serão apresentados são adequados para curvas de resposta com o
formato de sigmóide ("S").
9.1.1 RELAÇÕES DE SINTONIA DE COHEN-COON
Cohen e Coon desenvolveram relações empíricas para ajuste de controladores
PID de forma a prover uma razão de declínio de 1/4 (razão entre as alturas de dois picos
sucessivos). Para aplicar as relações de Cohen-Coon é necessário representar um
processo por um modelo de primeira ordem com tempo morto, o qual pode ser obtido a
partir de dados do processo. Este método é conhecido como método da curva de reação,
justamente pelo fato de requerer a curva de reação do processo (problema em malha
aberta). Lembre-se que anteriormente falamos do modelo de primeira ordem com tempo
morto como forma para aproximar dinâmicas de ordem maior que 1.
A lista a seguir exibe a forma de cálculo dos parâmetros dos controladores PI e
PID a partir de dados característicos do sistema.
Parâmetros do controlador PI:
)12
9,0(1τ
θθτ +=
KKC
)(209
))(330(
τθ
τθθ
τ+
+=I
Parâmetros do controlador PID:
- Marcos Marcelino Mazzucco -
233
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
)12
16(1τ
θτθτ +=
KKC
)(813
))(632(
τθ
τθθ
τ+
+=I )(211
4
τθ
θτ+
=D
Exemplo (continuação do exemplo apresentado no capítulo "Identificação de sistemas"):%program controle_PI_PID_cohen_coon#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzuccoclear all;function []= grafico(n,t1,y1,t2,y2,prob) figure(n);clf; plot(t1,y1,"-r;Saída do sistema para o controlador PID;"); hold("on"); plot(t2,y2,"-+b;Saída do sistema para o controlador PI;"); grid("on"); xlabel("t");ylabel("y(t)"); title(sprintf("Problema %s: Saídas da malha", prob));endfunction;%begin clc; clf; %>>Processo KP=1; tau=[0.1 , 0.08]; den=polymult([[tau(1),1];[tau(2),1]]); GP=tf([KP],den,0,"XP","YP"); printf("Processo: GP(s)=%g/((%gs+1)(%gs+1))\n",KP,tau(1),tau(2)); #identificado no exemplo deg_sist_ordem_2_aprox_ordem_1_tm KP =1.01; tau =0.146; teta=0.044; printf("Identificado como: GP(s)=%ge^(-%gs)/(%gs+1)\n",KP,teta,tau); %end; disp("parâmetros do controlador PID pelo método de Cohen-Coon:"); %>>Controlador PID alfa=0.05 [KC,tau_I,tau_D]=cohen_coon("PID", KP,tau, teta) GC_PID=PID([KC,tau_I,tau_D],alfa); %>>end disp("parâmetros do controlador PI pelo método de Cohen-Coon:"); %>>Controlador PI [KC,tau_I]=cohen_coon("PI", KP,tau, teta) GC_PI=PID([KC,tau_I]); %>>end disp("Função de transferência em malha fechada:"); %>>FTs malhas feedback; GR=tf(1,1,0,"YP","YP"); G_PID=feedback(sysmult(GP,GC_PID),GR); G_PI=feedback(sysmult(GP,GC_PI),GR); G_PID.inname= {"Set point"}; sysout(G_PID,"tf"); [y1,t1]=step(G_PID); G_PI.inname= {"Set point"}; sysout(G_PI,"tf"); [y2,t2]=step(G_PI); grafico(1,t1,y1,t2,y2,"servo");%end
Observe as reduções nos tempos de elevação, overshoot , tempos de resposta
(tempo requerido para que a resposta permaneça dentro de ±5% do valor final) obtidas
com o controlador PID. O controlador PID, na forma real, com α=0,05 foi utilizado.
- Marcos Marcelino Mazzucco -
234
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
- Marcos Marcelino Mazzucco -
235
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
9.1.2 RELAÇÕES DE SINTONIA BASEADAS NA INTEGRAL DO ERRO
A integral do erro pode ser considerada de três formas para a sintonia de
controladores PID:
-Integral do erro absoluto (Integral of Absolute value of Error):
∫∞
=0
)( dtteIAE
-Integral do quadrado do erro absoluto (Integral of Squared error):
( )∫∞
=0
2)( dtteISE
-Integral do erro absoluto ponderado no tempo (Integral of the Time-weighted error):
∫∞
=0
)( dttetITAE
Dentre os três critérios apresentados, geralmente, o último é preferido por
fornecer valores mais conservativos (menos agressivos e mais suaves) para os
controladores PI e PID. Para determinar os parâmetros dos controladores PI e PID pelo
critério ITAE é necessário resolver as relações:
P
B
C
P
B
C AK
KAKKY
=⇒
==
τθ
τθ 1
(relação 1)
1−
=⇒
==
I
B
I
I
B
I
AAYτθττ
τθ
ττ
(relação 2)
D
B
D
D
BD AAY
=⇒
==
τθττ
τθ
ττ
(relação 3)
1−
+=⇒
+==
II
II
BABAYτθττ
τθ
ττ (relação 4)
Onde: A e B são constantes, conforme a tabela a seguir:
Entrada Controlador Modo A B relação
Carga
PI P 0,859 -0,977 1I 0,674 -0,680 2
PIDP 1,357 -0,947 1I 0,842 -0,738 2D 0,381 0,995 3
set point
PI P 0,586 -0,916 1I 1,030 -0,165 4
PIDP 0,965 -0,850 1I 0,796 -0,1465 4D 0,308 0,929 3
- Marcos Marcelino Mazzucco -
236
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Nos gráficos que seguem as representações para os problemas servo e regulador
com os controladores PI e PID são apresentadas.
- Marcos Marcelino Mazzucco -
237
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Observe que a ferramenta do GNU Octave não realiza a simplificação da função de
transferência, o que poderia, a primeira vista, indicar uma função de transferência com
- Marcos Marcelino Mazzucco -
238
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
ordem maior que a real. Para melhor visualizar a possibilidade de simplificação utilize a
subrotina sysout(<sistema>,"zp"). A saída abaixo desta subrotina mostras raízes que
podem ser simplificadas.>>sysout(G_L1,"zp");
zero-pole form:
125 (s + 6.0009e-011) (s + 10) (s + 12.5) (s + 1185.9)
---------------------------------------------------------------------------------------------
(s + 8.5952 - 21.431i) (s + 8.5952 + 21.431i) (s + 10) (s + 12.5) (s + 13.807) (s + 1177.4)
>>
A figura a seguir mostra o comportamento dos controladores ajustados para uma
perturbação na carga.
- Marcos Marcelino Mazzucco -
239
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
A figura a seguir mostra o comportamento dos controladores ajustados para perturbação
na carga quando sujeitos a mudança no set point. Para o controlador PID é possível
visualizar o efeito “derivative kick”. O método ITAE provê ajustes específicos para malhas
sujeitas, predominantemente, a variações na carga ou no set point.
A figura a seguir mostra o comportamento dos controladores ajustados para mudança no
set point.
- Marcos Marcelino Mazzucco -
240
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
A figura a seguir mostra o comportamento dos controladores ajustados para perturbação
no set point quando sujeitos a mudança na carga, ou seja, sem o uso do ajuste específico
para o tipo de perturbação.
- Marcos Marcelino Mazzucco -
241
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
O programa utilizado nas demostrações do ajuste pelo critério ITAE é mostrado a seguir:%program controle_PI_PID_ITAE#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzuccoclear all;function []= grafico(n,t1,y1,t2,y2,prob) figure(n);clf; subplot(2,1,1); plot(t1,y1(1,:),"-r;Ações do controlador PID; "); hold("on"); plot(t2,y2(1,:),"-+b;Ações do controlador PI; "); grid("on"); xlabel("t");ylabel("x(t)"); title(sprintf("Problema %s: Ações dos controladores",prob)); subplot(2,1,2); plot(t1,y1(2,:),"-r;Saída do sistema para o controlador PID;"); hold("on"); plot(t2,y2(2,:),"-+b;Saída do sistema para o controlador PI;"); grid("on"); xlabel("t");ylabel("y(t)");
- Marcos Marcelino Mazzucco -
242
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
title(sprintf("Problema %s: Saídas da malha", prob));endfunction;%begin clc; clf; %>>Processo KP=1; tau=[0.1 , 0.08]; den=polymult([[tau(1),1];[tau(2),1]]); GP=tf([KP],den,0,"XP","YP"); printf("Processo: GP(s)=%g/((%gs+1)(%gs+1))\n",KP,tau(1),tau(2)); #identificado no exemplo deg_sist_ordem_2_aprox_ordem_1_tm KP =1.01; tau =0.146; teta=0.044; printf("Identificado como: GP(s)=%ge^(-%gs)/(%gs+1)\n",KP,teta,tau); %end; %>>ft carga GP_L=GP; %>>end; disp("Parâmetros do controlador PID pelo método ITAE:"); alfa=0.05; entrada="CARGA"; [KC,tau_I,tau_D]=itae("PID",entrada, KP,tau, teta); printf("[KC=%g], [tau_I=%g], [tau_D=%g], [alfa=%g]\n",KC,tau_I,tau_D,alfa); GC_PID=PID([KC,tau_I,tau_D],alfa); disp("Parâmetros do controlador PI pelo método de ITAE:"); [KC,tau_I]=itae("PI",entrada, KP,tau, teta); printf("[KC=%g], [tau_I=%g]\n",KC,tau_I); GC_PI=PID([KC,tau_I]); GR=tf(1,1,0,"YP","YP"); disp("====[Malha com controlador PID]===="); [G1,G_SP1,G_L1]=single_loop(GC_PID,GP,GP_L,GR,1); disp("====[Malha com controlador PI ]===="); [G2,G_SP2,G_L2]=single_loop(GC_PI,GP,GP_L,GR,1); %>>Perturbação degrau na carga(entrada 1); prob="regulador"; [y1,t1]=step(G1,1); [y2,t2]=step(G2,1); grafico(1,t1,y1,t2,y2,prob); %>>Perturbação degrau no set point(entrada 2); prob="servo"; [y1,t1]=step(G1,2); [y2,t2]=step(G2,2); grafico(2,t1,y1,t2,y2,prob); entrada="SET POINT"; [KC,tau_I,tau_D]=itae("PID",entrada, KP,tau, teta); printf("[KC=%g], [tau_I=%g], [tau_D=%g], [alfa=%g]\n",KC,tau_I,tau_D,alfa); GC_PID=PID([KC,tau_I,tau_D],alfa); disp("Parâmetros do controlador PI pelo método de ITAE:"); [KC,tau_I]=itae("PI",entrada, KP,tau, teta); printf("[KC=%g], [tau_I=%g]\n",KC,tau_I); GC_PI=PID([KC,tau_I]); GR=tf(1,1,0,"YP","YP"); disp("====[Malha com controlador PID]===="); [G1,G_SP1,G_L1]=single_loop(GC_PID,GP,GP_L,GR,1); disp("====[Malha com controlador PI ]===="); [G2,G_SP2,G_L2]=single_loop(GC_PI,GP,GP_L,GR,1); %>>Perturbação degrau no set point(entrada 2); prob="servo"; [y1,t1]=step(G1,2); [y2,t2]=step(G2,2); grafico(3,t1,y1,t2,y2,prob); %>>Perturbação degrau na carga(entrada 1); prob="regulador"; [y1,t1]=step(G1,1); [y2,t2]=step(G2,1); grafico(4,t1,y1,t2,y2,prob);%end.
9.1.3 RELAÇÕES DE SINTONIA DE ZIEGLER - NICHOLS
As relações publicadas por Ziegler e Nichols em 1942 constituem parte dos
métodos utilizados para o ajuste manual de controladores PID. O método é conhecido
- Marcos Marcelino Mazzucco -
243
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
como "método da oscilação contínua" (continuous cycling) ou método do ganho máximo
(ultimate gain method) ou ajuste de malha (loop tuning).
Este método consiste em desativar os modos integral e derivativo, mantendo
apenas o modo proporcional. Ajustar o ganho proporcional para um valor pequeno e
aumentá-lo, lentamente, aplicando pequenas perturbações no set point ou na carga até
que a saída do sistema torne-se continuamente oscilatória com amplitude constante e
sem atingir os limites (saturação) do elemento sensor e do elemento final de controle. O
valor do ganho do controlador neste caso é o ganho máximo, KCU, com um período da
oscilação PU. O ganho máximo é o maior valor de KC para o qual o sistema é estável com
um controlador P. A tabela a seguir fornece os parâmetros dos controladores, PI e PID
com base em KCU e PU:
Controlador KC τI τD
P 0,5KCu - -PI 0,45KCu PU/1,2 -
PID (razão de declínio=1/4) 0,6KCu PU/2 PU/8PID (pouco overshoot) 0,33KCu PU/2 PU/3PID (sem overshoot) 0,2KCu PU/2 PU/3
Este método não pode ser aplicado em sistemas de primeira e segunda ordem
puros (sem tempo morto), os quais não possuem ganho máximo.
Considere o exemplo:
-GP
GL
GC
set point ++
+XSP XC YP
YL
Y
XL
XP
YC
3)( PP ps
KG−
=
CC KG =
A função de transferência para o problema servo é:
3
3
)(1
)(1
PC
PC
PC
PC
SP
psKK
psKK
GGGG
XYG
−+
−=+
==
- Marcos Marcelino Mazzucco -
244
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
KKpsKKG
CP
C
+−= 3)(
Usando o método da síntese direta, a equação característica fica:
s=jω
CUCCUP KKKKpj ==+− ;0)( 3ω
0)3()3( 2332 =+−++− PCUPP pjKKpp ωωω
Com pP=-1 e K=1:
0)3()13( 32 =+−+++− ωωω jKCU
0)3( 3 =+− ωω
032 =+− ω
3±=ω
32π=UP
0)13( 2 =++− CUKω
0)133( =++⋅− CUK
8=CUK
Logo o sistema é instável para KC>8 pois, desta forma, 0)13( 2 >++− CUKω
Para que o sistema seja estável :
0)13( 2 <++− CUKω
0)19( <++− CUK
8<CUK
Vamos resolver dois exemplos com os controladores PI e PID:
A função de transferência para o problema servo com PI é:
)()1(1
)()1(
13
3
PI
IC
PI
IC
PC
PC
SP
psK
ssK
psK
ssK
GGGG
XYG
−++
−+
=+
==
ττ
ττ
)1())(0()1(
))(0()1())(0(
))(0()1(
3
3
3
++−++=
−+++−+
−++
=sKKpss
sKK
psssKKpss
psssKK
GICPI
IC
PI
ICPI
PI
IC
τττ
τττ
ττ
- Marcos Marcelino Mazzucco -
245
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
A função de transferência para o problema servo com PID é:
3
2
3
2
)()1(1
)()1(
1PI
IDIC
PI
IDIC
PC
PC
SP
psK
sssK
psK
sssK
GGGG
XYG
−+++
−++
=+
==
ττττ
ττττ
3
23
3
2
))(0()1())(0(
))(0()1(
PI
IDICPI
PI
IDIC
pssssKKpss
pssssKK
G
−++++−+
−+++
=
τττττ
ττττ
)1())(0()1(23
2
+++−+++=
ssKKpssssKKG
IDICPI
IDIC
τττττττ
Para os controladores PI e PID, ajustados pelo método de Ziegler-Nichols, as
respostas para uma mudança tipo degrau unitário no set point são mostradas nos
gráficos a seguir. Compare as diferentes respostas.
- Marcos Marcelino Mazzucco -
246
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
O Código GNU Octave a seguir foi utilizado para gerar os gráficos apresentados:%program controle_PI_PID_Ziegler_Nichols#Software: GNU Octave 2.1.69;mEd 2.1.3#Autor:Marcos Marcelino Mazzuccoclear all;function []= grafico(t1,y1,legenda) prob="SERVO";
- Marcos Marcelino Mazzucco -
247
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
plot(t1,y1(1,:),legenda); hold("on"); grid("on"); xlabel("t");ylabel("y(t)"); title(sprintf("Problema %s: Saídas da malha", prob));endfunction;%begin clc;clf; K=1, pP=-1, PU=2*pi/sqrt(3), KCU=8 %>>ft com PI disp("PI"); KC=0.45*KCU, tau_I=PU/1.2, N=K*KC*[tau_I 1]; D=conv([tau_I 0],conv(conv([1 -pP],[1 -pP]),[1 -pP]))+K*KC*[0 0 0 tau_I 1]; polos=roots(D) sis=tf(N,D); sis.inname{1}="SP"; sis.outname{1}="Y"; tfout(N,D); [y1,t1]=step(sis); grafico(t1,y1,"-r;Controlador PI;"); %>>end; %>>ft com PID com RD=1/4 T="PID com RD=1/4"; disp(T); KC=0.6*KCU, tau_I=PU/2, tau_D=PU/8, N=K*KC*[tau_D*tau_I tau_I 1]; D=conv([tau_I 0],conv(conv([1 -pP],[1 -pP]),[1 -pP]))... +K*KC*[0 0 tau_D*tau_I tau_I 1]; polos=roots(D) sis=tf(N,D); tfout(N,D); [y2,t2]=step(sis); grafico(t2,y2,"-b;Controlador PID com RD=1/4;"); %>>end; %>>ft com PID com pouco overshoot disp("PID com pouco overshoot"); KC=0.33*KCU, tau_I=PU/2, tau_D=PU/3, N=K*KC*[tau_D*tau_I tau_I 1]; D=conv([tau_I 0],conv(conv([1 -pP],[1 -pP]),[1 -pP]))... +K*KC*[0 0 tau_D*tau_I tau_I 1]; polos=roots(D) sis=tf(N,D); tfout(N,D); [y3,t3]=step(sis); grafico(t3,y3,"-xk;Controlador PID com pouco overshoot;") ; %>>end; %>>ft com PID sem overshoot disp("PID sem overshoot"); KC=0.2*KCU, tau_I=PU/2, tau_D=PU/3, N=K*KC*[tau_D*tau_I tau_I 1]; D=conv([tau_I 0],conv(conv([1 -pP],[1 -pP]),[1 -pP]))... +K*KC*[0 0 tau_D*tau_I tau_I 1]; polos=roots(D) sis=tf(N,D); tfout(N,D); [y4,t4]=step(sis); grafico(t4,y4,"-+m;Controlador PID sem overshoot;") %>>end;%end.
- Marcos Marcelino Mazzucco -
248
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Ziegler e Nichols também propuseram um método baseado na curva de resposta
do sistema. O método consiste em desligar o controlador, introduzir uma pequena
perturbação degrau na saída deste, obter a curva de resposta e ajustar sobre esta uma
função de primeira ordem com tempo morto. O seguinte diagrama mostra o experimento
que deve ser realizado:
-GP
GL
GC
set point ++
+XSP XC YP
YL
Y
XL
XP
YC
GDXD
perturb. YD
onde: GD=1/s
Os controladores comerciais sempre incluem a possibilidade de operação em malha
aberta, o o engenheiro do processo pode inserir as ações de controle manualmente.
O ajustes dos parâmetros dos controladores propostos por Ziegler e Nichols são dados
por:
Controlador KC τI τD
P 1/K(τ/θ) - -PI (0,9/K)(τ/θ) 3,33θ -
PID (1,2/K)(τ/θ) 2θ 0,5θ
No exemplo que segue, compare as respostas obtidas para o mesmo problema
utilizado nos métodos de Cohen-Coon e ITAE, agota pela forma de ajuste, baseada na
curva de resposta, proposta por Zielger e Nichols. Observe a ocorrência de offset para o
controlador P, bem como a diminuição do overshoot proporcionada pelo controlador PID.
- Marcos Marcelino Mazzucco -
249
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
- Marcos Marcelino Mazzucco -
250
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
O Código GNU Octave a seguir foi utilizado para os dois testes anteriores:%program controle_PI_PID_Ziegler_Nichols_curva_resposta#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzuccoclear all;function []= grafico(n,t1,y1,t2,y2,t3,y3,prob) figure(n);clf; subplot(2,1,1); plot(t1,y1(1,:),"-r;Ações do controlador PID; ");
- Marcos Marcelino Mazzucco -
251
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
hold("on"); plot(t2,y2(1,:),"-+b;Ações do controlador PI; "); plot(t3,y3(1,:),"-xk;Ações do controlador P; "); grid("on"); xlabel("t");ylabel("x(t)"); title(sprintf("Problema %s: Ações dos controladores",prob)); subplot(2,1,2); plot(t1,y1(2,:),"-r;Saída do sistema para o controlador PID;"); hold("on"); plot(t2,y2(2,:),"-+b;Saída do sistema para o controlador PI;"); plot(t3,y3(2,:),"-xk;Saída do sistema para o controlador P;"); grid("on"); xlabel("t");ylabel("y(t)"); title(sprintf("Problema %s: Saídas da malha", prob));endfunction;%begin clc; clf; %>>Processo KP=1; tau=[0.1 , 0.08]; den=polymult([[tau(1),1];[tau(2),1]]); GP=tf([KP],den,0,"XP","YP"); printf("Processo: GP(s)=%g/((%gs+1)(%gs+1))\n",KP,tau(1),tau(2)); #identificado no exemplo deg_sist_ordem_2_aprox_ordem_1_tm KP =1.01; tau =0.146; teta=0.044; printf("Identificado como: GP(s)=%ge^(-%gs)/(%gs+1)\n",KP,teta,tau); %end; %>>ft carga GP_L=GP; %>>end; %>>PID disp("Parâmetros do controlador PID pelo método Ziegler-Nichols:"); alfa=0.05; [KC,tau_I,tau_D]=ziegler_nichols("PID",KP,tau, teta); printf("[KC=%g], [tau_I=%g], [tau_D=%g], [alfa=%g]\n",KC,tau_I,tau_D,alfa); GC_PID=PID([KC,tau_I,tau_D],alfa); %>>end; %>>PI disp("Parâmetros do controlador PI pelo método de Ziegler-Nichols:"); [KC,tau_I]=ziegler_nichols("PI", KP,tau, teta); printf("[KC=%g], [tau_I=%g]\n",KC,tau_I); GC_PI=PID([KC,tau_I]); %>>end; %>>P disp("Parâmetros do controlador P pelo método de Ziegler-Nichols:"); [KC]=ziegler_nichols("P", KP,tau, teta); printf("[KC=%g]\n",KC); GC_P=PID([KC]); %>>end; GR=tf(1,1,0,"YP","YP"); disp("====[Malha com controlador PID]===="); [G1,G_SP1,G_L1]=single_loop(GC_PID,GP,GP_L,GR,1); disp("====[Malha com controlador PI ]===="); [G2,G_SP2,G_L2]=single_loop(GC_PI,GP,GP_L,GR,1); disp("====[Malha com controlador P ]===="); [G3,G_SP2,G_L2]=single_loop(GC_P,GP,GP_L,GR,1); %>>Perturbação degrau na carga(entrada 1) prob="regulador"; [y1,t1]=step(G1,1);[y2,t2]=step(G2,1);[y3,t3]=step(G3,1); grafico(1,t1,y1,t2,y2,t3,y3,prob); %>>end; %>>Perturbação degrau no set point(entrada 2) prob="servo"; [y1,t1]=step(G1,2);[y2,t2]=step(G2,2);[y3,t3]=step(G3,2); y1=min(y1,10);grafico(2,t1,y1,t2,y2,t3,y3,prob); %>>end;%end.
- Marcos Marcelino Mazzucco -
252
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
9.2SINTONIA MANUAL Ajustes de campo são freqüentemente necessários para melhorar o desempenho
de sistemas de controle. Uma forma de ajuste está baseada nas regras de Ziegler-
Nichols utilizando o conceito de ganho máximo e consiste nos seguintes passos:
- Desativar os modos integral (valor máximo) e derivativo (valor mínimo);
- Ajustar o ganho proporcional para um valor pequeno;
- Aumentar o ganho proporcional, lentamente, aplicando pequenas perturbações
no set point ou na carga até que a saída do sistema torne-se continuamente oscilatória
com amplitude constante e sem atingir os limites (saturação) do elemento sensor e do
elemento final de controle;
- Dividir KC por dois;
- Reduzir τI até que a oscilação cíclica apareça novamente;
-Multiplicar τI por três;
- Aumentar τD até que a oscilação cíclica apareça novamente;
-Dividir τD por três;
9.3ANÁLISE DA RESPOSTA FREQUENCIAL DE SISTEMAS
A análise da resposta de sistemas à entradas senoidais constitui uma parte muito
importante do projeto e análise de sistemas de controle. Está além do escopo deste
material. O leitor pode buscar as informações necessárias nas bibliografias indicadas.
- Marcos Marcelino Mazzucco -
253
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
9.4EXERCÍCIO FINAL
Faça o modelo para o processo a seguir considerando que o escoamento nas saídas dos
tanques é do tipo F=ρv=ρKVh1/2. Adote os valores que desejar para as dimensões dos
tanques e para as constantes KV.
F1
h1
D1
1 F2
h2
D2
F3
F4
h3
D3
3
2
F0
LT
LT
- Marcos Marcelino Mazzucco -
254
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
Desenhe o diagrama de blocos do problema. A variável manipulada é F1 e a variável de
carga é F0. Estabeleça malhas de controle para manipular F1 e controlar h3. Utilize os
métodos de Cohen-Coon, ITAE e Ziegler-Nichols baseados na curva de resposta para
ajustar os controladores.
- Marcos Marcelino Mazzucco -
255
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
10 CONSIDERAÇÕES FINAIS
- Marcos Marcelino Mazzucco -
256
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
O estudo de controle de processos avança em proporção aos avanços dos
conhecimentos nas áreas da matemática, engenharia, eletrônica e computação. Neste
material foram abordados os aspectos que permitem uma visualização superficial de
modelagem e sistemas de controle. O que deve ser reforçado é o fato de que os
processos possuem comportamentos que são modificados pelos sistemas de controle.
Desta forma não é possível projetar ou ajustar controladores ignorando a natureza do
problema. Os processos químicos, por sua vez possuem comportamentos peculiares que
não podem ser descartados. O sucesso da especificação de controladores, neste caso,
está intimamente relacionado com o conhecimento do fenômeno que ocorre. Isto, por si
só, já justifica a inclusão deste conteúdo nos cursos de engenharia química.
- Marcos Marcelino Mazzucco -
257
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
11 REFERÊNCIAS
LUYBEN, W. L., Process Modeling, Simulation And Control For Chemical Engineers, New
York: McGraw-Hill, 1990.
MAZZUCCO, M., M. , Um Sistema Difuso para o Controle de Temperatura de Unidades
de Processamento em Batelada, Tese de Doutorado, Programa de Pós-graduação e
Engenharia de Produção-UFSC, 2003.
SEBORG, D. E., EDGAR, T. F., MELLICHAMP, D. A., Process Dynamics And Control.
New York: John Wiley, 1989.
SOISSON, Harold E, Instrumentação Industrial. São Paulo: Hemus, s.d.
MATLAB- Guia do Usuário , Makron Books.
Octave – on-line Documentation, www.octave.org.
- Marcos Marcelino Mazzucco -
258
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
12 ANEXO 1- SUBROTINAS 12.1 FRACOES_PARCIAIS
#GNU Octave ; MED 3.0#Autor:Marcos Marcelino Mazzucco#Objetivo:expandir em frações parciaisfunction [s,c,p,k,e]=fracoes_parciais(n,d) [c,p,k,e]=residue(n,d); pp=-p; cc=c; s=""; for i=1:length(c) if imag(pp(i)) val= com2str(pp(i)); else val= num2str(pp(i)); endif; if e(i)!=1 s=[s,sprintf("+(%s)/(s+(%s))^%g",com2str(c(i)),val,e(i))]; else s=[s,sprintf("+(%s)/(s+(%s))",com2str(c(i)),val)]; endif; endfor; if nargout>0 return endif; n=l=d=N=L=D=""; for i=1 :length(p) N=[N,n," "]; L=[L,l," + "]; D=[D,d," "]; den=[]; for j=1:e(i) den=[den,p(i)]; endfor; [n,l,d]=szpout([],den,c(i)); endfor; N=[N,n," "]; L=[L,l," "]; D=[D,d," "]; disp(N);disp(L);disp(D); printf("\n");endfunction;
- Marcos Marcelino Mazzucco -
259
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
12.2 POLYMULT
#Software: GNU Octave 3.0.0;mEd 3.3.0#Última gravação: 10/04/2008;quinta-feira;11:41#Autor:Marcos Marcelino Mazzucco, Dr.#Objetivo:Multiplicação de polinômios#Uso:p=polymult(p1,p2,p3,...)## p=polymult(p1,p2,p3,...,string)#O último parâmetro, string, é opcional para apresentar o resultado na forma de textofunction [p]=polymult(varargin) p=varargin{1}; for i=2:nargin arg=varargin{i}; if (strcmp(typeinfo(arg),"string")|strcmp(typeinfo(arg),"sq_string")) polyout(p,arg) return; endif; p=conv(p,arg); endfor;endfunction;
- Marcos Marcelino Mazzucco -
260
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
12.3 POLYADD
#Software: GNU Octave 3.0.0;mEd 3.3.0#Última gravação: 10/04/2008;quinta-feira;12:00#Autor:Marcos Marcelino Mazzucco, Dr.#Objetivo:Adição de polinômios#Uso:p=polyadd(p1,p2,p3,...)## p=polyadd(p1,p2,p3,...,string)#O último parâmetro, string, é opcional para apresentar o resultado na forma de textofunction [p]=polyadd(varargin) for m=1:nargin arg=varargin{m}; if (strcmp(typeinfo(arg),"string")|strcmp(typeinfo(arg),"sq_string")) break; endif; L=m;#número de vetores c_v(m)=length(varargin{m});#comprimento dos vetores endfor; C=max(c_v); P=zeros(L,C); %>>igualar os comprimentos dos vetores para somar for m=1:L arg=varargin{m}; k=0; for n=c_v(m):-1:1 P(m,C-k)=arg(n); k=k+1; endfor; endfor; %>>end; %>>somar os vetores p=P(1,:); for m=2:L p=p+P(m,:); endfor; %>>end; %>>caso o último parâmetro seja um texto apresentar o resultado na forma de texto if nargin>L polyout(p,varargin{nargin}); endif; %>>end;endfunction;
- Marcos Marcelino Mazzucco -
261
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
12.4 POLYPOWER
#Software: GNU Octave 3.0.0;mEd 3.3.0#Última gravação: 10/04/2008;quinta-feira;11:59#Autor:Marcos Marcelino Mazzucco, Dr.#Objetivo:Multiplicação de polinômios#Uso:p=polypower(poli,exp)## p=polypower(poli,exp,string)#O último parâmetro, string, é opcional para apresentar o resultado na forma de textofunction [p]=polypower(p1,e,s) p=p1; for i=2:e p=conv(p,p1); endfor; if exist("s") if (strcmp(typeinfo(s),"string")|strcmp(typeinfo(s),"sq_string")) polyout(p,s); endif; endif;endfunction;
- Marcos Marcelino Mazzucco -
262
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
12.5 EXIBIRFT
#GNU Octave ; MED 3.0#Autor:Marcos Marcelino Mazzucco#Objetivo:exibir funcao de transferencia na forma de um texto (num/denom)function exibirft(num, denom, x) if nargin<3 x="s"; endif; numstr = [" " , polyout(num,x)]; numstr = strrep(numstr,sprintf(" 1*%s",x),sprintf("%s",x)); numstr = strrep(numstr,sprintf("%s^1 ",x),sprintf("%s ",x)); denomstr = [" " , polyout(denom,x)]; denomstr = strrep(denomstr,sprintf(" 1*%s",x),sprintf("%s",x)); denomstr = strrep(denomstr,sprintf("%s^1 ",x),sprintf("%s ",x)); len = max(length(numstr),length(denomstr)); y = strrep(blanks(len)," ","-"); spc=fix((len-length(numstr))/2); disp(sprintf([blanks(spc) numstr blanks(spc)])); disp(y); disp(denomstr);%end
- Marcos Marcelino Mazzucco -
263
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
12.6 DEGRAU_UNITARIO
#Última gravação: 09/02/2009;segunda-feira;11:55#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Dr. Marcos Marcelino Mazzucco#Objetivo:gerar degrau unitáriofunction r=degrau_unitario(t)#Função degrau r=zeros(1,length(t)); for i=1:length(t) if t(i)>=0 r(i)=1; endif; endfor;endfunction
- Marcos Marcelino Mazzucco -
264
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
12.7 PRIMEIRA_ORDEM
#Última gravação: 09/02/2009;segunda-feira;11:41#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Dr. Marcos Marcelino Mazzucco#Objetivo:gerar dados de uma função de primeira ordem## t=vetor tempo## M=magnitude do degrau## K=Ganho em estado estacionário## tau=constante de tempo## teta= tempo mortofunction y=primeira_ordem(t,M,K,tau,teta)#Sistema y=K*M*(1-exp(-(t-teta)/tau)).*degrau_unitario(t-teta);endfunction
- Marcos Marcelino Mazzucco -
265
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
12.8 GERAR_DADOS #Última gravação: 09/02/2009;segunda-feira;11:58#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Dr. Marcos Marcelino Mazzucco#Objetivo:gerar dados de um sistema sobreamortecido de ordem N## t=vetor tempo## M=magnitude do degrau## K=Ganho em estado estacionário## tau=vetor de constantes de tempos(apenas constantes distintas)## teta= tempo mortofunction [y]=gerar_dados(t,M,K,tau,teta) d=[tau(1) , 1]; N=length(tau); for j=2:N d=conv(d,[tau(j) , 1]); endfor; [c,p,k,e]=residue([1],conv([1 0],d)); s=zeros(1,length(t)); for i=1:N+1 s=s.+c(i).*exp(p(i)*(t-teta));#raízes simples (sem repetição) endfor; y=M*K*(s); y=y.*degrau_unitario(t-teta);endfunction;
- Marcos Marcelino Mazzucco -
266
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
12.9SUNDARESAN_KRISHNAWAMI #Última gravação: 09/02/2009;segunda-feira;09:52#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.#Objetivo:## aproximar [t,y] para uma função de primeira ordem com tempo morto## pelo método de sundaressan e krishnawami a partir de um degrau## de magnitude step. Se omitido step então step=1.## O parâmetro str é opcional para exibir a função de transferência.function [K, tau, teta, t353,t853]=sundaresan_krishnawami(t,y,mag_deg,str); if nargin==2 mag_deg=1; endif; if nargin==3 & isstr(mag_deg) mag_deg=1; str="s"; endif; y=y-y(1); for j=1:length(y) if y(j)>0.353*y(end) t353=(t(j-1)+t(j))/2; break; endif; endfor; for k=j:length(y) if y(k)>0.853*y(end) t853=(t(k-1)+t(k))/2; break; endif; endfor; tau=0.67*(t853-t353); teta=1.3*t353-0.29*t853; K=(y(end-2)+y(end-1)+y(end))/3/mag_deg; if (nargin==3 & isstr(mag_deg)) | nargin==4 exibirft(K,[tau , 1],teta); endif;endfunction;
- Marcos Marcelino Mazzucco -
267
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
12.10 SINGLE_LOOP
#Última gravação: 11/02/2009;quarta-feira;10:42#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.#Objetivo:make a single loop# .---------------------->YC# | +------+# | XL-->| GL |---.# | +------+ |# +-----+ + +-----+ | +------+ v+#SP--> | KSP |-->(X)---| GC |-(.)->| GP |----->(X)-->Y# +-----+ - ^ +-----+ +------+ +|# | +------+ |# .----------------| GR |<-------.# +------+#K_SP: gain for set point#GC: controller transfer function#GP: controlled transfer function#GL: Load transfer function#opt:"clc" ,"warning off"function [G,G_SP,G_L]=single_loop(GC,GP,GL,GR,KSP,opt) if exist("KSP","var") if ischar(KSP) opt=KSP; KSP=1; endif; elseif !exist("KSP","var") KSP=1; endif; if !exist("opt","var") opt=""; endif; if exist("GR","var") if ischar(GR) opt=GR; GR=ugain(1); endif; elseif !exist("GR","var") GR=ugain(1); endif; if exist("GL","var") if ischar(GL) opt=GL; GL=ugain(1); endif; elseif !exist("GL","var") GL=ugain(1); endif; warning_state=warning;#current warning state if strcmp(opt,"warning off") warning("off all");#turn off all warnings endif; disp("");disp("Creating closed loop...");disp(""); %>>Malha %>>Grupo de blocos para o ramo direto; GD=sysgroup(GC,GP); GD=sysconnect(GD,1,2); GD=sysdup(GD,1,[]); GD=sysprune(GD,[1,2],[1]);
- Marcos Marcelino Mazzucco -
268
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
GD.inname{1}="YSP-YR"; GD.outname{1}="YC"; GD.outname{2}="Y2"; %>>Grupo de blocos no ramo de realimentação; T=sysgroup(GL,GD,GR);# disp("::>criando junção de GL e GP...");fflush(stdout); J=ugain(1); J.inname{1}="Y1+Y2"; J.outname{1}="Y"; T=sysgroup(T,J); %>>Malha feedback;# disp("::>estabelecendo malha feedback...");fflush(stdout); T = sysscale(T,diag([1, 1, 1, -1, 1]),[]);#realimentação negativa T = sysconnect(T,1,4); T = sysconnect(T,3,4); T = sysconnect(T,5,3); T = sysconnect(T,4,2);# disp("::>mantendo apenas as saídas 2 e 5 e as entradas 1 e 2 ..."); G=sysprune(T,[2 5],[1 2]);## disp("::>conectando FT para SP na entrada 2 ...");fflush(stdout);# G = sysscale(G,[], diag([1, 1])); G.inname{2}="XSP"; G.inname{1}="XL"; G.outname{2}="Y"; G.outname{1}="YC"; G = sysscale(G,[], diag([1, KSP])); if strcmp(opt,"clc") clc; endif; disp("");disp("Creating closed loop from...");disp(""); disp(" .---------------------->YC") disp(" | .------.") disp(" | XL-->| GL |---.") disp(" | `------´ |") disp(" .-----. + .-----. | +------+ v+") disp("SP--> | KSP |-->(X)---| GC |-(.)->| GP |----->(X)-(.)->Y") disp(" `-----´ -^ `-----´ `------´ + |") disp(" | .------. |") disp(" `----------------| GR |<-----------´") disp(" `------´") disp("Closed loop created with form:") disp(""); disp(" .------. "); disp(" XL(1)---->| G |---->(1)YC "); disp("XSP(2)---->| |---->(2)Y "); disp(" `------´ "); %end; disp(""); disp("========================") disp("Servo transfer function:"); G_SP=sysprune(G,[2],[2]); sysout(G_SP,"tf"); disp(""); disp("============================") disp("Regulator transfer function:"); G_L=sysprune(G,[2],[1]); sysout(G_L,"tf") warning(warning_state);#restore warning stateendfunction;
- Marcos Marcelino Mazzucco -
269
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
12.11 COHEN_COON
#Última gravação: 10/02/2009;terça-feira;10:59#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.#Objetivo:"parâmetros do controladores PID pelo método de Cohen-Coon#Uso:[K_C,tau_I,tau_D]=cohen_coon(controlador, KP,tau, teta)function [K_C,tau_I,tau_D]=cohen_coon(controlador, KP,tau, teta) #controlador="PI" #controlador="PID" controlador=upper(controlador); if strcmp(controlador,"PID") %>>Controlador PID %>>KC; K_C=1/KP*tau/teta*(16*tau+3*teta)/(12*tau); %>>tau_I; tau_I=teta*(32+6*teta/tau)/(13+8*teta/tau); %>>tau_D; tau_D=4*teta/(11+2*teta/tau); %>>end else %>>Controlador PI %>>KC; K_C=1/KP*tau/teta*(0.9+teta/(12*tau)); %>>tau_I; tau_I=teta*(30+3*teta/tau)/(9+20*teta/tau); tau_D=0; %>>end endif;endfunction;
- Marcos Marcelino Mazzucco -
270
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
12.12 ITAE#Última gravação: 10/02/2009;terça-feira;12:18#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.#Objetivo:Parâmetros dos controladores PID pelo método ITAE#uso: [K_C,tau_I,tau_D]=itae(controlador, entrada, KP,tau, teta)function [K_C,tau_I,tau_D]=itae(controlador, entrada, KP,tau, teta) #controlador="PI" #controlador="PID" #entrada="SET POINT" #entrada="CARGA" controlador=upper(controlador); entrada=upper(entrada); # A B P=[0.859 -0.977 #P (carga) 0.674 -0.680 #I (carga) 1.357 -0.947 #P (carga) 0.842 -0.738 #I (carga) 0.381 0.995 #D (carga) 0.586 -0.916 #P (set point) 1.030 -0.165 #I (set point) 0.965 -0.850 #P (set point) 0.796 -0.1465 #I (set point) 0.308 0.929]; #D (set point)
if strcmp(controlador,"PID") if strcmp(entrada,"CARGA") A=P(3,1);B=P(3,2); K_C=1/KP*A*(teta/tau)^B; A=P(4,1);B=P(4,2); tau_I=tau*(A*(teta/tau)^B)^-1; A=P(5,1);B=P(5,2); tau_D=tau*(A*(teta/tau)^B); else A=P(8,1); B=P(8,2); K_C=1/KP*A*(teta/tau)^B; A=P(9,1); B=P(9,2); tau_I=tau*(A+B*(teta/tau))^-1; A=P(10,1); B=P(10,2); tau_D=tau*(A*(teta/tau)^B); endif; elseif strcmp(controlador,"PI") if strcmp(entrada,"CARGA") A=P(1,1); B=P(1,2); K_C=1/KP*A*(teta/tau)^B; A=P(2,1); B=P(2,2); tau_I=tau*(A*(teta/tau)^B)^-1; tau_D=0; else A=P(6,1); B=P(6,2); K_C=1/KP*A*(teta/tau)^B; A=P(7,1); B=P(7,2); tau_I=tau*(A+B*(teta/tau))^-1; tau_D=0; endif; endif;endfunction;
- Marcos Marcelino Mazzucco -
271
INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS
12.13ZIEGLER_NICHOLS
#Última gravação: 11/02/2009;quarta-feira;09:31#Software: GNU Octave 3.1.50;mEd 3.4.1#Autor:Marcos Marcelino Mazzucco, Dr.#Objetivo: parâmetros do controlador PID pelo método de Ziegler-Nichols:#Uso:[K_C,tau_I,tau_D]=ziegler_nichols(controlador, KP,tau, teta)function [K_C,tau_I,tau_D]=ziegler_nichols(controlador, KP,tau, teta) #controlador="PI" #controlador="PID" controlador=upper(controlador); if strcmp(controlador,"PID") K_C=1.2/KP*tau/teta; tau_I=2*teta; tau_D=0.5*teta; elseif strcmp(controlador,"PI") K_C=0.9/KP*tau/teta; tau_I=3.33*teta; tau_D=0; else K_C=1/KP*tau/teta; tau_I=inf; tau_D=0; endif;endfunction;
- Marcos Marcelino Mazzucco -
272