66
UNIVERSIDADE FEDERAL DO CEARÁ CENTRO DE TECNOLOGIA CURSO DE GRADUAÇÃO EM ENGENHARIA ELÉTRICA CONTROLADOR DE TEMPERATURA UTILIZANDO UM PI DIGITAL APLICADO A UM NOBREAK DE 1 KVA Daniel Carvalho Bezerra Fortaleza Novembro de 2010

CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

  • Upload
    dinhtu

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

UNIVERSIDADE FEDERAL DO CEARÁ CENTRO DE TECNOLOGIA

CURSO DE GRADUAÇÃO EM ENGENHARIA ELÉTRICA

CONTROLADOR DE TEMPERATURA UTILIZANDO UM PI DIGITAL APLICADO A UM NOBREAK DE 1 KVA

Daniel Carvalho Bezerra

Fortaleza Novembro de 2010

Page 2: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

ii

DANIEL CARVALHO BEZERRA

CONTROLADOR DE TEMPERATURA UTILIZANDO UM PI DIGITAL APLICADO A UM NOBREAK DE 1 KVA

Monografia submetida à Universidade Federal

do Ceará como parte dos requisitos para

graduação em Engenharia Elétrica.

Orientador: Prof. Msc. Paulo Peixoto Praça

Fortaleza Novembro de 2010

Page 3: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

iii

DANIEL CARVALHO BEZERRA

CONTROLADOR DE TEMPERATURA UTILIZANDO UM PI DIGITAL APLICADO A UM NOBREAK DE 1 KVA

Esta monografia foi julgada adequada para obtenção do título de Graduado em Engenharia

Elétrica e aprovada em sua forma final pelo programa de Graduação em Engenharia Elétrica

na Universidade Federal do Ceará.

Banca Examinadora:

Fortaleza, Novembro de 2010

Page 4: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

iv

Aos meus pais, Adailton e Luzia,

A minha namorada Larissa e a minha irmã Ana Cláudia,

A todos os meus professores, que contribuíram com a minha formação,

A todos os familiares e amigos.

Page 5: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

v

Bezerra, D. C. “Controlador de Temperatura Utilizando um PI Digital Aplicado a um

Nobreak de 1 kVA”, Universidade Federal do Ceará – UFC, 2010, 54p.

Neste trabalho foram abordados o projeto, implementação, montagem e obtenção dos resultados de um controlador PI digital de temperatura com a finalidade de controlar a temperatura no interior de um nobreak com potencia nominal de 1 kVA. O projeto do controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). O controlador foi implementado digitalmente em um microcontrolador PIC 16F877A. A metodologia de projeto e resultados experimentais do protótipo são apresentadas para validar a análise teórica e comprovar o desempenho do sistema.

Palavras-Chave: Controle de temperatura, PIC, controle digital, PI, PID.

Page 6: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

vi

Bezerra, D. C. e “Temperature Controller Using a Digital PI Applied to a UPS of 1 kVA”, Universidade Federal do Ceará – UFC, 2010, 54p.

This work presents the project, implementation, assembly and the results of a PI digital controller of temperature applied to a UPS with nominal output of 1 kVA. The project of the controller was based on the experimental method of Ziegler and Nichols of the step response (open loop). The controller was digitally implemented in a microcontroller PIC 16F877A. The methodology of the project and the results of the prototype are presented in order to validate the theoretical analysis and to prove the system performance.

Keywords: Temperature controller, PIC, digital controller, PI, PID.

Page 7: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

vii

SUMÁRIO LISTA DE FIGURAS ............................................................................................................... ix

LISTA DE TABELAS .............................................................................................................. xi

INTRODUÇÃO .......................................................................................................................... 1

CAPÍTULO 2

MICROCONTROLADORES .................................................................................................... 3

2.1 CONSIDERAÇÕES INICIAIS .................................................................................. 3

2.2 INTRODUÇÃO AOS MICROCONTROLADORES ................................................ 3

2.3 BREVE HISTÓRICO ................................................................................................. 4

2.4 ARQUITETURAS DOS MICROCONTROLADORES ........................................... 5

2.4.1 ARQUITETURA CISC 5

2.4.2 ARQUITETURA RISC 6 2.5 MICROCONTROLADORES DA SÉRIE PIC .......................................................... 7

CAPÍTULO 3

CONTROLADORES PID DIGITAIS ....................................................................................... 9

3.1 CONSIDERAÇÕES INICIAIS .................................................................................. 9

3.2 CONTROLE DE TEMPERATURA ........................................................................ 10

3.3 AÇÃO DE CONTROLE LIGA/DESLIGA (ON/OFF) ........................................... 11

3.4 AÇÃO PROPORCIONAL ....................................................................................... 12

3.5 AÇÃO PROPORCIONAL – INTEGRAL ............................................................... 13

3.6 AÇÃO PROPORCIONAL – DERIVATIVA .......................................................... 15

3.7 AÇÃO PROPORCIONAL – INTEGRAL – DERIVATIVA................................... 16

3.8 CONTROLE DIGITAL ............................................................................................ 17

3.9 IMPLEMENTAÇÃO DIGITAL .............................................................................. 19

3.10 MÉTODOS PRÁTICOS DE SINTONIA DE CONTROLADORES PID ............... 21

3.10.1 MÉTODO DO GANHO CRÍTICO (MALHA FECHADA) 21

3.10.2 MÉTODO DA RESPOSTA AO DEGRAU (MALHA ABERTA) 22 CAPÍTULO 4

DESCRIÇÃO DO DESENVOLVIMENTO DO CONTROLADOR ...................................... 25

4.1 CONSIDERAÇÕES INICIAIS ................................................................................ 25

4.2 CONFIGURAÇÃO E DESCRIÇÃO GERAL DE FUNCIONAMENTO ............... 25

4.3 MODELO DO CONTROLADOR DE TEMPERATURA EM MALHA

FECHADA. .......................................................................................................................... 26

Page 8: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

viii

4.4 DESCRIÇÃO DO PROJETO ................................................................................... 32

4.5 O SOFTWARE DO CONTROLADOR ................................................................... 36

4.6 MONTAGEM DO CONTROLADOR ..................................................................... 38

CAPÍTULO 5

RESULTADOS EXPERIMENTAIS ....................................................................................... 41

5.1 CONSIDERAÇÕES INICIAIS ................................................................................ 41

5.2 DESCRIÇÃO DO EXPERIMENTO ....................................................................... 41

5.3 RESULTADOS EXPERIMENTAIS. ...................................................................... 41

CAPÍTULO 6

CONCLUSÃO .......................................................................................................................... 43

REFERÊNCIAS BIBLIOGRÁFICAS ..................................................................................... 44

APÊNDICE A – PROGRAMA DO MICROCONTROLADOR ............................................. 46

Page 9: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

ix

LISTA DE FIGURAS

Figura 1.1 – Diagrama de blocos de um sistema de controle PID.............................................. 1

Figura 2.1 – Organização interna dos microcontroladores ......................................................... 4

Figura 2.2 – Arquitetura CISC ................................................................................................... 5

Figura 2.3 – Arquitetura RISC ................................................................................................... 6

Figura 3.1 – Diagrama de blocos de um sistema de controle em malha fechada, baseado num

controlador PID ................................................................................................................ 10

Figura 3.2 – Resposta rápida: a temperatura atinge rapidamente o setpoint e se estabiliza após

alguns overshootings ........................................................................................................ 10

Figura 3.3 – Resposta lenta: a temperatura demora a alcançar o setpoint ................................ 11

Figura 3.4 – Resposta apropriada: a temperatura atinge o setpoint no menor tempo possível

sem a ocorrência de overshooting .................................................................................... 11

Figura 3.5 – Características da ação do controle ON/OFF ....................................................... 12

Figura 3.6 – Características da ação de controle Proporcional................................................. 13

Figura 3.7 – Características das ações de controle Proporcional e Integral combinados ......... 14

Figura 3.8 – Características das ações de controle Proporcional e Derivativo combinados .... 16

Figura 3.9 – Diagramas de blocos do controlador no tempo contínuo e do controlador digital

.......................................................................................................................................... 19

Figura 3.10 – Curva obtida pelo método do ganho crítico ....................................................... 22

Figura 3.11 – Curva obtida pelo método da resposta ao degrau............................................... 23

Figura 4.1 – Diagrama de blocos do controlador PI digital de temperatura ............................. 25

Figura 4.2 – Diagrama de blocos do controlador PI em malha fechada ................................... 26

Figura 4.3 – Circuito de teste utilizado para obtenção da resposta ao degrau .......................... 27

Figura 4.4 – Circuito de teste montado no nobreak .................................................................. 27

Figura 4.5 – Exaustor montado no nobreak .............................................................................. 28

Figura 4.6 – Característica da resposta ao degrau .................................................................... 29

Figura 4.7 – Característica da resposta ao degrau (gráfico para obtenção do valor da constante

de tempo T) ....................................................................................................................... 29

Figura 4.8 – Característica da resposta ao degrau (gráfico para obtenção do valor do atraso L)

.......................................................................................................................................... 29

Figura 4.9 – Diagrama de blocos do sistema em malha fechada com o controlador PI ........... 30

Figura 4.10 – Resultado da simulação do controlador ............................................................. 31

Figura 4.11 – Diagrama de pinos do PIC 16F877A ................................................................. 32

Page 10: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

x

Figura 4.12 – Esquema elétrico das conexões do microcontrolador ........................................ 33

Figura 4.13 – Esquema elétrico das conexões do exaustor ...................................................... 34

Figura 4.14 – Esquema elétrico do teclado............................................................................... 34

Figura 4.15 – Esquema elétrico das conexões do mostrador LCD ........................................... 35

Figura 4.16 – Esquema elétrico da fonte de alimentação ......................................................... 35

Figura 4.17 – Tela principal ..................................................................................................... 37

Figura 4.18 – Tela de ajuste da máxima temperatura permitida .............................................. 37

Figura 4.19 – Tela de ajuste da mínima temperatura permitida ............................................... 38

Figura 4.20 – Tela que mostra a razão cíclica em percentual e a temperatura média. ............. 38

Figura 4.21 – Gravador de PIC utilizado na programação do microcontrolador ..................... 38

Figura 4.22 – Placa do teclado e do LCD; (a) projeto; (b) placa montada ............................... 39

Figura 4.23 – Placa principal; (a) projeto; (b) placa montada e detalhe do sensor de

temperatura ....................................................................................................................... 39

Figura 4.24 – Visão geral da montagem dos componentes ...................................................... 40

Figura 4.25 – Placa do teclado e do LCD montada sobre a tampa superior ............................. 40

Figura 5.1 – (a) Gráficos das temperaturas e (b) da ação de controle obtidos durante 90

minutos do experimento ................................................................................................... 42

Page 11: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

xi

LISTA DE TABELAS

Tabela 2.1 – Tabela comparativa entre as arquiteturas CISC e RISC ........................................ 7

Tabela 3.1 – Tabela de sintonia de Ziegler e Nichols pelo método do ganho crítico ............... 22

Tabela 3.2 – Tabela de sintonia de Ziegler e Nichols pelo método da resposta ao degrau ...... 23

Page 12: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

Introdução

1

INTRODUÇÃO

Os Controladores PID são bastante utilizados em controles industriais, tais como contro-

