Introducao controle processos.odt

274
Marcos Marcelino Mazzucco 2009 INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS - ASPECTOS TEÓRICOS E EXEMPLOS COM GNU OCTAVE INSTRUMENTAÇÃO INDUSTRIAL MODELAGEM DE SISTEMAS TRANSFORMADA DE LAPLACE CONTROLE FEEDBACK GNU OCTAVE

description

 

Transcript of Introducao controle processos.odt

Page 1: Introducao controle processos.odt

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

Page 2: Introducao controle processos.odt

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

Page 3: Introducao controle processos.odt

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

Page 4: Introducao controle processos.odt

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

Page 5: Introducao controle processos.odt

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

Page 6: Introducao controle processos.odt

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

Page 7: Introducao controle processos.odt

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

Page 8: Introducao controle processos.odt

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

Page 9: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

2 INSTRUMENTAÇÃO DE PROCESSOS QUÍMICOS

- Marcos Marcelino Mazzucco -

7

Page 10: Introducao controle processos.odt

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

Page 11: Introducao controle processos.odt

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

Page 12: Introducao controle processos.odt

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

Page 13: Introducao controle processos.odt

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

Page 14: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

- Marcos Marcelino Mazzucco -

12

Page 15: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

- Marcos Marcelino Mazzucco -

13

Page 16: Introducao controle processos.odt

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

Page 17: Introducao controle processos.odt

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

Page 18: Introducao controle processos.odt

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

Page 19: Introducao controle processos.odt

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

Page 20: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

Fonte: Chemical Engineers' Handbook

- Marcos Marcelino Mazzucco -

18

Page 21: Introducao controle processos.odt

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

Page 22: Introducao controle processos.odt

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

Page 23: Introducao controle processos.odt

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

Page 24: Introducao controle processos.odt

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

Page 25: Introducao controle processos.odt

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

Page 26: Introducao controle processos.odt

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

Page 27: Introducao controle processos.odt

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

Page 28: Introducao controle processos.odt

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

Page 29: Introducao controle processos.odt

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

Page 30: Introducao controle processos.odt

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

Page 31: Introducao controle processos.odt

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

Page 32: Introducao controle processos.odt

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

Page 33: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

3 MODELAGEM DE PROCESSOS QUÍMICOS

- Marcos Marcelino Mazzucco -

31

Page 34: Introducao controle processos.odt

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

Page 35: Introducao controle processos.odt

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

Page 36: Introducao controle processos.odt

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

Page 37: Introducao controle processos.odt

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

Page 38: Introducao controle processos.odt

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

Page 39: Introducao controle processos.odt

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

Page 40: Introducao controle processos.odt

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

Page 41: Introducao controle processos.odt

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

Page 42: Introducao controle processos.odt

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

Page 43: Introducao controle processos.odt

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

Page 44: Introducao controle processos.odt

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

Page 45: Introducao controle processos.odt

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

Page 46: Introducao controle processos.odt

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

Page 47: Introducao controle processos.odt

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

Page 48: Introducao controle processos.odt

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

Page 49: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

(A) (B) (C)

(D) (E)

- Marcos Marcelino Mazzucco -

47

Page 50: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

4 TRANSFORMADA DE LAPLACE E LINEARIZAÇÃO DE SISTEMAS

- Marcos Marcelino Mazzucco -

48

Page 51: Introducao controle processos.odt

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

Page 52: Introducao controle processos.odt

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

Page 53: Introducao controle processos.odt

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

Page 54: Introducao controle processos.odt

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

Page 55: Introducao controle processos.odt

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

Page 56: Introducao controle processos.odt

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

Page 57: Introducao controle processos.odt

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

Page 58: Introducao controle processos.odt

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

Page 59: Introducao controle processos.odt

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

Page 60: Introducao controle processos.odt

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

Page 61: Introducao controle processos.odt

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

Page 62: Introducao controle processos.odt

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

Page 63: Introducao controle processos.odt

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

Page 64: Introducao controle processos.odt

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

Page 65: Introducao controle processos.odt

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

