Você está na página 1de 63

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO

CENTRO TECNOLÓGICO
DEPARTAMENTO DE ENGENHARIA ELÉTRICA
PROJETO DE GRADUAÇÃO

ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE


SINTONIA DE CONTROLADORES PID PARA SISTEMAS
COM GRANDE ATRASO DE TEMPO

ANDRE DA CUNHA ROUSSEY

VITÓRIA – ES
AGOSTO/2008
ANDRE DA CUNHA ROUSSEY

ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE


SINTONIA DE CONTROLADORES PID PARA SISTEMAS
COM GRANDE ATRASO DE TEMPO

Parte manuscrita do Projeto de Graduação


do aluno André da Cunha Roussey,
apresentado ao Departamento de
Engenharia Elétrica do Centro
Tecnológico da Universidade Federal do
Espírito Santo, para obtenção do grau de
Engenheiro Eletricista.

VITÓRIA – ES
AGOSTO/2008
ANDRE DA CUNHA ROUSSEY

ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE


SINTONIA DE CONTROLADORES PID PARA SISTEMAS
COM GRANDE ATRASO DE TEMPO

COMISSÃO EXAMINADORA:

___________________________________
Prof. Dr. Celso José Munaro
Orientador

___________________________________
Prof. Dr. José Leandro Félix Salles
Examinador

___________________________________
Prof. Dr. Alessandro Mattedi
Examinador

Vitória - ES, 01, Agosto, 2008


DEDICATÓRIA

Ao meu pai Bernard Michel Roussey e à minha mãe Marta Maria da Cunha.

i
AGRADECIMENTOS

Agradeço ao professor Celso Munaro pelo apoio e ensinamentos.


Agradeço também aos meus amigos Hugo Tanzarella e Daniel Bozzi que
foram companheiros no período de férias e desenvolvimento do projeto, à minha
namorada Aline por me dar apoio e abrir mão de alguns finais de semana para que eu
ficasse no LCI, e por fim, a todos que ajudaram de alguma forma.

ii
LISTA DE FIGURAS

Figura 1 - PID tipo ISA................................................................................................10


Figura 2 - Curva de reação do sistema.........................................................................11
Figura 3 - Preditor de Smith ........................................................................................15
Figura 4 - Preditor ideal ...............................................................................................16
Figura 5 - Atmega16 ....................................................................................................19
Figura 6 - Circuito da fonte regulada...........................................................................20
Figura 7 - Configuração de pinos e circuito típico ......................................................21
Figura 8 - Ligação básica entre Atmega16 e MAX232...............................................22
Figura 9 - placa de circuito impressa desenvolvida.....................................................23
Figura 10 - Planta utilizada..........................................................................................24
Figura 11 - Resposta ao degrau ...................................................................................26
Figura 12 - código do PID ...........................................................................................28
Figura 13 - Código do Preditor de Smith.....................................................................29
Figura 14 - Código da geração do atraso de tempo .....................................................30
Figura 15 - Função para calculo dos parâmetros do controlador ................................30
Figura 16 - Diagrama de blocos do sistema completo.................................................31
Figura 17 - Sintonias para atraso de 0,1 segundos.......................................................33
Figura 18 - Sintonias para atraso de 0,5 segundos.......................................................34
Figura 19 - Sintonias para atraso de 1 segundo ...........................................................36
Figura 20 - Sintonias para atraso de 3 segundos..........................................................37
Figura 21 - Sintonias para atraso de 5 segundos..........................................................39
Figura 22 - Estrutura IMC ...........................................................................................59

iii
LISTA DE TABELA

Tabela 1 - Sintonia usando Ziegler-Nichols em malha fechada..................................12


Tabela 2 - Sintonia usando o método CHR com critério de 20% de sobressinal........13
Tabela 3 - Sintonia usando o método de Cohen-Coon ................................................13
Tabela 4 - Sintonias para atraso de 0,1 segundos ........................................................32
Tabela 5 - Comparativo dos desempenhos para atraso de 0,1 segundos.....................33
Tabela 6 - Sintonias para atraso de 0,5 segundos ........................................................34
Tabela 7 - Comparativo dos desempenhos para atraso de 0,5 segundos.....................35
Tabela 8 - Sintonias para atraso de 1 segundo.............................................................35
Tabela 9 - Comparativo dos desempenhos para atraso de 1 segundo .........................36
Tabela 10 - Sintonias para atraso de 3 segundos .........................................................37
Tabela 11 - Comparativo dos desempenhos para atraso de 3 segundo .......................38
Tabela 12 - Sintonias para atraso de 5 segundos .........................................................38
Tabela 13 - Comparativo dos desempenhos para atraso de 5 segundo .......................39

iv
SUMÁRIO

DEDICATÓRIA........................................................................................................... I
AGRADECIMENTOS ...............................................................................................II
LISTA DE FIGURAS............................................................................................... III
LISTA DE TABELA ................................................................................................ IV
SUMÁRIO ...................................................................................................................V
RESUMO..................................................................................................................VII
1 INTRODUÇÃO ................................................................................................8
2 MÉTODOS CLÁSSICOS DE SINTONIA ..................................................10
2.1 Introdução .........................................................................................................10
2.2 Controlador PID utilizado.................................................................................10
2.3 Método de Ziegler-Nichols ...............................................................................10
2.4 Método de Chien, Hrones e Reswick................................................................12
2.5 Método de Cohen e Coon .................................................................................13
3 PREDITOR DE SMITH ................................................................................15
3.1 Introdução .........................................................................................................15
3.2 Preditor de Smith ..............................................................................................15
4 SISTEMA IMPLEMENTADO .....................................................................18
4.1 Introdução .........................................................................................................18
4.2 Hardware...........................................................................................................18
4.2.1 Microcontrolador.....................................................................................18
4.2.2 Fonte de alimentação...............................................................................19
4.2.3 Comunicação ...........................................................................................20
4.3 Ambiente de programação ................................................................................22
4.4 Sistema de controle ...........................................................................................24
4.4.1 Planta .......................................................................................................24
4.4.2 PID discreto .............................................................................................27
4.4.3 Códigos implementados ..........................................................................28
4.5 Rotinas do Matlab .............................................................................................30
5 RESULTADOS OBTIDOS ............................................................................32
v
5.1 Introdução .........................................................................................................32
5.2 Resultados para atraso de 0,1 segundos............................................................32
5.3 Resultados para atraso de 0,5 segundos............................................................34
5.4 Resultados para atraso de 1 segundo ................................................................35
5.5 Resultados para atraso de 3 segundos...............................................................37
5.6 Resultados para atraso de 5 segundos...............................................................38
6 CONCLUSÃO ................................................................................................40
REFERÊNCIAS BIBLIOGRÁFICAS.....................................................................41
ANEXO A - STK200..................................................................................................43
ANEXO B - ESQUEMÁTICO DO PROTÓTIPO .................................................44
ANEXO C - CÓDIGO DO MICROCONTROLADOR.........................................45
ANEXO D - SINTONIAPID.M ................................................................................52
ANEXO E - SERIAL_COMUNICA.M ...................................................................55
ANEXO F - PLOTA.M..............................................................................................58
ANEXO G - SINTONIA LAMBDA.........................................................................59