le de pressão, de nível, de velocidade, de temperatura, etc. Das malhas de controle na indús-

tria, 95% são baseadas em controladores PID e suas variações, e em sua maioria são controla-

dores PI [1].

Esses controladores são projetados, em sua maioria, com a resposta de um modelo de

referência de segunda ordem e, a partir do conhecimento da planta a ser controlada, encontra-

se os parâmetros de ganho proporcional, integral e derivativo do controlador PID. Este contro-

lador, utilizado em cascata com esta planta, em malha fechada, possibilita que a mesma

acompanhe a resposta do modelo da melhor forma possível, [1].

O esforço realizado pelo controlador é para determinar à inversa da função de transfe-

rência da planta, de forma que o valor desejado para a operação do sistema seja transferido

diretamente para a saída.

Ainda há pouco estudo na resolução dos problemas na sintonia de controladores, visto

que os métodos clássicos de sintonia apresentam resultados satisfatórios para a maioria das

aplicações.

A Figura 1.1 mostra o diagrama de blocos de um sistema de controle PID.

Figura 1.1 – Diagrama de blocos de um sistema de controle PID.

O controle da temperatura no interior de equipamentos eletrônicos é essencial para que

tenham a confiabilidade e a durabilidade exigidas. Este trabalho tem o objetivo de reunir os

conhecimentos adquiridos durante o curso de engenharia elétrica para desenvolver um contro-

lador PI para controlar a temperatura no interior de um nobreak, que originalmente não possui

um controle de temperatura ativo.

Page 13: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

Introdução

2

O controlador é implementado digitalmente em um microcontrolador da família PIC e a

temperatura é controlada através do controle da velocidade de rotação de um exaustor instala-

do no interior do nobreak.

No capítulo 2 é feita uma revisão da literatura a respeito dos microcontroladores.

No capítulo 3 é feita uma revisão da literatura relativa aos controladores PID e seus mé-

todos de sintonia empíricos.

O capítulo 4 descreve o desenvolvimento, a modelagem e a implementação do controla-

dor escolhido.

Os resultados e as discussões são apresentados no capítulo 5.

No capítulo 6 são apresentadas as conclusões e as sugestões para trabalhos futuros.

Page 14: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 2 – Microcontroladores.

3

CAPÍTULO 2

MICROCONTROLADORES

2.1 - CONSIDERAÇÕES INICIAIS

Este capítulo apresenta uma introdução aos microcontroladores. São apresentadas suas

principais características, um breve histórico e os principais tipos de arquiteturas.

2.2 - INTRODUÇÃO AOS MICROCONTROLADORES

Os microcontroladores são dispositivos eletrônicos dotados de processador, memória e

interfaces de entrada e saída, exatamente como os computadores, porém com todos esses re-

cursos agregados em uma única pastilha de circuito integrado. Por meio da programação dos

microcontroladores pode-se controlar suas saídas, tendo como referência as entradas ou um

programa interno [2].

Os tipos de microcontroladores podem ser diferenciados pelos seguintes itens: a quanti-

dade de memória interna para armazenar dados e as instruções de programas (memória de

programa e memória de dados), a velocidade de processamento, a quantidade de pinos de I/O,

a forma de alimentação, os tipos e as quantidades de periféricos, a arquitetura e o conjunto de

instruções disponibilizado nos circuitos internos.

Por terem tamanho reduzido, baixo custo, baixo consumo de energia, aliados a facilida-

de de desenvolvimento de aplicações, os microcontroladores são amplamente utilizados na

automação industrial e na construção de aparelhos eletrônicos de uso geral.

Destacam-se vantagens da integração dos circuitos necessários aos sistemas de controle

junto da CPU, central processing unit ou unidade central de processamento, e dessa forma,

não é preciso um processador sofisticado, com uma grande capacidade de processamento [3].

O microcontrolador oferece um conjunto de instruções simples, que geram programas de rá-

pida execução, ou seja, instruções de tamanho reduzido. Além disso, é interessante que a CPU

possa efetuar expressões booleanas, para facilitar a construção de sistemas de controle. É pre-

ciso ainda oferecer uma forma simples de se comunicar com outros periféricos que venham a

ser adicionados, com pinos específicos para entrada de clock, frequência de oscilação, sinais

Page 15: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 2 – Microcontroladores.

4

analógicos, digitais e de controle do próprio dispositivo. A organização de um microcontrola-

dor é explicada na Figura 2.1.

Figura 2.1 – Organização interna dos microcontroladores.

2.3 - BREVE HISTÓRICO

Visando adquirir uma melhor eficiência no processamento de dados, na década de 70

começaram a ser utilizados microprocessadores em computadores. Um dos pioneiros foi o

microprocessador Intel, e, a partir de sua criação, gerou um grande interesse em melhorar o

sistema de processamento de dados por meio dos microprocessadores. O microcontrolador

surgiu a partir da arquitetura do microprocessador e seus periféricos, que serviram de base

para a criação de um componente que, fisicamente integrado em uma única unidade, compor-

tava um sistema equivalente a um microprocessador e seus periféricos.

Com o passar dos anos e com os avanços da tecnologia, os microcontroladores torna-

ram-se uma das melhores relações custo/benefício em se tratando de soluções que demandam

processamento, baixo custo de hardware e pequena necessidade de espaço físico.

Existem no mercado muitos tipos de microcontroladores, sendo o 8051 o mais popular.

A ATMEL possui uma enorme família de componentes com as mesmas características do

8051, alguns até com as mesmas pinagens dos registradores; outros com pinagens diferentes,

mas com o mesmo conjunto de instruções, com clock de 4 MHz até aproximadamente 10

Page 16: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 2 – Microcontroladores.

5

MHz. A DALLAS Semiconductors tem um microcontrolador de alta performance, de até

90MHz, compatível com 8051.

Por fim, vem a Microchip Technology Inc. com os microcontroladores da série PIC que

se tornaram muito populares, graças a um bom plano de marketing, baseado na disseminação

de uma ferramenta de auxílio à construção de programas – o MPLAB IDE. Os microcontrola-

dores da série PIC possuem ainda uma linguagem Assembly menos complexa em relação

àquelas disponibilizadas por outros fabricantes.

2.4 - ARQUITETURAS DOS MICROCONTROLADORES

Os Microcontroladores são estruturados internamente de diversas formas, e, a partir

dessa estrutura, serão definidos vários aspectos em seu desempenho, capacidade de armaze-

namento, consumo e programação. Múltiplas formas de estruturação são utilizadas e imple-

mentadas pelos fabricantes, aplicando conceitos consolidados de computação.

As duas principais arquiteturas serão explicadas a seguir.

2.4.1 - ARQUITETURA CISC

Criada em 1964, a arquitetura CISC (complex instruction set computer – computador

com conjunto de instruções complexas) possui instruções mais complexas com o objetivo de

minimizar o número de instruções que um programa necessita para sua implementação.

A arquitetura CISC tradicional utiliza o mesmo barramento, tanto para fazer a busca de

instruções na memória de programa quanto para acessar (escrever ou ler) a memória de dados

(Figura 2.2).

Figura 2.2 – Arquitetura CISC.

O número de ciclos por instruções pode aumentar, assim como o próprio tempo de reló-

gio. Um exemplo de aplicação seria a família do microcontrolador 8051 e seus derivados, ori-

ginalmente da Intel e com pouco mais de 100 instruções.

Page 17: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 2 – Microcontroladores.

6

2.4.2 - ARQUITETURA RISC

Criada em 1980, a arquitetura RISC (reduced instruction set computer – computador

com conjunto de instruções reduzido) é caracterizada pela redução do tempo médio de execu-

ção das instruções de máquina, que, apesar de ocasionar um menor número de ciclos por ins-

truções, aumenta o número de instruções executadas por programa.

Na arquitetura RISC a maioria das instruções são executadas em um único ciclo e a

maior parte das funções migrou para o software, deixando no hardware somente as que podem

ser implementadas eficientemente.

Diferente da arquitetura CISC, a estrutura RISC é baseada em barramentos independen-

tes para dados (Figura 2.3) e para programa com tamanhos diferenciados. Por exemplo, um

microcontrolador pode ter o barramento de dados de 8 bits, enquanto que o de programa é de

14 bits, o que significa que uma instrução pode ser constituída de uma única palavra de pro-

grama que além de conter o opcode (instrução), contém também os operandos (dados para

execução da instrução) [1].

Figura 2.3 – Arquitetura RISC.

Os elementos básicos de uma arquitetura RISC são: grande número de registradores de

propósito geral ou uso de tecnologias de compilação na otimização do uso de registradores,

conjunto simples e limitado (reduzido) de instruções e enfoque na utilização de pipeline de

instruções.

Na Tabela 2.1 é feita uma comparação entre a arquitetura CISC e a arquitetura RISC.

Page 18: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 2 – Microcontroladores.

7

Tabela 2.1 – Tabela comparativa entre as arquiteturas CISC e RISC

CISC RISC

Instruções complexas levando múltiplos ciclos

Instruções simples levando um ciclo

Qualquer instrução pode referência à memória

Apenas LOAD’s e STORE’s referenciam a memória

Pouco pipelined Altamente pipelined (2 ciclos: busca,

executa)

Instruções interpretadas pelo microprograma Instruções executadas pelo hardware

Instruções de vários formatos Instruções de formato fixo

Muitas instruções modos Poucas instruções modos

Microprograma complexo Compilador complexo

Poucos registradores Muitos registradores

Mais transistores na pastilha Menos transistores na pastilha

Projeto mais lento Projeto mais rápido

2.5 - MICROCONTROLADORES DA SÉRIE PIC

Os PICs são uma família de microcontrolador com arquitetura RISC fabricados pela

Microchip Technology Inc. e derivados do PIC1650, originalmente desenvolvido pela divisão

de microeletrônica da General Instrument.

Um microcontrolador da família PIC caracteriza-se por incorporar no mesmo encapsu-

lamento um microprocessador, com a finalidade de interpretar as instruções de programa e

processar dados; memória de programa, para armazenar de maneira permanente as instruções

do programa; memória de dados, para memorizar os valores associados com as variáveis defi-

nidas no programa; uma série de pinos de entrada/saída, com a finalidade de realizar a comu-

nicação do microcontrolador com o meio externo; e vários periféricos, tais como temporiza-

dores, controladores de interrupção, temporizadores cão de guarda, WatchDog Timers, comu-

nicação serial, geradores de modulação por largura de pulso, PWM, e conversores analógi-

co/digital; fazendo com que o hardware final fique extremamente complexo. Isto é uma das

características fundamentais que o diferencia dos microprocessadores, pois estes não possuem

todos esses recursos em uma única pastilha [2].

Page 19: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 2 – Microcontroladores.

8

A Microchip oferece famílias de microcontroladores de 8 bits no barramento de dados,

dentre as quais destacam-se:

• PIC12CXXX: linha compacta;

• PIC16C5X/PIC16C55X: linha-base;

• PIC16CXX: linha intermediária;

• PIC17CXX/PIC18CXX: topo de linha.

Todas as famílias oferecem diversas opções de memória de programa. Além disso, apre-

sentam opções de baixa tensão e inúmeros tipos de circuito osciladores, assim como várias

opções de encapsulamento.