Page 66: Introducao controle processos.odt

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

Page 67: Introducao controle processos.odt

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

Page 68: Introducao controle processos.odt

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

Page 69: Introducao controle processos.odt

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

Page 70: Introducao controle processos.odt

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

Page 71: Introducao controle processos.odt

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

Page 72: Introducao controle processos.odt

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

Page 73: Introducao controle processos.odt

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

Page 74: Introducao controle processos.odt

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

Page 75: Introducao controle processos.odt

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

Page 76: Introducao controle processos.odt

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

Page 77: Introducao controle processos.odt

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

Page 78: Introducao controle processos.odt

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

Page 79: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

Os gráficos, a seguir, foram obtidos a partir do programa anterior.

- Marcos Marcelino Mazzucco -

77

Page 80: Introducao controle processos.odt

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

Page 81: Introducao controle processos.odt

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

Page 82: Introducao controle processos.odt

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

Page 83: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

5 COMPORTAMENTO DINÂMICO DE SISTEMAS

- Marcos Marcelino Mazzucco -

81

Page 84: Introducao controle processos.odt

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

Page 85: Introducao controle processos.odt

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

Page 86: Introducao controle processos.odt

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

Page 87: Introducao controle processos.odt

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

Page 88: Introducao controle processos.odt

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

Page 89: Introducao controle processos.odt

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

Page 90: Introducao controle processos.odt

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

Page 91: Introducao controle processos.odt

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

Page 92: Introducao controle processos.odt

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

Page 93: Introducao controle processos.odt

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

Page 94: Introducao controle processos.odt

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

Page 95: Introducao controle processos.odt

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

Page 96: Introducao controle processos.odt

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

Page 97: Introducao controle processos.odt

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

Page 98: Introducao controle processos.odt

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

Page 99: Introducao controle processos.odt

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

Page 100: Introducao controle processos.odt

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

Page 101: Introducao controle processos.odt

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

Page 102: Introducao controle processos.odt

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

Page 103: Introducao controle processos.odt

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

Page 104: Introducao controle processos.odt

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

Page 105: Introducao controle processos.odt

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

Page 106: Introducao controle processos.odt

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

Page 107: Introducao controle processos.odt

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

τζζ

τζ

ζτζ tteMKtyt

P

−+−

−−=