vi
RESUMO
Este projeto tem como objetivo analisar o desempenho de alguns métodos de
sintonia de controladores Proporcional-Integral-Derivativo (PID) e o Preditor de Smith
na presença de atrasos de tempo grandes quando comparados com a constante de
tempo do sistema. Para avaliar o desempenho dos métodos utiliza-se um sistema de
primeira ordem mais atraso constituído de um circuito RC e de uma plataforma
microprocessada, usando um microcontrolador de baixo custo, com interface serial
RS-232 no qual são implementados o controlador PID, a estrutura do Preditor de
Smith e um algoritmo para gerar atrasos de tempo variáveis. Testes para diferentes
tempos de atraso são feitos e os resultados para os diferentes métodos de projeto são
comparados. Rotinas no ambiente do Matlab são desenvolvidas para prover a interface
necessária para enviar os parâmetros de controle ao microcontrolador e realizar a
aquisição dos sinais e monitoramento das variáveis necessárias.

vii
8

1 INTRODUÇÃO

O controlador PID é a estratégia de controle mais utilizada nos processos


industriais. Os principais motivos do seu sucesso são o seu baixo custo de
implementação e a sua simplicidade, e ainda assim, apresenta um ótimo desempenho
para maioria dos processos. Atualmente, como a evolução da eletrônica, permite-se a
implementação de controladores PID digitais, utilizando sistemas microprocessados,
como os controladores lógicos programáveis (CLP).
O projeto de um controlador PID requer basicamente a escolha de três
parâmetros: os ganhos proporcional, integral e derivativo. O procedimento para
escolha desses parâmetros é chamado comumente de sintonia de controladores.
Existem inúmeros métodos de sintonia propostos, no entanto, este trabalho tratará de
alguns métodos considerados clássicos que são mais difundidos, a dizer o proposto por
Ziegler e Nichols [1], o proposto por Chien, Hrones e Reswick [2], e o proposto por
Cohen e Coon [3].
Esses métodos proporcionam boas sintonias em determinadas condições, no
entanto, em casos onde o atraso de tempo é elevado em relação a constante de tempo
do sistema o controlador PID sintonizado já não apresenta bom desempenho, podendo
levar o sistema até mesmo a instabilidade. Neste contexto deve-se buscar estruturas de
controle mais avançadas.
Atrasos de tempo são comuns na indústria e são definidos como o evento no
qual a variável manipulada sofre uma mudança e, no entanto, a saída do processo só
varia depois de certo tempo, denotando assim o atraso. A equação (1) representa
matematicamente esse atraso:

x (t ) = f ( x(t ); u (t − θ ) )
(1)
Onde x(t ) é a variável medida, u (t ) é a variável manipulada e θ é o atraso de
tempo.
Os principais motivos de atrasos de tempo são atrasos de transporte de
materiais, tempos de amostragem elevados, zona morta de equipamentos, atrasos de
comunicação, entre outros.
9

A dificuldade de controle de processos com atrasos de tempo significativos


vem do fato do atraso de tempo adicionar um atraso de fase na malha, piorando a
margem de fase e margem de ganho e, consequentemente, se afeta a estabilidade do
sistema em malha fechada. Para contornar esse problema o ganho do controlador tem
que ser diminuído fazendo com que a resposta do sistema fique lenta [10], ou seja, pior
desempenho.
Uma das estruturas mais utilizadas para compensação de atrasos de tempo, e
que será tratada no texto, foi proposta por O. J. M. Smith [4] em 1959, que é conhecida
como Preditor de Smith.
No capítulo 2 serão tratados os métodos de sintonia clássicos abordados neste
trabalho. O Preditor de Smith será tratado no capítulo 3.
O capítulo 4 mostrará os detalhes do sistema implementado para realização
dos testes.
No capítulo 5 serão apresentados os resultados obtidos e suas análises.
10

2 MÉTODOS CLÁSSICOS DE SINTONIA

2.1 Introdução
Este capítulo mostrará os métodos de sintonia abordados no projeto e suas
limitações.

2.2 Controlador PID utilizado


A estrutura do controlador PID utilizada neste trabalho é o tipo ISA, conforme
na figura 1, onde se tem o parâmetro proporcional (Kp) atuando sobre os parâmetros
integral (Ti) e derivativo (Td) de acordo com a equação (2).

Figura 1 - PID tipo ISA

⎛ 1 t de(t ) ⎞
u (t ) = Kp ⎜ e(t ) + ∫ e( x)dx + Td ⎟
⎝ Ti 0 dt ⎠ (2)

2.3 Método de Ziegler-Nichols