O alto desempenho da família de microcontroladores PIC pode ser atribuído às seguin-

tes características de arquitetura RISC:

• Mapa de registradores versátil;

• Todas as instruções com palavras simples;

• Palavra de instrução longa;

• Arquitetura de instruções em pipeline;

• Instruções de apenas um ciclo de máquina;

• Conjunto de instruções reduzido;

• Conjunto de instruções ortogonal (simétrico).

Page 20: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 3 – Controladores PID digitais de temperatura.

9

CAPÍTULO 3

CONTROLADORES PID DIGITAIS

3.1 - CONSIDERAÇÕES INICIAIS

Este capítulo apresenta as principais características das várias ações que constituem um

controlador PID, Proporcional, Integral e Derivativo. Em seguida são apresentados e exempli-

ficados alguns métodos práticos de sintonia.

Existe o método analítico que consiste em sintonizar os modos PID para uma aplicação

específica, de modo que determinados critérios de desempenho sejam verificados. Este é usa-

do sempre que a função de transferência do sistema é conhecida [4].

Nos métodos práticos de sintonia, não existe a necessidade de conhecer o modelo do

sistema, algumas vezes muito difícil de determinar. Nestes métodos o primeiro passo é a esco-

lha do modo de controle a ser utilizado, Proporcional, Integral, Derivativo ou uma combina-

ção destes. Uma vez tomada a decisão, procede-se o ajuste dos parâmetros do controlador. O

ajuste, calibração ou sintonia, do controlador consiste em deduzir, partindo da resposta, quan-

do este é sujeito a entradas específicas, determinados valores que vão permitir o cálculo dos

referidos parâmetros [4].

Antes de proceder à apresentação de dois métodos práticos de sintonia, é necessário

analisar algumas das ações básicas de controle utilizadas na indústria e a sua contribuição pa-

ra a resposta de um sistema.

A Figura 3.1 mostra o diagrama de blocos de um sistema de controle em malha fechada,

baseado num controlador PID, onde o sinal de erro atuante, que é a diferença entre o sinal de

entrada e o sinal de realimentação, realimenta o controlador para minimizar o erro e acertar a

saída do sistema, variável controlada, ao valor desejado, ponto de ajuste [5].

Page 21: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 3 – Controladores PID digitais de temperatura.

10

Figura 3.1 – Diagrama de blocos de um sistema de controle em malha fechada, baseado num controlador PID.

3.2 - CONTROLE DE TEMPERATURA

A temperatura alvo, ponto de ajuste, é o valor de entrada do controlador de temperatura.

O tempo necessário para o controle de temperatura atingir um valor estável varia com o objeto

controlado. A tentativa de reduzir o tempo de resposta, usualmente resultará em sobressinal, a

temperatura ultrapassa a temperatura alvo, ou oscilação, a temperatura oscila em torno da

temperatura alvo.

Há aplicações que exigem maior rapidez e estas têm resposta como ilustrado na Figura

3.2, com ocorrência de sobressinal. Há as que exigem a eliminação do sobressinal e estas ne-

cessitarão de um tempo mais longo para a estabilização da temperatura, como mostra a res-

posta da Figura 3.3. Em outras palavras, o tipo de controle de temperatura varia com a aplica-

ção. O tipo de resposta mostrado na Figura 3.4 é usualmente considerado o melhor para a

maioria das aplicações [6].

Figura 3.2 – Resposta rápida: a temperatura atinge rapidamente o alvo e se estabiliza após alguns

sobressinais.

Page 22: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 3 – Controladores PID digitais de temperatura.

11

Figura 3.3 – Resposta lenta: a temperatura demora a alcançar o alvo.

Figura 3.4 – Resposta apropriada: a temperatura atinge o alvo no menor tempo possível sem a ocorrência de

sobressinal.

3.3 - AÇÃO DE CONTROLE LIGA/DESLIGA ( ON/OFF)

Esta é a forma mais simples e barata de controle e, por essa razão, extremamente utili-

zada tanto em sistemas de controle industriais como domésticos. Para um controle do tipo

proposto neste trabalho, onde se deseja resfriar o interior de um equipamento utilizando um

exaustor, se a temperatura é maior que a alvo a saída é ligada, caso contrário, a saída é desli-

gada como mostra a Figura 3.5. Este método de controle é chamado de ação de controle li-

ga/desliga, ou do inglês, on/off. Nesta operação, a temperatura é controlada com dois valores,

normalmente 0% e 100% da razão cíclica. Por esta razão, a operação é também chamada de

ação de controle de duas posições [5].

Na prática, existe uma zona diferencial de liga e desliga, histerese, que se deve às carac-

terísticas mecânicas do próprio controlador, bem como às necessidades de se evitar manobras

frequentes que poderiam desgastar elementos do sistema de controle [7]. Reduzindo esta zona

diferencial, a amplitude da oscilação de saída pode ser reduzida. Entretanto, aumenta o núme-

ro de operações da chave de controle por intervalo de tempo o que reduz a vida útil do com-

ponente [5].

Page 23: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 3 – Controladores PID digitais de temperatura.

12

Figura 3.5 – Características da ação do controle ON/OFF.

3.4 - AÇÃO PROPORCIONAL

Para um controle estável, é necessário reduzir a taxa de decida da temperatura, quando

esta se aproxima do alvo, e assim, evitar sobressinal. O controlador proporcional tem a rela-

ção entre a sua saída e o sinal de erro dada por:

ut Ket Us KEs (3.1)

Onde K é o ganho proporcional.

Um controlador proporcional consiste essencialmente num amplificador com ganho

ajustável [4]. Em operação normal, a saída de controle estará 100%, se o valor do processo for

maior do que a banda proporcional. A saída de controle decrescerá gradualmente, em propor-

ção ao desvio, se o valor do processo estiver dentro da banda proporcional, e a saída estará

desligada, se o valor do processo atingir o alvo, isto é, sem desvio. Isto significa que a ação

proporcional garante controle suave comparada com a forma oscilatória da ação de controle

liga/desliga como mostrado na Figura 3.6 [6].

Com a banda proporcional grande, menor valor de K, o processo estabiliza-se em um

tempo menor, porém com maior erro em regime permanente. Com a diminuição da banda

proporcional, maior valor de K, a estabilização ocorre mais lentamente, porém com erro re-

duzido. Uma redução excessiva da banda proporcional pode levar o processo à instabilidade,

tornando a resposta oscilatória. O ajuste da banda proporcional faz parte do processo chamado

de sintonia do controle [8].

Page 24: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 3 – Controladores PID digitais de temperatura.

13

Figura 3.6 – Características da ação de controle Proporcional.

Quando o alvo é atingido, nenhuma energia é entregue a saída de controle, neste caso o

exaustor, o que faz com que volte a surgir desvio na temperatura. Por causa disto, um controle

Proporcional puro nunca consegue se estabilizar com um erro nulo. Muitos controladores que

operam apenas no modo proporcional adicionam um valor constante ao valor medido para

garantir que ao atingir o alvo alguma energia seja entregue ao sistema, tipicamente 50%. Este

valor constante é denominado viés, ou do inglês, bias, e, quando ajustável, permite que se ob-

tenha uma estabilização mais próxima ao alvo [8].

3.5 - AÇÃO PROPORCIONAL – INTEGRAL

A ação integral não é, isoladamente, uma técnica de controle, pois não pode ser empre-

gada separada de uma ação proporcional [8]. No controlador proporcional – integral, a saída é

agora função do erro e da integral do erro:

ut K et 1T eτdτ

Us K 1 1T. s Es (3.2)

Onde T é o tempo integral, ou o tempo necessário para que a contribuição da ação inte-

gral igual a da ação proporcional e é expresso em segundos ou minutos [4].

A componente integral, ao adicional um polo na origem da função de transferência do

controlador, elimina o erro em regime permanente, independente do sistema controlado como

mostrado na Figura 3.7 [4].

Page 25: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 3 – Controladores PID digitais de temperatura.

14

A ação integral funciona da seguinte maneira: a intervalos regulares, corrige o valor da

saída, somando a esta o valor do desvio. Este intervalo de atuação se chama tempo integral,

que pode também ser expresso por seu inverso, chamado taxa integral, Ir. O aumento da taxa

integral aumenta a atuação do Integral no controle do processo.

Se, por um lado, como já referido anteriormente, a ação Integral elimina o erro em re-

gime permanente, por outro, aumenta o tempo de estabelecimento e piora a estabilidade rela-

tiva, o que usualmente é indesejável. Como consequência, o ganho da ação Proporcional deve

ser reduzido, sempre que esta esteja combinada com a ação Integral. O controlador PI (pro-

porcional - integral) é utilizado em sistemas com frequentes alterações de carga, sempre que o

controlador proporcional, por si só, não seja capaz de reduzir o erro estacionário a um nível

aceitável. Contudo, o sistema deve ter alterações de carga relativamente lentas para evitar os-

cilações induzidas pela ação integral [4].

Figura 3.7 – Características das ações de controle Proporcional e Integral combinados.

Page 26: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 3 – Controladores PID digitais de temperatura.

15

3.6 - AÇÃO PROPORCIONAL - DERIVATIVA

A ação derivativa é utilizada para que a saída seja proporcional ao valor do erro e à de-

rivada do erro, ou seja, à taxa de variação do erro o que proporciona uma rápida mudança no

nível de saída como resultado de uma rápida variação na temperatura medida. O fato de a saí-

da ser proporcional à taxa de variação do erro implica que o modo derivativo nunca possa ser

usado sozinho, uma vez que só responde a regimes transientes [4]. O controlador proporcional

– derivativo tem a relação entre a sua saída e o sinal de erro dada por:

ut = K et+ Tde(t)

dt Us = K1 + T. sE(s) (3.3)

Onde T é o tempo derivativo, ou o tempo antecipado pela ação derivativa relativamente

à ação proporcional e é expresso em segundos ou minutos [4].

As ações de controle proporcional e de controle integral respondem lentamente à varia-

ção da temperatura, o que justifica porque a ação de controle derivativo é necessária. A ação

de controle derivativo corrige o resultado do controle pela adição da saída de controle propor-

cional à inclinação da variação de temperatura. Uma grande quantidade de saída de controle é

adicionada para um distúrbio externo radical como mostrado na Figura 3.8, portanto corrigin-

do a temperatura rapidamente [6].

A adição do modo derivativo ao modo proporcional resulta num controlador altamente

sensível, uma vez que o modo derivativo, ao responder a uma taxa de variação do erro, permi-

te correções antes de o erro ser elevado. Não obstante o modo derivativo não afetar direta-

mente o erro em regime permanente, adiciona amortecimento ao sistema, estabilizando-o, e

assim permite o uso de valores de ganho proporcional (K) mais elevados, o que implica em

um menor erro em regime permanente. Um inconveniente deste modo é o de acentuar o ruído

de alta frequência [4].

Page 27: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 3 – Controladores PID digitais de temperatura.

16

Figura 3.8 – Características das ações de controle Proporcional e Derivativo combinados.

3.7 - AÇÃO PROPORCIONAL – INTEGRAL – DERIVATIVA

O controle PID, ou proporcional – integral – derivativo, resulta da combinação dos mo-

dos proporcional, integral e derivativo e tem a relação entre a sua saída e o sinal de erro dada

por:

ut K et 1T eτdτ