−)1cosh()1senh(

11)( 22

τζ

τζζτ

ζ 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

Page 108: Introducao controle processos.odt

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

τζ

τζζτ

ζ 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

Page 109: Introducao controle processos.odt

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

Page 110: Introducao controle processos.odt

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

Page 111: Introducao controle processos.odt

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

Page 112: Introducao controle processos.odt

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

Page 113: Introducao controle processos.odt

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

Page 114: Introducao controle processos.odt

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

Page 115: Introducao controle processos.odt

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

Page 116: Introducao controle processos.odt

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

Page 117: Introducao controle processos.odt

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

Page 118: Introducao controle processos.odt

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

Page 119: Introducao controle processos.odt

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

Page 120: Introducao controle processos.odt

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

Page 121: Introducao controle processos.odt

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

Page 122: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

- Marcos Marcelino Mazzucco -

120

Page 123: Introducao controle processos.odt

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

Page 124: Introducao controle processos.odt

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

Page 125: Introducao controle processos.odt

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

−(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

Page 126: Introducao controle processos.odt

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

Page 127: Introducao controle processos.odt

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

Page 128: Introducao controle processos.odt

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

Page 129: Introducao controle processos.odt

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

Page 130: Introducao controle processos.odt

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

Page 131: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

6 IDENTIFICAÇÃO DE SISTEMAS

- Marcos Marcelino Mazzucco -

129

Page 132: Introducao controle processos.odt

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

Page 133: Introducao controle processos.odt

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

Page 134: Introducao controle processos.odt

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

Page 135: Introducao controle processos.odt

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

Page 136: Introducao controle processos.odt

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

Page 137: Introducao controle processos.odt

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

Page 138: Introducao controle processos.odt

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

Page 139: Introducao controle processos.odt

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

Page 140: Introducao controle processos.odt

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

Page 141: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

O modelo do sistema fica:

1101,0

)()(

+=

ssXsY

- Marcos Marcelino Mazzucco -

139

Page 142: Introducao controle processos.odt

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

Page 143: Introducao controle processos.odt

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

Page 144: Introducao controle processos.odt

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

Page 145: Introducao controle processos.odt

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

Page 146: Introducao controle processos.odt

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

Page 147: Introducao controle processos.odt

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

Page 148: Introducao controle processos.odt

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

Page 149: Introducao controle processos.odt

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

Page 150: Introducao controle processos.odt

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

Page 151: Introducao controle processos.odt

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

Page 152: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

Introduzindo 5% de ruído:

- Marcos Marcelino Mazzucco -

150

Page 153: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

- Marcos Marcelino Mazzucco -

151

Page 154: Introducao controle processos.odt

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

Page 155: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

7 CONTROLE FEEDBACK

- Marcos Marcelino Mazzucco -

153

Page 156: Introducao controle processos.odt

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

Page 157: Introducao controle processos.odt

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

Page 158: Introducao controle processos.odt

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

Page 159: Introducao controle processos.odt

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

Page 160: Introducao controle processos.odt

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

Page 161: Introducao controle processos.odt

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

Page 162: Introducao controle processos.odt

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

Page 163: Introducao controle processos.odt

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

Page 164: Introducao controle processos.odt

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

Page 165: Introducao controle processos.odt

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

Page 166: Introducao controle processos.odt

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

Page 167: Introducao controle processos.odt

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

Page 168: Introducao controle processos.odt

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

Page 169: Introducao controle processos.odt

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

Page 170: Introducao controle processos.odt

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

Page 171: Introducao controle processos.odt

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

Page 172: Introducao controle processos.odt

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

Page 173: Introducao controle processos.odt

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

Page 174: Introducao controle processos.odt

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

Page 175: Introducao controle processos.odt

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

Page 176: Introducao controle processos.odt

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

Page 177: Introducao controle processos.odt

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

Page 178: Introducao controle processos.odt

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

Page 179: Introducao controle processos.odt

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

Page 180: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

Problema: servo.

- Marcos Marcelino Mazzucco -

178

Page 181: Introducao controle processos.odt

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

Page 182: Introducao controle processos.odt

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

Page 183: Introducao controle processos.odt

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

Page 184: Introducao controle processos.odt

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

Page 185: Introducao controle processos.odt

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

Page 186: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

endif; endif; xlabel("time");%end.

- Marcos Marcelino Mazzucco -

184

Page 187: Introducao controle processos.odt

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

Page 188: Introducao controle processos.odt

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

Page 189: Introducao controle processos.odt

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

Page 190: Introducao controle processos.odt

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

Page 191: Introducao controle processos.odt

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

Page 192: Introducao controle processos.odt

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

Page 193: Introducao controle processos.odt

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

Page 194: Introducao controle processos.odt

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

Page 195: Introducao controle processos.odt

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

Page 196: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

- Marcos Marcelino Mazzucco -

194

Page 197: Introducao controle processos.odt

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

Page 198: Introducao controle processos.odt

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

Page 199: Introducao controle processos.odt

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

Page 200: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

Continua na próxima página...

- Marcos Marcelino Mazzucco -

198

Page 201: Introducao controle processos.odt

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

Page 202: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

- Marcos Marcelino Mazzucco -

200

Page 203: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

- Marcos Marcelino Mazzucco -

201

Page 204: Introducao controle processos.odt

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

Page 205: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

8 ANÁLISE DE ESTABILIDADE

- Marcos Marcelino Mazzucco -

203

Page 206: Introducao controle processos.odt

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

Page 207: Introducao controle processos.odt

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

Page 208: Introducao controle processos.odt

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

Page 209: Introducao controle processos.odt

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

Page 210: Introducao controle processos.odt

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

Page 211: Introducao controle processos.odt

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

Page 212: Introducao controle processos.odt

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

Page 213: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

Processo estável (pP=-1), sistema estável (ℜ(pP)=-1 → KC>0):

- Marcos Marcelino Mazzucco -

211

Page 214: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

Processo instável (pP=+1), sistema instável (ℜ(pP)=+1 → KC>1):

- Marcos Marcelino Mazzucco -

212

Page 215: Introducao controle processos.odt

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

Page 216: Introducao controle processos.odt

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

Page 217: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

Processo instável (pP=+1), sistema estável: (ℜ(pP)=+1 → KC>1)

- Marcos Marcelino Mazzucco -

215

Page 218: Introducao controle processos.odt

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

Page 219: Introducao controle processos.odt

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

Page 220: Introducao controle processos.odt

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

Page 221: Introducao controle processos.odt

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

Page 222: Introducao controle processos.odt

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

Page 223: Introducao controle processos.odt

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

Page 224: Introducao controle processos.odt

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

Page 225: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

Para τI=0,1 o sistema é instável com KC≥0,75.

- Marcos Marcelino Mazzucco -

223

Page 226: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

Para τI=0,1 o sistema é estável com KC<0,75.

- Marcos Marcelino Mazzucco -

224

Page 227: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

Para τI=0,6 o sistema é estável com KC>0.

- Marcos Marcelino Mazzucco -

225

Page 228: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

Para τI=0,4 o sistema é estável com KC<12.

- Marcos Marcelino Mazzucco -

226

Page 229: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

Para τI=0,4 o sistema é instável com KC≥12.

- Marcos Marcelino Mazzucco -

227

Page 230: Introducao controle processos.odt

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

Page 231: Introducao controle processos.odt

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

Page 232: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

- Marcos Marcelino Mazzucco -

230

Page 233: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

9 SINTONIA DE CONTROLADORES PID

- Marcos Marcelino Mazzucco -

231

Page 234: Introducao controle processos.odt

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

Page 235: Introducao controle processos.odt

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

Page 236: Introducao controle processos.odt

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

Page 237: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

- Marcos Marcelino Mazzucco -

235

Page 238: Introducao controle processos.odt

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

Page 239: Introducao controle processos.odt

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

Page 240: Introducao controle processos.odt

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

Page 241: Introducao controle processos.odt

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

Page 242: Introducao controle processos.odt

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

Page 243: Introducao controle processos.odt

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

Page 244: Introducao controle processos.odt

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

Page 245: Introducao controle processos.odt

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

Page 246: Introducao controle processos.odt

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

Page 247: Introducao controle processos.odt

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

Page 248: Introducao controle processos.odt

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

Page 249: Introducao controle processos.odt

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

Page 250: Introducao controle processos.odt

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

Page 251: Introducao controle processos.odt

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

Page 252: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

- Marcos Marcelino Mazzucco -

250

Page 253: Introducao controle processos.odt

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

Page 254: Introducao controle processos.odt

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

Page 255: Introducao controle processos.odt

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

Page 256: Introducao controle processos.odt

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

Page 257: Introducao controle processos.odt

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

Page 258: Introducao controle processos.odt

INTRODUÇÃO AO CONTROLE DE PROCESSOS QUÍMICOS

10 CONSIDERAÇÕES FINAIS

- Marcos Marcelino Mazzucco -

256

Page 259: Introducao controle processos.odt

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

Page 260: Introducao controle processos.odt

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

Page 261: Introducao controle processos.odt

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

Page 262: Introducao controle processos.odt

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

Page 263: Introducao controle processos.odt

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

Page 264: Introducao controle processos.odt

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

Page 265: Introducao controle processos.odt

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

Page 266: Introducao controle processos.odt

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

Page 267: Introducao controle processos.odt

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

Page 268: Introducao controle processos.odt

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

Page 269: Introducao controle processos.odt

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

Page 270: Introducao controle processos.odt

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

Page 271: Introducao controle processos.odt

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

Page 272: Introducao controle processos.odt

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

Page 273: Introducao controle processos.odt

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

Page 274: Introducao controle processos.odt

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