O trabalho de Ziegler e Nichols foi inovador, pois foi a primeira metodologia
objetiva e simples para sintonizar controladores PID. Foram propostos dois métodos: o
de malha aberta e o de malha fechada, sendo o primeiro tratado no texto, pois assim
temos o mesmo teste para os três métodos analisados.
11

Este método, assim como os outros métodos clássicos tratados no texto,


pressupõe que o processo pode ser modelado por um sistema de primeira ordem mais
atraso de tempo como a função de transferência apresentada na equação (3).
K −θ s
G p (s) = e
τ s +1 (3)
Seja:
θ o atraso de tempo;
K o ganho;
τ a constante de tempo.
Primeiramente, sem o controlador, realiza-se um teste em malha aberta que
consiste em aplicar um degrau na entrada do sistema, obtendo-se assim a curva de
reação do processo, da qual retiramos as informações de atraso de tempo, constante de
tempo, que é a diferença entre tempo para o sistema chegar a 63,2% do valor final e o
tempo em que começa a responder, e o ganho do processo, como ilustra a figura 2. De
posse desses dados calculam-se os parâmetros do controlador a partir da tabela 1.

Figura 2 - Curva de reação do sistema


12

controlador Kp Ti Td
τ
- -
P Kθ
τ
0,9 3,33θ -
PI Kθ
τ
1, 2 2θ 0, 5θ
PID Kθ
Tabela 1 - Sintonia usando Ziegler-Nichols em malha fechada

As equações desenvolvidas por Ziegler e Nichols utilizam critério de razão de


queda de ¼ e são boas para correção rápida de perturbações. No entanto, apresentam
algumas limitações com relação a atrasos de tempo. A sintonia é boa para processos
nos quais a razão entre o atraso de tempo e a constante de tempo do processo ( θ / τ )
está entre 0,1 e 0,3 [1]. Essa razão também é conhecida como razão de
incontrolabiblidade e quanto maior essa razão, maior a dificuldade de controlar o
processo, chegando a casos onde a sintonia leva a sistemas instáveis. Uma prática
comum, nesses casos de dificuldade de controle, é diminuir o ganho proporcional e
aumentar o tempo integral, no caso de um controlador PI, tornando o sistema estável
ao custo de uma resposta lenta.

2.4 Método de Chien, Hrones e Reswick


Este método propõe dois critérios de desempenho: a resposta mais rápida
possível sem sobressinal e a resposta mais rápida com sobressinal máximo de 20%. O
segundo será tratado no texto.
Realiza-se, da mesma forma que em Ziegler-Nichols, o teste em malha aberta
e obtêm-se os valores de θ , τ e K , e calculam-se os parâmetros do controlador a
partir da tabela 2.

Controlador Kp Ti Td
0, 7τ
P - -

13

0, 6τ
PI τ -

0,95τ
PID 1,357τ 0, 473θ

Tabela 2 - Sintonia usando o método CHR com critério de 20% de sobressinal

Assim como o método de Ziegler-Nichols, o método CHR também é bom para


sistemas com razão de incontrolabilidade baixa. À medida que esta aumenta a resposta
do sistema se torna lenta.

2.5 Método de Cohen e Coon


Este método, assim como Ziegler-Nichols e CHR, pressupõe que o processo
pode ser representado por um modelo de primeira ordem mais atraso de tempo e de
acordo com o mesmo procedimento de aplicação de um degrau na entrada devem-se
obter as informações de θ , τ e K . Assim sendo, obtém-se os parâmetros do
controlador utilizando a tabela 3.

Controlador Kp Ti Td
⎛ ⎛θ ⎞⎞ τ
P ⎜ 1,35 + 0,35 × ⎜ τ ⎟ ⎟ × Kθ - -
⎝ ⎝ ⎠⎠

⎛ ⎛θ ⎞⎞
⎜ 0,9 + 0, 083 × ⎜ τ ⎟ ⎟
⎛ ⎛θ ⎞⎞ τ ⎝ ⎝ ⎠⎠
PI ⎜ 0,9 + 0, 083 × ⎜ τ ⎟⎟× ×θ -
⎝ ⎝ ⎠ ⎠ Kθ ⎛ ⎛θ ⎞⎞
⎜1, 27 + 0, 6 × ⎜ τ ⎟ ⎟
⎝ ⎝ ⎠⎠

⎛ ⎛θ ⎞⎞
⎜ 0,35 + 0, 25 × ⎜ τ ⎟ ⎟ 0,5θ
⎛ ⎛θ ⎞⎞ τ ⎝ ⎝ ⎠⎠
PID ⎜ 1,35 + 0, 25 × ⎜ τ ⎟ ⎟ × Kθ ×θ ⎛ ⎛θ ⎞⎞
⎝ ⎝ ⎠⎠ ⎛ ⎛θ ⎞⎞ ⎜1,35 + 0, 25 × ⎜ τ ⎟ ⎟
⎜ 0,54 + 0,33 × ⎜ τ ⎟ ⎟ ⎝ ⎝ ⎠⎠
⎝ ⎝ ⎠⎠
Tabela 3 - Sintonia usando o método de Cohen-Coon

O objetivo desse método é de obter sintonias para sistemas com atrasos de


tempo elevado, portanto, ele é ruim para razões de incontrolabilidade menores que 2
14

[3], podendo nesses casos deixar o sistema instável. Ele também costuma apresentar
sintonias agressivas, devido a este fato uma boa prática é, inicialmente, diminuir os
ganhos proporcional e derivativo da tabela 3 e aumentá-los em função do
comportamento do processo.
15

3 PREDITOR DE SMITH

3.1 Introdução
Este capítulo primeiramente mostra a estrutura do Preditor de Smith, e como
esta pode atuar para compensar o atraso de tempo, e quais as suas limitações.

3.2 Preditor de Smith


O Preditor de Smith é uma estrutura de controle mais elaborada para sistemas
SISO (Single-Input Single-Output) que consiste basicamente em retirar o atraso de
tempo da malha fechada através da predição da saída do processo, usando para isso um
modelo interno do processo sem atraso e um modelo do atraso, projetando então um
controlador para processo sem atraso de tempo, como se pode observar na figura 3.