T detdt Us K 1 1T. s T. s Es (3.4)

Neste tipo de controlador, o modo integral é usado para eliminar o erro estacionário. O

modo derivativo permite um aumento do ganho e reduz a tendência para as oscilações, o que

conduz a uma velocidade de resposta superior quando comparado com P e PI. No entanto, es-

tas propriedades assumem um carácter geral, pelo que podem existir exceções em determina-

dos sistemas.

Page 28: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 3 – Controladores PID digitais de temperatura.

17

Geralmente, um K elevado tem o efeito de reduzir o tempo de subida e o erro em regi-

me permanente, sem nunca o eliminar. O controle integral terá como efeitos, por um lado,

eliminar o erro em regime permanente e, por outro, piorar a resposta transitória, isto é, torná-

la mais oscilatória. Sempre que se utilizar o controle integral, deve-se sempre testar inicial-

mente com um K reduzido. A utilização do controle derivativo tem como principal conse-

quência uma melhoria da estabilidade do sistema, reduzindo o sobressinal e melhorando a

resposta transitória [4].

O tipo de controlador a ser escolhido para uma determinada aplicação, idealmente, deve

ser o controlador mais simples que satisfaça a resposta desejada. Esta é uma escolha que ge-

ralmente só se pode fazer quando a aplicação é simples ou quando existe alguma informação

relativa a aplicações semelhantes [4].

A seleção do controlador deve depender das condições de operação do sistema e de es-

pecificações de desempenho tais como, o erro estacionário máximo, o sobressinal máximo e

tempo de estabelecimento permitido. Se o erro estacionário não é tolerado, então o modo in-

tegral deve ser incluído no controlador, uma vez que esta é a única ação que o permite elimi-

nar ou reduzir. A necessidade da ação derivativa pode ser ditada por um sobressinal máximo

e/ou tempo de estabelecimento. Se um reduzido erro estacionário não é critico para as condi-

ções operativas do sistema, então é possível omitir o modo integral, e o uso do modo derivati-

vo depende entre outros fatores da necessidade ou não de adicionar ganho suplementar ao

modo proporcional [4].

Como regra geral, pode-se afirmar que se adiciona o modo proporcional para obter um

determinado tempo de subida, que se adiciona o modo derivativo para obter um determinado

sobressinal e que o modo integral só deve ser introduzido para eliminar o erro estacionário

[4].

3.8 - CONTROLE DIGITAL

Para implementar uma lei de controle de tempo contínuo, tal como controle PID em um

microcontrolador ou em computador digital, pode ser feita fazendo-se aproximações numéri-

cas da derivada e da integral que aparecem na lei de controle.

A combinação das ações proporcional, integral e derivativa para gerar um só sinal de

controle dá origem ao que chamamos de controlador proporcional integral derivativo ou sim-

plesmente PID. O objetivo é aproveitar as características particulares de cada uma destas

Page 29: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 3 – Controladores PID digitais de temperatura.

18

ações a fim de se obter uma melhora significativa do comportamento transitório e em regime

permanente do sistema controlado. O sinal de controle gerado pelo controlador PID é assim

genericamente dado como:

ut = K et+ 1

T eτdτ + T

de(t)

dt

(3.5)

Na qual ut é a variável de controle e et é o erro entre o valor da saída do sistema

controlado e o valor do alvo, ou da referência. A variável de controle é a soma de três termos:

termo P, que é proporcional ao erro, o termo I, que é proporcional à integral do erro, e termo

D, que é proporcional à derivada do erro. Os parâmetros do controlador são o ganho proporci-

onal K, o tempo integral T, e o tempo derivativo T [1].

Os requisitos sobre um sistema de controle PID podem incluir muitos fatores, tais como

respostas aos sinais de comando, insensibilidade a ruído e variações de processo, e rejeição de

distúrbios de carga. O projeto do sistema de controle também envolve aspectos de processos

dinâmicos, saturação do atuador, e características de distúrbios. Pode parecer surpreendente

que um controlador tão simples quanto um controlador PID possa trabalhar tão bem. Em ge-

ral, muitos processos industriais podem ser controlados razoavelmente bem com controle PID,

dado que as exigências no desempenho do controlador não sejam altas [1].

A ação derivativa não é frequentemente utilizada. É uma observação interessante que

muitos controladores industriais tenham somente a ação PI e que em outros controladores a

ação derivativa pode ser desligada. Pode-se mostrar que o controle PI é adequado para todos

os processos onde as dinâmicas são essencialmente de primeira ordem. É fácil descobrir se

este é o caso, observando-se a resposta ao degrau do processo. Se a resposta ao degrau asse-

melha-se a de um sistema de primeira ordem, então o controle PI é suficiente. Outra razão é

quando o processo é projetado para que sua operação não exija controle fino, mesmo se o pro-

cesso tem dinâmica de alta ordem, necessita apenas de uma ação integral para eliminar o erro

de regime, e de uma resposta transiente adequada, proporcionada pela ação proporcional [1].

Similarmente, o controle PID é suficiente para processos onde a dinâmica dominante é

de segunda ordem. Para tais processos, não há um ganho de benefício usando um controlador

mais complexo. Um caso típico de melhoramento da ação derivativa é quando as dinâmicas

são caracterizadas por constante de tempo que diferem em amplitude. A ação derivativa pode

ser usada para acelerar a resposta. Controle de temperatura é um caso típico. O controle deri-

vativo é também benéfico quando se exige controle fino de um sistema de ordem superior. As

dinâmicas de ordem superior limitariam o resultado do ganho proporcional para o bom con-

Page 30: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 3 – Controladores PID digitais de temperatura.

19

trole. Com uma ação derivativa, a evolução da oscilação amortecida é evitada, daí um ganho

proporcional alto pode ser usado para aumentar a resposta transiente [1].

Os benefícios dos controladores mais sofisticados que o PID são citados em alguns

exemplos: Processos de ordem superior, mais que dois; Sistemas com tempo morto longo;

Sistemas com modos oscilatórios [1].

3.9 - IMPLEMENTAÇÃO DIGITAL

A implementação do controlador PI pode ser feita fazendo-se aproximações numéricas

da derivada e da integral que aparecem na lei de controle [1]. Desta forma, é possível descre-

ver cada uma das ações por uma equação de diferenças. A equação de diferenças descreve a

operação matemática a ser programada no microcontrolador onde será implementado o PI di-

gital conforme a Figura 3.10 [10].

Figura 3.9– Diagramas de blocos do controlador no tempo contínuo e do controlador digital.

Page 31: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 3 – Controladores PID digitais de temperatura.

20

A equivalência entre o sistema contínuo e o sistema discreto pode ser dada pela aproxi-

mação de Tustin [10]:

s =2

T

z − 1

z + 1 (3.6)

Onde:

s: é a variável de Laplace

z: é a variável de transformada Z

T: é o tempo de amostragem.

A função do controlador PI no domínio de Laplace é dada por:

ut = K et+ 1

T eτdτ

Us = K 1 +1

T. sE(s) (3.7)

Onde: : é a saída do controlador

E(s): é o erro

K: é o ganho proporcional

T: é o tempo integral

T: é o tempo derivativo

Utilizando a aproximação de Tustin:

Uz = K 1 +1

.

E(z) (3.8)

Reescrevendo a função de transferência do controlador PI:

Uz = K

z +

z − 1E(z) (3.9)

z − 1Uz = K 2T + T

2T z. Ez+ K −2T + T

2TE(z) (3.10)

z. Uz − Uz = K 2T + T

2T z. Ez+ K −2T + T

2TE(z) (3.11)

Page 32: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 3 – Controladores PID digitais de temperatura.

21

Dividindo por z, temos:

Uz = z. Uz+ K 2T + T

2TEz + z. K −2T + T

2TE(z) (3.12)

A equação de diferenças do controle PI é:

uk = uk − 1 + K 2T + T

2T ek+ K −2T + T

2T e(k − 1) (3.13)

3.10 - MÉTODOS PRÁTICOS DE SINTONIA DE CONTROLADORE S PID

Vários métodos de ajuste de controladores PID são conhecidos e utilizados na prática de

sistemas de controle. Cada um destes métodos requer algum tipo de informação sobre a dinâ-

mica do processo a ser controlado e a natureza desta informação é que caracteriza cada um

destes métodos. Para um método prático de ajuste, deve ser possível obter estas informações a

partir de ensaios simples sobre o processo, ao mesmo tempo em que estas informações devem

ser suficientes para possibilitar um ajuste adequado do controlador. Logo, a quantidade ade-

quada de informação a ser obtida do processo deve ser selecionada de forma a alcançar um

compromisso entre simplicidade e desempenho do controlador.

3.10.1 - MÉTODO DO GANHO CRÍTICO (MALHA FECHADA)

Este método é baseado no ajuste de um circuito em malha fechada até se obter oscila-

ções com amplitude constante e utiliza um conjunto de fórmulas para determinar os parâme-

tros do controlador, as quais requerem duas medidas do sistema: o ganho crítico, Gu (ganho

mínimo que torna o processo criticamente estável), e o período de oscilação correspondente,

Pu.

Para encontrar os valores do ganho crítico e do período de oscilação, deve-se reduzir

as ações integral e derivativa ao seu efeito mínimo, iniciar o processo com ganho reduzido e ir

aumentando até que a variável controlada entre em oscilação com amplitude constante en-

quanto se provocam pequenas oscilações no sistema com mostrado na Figura 3.11 [4].

Page 33: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 3 – Controladores PID digitais de temperatura.

22

Figura 3.10 – Curva obtida pelo método do ganho crítico.

Com a obtenção destes valores, podemos recorrer à Tabela 3.1 para determinar os va-

lores dos parâmetros dos controladores [4].

Tabela 3.1 – Tabela de sintonia de Ziegler e Nichols pelo método do ganho crítico

Tipo de Controlador K T T

P K 0,5. G - -

PI K 0,45. G T P1,2 -

PID K 0,6. G T P2 T P8

Analisando a Tabela 3.1 verifica-se que o ganho proporcional é reduzido em 10% ao

adicionar o modo integral, pois este torna o sistema menos estável, o ganho proporcional au-

menta e o ganho integral é reduzido ao adicionar o modo derivativo, pois este estabiliza o sis-

tema. Quando o não existir a ação integral (controlador PD), os valores de 0,6 Gu e 0,125 Pu

são muito conservadores, um vez que a ausência do modo integral aumenta a estabilidade do

sistema [11].

3.10.2 - MÉTODO DA RESPOSTA AO DEGRAU (MALHA ABERTA )

O procedimento normal no ajustamento dos parâmetros por este método consiste na

abertura da malha para que não haja realimentação e na obtenção da sua resposta a um degrau

de amplitude M na entrada de referência. A resposta deverá ter uma forma em S, em situação

contrária o método não é aplicável, como ilustrado na Figura 3.12 [4].

Page 34: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 3 – Controladores PID digitais de temperatura.

23

Figura 3.11 – Curva obtida pelo método da resposta ao degrau.

A curva em S pode ser caracterizada por duas constantes: o atraso L e a constante de

tempo T, sendo estas determinadas ao passar uma tangente pelo ponto de inflexão da curva.

Nos pontos onde a tangente intercepta o eixo das abcissas e a linha horizontal com ordenada