r −θ s
y
Gc Ge

Gm

e −θ m s

Figura 3 - Preditor de Smith

Seja:
θ o atraso de tempo;
θ m o modelo do atraso de tempo;

G a função de transferência da planta;


16

Gm o modelo da planta sem atraso;

Gc a função de transferência do controlador.

Se G = Gm e θ = θ m então temos a estrutura do preditor ideal (figura 4).

Figura 4 - Preditor ideal

Nesse caso temos a função de transferência do sistema de acordo com a


equação (4):
Y ( s) Gc G
= e −θ s (4)
R ( s ) 1 + Gc Gm
Temos então a equação característica independente do atraso de tempo, logo,
sintoniza-se o controlador como se não existisse atraso. Neste trabalho utilizou-se um
método de sintonia que pode ser usado para sistemas com atraso nulo, a sintonia
lambda [13] (ANEXO G), que utiliza o modelo de primeira ordem mais atraso de
tempo discutido no capítulo anterior, que gera os parâmetros proporcional e integral
segundo as equações (5) e (6) respectivamente, caracterizando um controlador PI, que
é mais comumente utilizado quando se trata do Preditor de Smith.
17

A grande desvantagem do Preditor de Smith, e de outros compensadores de


atraso de tempo, é que eles se baseiam em modelos do sistema real, exigindo um
trabalho de modelagem do processo. Além disso, se o sistema possui uma dinâmica
variável, é necessário um algoritmo adaptativo do modelo do processo. Se este varia
pouco pode-se usar um controlador com parâmetros definidos com uma margem de
erro de modo a acomodar os possíveis erros de modelagem.
Ele também não pode ser aplicado a processos instáveis por natureza e nem a
processos com integrador [11], como na equação (5).

1
G ( s ) = e−θ s (5)
s
No entanto, a partir da década de 80, com o avanço da eletrônica digital,
ocorreram grandes avanços em termos de controladores digitais. Existem vários
trabalhos realizados com o intuito de estudar sistemas com atrasos de tempo, como o
feito por Tavakoli e Tavakoli [14], no qual eles propõem métodos de sintonia
otimizados para modelos de primeira ordem mais atraso de tempo. Outros autores
passaram a estudar novamente a estrutura do Preditor de Smith de forma a superar os
problemas mencionados acima, como Aström, Hang e Lim em [11], onde propõem um
novo Preditor de Smith para processos com integrador, e Veronesi em [12], onde é
proposta uma estratégia adaptativa para sintonia automática usando um CLP.
18

4 SISTEMA IMPLEMENTADO

4.1 Introdução
Este capítulo trata do sistema implementado mostrando os principais aspectos
do hardware, do ambiente de programação do microcontrolador, do sistema de
controle e das rotinas feitas no Matlab. Encontrou-se uma dificuldade em construir um
protótipo mais elaborado que atendesse às características desejadas, portanto o
protótipo construído é relativamente simples, no entanto, é flexível do ponto de vista
da possibilidade de variação de alguns parâmetros, como o atraso de tempo.

4.2 Hardware
Desenvolveu-se uma placa de circuito impressa microcontrolada, usando o
Eagle, com o objetivo de realizar testes para observar o desempenho dos métodos de
sintonia mencionados sob atrasos de tempo diferentes. As principais partes da placa
são descritas a seguir.

4.2.1 Microcontrolador
A unidade central de processamento foi feita usando um microcontrolador
fabricado pela Atmel, o Atmega16 AVR (Figura 5) [5]. É um microcontrolador de 8
bits de baixo consumo de tecnologia CMOS e arquitetura RISC (Reduced Instruction
Set Computer), cuja característica mais interessante é a capacidade de executar uma
instrução por ciclo de relógio. Esta taxa de execução de instruções só é possível em
virtude da conexão direta dos seus 32 registradores com a unidade lógica aritmética.
Este dispositivo foi escolhido devido ao baixo custo e facilidade de programação. Ele
pode operar a uma freqüência máxima de 16 MHz e é alimentado com 5 V.
19

Figura 5 - Atmega16

O Atmega16 possui 40 pinos no total, dos quais 32 são de entradas e saídas


digitais que são multiplexados com outras funções como acesso a periféricos,
conversores analógico-digitais, e outras.
Ele possui 8 entradas analógicas com resolução de 10 bits suportando níveis
de tensão de até 5 V, tendo então uma resolução de aproximadamente 0,0048 V. Uma
dessas entradas foi usada como realimentação do sistema.
Ele não possui saídas analógicas, no entanto, possui 4 canais PWM (Pulse
Width Modulation), dos quais utilizou-se um canal com resolução de 8 bits de forma a
simular uma saída analógica conforme proposto em [6], tendo então a possibilidade de
variar a tensão de saída de 0 a 5 V com resolução de aproximadamente 0,02 V.
O Atmega16 possui uma USART (Universal Synchronous and Assynchronous
Serial Receiver and Transmitter), trabalhando com os níveis lógicos representados
pelas tensões 0 e 5 V, que foi configurada para trabalhar numa comunicação serial
com formato de quadro de 8 bits, sem paridade e com um bit de parada. A taxa de
transmissão pode ser configurada de forma simples, no caso, utilizou-se 4800
bit/segundo.

4.2.2 Fonte de alimentação


Como o Atmega16 trabalha com 5 V fez-se uma fonte regulada simples
utilizando o circuito integrado (CI) 7805, que aceita até 35 V em sua entrada e regula a
sua saída em 5 V. O seu circuito esquemático da fonte de alimentação encontra-se na
figura 6.
20

Figura 6 - Circuito da fonte regulada

4.2.3 Comunicação
Todo sistema de controle requer uma interface com uma estação de trabalho
de forma a fazer o monitoramento das variáveis do processo e passar parâmetros de
configuração ou de controle para o sistema de controle.
Escolheu-se o padrão de comunicação serial RS-232 visto que a maioria dos
computadores possui porta serial, no entanto, como visto anteriormente, o Atmega16
trabalha com tensões 0 e 5 V para sinalizar os níveis lógicos em uma comunicação
serial e o padrão adotado trabalha com tensões de -12 e +12 V indicando níveis lógicos
1 e 0 respectivamente. Fez-se necessário então utilizar um CI para realizar essa
conversão de tensões. O CI que atendeu às especificações foi o MAX232 [7],
fabricado pela MAXIM, cuja configuração de pinos e circuito de operação típico estão
mostrados na figura 7. Na figura 8 está o circuito esquemático mostrando a ligação do
Atmega16 e o MAX232.
21

Figura 7 - Configuração de pinos e circuito típico


22

Figura 8 - Ligação básica entre Atmega16 e MAX232

4.3 Ambiente de programação


Antes de utilizar o microcontrolador é necessário conhecer os procedimentos
para acessá-lo e programá-lo, usando um computador.
Um programador pode ser entendido como sendo o circuito eletrônico que
realiza a interface entre o microcontrolador e o computador, podendo então realizar as
funções de configuração e programação. Em geral são projetados de acordo com as
particularidades técnicas de cada microcontrolador e utilizam geralmente as portas
serial e paralela do computador, no entanto, os mais atuais já vêm com possibilidade
de usar a porta USB.
Neste trabalho utilizou-se o programador ISP (In System Programming)
STK200, cujo circuito está no ANEXO A, com o qual se pode programar o
23

microcontrolador sem a necessidade de retirá-lo do seu circuito, utilizando a porta


paralela do computador.
Esta interface de programação usa os pinos SPI (Serial Peripheral Interface)
do microcontrolador, que é um tipo de comunicação serial síncrona muito utilizada por
sistemas embarcados e, no caso do Atmega16, é o padrão para interface de
programação.
A partir do momento que se tem o programador pronto a única necessidade é o
ambiente computacional para edição dos programas, configuração, compilação e
programação propriamente dita. No caso, utilizou-se o WinAVR [9], que consiste num
pacote de programas com código aberto para microcontroladores da Atmel para
Windows. Ele inclui também um editor de texto, o Programmer’s Notepad 2 com o
qual implementou-se os códigos em C, inclui ainda as bibliotecas em C e outras
aplicações. Dentre os programas que ele possui deve-se destacar o AVRDUDE que é
responsável por gerenciar os acessos ao microcontrolador pelo computador.
A foto da placa de circuito impressa desenvolvida para se realizar os testes
está na Figura 9 e o seu circuito esquemático está no ANEXO B.

Figura 9 - placa de circuito impressa desenvolvida


24

4.4 Sistema de controle


São tratados aqui a planta utilizada nos experimentos e mostrados trechos dos
códigos implementados em C referentes ao controlador PID e Preditor de Smith, bem
como os passos para obter as suas equações no espaço de tempo discreto.

4.4.1 Planta
Para simplificar a análise do efeito do atraso de tempo escolheu-se como
planta um circuito RC série (figura 10), que é uma função de primeira ordem, para
controlar o nível de tensão sobre o capacitor. Os valores do resistor e do capacitor
utilizados foram 470 Ω e 1000 μ F respectivamente.

Figura 10 - Planta utilizada

Para obtenção do modelo analítico fizeram-se os seguintes cálculos:

dVc (t )
I (t ) = C (6)
dt
Vin (t ) = RI (t ) + Vc (t ) (7)
Usando (6) em (7) temos:

dVc (t )
Vin (t ) = RC + Vc (t ) (8)
dt
Passando para o domínio de Laplace tempos:

Vin ( s) = RCVc s + Vc (9)


25

A função de transferência obtida então é:

Vc ( s ) 1
=
Vin ( s ) RCs + 1 (10)

Têm-se então um modelo de primeira ordem com ganho K = 1 , constante de


tempo τ = RC , como os valores de R e C foram escolhidos previamente temos
τ = 0, 47 e atraso de tempo θ = 0 .
Como o Preditor de Smith requer um modelo interno a ser implementado no
microcontrolador fez-se necessário também obter a equação no tempo discreta, e a
partir da equação (8) tem-se:

⎛ V ( KT ) − Vc (T ( K − 1)) ⎞
Vin ( KT ) = RC ⎜ c ⎟ + Vc ( KT ) (11)
⎝ T ⎠
Onde K ∈ ] e varia de 0 a ∞ , e T é o tempo de amostragem. Rearranjando a
equação (11) temos:

TVin ( KT ) RCVc (T ( K − 1))


Vc ( KT ) = +
RC + T RC + T (12)

O tempo de amostragem foi escolhido a partir do teorema da amostragem no


qual para um sistema com freqüência de corte fc a freqüência de amostragem f de
ser:

f ≥ 2 fc (13)
Para o circuito em questão a freqüência de corte é dada por:
1 1
fc = = ≅ 0,34 Hz
2π RC 2π 0, 47 (14)

Temos então a freqüência de amostragem f ≥ 0, 68 Hz e, logo, tempo de


amostragem T ≤ 1, 47 s . Escolheu-se então um tempo de amostragem de 0,04896
segundos.
Do ponto de vista do Atmega16 o tempo de amostragem é obtido usando um
contador interno de 8 bits, através de uma conta simples: a freqüência de operação é de
16 MHz, mas configurou-se um divisor de relógio para este contador, que passa a
26

trabalhar com 15625 Hz e, logo, o seu período é de 64 μ s, como o contador é de 8


bits, ou seja, conta de 0 até 255 e cada incremento do contador é feito em um período,
temos que ele demora 16,32 ms para realizar a contagem. Portanto o tempo de
amostragem é obtido fazendo o contador ir de 0 a 255 três vezes.
O sistema implementado permite que sejam retirados a realimentação, o
controlador e o atraso de tempo, de forma a se ter um sistema em malha aberta sem
atraso de tempo.
Para validar o modelo analítico, com o sistema em malha aberta, aplicou-se
um degrau ao circuito RC, obtendo-se a curva de reação (figura 11).