K, obtemos L e T, respectivamente.

Uma vez obtidos experimentalmente L, T e N (declive máximo = K/T), podemos recor-

rer à Tabela 3.2 para determinar os valores dos parâmetros dos controladores [4].

Tabela 3.2 – Tabela de sintonia de Ziegler e Nichols pelo método da resposta ao degrau

Tipo de Controlador K T T

P K MN. L - -

PI K 0,9.MN. L T L

0,3 -

PID K 1,2.MN. L T 2. L T L

2

A resposta em S é característica de sistemas de 1ª ordem com atraso, a função de trans-

ferência da planta pode ser descrita como [9]:

YsUs

K. e.T. s 1 (3.14)

Onde Kc é o ganho estacionário e Kc = K/M.

A principal vantagem deste método em relação ao anterior deve-se ao fato de que, uma

vez determinada a curva de reação do método, os parâmetros podem ser ajustados imediata-

mente.

Page 35: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 3 – Controladores PID digitais de temperatura.

24

A sua principal desvantagem decorre de grande parte dos sistemas serem mais comple-

xos do que um simples sistema de primeira ordem com atraso, o que significa que ainda é ne-

cessário um último ajuste no ganho antes de se poder considerar que a resposta do sistema é

“aceitável” [4].

É importante realçar que não existem conclusões gerais relativas à exatidão ou aptidão

destes métodos empíricos. A única inferência possível é que estes métodos conduzem a pri-

meiras aproximações dos parâmetros dos controladores, que se podem considerar “razoáveis”,

e que os valores obtidos podem necessitar de posteriores ajustes para fazer face à especifici-

dade de cada sistema, até que “performances” ótimas sejam atingidas [4].

Page 36: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 4 – Descrição do desenvolvimento do controlador.

25

CAPÍTULO 4

DESCRIÇÃO DO DESENVOLVIMENTO DO CONTROLADOR

4.1 - CONSIDERAÇÕES INICIAIS

Este capítulo tem a finalidade de apresentar o projeto do controlador de temperatura,

que tem como objetivo manter a temperatura dentro de um nobreak em torno de um valor

aceitável para o funcionamento do equipamento. O controlador é implementado digitalmente

através de programação no microcontrolador da família PIC 16F877A [12]. O circuito de con-

trole é responsável pela geração dos pulsos que servirão para acionar um exaustor para reduzir

a temperatura no interior do nobreak. O modelo do nobreak escolhido foi o STAY 1.000 fa-

bricado pela Microsol e com capacidade de 1 kVA.

4.2 - CONFIGURAÇÃO E DESCRIÇÃO GERAL DE FUNCIONAMEN TO

A Figura 4.1 apresenta o diagrama de blocos do controlador PI digital de temperatura.

Figura 4.1 – Diagrama de blocos do controlador PI digital de temperatura.

O estabelecimento da temperatura alvo é feito por meio dos botões do teclado, e, uma

vez atingida, a temperatura deverá manter-se dentro da faixa de tolerância.

Para monitorar a temperatura no interior do nobreak, é utilizado um sensor de tempera-

tura LM35 [13] próximo aos dissipadores de calor da placa de controle do nobreak. Este sen-

Page 37: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 4 – Descrição do desenvolvimento do controlador.

26

sor, ao ser alimentado com um tensão de 5 volts no terminal positivo e zero volts no terminal

negativo, produz na saída um nível de tensão que varia entre zero e 1,5 volt para temperaturas

entre zero e 150 °C, ou seja, cada 10 milivolts na saída do sensor corresponde a 1 ºC.

Este nível de tensão é lido pelo microcontrolador através da porta A/D (analógi-

ca/digital). O microcontrolador fará a leitura das amostras numa taxa de amostragem de 1

amostra por segundo.

Depois de obtidas dez amostras do valor da temperatura, é feita média aritmética e esta

é comparada com valor da temperatura alvo, o microcontrolador processa o erro e envia a in-

formação necessária para o acionador do transistor. O exaustor irá girar numa velocidade va-

riável conforme o acionamento do transistor, reduzindo a temperatura no interior do nobreak

até atingir o valor da temperatura alvo. O controlador digital de temperatura permite visuali-

zar os valores das temperaturas alvo e atual no interior do nobreak (variável de processo), por

meio de um mostrador digital LCD (liquid crystal display - display de cristal líquido) com 2

linhas e 16 caracteres por linha [14]. Utilizando mostrador digital e o teclado também é possí-

vel configurar valores máximo e mínimo para a temperatura alvo e visualizar a saída do con-

trolador variando entre 0 e 100%.

4.3 - ESTRUTURA DO CONTROLADOR DE TEMPERATURA EM MA LHA

FECHADA

O diagrama de blocos da Figura 4.2 mostra os elementos básicos de um controlador PI

em malha fechada. A planta e o controlador são conectados em um elo de realimentação nega-

tiva.

Figura 4.2 – Diagrama de blocos do controlador PI em malha fechada.

Page 38: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 4 – Descrição do desenvolvimento do controlador.

27

A resposta a um degrau na entrada da planta mostrada na Figura 4.6 foi obtida utilizan-

do um circuito com um sensor de temperatura LM35, um microcontrolador PIC 16F877A, um

circuito integrado MAX232 [15] para compatibilizar a comunicação serial assíncrona entre o

microcontrolador e o um computador e um transistor para o acionamento do exaustor. Este

circuito era, originalmente, um controlador de temperatura do tipo liga/desliga e foi adaptado

para obter a resposta ao degrau da planta. O a placa do circuito é mostrada na Figura 4.3.

Figura 4.3 – Circuito de teste utilizado para obtenção da resposta ao degrau.

O circuito de teste montado com o sensor de temperatura próximo aos dissipadores de

calor da placa de controle do nobreak é mostrado na Figura 4.4 e o exaustor montado em uma

das saídas de ventilação do nobreak é mostrado na Figura 4.5.

Figura 4.4 – Circuito de teste montado no nobreak.

Page 39: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 4 – Descrição do desenvolvimento do controlador.

28

Figura 4.5 – Exaustor montado no nobreak.

No computador foi desenvolvido um software em linguagem Visual Basic.NET que a

cada segundo recebe, através da porta serial, a temperatura medida pelo microprocessador e,

após 60 minutos, envia um sinal para que o microprocessador ative o exaustor.

Para simular uma condição de carga, foram ligados ao nobreak dois computadores com

processador Intel Core 2. Para evitar que oscilações de carga fossem causadas por diferenças

nos níveis de processamento, em ambos os computadores foi executado o programa OCCT

versão 3.1.0 [16] que simula o uso intenso dos componentes principais do computador.

Com o exaustor desligado, ou seja, com a razão cíclica igual a zero, a saída do sensor de

temperatura se estabilizou em 470 mV (47 ºC). Após o exaustor ser ativado na velocidade

máxima, ou seja, com a razão cíclica igual a 1023, a saída do sensor se estabilizou em 340

mV (34 ºC).

O resultado da medição após a ativação do exaustor e por um período de 90 minutos es-

tá representado na Figura 4.6. Para facilitar a leitura dos valores da constante de tempo T, foi

feita uma aproximação no gráfico da medição e é mostrada na Figura 4.7. Outra aproximação

foi feita para a leitura do valor do atraso L e é mostrada na Figura 4.8.

Page 40: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 4 – Descrição do desenvolvimento do controlador.

29

Figura 4.6 – Característica da resposta ao degrau.

Figura 4.7 – Característica da resposta ao degrau, gráfico para obtenção do valor da constante de tempo T.

Figura 4.8 – Característica da resposta ao degrau, gráfico para obtenção do valor do atraso L.

32

34

36

38

40

42

44

46

48

0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90

Te

mp

era

tura

(°C

)

Tempo (minutos)

32

34

36

38

40

42

44

46

48

0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5 5,5 6 6,5 7 7,5 8 8,5 9 9,5 10

Te

mp

era

tura

(°C

)

Tempo (minutos)

42

43

44

45

46

47

48

0 0,5 1 1,5 2

Te

mp

era

tura

(°C

)

Tempo (minutos)

Page 41: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 4 – Descrição do desenvolvimento do controlador.

30

Usando-se as Figuras 4.7 e 4.8, obtém-se: T = 288 segundos e L = 12 segundos. O valor

de Kc é obtido através da equação 4.1 [11]:

K 340 4701023 0 0,127 (4.1)

A função de transferência do circuito em malha aberta pode ser aproximada como [11]:

Gs 0,127. e.1 288. s (4.2)

Para determinar os valores de K e T foi escolhido o método de sintonia de Ziegler e

Nichols para manha aberta.

K 0,9. TL. K 0,9.288

12. 0,127 170 (4.3)

T L0,3 12

0,3 40 (4.4)

A função de transferência do controlador PI é [11]:

Gs 170 1 140. (4.5)

Ou:

Gs 680. s 174. s (4.6)

A Figura 4.9 mostra o diagrama de blocos do sistema em malha fechada com o contro-

lador PI.

Figura 4.9 – Diagrama de blocos do sistema em malha fechada com o controlador PI.

Page 42: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 4 – Descrição do desenvolvimento do controlador.

31

A constante de tempo T é 288 segundos e é recomendado que o tempo de aquisição seja

bem menor que 288/10 = 29 segundos [11]. Para este trabalho foi escolhido um tempo de

aquisição de 10 segundos.

A implementação do controlador PI pode ser feita utilizando aproximações numéricas

da derivada e da integral que aparecem na lei de controle [1]. Desta forma, é possível descre-

ver cada uma das ações por uma equação de diferenças. As equações de diferenças descrevem

as operações matemáticas a serem programadas no microcontrolador onde será implementado

o PI digital. Substituindo-se os parâmetros Kp = -170, Ti = 40 e T = 10 segundos na equação

3.13 tem-se:

uk = uk − 1 + −170. 2.40 + 10

2.40 ek+ −170. −2.40 + 10

2.40 e(k − 1) (4.7)

uk = uk − 1 − 191. ek+ 149. e(k − 1) (4.8)

Utilizando a equação 4.8, foi feita uma simulação do controlador fazendo o erro variar

algumas vezes de -0,5 a 0,5 ºC durante o perído de meia hora. Na figura 4.10 é mostrado o

gráfico do resultado da simulação, sendo a linha azul o erro em °C e em vermelho a razão

cíclica, que é a saída do controlador em valor percentual.

Figura 4.10 – Resultado da simulação do controlador.

0 20 40 60 80 100 120 140 160 180-0.5

0

0.5

1

tempo [x10 segundos]

razã

o cí

clic

a [%

] -

verm

elho

erro

[°C

] -

azul

Page 43: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 4 – Descrição do desenvolvimento do controlador.

32

4.4 - DESCRIÇÃO DO PROJETO

O projeto consiste de um microcontrolador que lê a temperatura medida por um sensor

de temperatura LM35 e compara com o valor definido pelo usuário através de um teclado e

um mostrador. A partir do erro, um controlador PI digital programado no microcontrolador

calcula a razão cíclica para controlar um exaustor a partir de um sinal PWM, Pulse-Width

Modulation ou Modulação por largura de pulso, gerado pelo microcontrolador. Desta forma é

controlada a temperatura no interior do nobreak.

O controlador de temperatura baseia-se no microcontrolador da família PIC 16F877A