Resposta ao degrau
1.4
Saida
Setpoint

1.2

0.8
Tensão [V]

0.6 X: 0.6691
Y: 0.6348

0.4

0.2

X: 0.2122
Y: 0.01465

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
Tempo [s]

Figura 11 - Resposta ao degrau

Nota-se, a partir dos dois pontos na figura 11, que a constante de tempo é
aproximadamente a prevista de 0,47 s e o ganho é 1. O atraso que encontra-se na
figura foi colocado propositalmente como forma de teste.
27

4.4.2 PID discreto


O PID utilizado neste projeto foi o tipo ISA, como dito no capítulo 2, no
entanto, para programá-lo no microcontrolador é necessário primeiramente passá-lo
para o espaço de tempo discreto, da mesma forma que a equação do modelo. Então a
partir da equação 2 temos:

u ( KT ) = K p e( KT ) + Ki ∑ n=0 e(nT ) + K d (e( KT ) − e(T ( K − 1)))


K
(15)

Onde:
K pT K pTd
Ki = Kd =
Ti T
No entanto, quando foram feitos os testes o parâmetro derivativo mostrou-se
bastante sensível a ruídos levando o sistema à instabilidade, logo, optou-se pela
utilização de um controlador PI ao invés do PID.
28

4.4.3 Códigos implementados


São mostrados os trechos dos códigos utilizados no Atmgea16. A figura 12
mostra o trecho de código referente ao PID e a figura 13 mostra a parte referente ao
Preditor de Smith. O códigos completo está no ANEXO C.

Figura 12 - código do PID


29

Figura 13 - Código do Preditor de Smith

A geração do atraso de tempo foi feita utilizando um buffer inicialmente


preenchido com zero. Dentro de cada janela de amostragem o buffer é deslocado para
direita e o sinal de controle calculado é colocado na posição mais a esquerda do buffer
e o valor da posição mais a direita é colocado na saída pwm. Dessa forma o sinal de
controle deve percorrer o tamanho do buffer para chegar a saída, assim sendo, tem-se
um atraso de tempo igual ao tamanho do buffer vezes o tempo de amostragem e, como
pode-se variar o tamanho do buffer, o atraso de tempo pode também ser variado dentro
30

das limitações de memória do microcontrolador. O trecho de código implementado


para realizar esta função está na figura 14.

Figura 14 - Código da geração do atraso de tempo

4.5 Rotinas do Matlab


A rotina “sintoniaPID.m” (ANEXO D) é responsável por calcular os
parâmetros de sintonia de um controlador usando os métodos aqui discutidos, seja para
controlador P, PI ou PID, para sistemas com modelo de primeira ordem mais atraso de
tempo. Os parâmetros de entrada são o ganho do sistema, a constante de tempo, o
atraso de tempo, o método de sintonia e o tipo de controlador, como na figura 15.

Figura 15 - Função para calculo dos parâmetros do controlador

Desenvolveu-se também a rotina “serial_comunica.m” (ANEXO E) que


realiza a interface com o microcontrolador, na qual são configurados os parâmetros da
comunicação serial, que devem ser iguais aos do microcontrolador, como taxa de
transmissão, número de bits, paridade, entre outros. Também é responsável por receber
os parâmetros proporcional, integral, derivativo, atraso de tempo e setpoint do usuário
e passá-los de forma compreensível ao microcontrolador, usando a porta serial. Após
enviar os parâmetros fica esperando dados na porta serial, que são os valores dos sinais
31

de saída do sistema e de erro enviados pelo microcontrolador. Esses dados são


recebidos e gravados em um arquivo de texto.
A última rotina desenvolvida é a “plota.m” (ANEXO F) que lê os valores do
arquivo de texto gerado pela “serial_comunica.m” e gera o gráfico da tensão no tempo
relativo à saída do processo e ao erro.
A figura 16 ilustra o sistema de controle completo e a interface com o Matlab
através de um diagrama de blocos.

Figura 16 - Diagrama de blocos do sistema completo


32

5 RESULTADOS OBTIDOS

5.1 Introdução
Este capítulo mostra os resultados obtidos para os três métodos de sintonia
descritos no capítulo 2 e para o Preditor de Smith, utilizando cinco valores de atraso de
tempo, a dizer 0,1 s, 0,5 s, 1 s, 3 s e 5 s. Lembrando que o controlador utilizado foi o
PI e todos os testes foram feitos com setpoint de 1 V. Utilizou-se como critério de
desempenho a integral do valor absoluto do erro (IAE).

5.2 Resultados para atraso de 0,1 segundos


0,1
Neste caso tempo uma razão de incontrolabilidade ≅ 0, 21 .
0, 47

Na tabela 4 estão os valores dos parâmetros encontrados usando a rotina


“sintoniaPID.m” para o processo em questão com atraso de 0,1 segundos.

Método de sintonia Kp Ti
Ziegler-Nichols 4,2300 0,3330
Cohen-Coon 4,3130 0,0657
CHR 2,8200 0,4700
Preditor de Smith 0,3333 0,4700
Tabela 4 - Sintonias para atraso de 0,1 segundos

Na figura 17 estão os gráficos das respostas utilizando as sintonias da tabela 4.


33

Figura 17 - Sintonias para atraso de 0,1 segundos

Nota-se que para razões de incontrolabilidade pequenas a sintonia de Cohen-


Coon não oferece resultados satisfatórios, no entanto Ziegler-Nichols e CHR oferecem
boas sintonias. A resposta do Preditor de Smith é lenta, no entanto, os seus parâmetros
podem ser modificados de forma a oferecerem uma dinâmica mais rápida.
A tabela 5 mostra a comparação do índice de desempenho utilizado para as
respostas mostradas na figura 17, usando uma janela de tempo de 5 segundos.

Ziegler-Nichols Cohen-Coon CHR Preditor de Smith