de 8 bits e núcleo de 14 bits, com 14,3 kbytes de memoria Flash de programa que permite ser

programada eletricamente, 256 bytes de EEPROM, Electrically-Erasable Programmable Re-

ad-Only Memory, com encapsulamento PDIP, Plastic Dual In-Line Package, e suporte a

clock, frequência do oscilador, de até 20 MHz [12].

O microcontrolador dispõe de 33 pinos de I/O (input/output – entrada/saída) divididos

em 5 portas: porta A com 6 pinos (A0 – A5), porta B com 8 pinos (B0 – B7), porta C com 8

pinos (C0 – C7) e porta E com 3 pinos (E0 – E2).

Outros 7 pinos para alimentação, reset e entrada do sinal da clock completam os 40 pi-

nos do microcontrolador conforme a Figura 4.11.

Figura 4.11 – Diagrama de pinos do PIC 16F877A.

Para gerar o clock foi montado um circuito com dois capacitores de 22 pF e um cristal

de 10 MHz conectados aos pinos OSC1 e OSC2. A saída do sensor de temperatura foi conec-

Page 44: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 4 – Descrição do desenvolvimento do controlador.

33

tada a porta A0, que é a entrada AN0 do módulo conversor A/D através de um resistor de 1

kΩ. A porta A3, que é a referência do módulo conversor A/D é alimentado por um nível de

tensão de 1,5 volts. A porta C2 é a saída do sinal PWM. As portas B4, B5, B6 e B7 por existir

uma interrupção que detecta mudanças de estados nessas portas, foram escolhidas para serem

as entradas das teclas esquerda (LEFT), cima (UP), baixo (DOWN) e direita (RIGHT) respec-

tivamente. A falta de uma quinta porta com detecção de mudança de estado fez com que o

botão configuração (CONFIG) fosse lido como uma combinação dos botões esquerda e direi-

ta. As portas D4 a D7 fazem a comunicação de 4 bits com o mostrador LCD e as portas E0 e

E1 são as saídas dos sinais E, enable que inicia leitura ou gravação de dados, e RS, registers

select que seleciona registradores para configurar o LCD. As portas C6 e C7 foram disponibi-

lizadas junto com nível de tensão de 5 volts e o terra para alimentar um circuito de comunica-

ção serial que não foi utilizado nesse trabalho. O esquema elétrico com as conexões das portas

do microcontrolador é mostrado na Figura 4.12.

Figura 4.12 – Esquema elétrico das conexões do microcontrolador.

Para controlar o exaustor, o sinal PWM chaveia um transistor TIP31. O exaustor tem o

terminal positivo ligado a um nível de tensão de 12 volts e o terminal negativo ligado ao cole-

tor do transistor. Um diodo 1N4001 é conectado em antiparalelo, roda livre, com o exaustor

para evitar picos durante o chaveamento. O esquema de montagem do exaustor é mostrado na

Figura 4.13.

RA0/AN02

RA1/AN13

RA2/AN2/VREF-/CVREF4

RA4/T0CKI/C1OUT6

RA5/AN4/SS/C2OUT7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

OSC1/CLKIN13

OSC2/CLKOUT14

RC1/T1OSI/CCP2 16

RC2/CCP1 17

RC3/SCK/SCL 18

RD0/PSP0 19

RD1/PSP1 20

RB7/PGD 40RB6/PGC 39

RB5 38RB4 37

RB3/PGM 36RB2 35RB1 34

RB0/INT 33

RD7/PSP7 30RD6/PSP6 29RD5/PSP5 28RD4/PSP4 27RD3/PSP3 22RD2/PSP2 21

RC7/RX/DT 26RC6/TX/CK 25

RC5/SDO 24RC4/SDI/SDA 23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI 15

MCLR/Vpp/THV1

U1

PIC16F877AVDD=5VVSS=TERRA

1.5V

5VTE

RR

A

R61k

5V

R910k

PWM

DOWNUP

67.0

3

1

VOUT 2

U2

LM35

RIGHT

LEFT

D4D5

D6D7

RSE

X1CRYSTALC1

22p

C5

22p

TER

RA

RXTX

Page 45: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 4 – Descrição do desenvolvimento do controlador.

34

Figura 4.13 – Esquema elétrico das conexões do exaustor.

O esquema de montagem do teclado é mostrado na Figura 4.14. Os botões UP,

DOWN, LEFT e RIGHT ao serem pressionados, enviam um nível de tensão de 5 volts aos res-

pectivos pinos do microcontrolador. O botão CONFIG é conectado as saídas dos botões LEFT

e RIGHT simulando um pressionamento simultâneo. Dois diodos 1N4148 são usados para

evitar fluxo de corrente no sentido inverso. Sem eles, ao pressionar um dos botões LEFT ou

RIGHT, o outro também teria a saída com nível de tensão de 5 volts e o microcontrolador in-

terpretaria erroneamente com um pressionamento no botão CONFIG.

Figura 4.14 – Esquema elétrico do teclado.

O esquema de montagem do mostrador LCD é mostrado na Figura 4.15. Por ter sido es-

colhida a comunicação em 4 bits, os pinos D0 a D3 do LCD não são utilizados. Por não ser

12V

Q5TIP31PWM

D81N4001

+88.8

kRP

M

R13

120

TER

RA

UP

DOWN

R410k

R1410k

5V

TER

RA

UP

DOWN

CONFIG

LEFT RIGHT

R110k

R210k

RIGHTLEFT

D1

1N4148

D2

1N4148

Page 46: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 4 – Descrição do desenvolvimento do controlador.

35

necessária a leitura do LCD, o pino R/W, read/write ou leitura/escrita, é aterrado, pois não

será feita leitura do LCD. Um potenciômetro de 5 kΩ é utilizado para variar o nível de tensão

do pino VEE que regula o contraste do LCD.

Figura 4.15 – Esquema elétrico das conexões do mostrador LCD.

A Figura 4.16 mostra o esquema da fonte de alimentação. Um nível de tensão de 12

volts contínuos é obtido através de uma fonte de alimentação externa. Esse nível de tensão é

utilizado para alimentar o exaustor. Um regulador de tensão L7805CV produz um nível de

tensão de 5 volts para alimentar o microcontrolador, o sensor de temperatura e o mostrador

LCD. A partir do nível de tensão de 5 volts, um divisor de tensão resistivo produz um nível de

tensão de 1,5 volts que serve como referência do conversor analógico-digital do microcontro-

lador.

Figura 4.16 – Esquema elétrico da fonte de alimentação.

5VTE

RR

A D4

D5

D6

D7

RS E

RW

VE

E

TCONT

10K

D7

14D

613

D5

12D

411

D3

10D

29

D1

8D

07

E6

RW

5R

S4

VS

S1

VD

D2

VE

E3

LCD1LM016L

C20.10uF

R73.3k

R81.5K

5V

1.5V

TERRA

C30.33uF

12V

R10100

R11100

VI1 VO 3

GN

D2

U67805

V112V

Page 47: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 4 – Descrição do desenvolvimento do controlador.

36

4.5 - O SOFTWARE DO CONTROLADOR

O software implementado no microcontrolador foi escrito em linguagem C e será des-

crito em cinco passos a seguir:

Primeiro passo – O programa inicia com a declaração das variáveis.

Segundo passo – É configurado o modulo CCP1 (comparação, captura e PWM) no mo-

do PWM e o modulo conversor analógico digital para usar o clock interno, AN0 e AN1 como

portas analógicas, tensão de referência pela porta A3 e é selecionada a porta AN0 para leitura.

Em seguida são configurados todos os pinos como entradas ou saídas e o LCD é iniciado.

Após a inicialização do LCD é escrito na primeira linha “Alvo: 0.0°C” e na segunda linha

“Atual: 0.0ºC”. Durante o funcionamento do programa, na tela inicial será mostrado o valor

do setpoint (alvo) na primeira linha e da temperatura atual na segunda linha.

Por último o timer 1 é configurado para disparar uma interrupção cinco vezes por se-

gundo e as interrupções do timer 1, de mudança de nível lógico na porta B (pinos B4 a B7) e

global são ativadas.

Terceiro passo – Inicia-se um laço eterno sem fazer nada.

Quarto passo – Interrupção do timer 1 – Se já tiverem ocorrido 5 interrupções do timer

1 (1 segundo), o programa atualiza o LCD e faz a leitura da saída do sensor de temperatura

calculando a temperatura atual e alimentando a matriz de medições para fazer a média poste-

riormente.

Se já tiverem ocorrido 10 medições (10 segundos), é feita a média aritmética das últi-

mas 10 medições e é calculada a temperatura média. Pela diferença entre a temperatura alvo e

a média, o erro é calculado e o valor da razão cíclica é calculado pela equação 4.8. Em segui-

da os valores do razão cíclica e do erro são salvos, o modulo PWM é configurado com o valor

da razão cíclica e o timer 2, que controla a frequência de oscilação do sinal PWM, é configu-

rado para 610 Hz.

Para calcular o valor da temperatura medida, o valor lido pelo conversor analógico-

digital é multiplicado por 1500, que é a tensão de referência em milivolts, e depois dividido

por 1023, que é a escala de medição do conversor de 10 bits.

Durante os testes iniciais, foi detectada uma oscilação para mais e para menos na leitura

do sensor. Pela precisão deste sensor que é de 1 mV, esta oscilação provavelmente ocorre por

pequenas oscilações na tensão de alimentação do sensor ou por interferências eletromagnéti-

Page 48: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 4 – Descrição do desenvolvimento do controlador.

37

cas nos condutores que ligam o sensor a placa de controle. Para evitar que essa oscilação in-

terfira no funcionamento do controlador, é feita a média aritmética das últimas 10 medições.

A frequência de 610 Hz foi escolhida por ser a menor possível com o cristal de 10 MHz

(10.000.000 / 4 / 16 / (255 + 1) = 610 Hz). Durante os testes iniciais, foram utilizadas fre-

quências acima de 20 kHz por estarem fora do limite da audição humana, porem o controle

sobre a velocidade do exaustor foi pouco eficaz. A Microchip (fabricante do microcontrola-

dor) recomenda baixas frequências (30 Hz) nesse tipo de aplicação para um melhor controle

sobre a velocidade do exaustor. A frequência escolhida, apesar de ser audível, apresentou um

bom controle sobre a velocidade do exaustor.

Quinto passo – Interrupção de mudança de nível lógico nos pinos B4 a B7 – Se uma

tecla for pressionada, será executada uma função de acordo com a tela que estiver sendo exi-

bida.

Se estiver na tela principal mostrada na Figura 4.17, os botões UP e DOWN ajustam a

temperatura alvo (setpoint) para mais e para menos de um em um grau Celsius. O botão

CONFIG muda para a tela de ajuste da máxima temperatura permitida. Os botões RIGHT e

LEFT vão para a tela que mostra a razão cíclica em percentual e a temperatura média.

Figura 4.17 – Tela principal.

Se estiver na tela de ajuste da máxima temperatura permitida mostrada na Figura 4.18,

os botões UP e DOWN ajustam o maior valor permitido para a temperatura alvo para mais e

para menos. Os botões RIGHT e LEFT permitem alternar entre as casas das unidades, dezenas

e centenas. O botão CONFIG muda para a tela de ajuste da mínima temperatura permitida.

Figura 4.18 – Tela de ajuste da máxima temperatura permitida.

Se estiver na tela de ajuste da mínima temperatura permitida mostrada na Figura 4.19,

os botões UP e DOWN ajustam o menor valor permitido para a temperatura alvo para mais e

para menos. Os botões RIGHT e LEFT permitem alternar entre as casas das unidades, dezenas

e centenas. O botão CONFIG volta para a tela principal.

Page 49: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 4 – Descrição do desenvolvimento do controlador.

38

Figura 4.19 – Tela de ajuste da mínima temperatura permitida.

Se estiver na tela que mostra a razão cíclica em percentual e a temperatura média mos-

trada na Figura 4.20, os botões UP e DOWN não têm função. Os botões CONFIG, RIGHT e

LEFT voltam para a tela principal.

Figura 4.20 – Tela que mostra a razão cíclica em percentual e a temperatura média.

O programa foi gravado no microcontrolador usando o programa IC-Prog versão 1.05D

[17] e um gravador de PIC modelo PicBurner da Worldpic mostrado na Figura 4.21.

Figura 4.21 – Gravador de PIC utilizado na programação do microcontrolador.

4.6 - MONTAGEM DO CONTROLADOR

O controlador foi dividido em duas placas: uma para fazer a interface com o usuário

contendo o mostrador LCD e o teclado, instalada do lado externo do nobreak, e outra com o

restante dos componentes instalada internamente ao nobreak.

A Figura 4.22a mostra o projeto da placa do teclado e do LCD e a Figura 4.22b mostra a

placa montada.

Page 50: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 4 – Descrição do desenvolvimento do controlador.

39

Figura 4.22 – Placa do teclado e do LCD; (a) projeto; (b) placa montada.

A Figura 4.23a mostra o projeto da placa principal e a Figura 4.23b mostra a placa mon-

tada. Na figura 4.23b também é mostrado o sensor de temperatura que não foi soldado direta-

mente a placa para poder ser instalado numa posição mais próxima aos dissipadores de calor

da placa de controle do nobreak.

Figura 4.23 – Placa principal; (a) projeto; (b) placa montada e detalhe do sensor de temperatura.

Page 51: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 4 – Descrição do desenvolvimento do controlador.

40

Figura 4.24 – Visão geral da montagem dos componentes.

A Figura 4.24 mostra o local de montagem dos componentes do controlador no interi-

or do nobreak e a Figura 4.25 mostra o nobreak montado com a placa do teclado e do LCD

montada sobre a tampa superior.

Figura 4.25 – Placa do teclado e do LCD montada sobre a tampa superior.

Fonte Externa

Circuito Principal

Teclado e LCD

Sensor de temperatura

Page 52: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 5 – Resultados experimentais.

41

CAPÍTULO 5

RESULTADOS EXPERIMENTAIS

5.1 - CONSIDERAÇÕES INICIAIS

Este capítulo tem a finalidade de apresentar o resultado dos experimentos com o contro-

lador de temperatura desenvolvido.

5.2 - DESCRIÇÃO DO EXPERIMENTO

Com o controlador já montado no interior do nobreak, o circuito de testes foi novamen-

te montado próximo aos dissipadores de calor da placa de controle do nobreak, para fazer a

aquisição das temperaturas por um computador via porta serial. Os dois computadores utiliza-

do na obtenção da resposta ao degrau do sistema foram novamente ligados ao nobreak e em

ambos foi iniciado o aplicativo OCCT [16] para aumentar a carga sobre o nobreak e, com is-

so, sua temperatura interna, além de tornar a resposta mais plana.

5.3 - RESULTADOS EXPERIMENTAIS

O experimento teve início com o valor da temperatura alvo configurado para 60 °C para

que não houvesse a atuação do exaustor e permitisse que a temperatura interna do nobreak se

elevasse. Após cerca de 1 hora e com a temperatura interna pouco acima de 43 °C, a tempera-

tura alvo foi ajustada em 40 °C e foi dado início a aquisição dos dados. Para diminuir a osci-

lação no valor medido pela placa de testes e ter uma leitura próxima ao do controlador objeto

deste trabalho, a aquisição foi feita a cada segundo e o valor da temperatura armazenado a ca-

da 10 segundos, sendo este valor a média aritmética dos valores obtidos nas últimas 10 aqui-

sições, exatamente como foi programado no controlado de temperatura. O resultado da medi-

ção após o ajuste da temperatura alvo e por um período de 90 minutos está representado na

Figura 5.1a e a ação de controle é mostrada na figura 5.1b.

Page 53: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 5 – Resultados experimentais.

42

Figura 5.1 – (a) Gráficos das temperaturas e (b) da ação de controle obtidos durante 90 minutos do experimento.

Analisando os gráficos da Figura 5.1 com as temperaturas obtidas durante o experimen-

to e a ação de controle, é possível notar que o controlador cumpriu com o objetivo para o qual

fora projetado. O valor da temperatura se estabilizou cerca de um grau Celsius abaixo da ra-

zão cíclica e houve um oscilação de apenas cerca de 0,5 °C na temperatura após a estabiliza-

ção provavelmente devido ao ruído na medição.

Por a frequência de chaveamento estar dentro do limite audível pelo ser humano, foi

possível escutar o chaveamento do exaustor quando este operava em baixa velocidade. Em

[18] é descrito um método para suprimir esse ruído acústico.

38

39

40

41

42

43

44

0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90

Te

mp

era

tura

(°C

)

Tempo (minutos)

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90

Ra

zão

Cíc

lica

(%

)

Tempo (minutos)

Page 54: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

CAPÍTULO 5 - Conclusão

43

CAPÍTULO 6

CONCLUSÃO

Este trabalho foi realizado com o objetivo de reunir os conhecimentos adquiridos duran-

te o curso de engenharia elétrica para desenvolver um controlador PI, implementado digital-

mente em um microcontrolador da família PIC, para controlar a temperatura no interior de um

nobreak.

Os resultados experimentais comprovaram que o controlador cumpriu com o objetivo

para o qual fora projetado, estabilizando a temperatura cerca de um grau Celsius abaixo do

alvo.

Diante do exposto acima, pode-se afirmar que o objetivo do trabalho foi alcançado, ou

seja, efetivamente foi desenvolvido um controlador PI digital de temperatura aplicado a um

nobreak de 1 kVA.

Como trabalhos futuros, podem-se sugerir inserir um filtro para eliminar o ruído na me-

dição da temperatura, removendo a necessidade do cálculo do valor médio e reduzindo o perí-

odo das aquisições tornando mais suave o controle sobre o exaustor.

Pode-se incluir também como trabalho futuro, utilizar um exaustor com controle direto

por PWM que suporta frequências de chaveamento acima da capacidade de audição humana e

ainda fazer a leitura da velocidade do cooler a fim de se obter um resultado mais preciso.

Page 55: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

Referência Bibliograficas

44

REFERÊNCIAS BIBLIOGRÁFICAS

[1] Åström, K. J.; Hägglund, T., PID Controllers: Theory, Design, and Tuning. 2ª Ed.

Carolina do Norte: Instrument Society of America, 1995.

[2] Martins, N. A., Sistemas Microcontrolados. 1ª Ed. Novatec, 2005.

[3] Stallings, W., Arquitetura e Organização de Computadores. 5ª Ed. Pearson Addison

Wesley, 2005.

[4] Loureço, J., Sintonia de controladores P.I.D. Escola Superior de Tecnologia, 1997.

[5] Ogata, K., Engenharia de Controle Moderno. 4ª Ed. São Paulo: Prentice Hall, 2003.

[6] Omron Electronics LLC, Temperature and Process Control Instrumentation. Catálogo

H301-E3-1, 2004, pp. E-1 – E-23.

[7] Kempenich, G., Curso de Projetos de Instrumentação. São Caetano do Sul: Instituto

Mauá de Tecnologia, 1985.

[8] Controladores PID Microprocessados. Disponível em

<HTTP://www.wma.ind.br/downloads.html>. Acesso em 30 de Outubro de 2010.

[9] McDonald, J. S., Temperature Control Using a Microcontroller: An Interdisciplinary

Undergraduate Engineering Design Project. In: IEEE Frontiers in Education Conference,

seção S4H, 1997, pp. 1620-1624.

[10] Campo, A. B, Tópicos Sobre a Teoria de Controle. São Paulo: CEFET/SP, 2004.

[11] Ibrahim, D., Microcontroller Based Temperature Monitoring and Control. 1ª Ed.

Newnes, 2002.

[12] Datasheet PIC16F87XA. Disponível em <HTTP://www.microchip.com>. Acesso em 30

de Outubro de 2010.

[13] Datasheet LM35. Disponível em <HTTP://www.national.com>. Acesso em 30 de

Outubro de 2010.

Page 56: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

Referência Bibliograficas

45

[14] Datasheet TM162AAA6-1. Disponível em <HTTP://www.alldatasheet.com>. Acesso em

30 de Outubro de 2010.

[15] Datasheet MAX232. Disponível em <HTTP://www.datasheetcatalog.com>. Acesso em 30

de Outubro de 2010.

[16] Software OCCT versão 3.1.0. Disponível em <HTTP://www.ocbase.com>. Acesso em 30

de Outubro de 2010.

[17] Software IC-Prog versão 1.05D. Disponível em <HTTP://www.ic-prog.com>. Acesso em

30 de Outubro de 2010.

[18] Gaede, K., Suppressing Acoustic Noise in PWM Fan Speed Control Systems. Microchip,

2003. Disponível em <HTTP://www.microchip.com>. Acesso em 30 de Outubro de 2010.

[19] Kaliyugavaradan, S., A Microcontroller-based Programmable Temperature Controller.

In: IEEE 23rd International Conference on Industrial Electronics, Control and

Instrumentation, Vol. 1, 1997, pp. 155-158.

[20] Pereira, F., Microcontroladores PIC Programação em C, 7ª Ed. São Paulo: Editora Érica,

2009.

Page 57: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

APÊNDICE A (PROGRAMA DO MICROCONTROLADOR)

Page 58: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

47

#include <16f877a.h> #include <regs_16f87x.h> #device adc=10 #use delay(clock=10000000) #fuses HS,NOWDT,PUT,NOLVP,BROWNOUT,NOLVP,NOCPD #include <mod_lcd.c> #use fast_io(a) #use fast_io(b) #use fast_io(c) #use fast_io(d) #use fast_io(e) //////////////////////////////////////////////Declaração de variáveis/////////////////////////////////////////////// //Temperaturas int16 temp_atual; int16 temp_atual_media; int temp_alvo = 40; int temp_alvo_max = 50; int temp_alvo_min = 30; //Controlado Proporcional-Integral int16 Kp = 191; //Ganho proporcional int16 Ki = 149; //Ganho integral signed int16 erro = 0; //Erro signed int16 erro1 = 0; //Erro anterior signed int16 ciclo_s=0; //Saída do controlador //LCD int config = 0; //Tela atual int posicao; //Posição atual do cursor int posicaoM; //Máxima posição possível para o cursor int velocidade = 0; //Valor percentual do duty cicle //PWM int16 ciclo=0; //Duty cicle //ADC int16 valor; //Valor lido int16 valor_medio; //Valor médio dos valores lido int16 matriz_valores[10]; //Matriz para salvar valores lido //Timer 1 int8 contaT1_1 = 0; int8 contaT1_2 = 0;