IAE 0,2441 2,8508 0,245804 0,9278
Tabela 5 - Comparativo dos desempenhos para atraso de 0,1 segundos
34

5.3 Resultados para atraso de 0,5 segundos


0,5
Tem-se uma razão de incontrolabilidade ≅ 1.
0, 47

Na tabela 6 estão os valores das sintonias para o atraso de tempo em questão.

Método de sintonia Kp Ti
Ziegler-Nichols 0,8460 1,6650
Cohen-Coon 0,9290 0,2589
CHR 0,5640 0,4700
Preditor de Smith 0,3333 0,4700
Tabela 6 - Sintonias para atraso de 0,5 segundos

Na figura 18 está a resposta do sistema para cada sintonia da tabela 6.

Figura 18 - Sintonias para atraso de 0,5 segundos


35

Nota-se que o método de Cohen-Coon continua ruim para essa razão de


incontrolabilidade. Ziegler-Nichols, que foi desenvolvido para ser eficiente para razões
até 0,3, já não responde com bom desempenho. O método CHR é o que possui melhor
desempenho neste caso, o Preditor de Smith começa, no entanto, a aparecer como uma
alternativa.
Na tabela 7 encontra-se o comparativo do critério de desempenho adotado
para o caso em questão, usando uma janela de tempo de 12 segundos.

Ziegler-Nichols Cohen-Coon CHR Preditor de Smith


IAE 2,2192 6,7137 1,0194 1,4074
Tabela 7 - Comparativo dos desempenhos para atraso de 0,5 segundos

5.4 Resultados para atraso de 1 segundo


1
Para este atraso a razão de incontrolabilidade é ≅ 2,1 .
0, 47

Na tabela 8 estão as sintonias para este atraso de tempo.

Método de sintonia Kp Ti
Ziegler-Nichols 0,4230 3,3300
Cohen-Coon 0,5060 0,4228
CHR 0,2820 0,4700
Preditor de Smith 0,3333 0,4700
Tabela 8 - Sintonias para atraso de 1 segundo

Na figura 19 estão as respostas usando os valores dos parâmetros segundo a


tabela 8.
36

Figura 19 - Sintonias para atraso de 1 segundo

Para razões de incontrolabilidade acima de 2 Cohen-Coon passa a oferecer


uma resposta estável, apesar de bastante agressiva. Ziegler-Nichols apresenta uma
resposta extremamente lenta, para que mantenha a estabilidade do processo. Nesse
caso o Preditor de Smith já é a melhor opção, junto com CHR.
Na tabela 9 está o comparativo do critério de desempenho adotado para este
caso, usando uma janela de tempo de 50 segundos.

Ziegler-Nichols Cohen-Coon CHR Preditor de Smith


IAE 8,0898 3,6162 2,1079 1,5215
Tabela 9 - Comparativo dos desempenhos para atraso de 1 segundo
37

5.5 Resultados para atraso de 3 segundos


3
Tem-se razão de incontrolabilidade ≅ 6, 4 .
0, 47

As sintonias para este atraso estão na tabela 10.

Método de sintonia Kp Ti
Ziegler-Nichols 0,1410 9,9900
Cohen-Coon 0,2240 0,8411
CHR 0,0940 0,4700
Preditor de Smith 0,3333 0,4700
Tabela 10 - Sintonias para atraso de 3 segundos

Na figura 20 encontram-se as respostas para as sintonias da tabela 10.

Figura 20 - Sintonias para atraso de 3 segundos


38

Para atraso de tempo de 3 segundos o Preditor de Smith mostra-se a melhor


alternativa, no entanto, Cohen-Coon, que foi proposto para atrasos elevados, passa a
ser uma solução clássica viável também. O método CHR torna-se um pouco lento, e
Ziegler-Nichols continua tentando manter o sistema estável mesmo com atraso
bastante alto.
Na tabela 11 está o comparativo do critério de desempenho adotado para o
atraso de 3 segundos, usando uma janela de tempo de 40 segundos.

Ziegler-Nichols Cohen-Coon CHR Preditor de Smith


IAE 48,7184 5,7741 6,1513 1,4242
Tabela 11 - Comparativo dos desempenhos para atraso de 3 segundo

5.6 Resultados para atraso de 5 segundos


5
Neste último experimento tem-se uma razão de incontrolabilidade ≅ 10, 6 ,
0, 47

que é um valor extremamente alto.


Na tabela 12 encontram-se os valores dos parâmetros do controlador para
atraso de 5 segundos.

Método de sintonia Kp Ti
Ziegler-Nichols 0,0846 16,6500
Cohen-Coon 0,1676 1,1649
CHR 0,0564 0,4700
Preditor de Smith 0,3333 0,4700
Tabela 12 - Sintonias para atraso de 5 segundos

Na figura 21 estão as respostas para o processo com atraso de tempo de 5


segundos.
39

Figura 21 - Sintonias para atraso de 5 segundos

Neste último caso o método de Ziegler-Nichols já não consegue compensar o


atraso de tempo e passa a oscilar. Cohen-Coon responde bem, apesar de ser lento. O
método CHR é semelhante a Cohen-Coon, perdendo apenas devido à resposta um
pouco mais lenta.
O Preditor de Smith é então, para atrasos elevados, a solução mais
interessante.
Na tabela 13 está o comparativo do critério de desempenho utilizado para atraso
de tempo de 5 segundos, usando uma janela de tempo de 45 segundos.

Ziegler-Nichols Cohen-Coon CHR Preditor de Smith


IAE 94,4228 8,946289 10,2691 1,4418
Tabela 13 - Comparativo dos desempenhos para atraso de 5 segundo
40

6 CONCLUSÃO

Neste trabalho foram testados controladores PID sem e com Preditor de Smith
para um processo de primeira ordem com diferentes atrasos de tempo. Mostrou-se que
para processos com atrasos de tempo elevados o Preditor é a melhor solução.
Deve-se acrescentar que os métodos de sintonia clássicos podem ser usados
como pontos de partida para o projeto do controlador, visto que, atualmente existem
várias ferramentas de simulação de controle com as quais, a partir de um bom modelo
do processo, pode-se variar os parâmetros do controlador e verificar se o mesmo
oferece um bom desempenho dentro das premissas do projeto em questão.
Além disso, o sistema implementado mostrou-se um bom ponto de partida
para o desenvolvimento de uma plataforma de estudos, podendo ser utilizado em
sistemas mais complexos.
Futuros trabalhos podem ser desenvolvidos considerando o Preditor de Smith
na presença de processos com dinâmica variável ou até mesmo estudar a sensibilidade
do Preditor acerca de imprecisões do modelo interno do processo.
Outra possibilidade é comparar o desempenho do Preditor de Smith com o
controlador GPC (Controlador Preditivo Generalizado), que também possui bom
desempenho em sistemas com atraso, usando para tanto, uma plataforma
microcontrolada com os princípios básicos da implementada neste trabalho.
41

REFERÊNCIAS BIBLIOGRÁFICAS

[1] ZIEGLER, J.G.; NICHOLS, N.B.. Optimum Settings for Automatic


Controllers. Trans. ASME 64, pp. 759-768, 1942.
[2] CHIEN, K.L.; HRONES, J.A.; RESWICK, J.B.. On the Automatic Control of
Generalized Passive Systems. Trans. ASME 74, pp 175-185, 1952.
[3] COHEN, G.H.; COON, G.A.. Theoretical Consideration of Retarded Control.
Trans. ASME 75, pp 827-834, 1953.
[4] SMITH, O.J.M.. A controller to overcome dead time. ISA Journal, Vol. 6, No.
2, pp 28-33, 1959.
[5] ATMEL. Atmega16 datasheet. Disponível em:
<http://www.atmel.com/dyn/resources/prod_documents/doc2466.pdf>. Acessado
em maio 2008.
[6] MICROCHIP. Using PWM to Generate Analog Output. Disponível em:
<http://ww1.microchip.com/downloads/en/AppNotes/00538c.pdf>. Acessado em
maio 2008.
[7] MAXIM. +5V-Powered, Multichannel RS-232 Drivers/ Receivers. Disponível
em: <http://datasheets.maxim-ic.com/en/ds/MAX220-MAX249.pdf>. Acessado
em junho 2008.
[8] ATMEL. Using the XMEGA SPI. Disponível em:
<http://www.atmel.com/dyn/resources/prod_documents/doc8057.pdf>. Acessado
em junho 2008.
[9] WINAVR. Downloading, Installing and Configuring WinAVR. Disponível
em: <http://winavr.sourceforge.net/install_config_WinAVR.pdf>. Acessado em
fevereiro 2008.
42

[10] KAYA, I.. IMC based automatic tuning method for PID controllers in a
Smith Predictor configuration. Computers and Chemical Engineering 28, pp
281-290, 2004.
[11] ASTROM, Karl J.; HANG, C.C.; WONG, F.S.. A new Smith Predictor for
controlling a process with an integrator and long dead-time. IEEE Trans.
Automat. Contr., vol 19, No. 2, pp 343-345, 1994.
[12] VERONESI, M,. Performance improvement of Smith Predictor through
automatic computation of dead time. Yokogawa Technical Report 35, 2003.
[13] ASTRÖM, Karl J.; HAGGLUND, Tore. Advanced PID Control. ISA, 2005.
[14] TAVAKOLI, Saeed; TAVAKOLI, Mahdi. Optimal tuning of PID controllers
for first order plus time delay models using dimensional analysis. ICCA’03,
pp 942-946, Montreal, Canada, 2003.
[15] DORF, Richard C.; BISHOP, Robert H.. Sistemas de Controle Modernos.
LTC, 8. ed.
[16] RIVERA, D. E.; MORARI, M.; SIGURD, S. (1986). Internal model control.
PID controller design. Industrial Chemistry in Process Design and
Development, 25(1), pp 252-265.
43

ANEXO A - STK200
44

ANEXO B - ESQUEMÁTICO DO PROTÓTIPO


45

ANEXO C - CÓDIGO DO MICROCONTROLADOR


46
47
48
49
50
51
52

ANEXO D - SINTONIAPID.M
53
54
55

ANEXO E - SERIAL_COMUNICA.M
56
57
58

ANEXO F - PLOTA.M
59

ANEXO G - SINTONIA LAMBDA

No método do modelo interno (IMC), é possível obter o controlador a partir do


modelo do processo e de uma especificação de desempenho. A partir da obtenção do
modelo do processo deve-se obter a função de transferência em malha fechada (figura
22).

Figura 22 - Estrutura IMC

A função de transferência é dada então por:

Y (s) G p ( s )C ( s )
= (16)
R ( s ) 1 + G p ( s )C ( s )
1
Onde C(s) é o controlador C ( s ) = K p (1 + + TD s )
TI s

Pode-se desejar então que o sistema em malha fechada seja de primeira ordem
com contante de tempo λ , da seguinte forma:
Y ( s) 1
= (17)
R ( s ) λs + 1

Temos então que λ é um parâmetro de desempenho que define a rapidez que


a saída ira acompanhar a referência. Portanto, igualando (16) e (17), temos:
Y ( s) 1 G P ( s)C ( s )
= = (18)
R( s ) λs + 1 1 + G P ( s)C ( s )
60

E o controlador torna-se:
1 1
C (s) = = (19)
G P ( s )λ s Kλ
Se a dinâmica do processo é um sistema de primeira ordem mais atraso de
tempo como na equação (3), Rivera, Morari e Skogestad [16] propõem, para um
controlador PI, as seguintes equações:

(2τ + θ )
Kp =
2K λ
(20)

θ
Ti = τ + ( ) (21)
2
Com a estrutura do Preditor de Smith ideal pode-se sintonizar o controlador
considerando θ = 0 . Ainda escolheu-se como parâmetro de desempenho λ = 3τ .

Você também pode gostar