Page 59: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

48

//Estado dos botões boolean botao_up = 0; boolean botao_down = 0; boolean botao_left = 0; boolean botao_right = 0; //Variáveis de uso geral int16 temp1; //Variável temporária de uso geral int16 temp2; //Variável temporária de uso geral ///////////////////////////////////////////Tratamento das interrupções/////////////////////////////////////////// //////////////////////////////////////////////////////////Timer 1////////////////////////////////////////////////////////// #int_timer1 void trata_t1 () // reinicia o timer 1 em 3036 mais a contagem que já passou set_timer1(3036 + get_timer1()); contaT1_1 += 1; If (contaT1_1 == 5) //Se já passou um segundo: //LCD If (config == 0) lcd_pos_xy(10,1); If (temp_alvo<10) printf (lcd_escreve," "); else if (temp_alvo<100) printf (lcd_escreve," "); printf (lcd_escreve,"%u",temp_alvo); lcd_pos_xy(10,2); If (temp_atual/10<10) printf (lcd_escreve," "); else if (temp_atual/10<100) printf (lcd_escreve," "); printf (lcd_escreve,"%lu.%lu",(temp_atual/10),temp_atual%10); Else If (config == 3) velocidade = ((int32)ciclo*100)/1023; lcd_pos_xy(13,1); If (velocidade<10) printf (lcd_escreve," "); else if (velocidade<100) printf (lcd_escreve," "); printf (lcd_escreve,"%u",velocidade); lcd_pos_xy(10,2); If (temp_atual/10<10) printf (lcd_escreve," "); else if (temp_atual/10<100) printf (lcd_escreve," "); printf (lcd_escreve,"%lu.%lu",(temp_atual_media/10),temp_atual_media%10);

Page 60: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

49

//ADC valor = read_adc(); //Efetua a conversão A/D matriz_valores[contaT1_2] = valor; // O escalonamento é realizado da seguinte forma: // resultado = (1500 * valor lido) / 1023 // simplificando: // resultado = valor + (valor * 159) / 341 // Repare que é necessário converter a segunda parte da // equação para 32 bits para que o compilador efetue o // cálculo corretamente temp_atual = valor + ((int32)valor* 159)/341; contaT1_2 += 1; contaT1_1 = 0; If (contaT1_2 == 10) //Se já passou dez segundos: //PID //Calculo do valor médio da temperatura lida durante os últimos 10 segundos valor_medio = 0; For (temp1 = 0; temp1 < 10; temp1++) valor_medio += matriz_valores[temp1]; valor_medio /= 10; temp_atual_media = valor_medio + ((int32)valor_medio * 159)/341; //Calculo do erro erro = (signed int16)temp_alvo*10 - (signed int16)temp_atual_media; //Controle proporcional-integral ciclo_s = ciclo_s + (((signed int32)Ki*erro1) - ((signed int32)Kp*erro)); // teste de extrapolação de valores if (ciclo_s>1023) ciclo_s=1023; If (ciclo_s<0) ciclo_s=0; //Salva valores para o próximo ciclo ciclo = ciclo_s; erro1 = erro; //PWM set_pwm1_duty (ciclo); // Configura o ciclo ativo setup_timer_2 (T2_DIV_BY_16, 255, 1); //Frequência de oscilação igual a 10MHz / 4 / 16 / (255 + 1) = 610 Hz contaT1_2 = 0;

Page 61: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

50

/////////////////////////////////////////Mudança de estado na porta B///////////////////////////////////////// #int_rb void Botoes () //Carrega estado dos botões botao_up = input(pin_b5); botao_down = input(pin_b6); botao_left = input(pin_b4); botao_right = input(pin_b7); If (botao_up) //BOTÃO UP Switch (config) Case 0: If (temp_alvo<temp_alvo_max) temp_alvo += 1; //Se botão UP for precionado e a temperatura alvo for menor que a máxima, incrementa a temperatura alvo. Break; Case 1: temp1 = 1; for(temp2=0;temp2<(posicaoM-posicao);++temp2) temp1*=10; If (temp_alvo_max+temp1<150) temp_alvo_max += temp1; else temp_alvo_max = 150; lcd_pos_xy(1,2); If (temp_alvo_max<10) printf (lcd_escreve,"00"); else if (temp_alvo_max<100) printf (lcd_escreve,"0"); printf (lcd_escreve,"%u",temp_alvo_max); lcd_pos_xy(posicao,2); Break; Case 2: temp1 = 1; for(temp2=0;temp2<(posicaoM-posicao);++temp2) temp1*=10; If (temp_alvo_min+temp1<temp_alvo_max) temp_alvo_min += temp1; else temp_alvo_min = temp_alvo_max; lcd_pos_xy(1,2); If (temp_alvo_min<10) printf (lcd_escreve,"00"); else if (temp_alvo_min<100) printf (lcd_escreve,"0"); printf (lcd_escreve,"%u",temp_alvo_min);

Page 62: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

51

lcd_pos_xy(posicao,2); Break; else If (botao_down) //BOTÃO DOWN Switch (config) Case 0: If (temp_alvo>temp_alvo_min) temp_alvo -= 1; //Se botão DOWN for precionado e a temperatura alvo for maior que a mínima, deincrementa a temperatura alvo. Break; Case 1: temp1 = 1; for(temp2=0;temp2<(posicaoM-posicao);++temp2) temp1*=10; If (temp_alvo_max>temp1) temp_alvo_max -= temp1; else temp_alvo_max = 0; lcd_pos_xy(1,2); If (temp_alvo_max<10) printf (lcd_escreve,"00"); else if (temp_alvo_max<100) printf (lcd_escreve,"0"); printf (lcd_escreve,"%u",temp_alvo_max); lcd_pos_xy(posicao,2); Break; Case 2: temp1 = 1; for(temp2=0;temp2<(posicaoM-posicao);++temp2) temp1*=10; If (temp_alvo_min>temp1) temp_alvo_min -= temp1; else temp_alvo_min = 0; lcd_pos_xy(1,2); If (temp_alvo_min<10) printf (lcd_escreve,"00"); else if (temp_alvo_min<100) printf (lcd_escreve,"0"); printf (lcd_escreve,"%u",temp_alvo_min); lcd_pos_xy(posicao,2); Break; else If (botao_left && botao_right) //BOTÃO CONFIG lcd_envia_byte(0,0x0C);

Page 63: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

52

config+=1; If (config>2) config=0; Switch (config) Case 0: lcd_escreve("\f"); printf (lcd_escreve,"Alvo: 0.0"); lcd_escreve(0xDF); lcd_escreve(0x43); printf (lcd_escreve,"\nAtual: 0.0"); lcd_escreve(0xDF); lcd_escreve(0x43); delay_ms (2); If (temp_alvo>temp_alvo_max) temp_alvo=temp_alvo_max; If (temp_alvo<temp_alvo_min) temp_alvo=temp_alvo_min; Break; Case 1: lcd_escreve("\f"); printf (lcd_escreve,"Temp Maxima:\r"); If (temp_alvo_max<10) printf (lcd_escreve,"00"); else if (temp_alvo_max<100) printf (lcd_escreve,"0"); printf (lcd_escreve,"%u",temp_alvo_max); lcd_escreve(0xDF); lcd_escreve(0x43); lcd_envia_byte(0,0x10); lcd_envia_byte(0,0x10); lcd_envia_byte(0,0x10); lcd_envia_byte(0,0x0F); delay_ms (2); posicao = 3; posicaoM = 3; Break; Case 2: If (temp_alvo_min>temp_alvo_max) temp_alvo_min=temp_alvo_max; //Se a temperatura alvo máxima for menor que a mínima, a mínima e recebe o valor da máxima. lcd_escreve("\f"); printf (lcd_escreve,"Temp Minima:\r"); If (temp_alvo_min<10) printf (lcd_escreve,"00"); else if (temp_alvo_min<100) printf (lcd_escreve,"0"); printf (lcd_escreve,"%u",temp_alvo_min); lcd_escreve(0xDF); lcd_escreve(0x43); lcd_envia_byte(0,0x10); lcd_envia_byte(0,0x10); lcd_envia_byte(0,0x10); lcd_envia_byte(0,0x0F); delay_ms (2);

Page 64: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

53

posicao = 3; posicaoM = 3; Break; else If (botao_right || botao_left) //BOTÃO RIGHT If (config == 0) lcd_escreve("\f"); printf (lcd_escreve,"Exaustor: 0"); lcd_escreve(0x25); printf (lcd_escreve,"\nTemp: 0.0"); lcd_escreve(0xDF); lcd_escreve(0x43); config = 3; Else If (config == 3) lcd_escreve("\f"); printf (lcd_escreve,"Alvo: 0.0"); lcd_escreve(0xDF); lcd_escreve(0x43); printf (lcd_escreve,"\nAtual: 0.0"); lcd_escreve(0xDF); lcd_escreve(0x43); config = 0; else If (botao_left && config!=0) //BOTÃO LEFT If (posicao>1) lcd_envia_byte(0,0x10); posicao -= 1; else If (botao_right && config!=0) //BOTÃO RIGHT If (posicao!=posicaoM) lcd_envia_byte(0,0x14); posicao += 1;

Page 65: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

54

///////////////////////////////////////////////////Rotina principal///////////////////////////////////////////////////// main() //Configuração do PWM setup_ccp1 (CCP_PWM); //Configura CCP1 para modo PWM // Configuração do ADC setup_ADC_ports (AN0_AN1_VSS_VREF); //AN0 e AN1 como entradas analógicas e VREF+ no pino RA3 setup_adc(ADC_CLOCK_INTERNAL); set_adc_channel(0); //Seleciona a entrada AN0 //Configuração de I/Os porta = 0x00; portb = 0x00; portc = 0x00; portd = 0x00; porte = 0x00; set_tris_a(0b11111111); //1-pino entrada 0-pino saida set_tris_b(0b11110000); set_tris_c(0b10000000); set_tris_d(0b00000000); set_tris_e(0b00000000); //Configuração do LCD lcd_ini(); delay_ms (2); // aguarda 2 ms printf (lcd_escreve,"Alvo: 0.0"); lcd_escreve(0xDF); lcd_escreve(0x43); printf (lcd_escreve,"\nAtual: 0.0"); lcd_escreve(0xDF); lcd_escreve(0x43); //Configuração do Timer 1 setup_timer_1( T1_INTERNAL | T1_DIV_BY_8 ); //configura o timer 1 para clock interno e prescaler dividindo por 8 set_timer1(3036); //inicia o timer 1 em 3036 - Frequência igual a 10MHz / 4 / 8 / (65536 - 3036) = 5 Hz //Habilita interrupções enable_interrupts(INT_TIMER1); enable_interrupts(INT_RB); // Libera as interrupções por mudança de estado no Port B = Pinos B4 -> B7 enable_interrupts(GLOBAL); // Libera o registrador de interrupção global e permite que as interrupçoes funcionem

Page 66: CONTROLADOR DE TEMPERATURA UTILIZANDO … CARVALHO BEZERRA.pdf · controlador foi baseado no método experimental de Ziegler e Nichols da resposta ao degrau (malha aberta). ... Figura

55

//Inicia loop infinito while (true)