Você está na página 1de 66

UNIVERSIDADE FEDERAL DO CEAR CENTRO DE TECNOLOGIA CURSO DE GRADUAO EM ENGENHARIA ELTRICA

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

Daniel Carvalho Bezerra

Fortaleza Novembro de 2010

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 graduao em Engenharia Eltrica.

Orientador: Prof. Msc. Paulo Peixoto Praa

Fortaleza Novembro de 2010

iii

DANIEL CARVALHO BEZERRA

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


Esta monografia foi julgada adequada para obteno do ttulo de Graduado em Engenharia Eltrica e aprovada em sua forma final pelo programa de Graduao em Engenharia Eltrica na Universidade Federal do Cear.

Banca Examinadora:

Fortaleza, Novembro de 2010

iv

Aos meus pais, Adailton e Luzia, A minha namorada Larissa e a minha irm Ana Cludia, A todos os meus professores, que contriburam com a minha formao, A todos os familiares e amigos.

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, implementao, montagem e obteno 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 mtodo 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 prottipo so apresentadas para validar a anlise terica e comprovar o desempenho do sistema.

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

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.

vii

SUMRIO
LISTA DE FIGURAS ............................................................................................................... ix LISTA DE TABELAS .............................................................................................................. xi INTRODUO .......................................................................................................................... 1 CAPTULO 2 MICROCONTROLADORES .................................................................................................... 3 2.1 2.2 2.3 2.4 CONSIDERAES INICIAIS .................................................................................. 3 INTRODUO AOS MICROCONTROLADORES ................................................ 3 BREVE HISTRICO ................................................................................................. 4 ARQUITETURAS DOS MICROCONTROLADORES ........................................... 5

2.4.1 ARQUITETURA CISC 5 2.4.2 ARQUITETURA RISC 6 2.5 MICROCONTROLADORES DA SRIE PIC .......................................................... 7 CAPTULO 3 CONTROLADORES PID DIGITAIS ....................................................................................... 9 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 CONSIDERAES INICIAIS .................................................................................. 9 CONTROLE DE TEMPERATURA ........................................................................ 10 AO DE CONTROLE LIGA/DESLIGA (ON/OFF) ........................................... 11 AO PROPORCIONAL ....................................................................................... 12 AO PROPORCIONAL INTEGRAL ............................................................... 13 AO PROPORCIONAL DERIVATIVA .......................................................... 15 AO PROPORCIONAL INTEGRAL DERIVATIVA................................... 16 CONTROLE DIGITAL............................................................................................ 17 IMPLEMENTAO DIGITAL .............................................................................. 19 MTODOS PRTICOS DE SINTONIA DE CONTROLADORES PID............... 21

3.10.1 MTODO DO GANHO CRTICO (MALHA FECHADA) 21 3.10.2 MTODO DA RESPOSTA AO DEGRAU (MALHA ABERTA) CAPTULO 4

22

DESCRIO DO DESENVOLVIMENTO DO CONTROLADOR ...................................... 25 4.1 4.2 4.3 CONSIDERAES INICIAIS ................................................................................ 25 CONFIGURAO E DESCRIO GERAL DE FUNCIONAMENTO ............... 25 MODELO DO CONTROLADOR DE TEMPERATURA EM MALHA

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

viii

4.4 4.5 4.6

DESCRIO DO PROJETO................................................................................... 32 O SOFTWARE DO CONTROLADOR ................................................................... 36 MONTAGEM DO CONTROLADOR..................................................................... 38

CAPTULO 5 RESULTADOS EXPERIMENTAIS ....................................................................................... 41 5.1 5.2 5.3 CONSIDERAES INICIAIS ................................................................................ 41 DESCRIO DO EXPERIMENTO ....................................................................... 41 RESULTADOS EXPERIMENTAIS. ...................................................................... 41

CAPTULO 6 CONCLUSO .......................................................................................................................... 43 REFERNCIAS BIBLIOGRFICAS ..................................................................................... 44 APNDICE A PROGRAMA DO MICROCONTROLADOR ............................................. 46

ix

LISTA DE FIGURAS Figura 1.1 Diagrama de blocos de um sistema de controle PID.............................................. 1 Figura 2.1 Organizao 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 rpida: a temperatura atinge rapidamente o setpoint e se estabiliza aps alguns overshootings ........................................................................................................ 10 Figura 3.3 Resposta lenta: a temperatura demora a alcanar o setpoint ................................ 11 Figura 3.4 Resposta apropriada: a temperatura atinge o setpoint no menor tempo possvel sem a ocorrncia de overshooting .................................................................................... 11 Figura 3.5 Caractersticas da ao do controle ON/OFF ....................................................... 12 Figura 3.6 Caractersticas da ao de controle Proporcional................................................. 13 Figura 3.7 Caractersticas das aes de controle Proporcional e Integral combinados ......... 14 Figura 3.8 Caractersticas das aes de controle Proporcional e Derivativo combinados .... 16 Figura 3.9 Diagramas de blocos do controlador no tempo contnuo e do controlador digital .......................................................................................................................................... 19 Figura 3.10 Curva obtida pelo mtodo do ganho crtico ....................................................... 22 Figura 3.11 Curva obtida pelo mtodo 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 obteno 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 Caracterstica da resposta ao degrau .................................................................... 29 Figura 4.7 Caracterstica da resposta ao degrau (grfico para obteno do valor da constante de tempo T)....................................................................................................................... 29 Figura 4.8 Caracterstica da resposta ao degrau (grfico para obteno 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 simulao do controlador ............................................................. 31 Figura 4.11 Diagrama de pinos do PIC 16F877A ................................................................. 32

Figura 4.12 Esquema eltrico das conexes do microcontrolador ........................................ 33 Figura 4.13 Esquema eltrico das conexes do exaustor ...................................................... 34 Figura 4.14 Esquema eltrico do teclado............................................................................... 34 Figura 4.15 Esquema eltrico das conexes do mostrador LCD........................................... 35 Figura 4.16 Esquema eltrico da fonte de alimentao ......................................................... 35 Figura 4.17 Tela principal ..................................................................................................... 37 Figura 4.18 Tela de ajuste da mxima temperatura permitida .............................................. 37 Figura 4.19 Tela de ajuste da mnima temperatura permitida ............................................... 38 Figura 4.20 Tela que mostra a razo cclica em percentual e a temperatura mdia. ............. 38 Figura 4.21 Gravador de PIC utilizado na programao 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 Viso 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) Grficos das temperaturas e (b) da ao de controle obtidos durante 90 minutos do experimento ................................................................................................... 42

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 mtodo do ganho crtico............... 22 Tabela 3.2 Tabela de sintonia de Ziegler e Nichols pelo mtodo da resposta ao degrau ...... 23

INTRODUO

Os Controladores PID so bastante utilizados em controles industriais, tais como controle de presso, de nvel, de velocidade, de temperatura, etc. Das malhas de controle na indstria, 95% so baseadas em controladores PID e suas variaes, e em sua maioria so controladores PI [1]. Esses controladores so projetados, em sua maioria, com a resposta de um modelo de referncia de segunda ordem e, a partir do conhecimento da planta a ser controlada, encontrase os parmetros de ganho proporcional, integral e derivativo do controlador PID. Este controlador, utilizado em cascata com esta planta, em malha fechada, possibilita que a mesma acompanhe a resposta do modelo da melhor forma possvel, [1]. O esforo realizado pelo controlador para determinar inversa da funo de transferncia da planta, de forma que o valor desejado para a operao do sistema seja transferido diretamente para a sada. Ainda h pouco estudo na resoluo dos problemas na sintonia de controladores, visto que os mtodos clssicos de sintonia apresentam resultados satisfatrios para a maioria das aplicaes. 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 eletrnicos 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 eltrica para desenvolver um controlador PI para controlar a temperatura no interior de um nobreak, que originalmente no possui um controle de temperatura ativo.

Introduo

O controlador implementado digitalmente em um microcontrolador da famlia PIC e a temperatura controlada atravs do controle da velocidade de rotao de um exaustor instalado no interior do nobreak. No captulo 2 feita uma reviso da literatura a respeito dos microcontroladores. No captulo 3 feita uma reviso da literatura relativa aos controladores PID e seus mtodos de sintonia empricos. O captulo 4 descreve o desenvolvimento, a modelagem e a implementao do controlador escolhido. Os resultados e as discusses so apresentados no captulo 5. No captulo 6 so apresentadas as concluses e as sugestes para trabalhos futuros.

Introduo

CAPTULO 2 MICROCONTROLADORES

2.1 - CONSIDERAES INICIAIS

Este captulo apresenta uma introduo aos microcontroladores. So apresentadas suas principais caractersticas, um breve histrico e os principais tipos de arquiteturas.

2.2 - INTRODUO AOS MICROCONTROLADORES

Os microcontroladores so dispositivos eletrnicos dotados de processador, memria e interfaces de entrada e sada, exatamente como os computadores, porm com todos esses recursos agregados em uma nica pastilha de circuito integrado. Por meio da programao dos microcontroladores pode-se controlar suas sadas, tendo como referncia as entradas ou um programa interno [2]. Os tipos de microcontroladores podem ser diferenciados pelos seguintes itens: a quantidade de memria interna para armazenar dados e as instrues de programas (memria de programa e memria de dados), a velocidade de processamento, a quantidade de pinos de I/O, a forma de alimentao, os tipos e as quantidades de perifricos, a arquitetura e o conjunto de instrues disponibilizado nos circuitos internos. Por terem tamanho reduzido, baixo custo, baixo consumo de energia, aliados a facilidade de desenvolvimento de aplicaes, os microcontroladores so amplamente utilizados na automao industrial e na construo de aparelhos eletrnicos de uso geral. Destacam-se vantagens da integrao dos circuitos necessrios aos sistemas de controle junto da CPU, central processing unit ou unidade central de processamento, e dessa forma, no preciso um processador sofisticado, com uma grande capacidade de processamento [3]. O microcontrolador oferece um conjunto de instrues simples, que geram programas de rpida execuo, ou seja, instrues de tamanho reduzido. Alm disso, interessante que a CPU possa efetuar expresses booleanas, para facilitar a construo de sistemas de controle. preciso ainda oferecer uma forma simples de se comunicar com outros perifricos que venham a ser adicionados, com pinos especficos para entrada de clock, frequncia de oscilao, sinais

CAPTULO 2 Microcontroladores.

analgicos, digitais e de controle do prprio dispositivo. A organizao de um microcontrolador explicada na Figura 2.1.

Figura 2.1 Organizao interna dos microcontroladores.

2.3 - BREVE HISTRICO

Visando adquirir uma melhor eficincia no processamento de dados, na dcada de 70 comearam a ser utilizados microprocessadores em computadores. Um dos pioneiros foi o microprocessador Intel, e, a partir de sua criao, 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 perifricos, que serviram de base para a criao de um componente que, fisicamente integrado em uma nica unidade, comportava um sistema equivalente a um microprocessador e seus perifricos. Com o passar dos anos e com os avanos da tecnologia, os microcontroladores tornaram-se uma das melhores relaes custo/benefcio em se tratando de solues que demandam processamento, baixo custo de hardware e pequena necessidade de espao fsico. Existem no mercado muitos tipos de microcontroladores, sendo o 8051 o mais popular. A ATMEL possui uma enorme famlia de componentes com as mesmas caractersticas do 8051, alguns at com as mesmas pinagens dos registradores; outros com pinagens diferentes, mas com o mesmo conjunto de instrues, com clock de 4 MHz at aproximadamente 10

CAPTULO 2 Microcontroladores.

MHz. A DALLAS Semiconductors tem um microcontrolador de alta performance, de at 90MHz, compatvel com 8051. Por fim, vem a Microchip Technology Inc. com os microcontroladores da srie PIC que se tornaram muito populares, graas a um bom plano de marketing, baseado na disseminao de uma ferramenta de auxlio construo de programas o MPLAB IDE. Os microcontroladores da srie PIC possuem ainda uma linguagem Assembly menos complexa em relao quelas disponibilizadas por outros fabricantes.

2.4 - ARQUITETURAS DOS MICROCONTROLADORES

Os Microcontroladores so estruturados internamente de diversas formas, e, a partir dessa estrutura, sero definidos vrios aspectos em seu desempenho, capacidade de armazenamento, consumo e programao. Mltiplas formas de estruturao so utilizadas e implementadas pelos fabricantes, aplicando conceitos consolidados de computao. As duas principais arquiteturas sero explicadas a seguir.

2.4.1 - ARQUITETURA CISC

Criada em 1964, a arquitetura CISC (complex instruction set computer computador com conjunto de instrues complexas) possui instrues mais complexas com o objetivo de minimizar o nmero de instrues que um programa necessita para sua implementao. A arquitetura CISC tradicional utiliza o mesmo barramento, tanto para fazer a busca de instrues na memria de programa quanto para acessar (escrever ou ler) a memria de dados (Figura 2.2).

Figura 2.2 Arquitetura CISC.

O nmero de ciclos por instrues pode aumentar, assim como o prprio tempo de relgio. Um exemplo de aplicao seria a famlia do microcontrolador 8051 e seus derivados, originalmente da Intel e com pouco mais de 100 instrues.
CAPTULO 2 Microcontroladores.

2.4.2 - ARQUITETURA RISC

Criada em 1980, a arquitetura RISC (reduced instruction set computer computador com conjunto de instrues reduzido) caracterizada pela reduo do tempo mdio de execuo das instrues de mquina, que, apesar de ocasionar um menor nmero de ciclos por instrues, aumenta o nmero de instrues executadas por programa. Na arquitetura RISC a maioria das instrues so executadas em um nico ciclo e a maior parte das funes migrou para o software, deixando no hardware somente as que podem ser implementadas eficientemente. Diferente da arquitetura CISC, a estrutura RISC baseada em barramentos independentes 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 instruo pode ser constituda de uma nica palavra de programa que alm de conter o opcode (instruo), contm tambm os operandos (dados para execuo da instruo) [1].

Figura 2.3 Arquitetura RISC.

Os elementos bsicos de uma arquitetura RISC so: grande nmero de registradores de propsito geral ou uso de tecnologias de compilao na otimizao do uso de registradores, conjunto simples e limitado (reduzido) de instrues e enfoque na utilizao de pipeline de instrues. Na Tabela 2.1 feita uma comparao entre a arquitetura CISC e a arquitetura RISC.

CAPTULO 2 Microcontroladores.

Tabela 2.1 Tabela comparativa entre as arquiteturas CISC e RISC

CISC Instrues complexas levando mltiplos ciclos Qualquer instruo pode referncia memria Pouco pipelined Instrues interpretadas pelo microprograma Instrues de vrios formatos Muitas instrues modos Microprograma complexo Poucos registradores Mais transistores na pastilha Projeto mais lento

RISC Instrues simples levando um ciclo Apenas LOADs e STOREs referenciam a memria Altamente pipelined (2 ciclos: busca, executa) Instrues executadas pelo hardware Instrues de formato fixo Poucas instrues modos Compilador complexo Muitos registradores Menos transistores na pastilha Projeto mais rpido

2.5 - MICROCONTROLADORES DA SRIE PIC

Os PICs so uma famlia de microcontrolador com arquitetura RISC fabricados pela Microchip Technology Inc. e derivados do PIC1650, originalmente desenvolvido pela diviso de microeletrnica da General Instrument. Um microcontrolador da famlia PIC caracteriza-se por incorporar no mesmo encapsulamento um microprocessador, com a finalidade de interpretar as instrues de programa e processar dados; memria de programa, para armazenar de maneira permanente as instrues do programa; memria de dados, para memorizar os valores associados com as variveis definidas no programa; uma srie de pinos de entrada/sada, com a finalidade de realizar a comunicao do microcontrolador com o meio externo; e vrios perifricos, tais como temporizadores, controladores de interrupo, temporizadores co de guarda, WatchDog Timers, comunicao serial, geradores de modulao por largura de pulso, PWM, e conversores analgico/digital; fazendo com que o hardware final fique extremamente complexo. Isto uma das caractersticas fundamentais que o diferencia dos microprocessadores, pois estes no possuem todos esses recursos em uma nica pastilha [2].

CAPTULO 2 Microcontroladores.

A Microchip oferece famlias de microcontroladores de 8 bits no barramento de dados, dentre as quais destacam-se: PIC12CXXX: linha compacta; PIC16C5X/PIC16C55X: linha-base; PIC16CXX: linha intermediria; PIC17CXX/PIC18CXX: topo de linha. Todas as famlias oferecem diversas opes de memria de programa. Alm disso, apresentam opes de baixa tenso e inmeros tipos de circuito osciladores, assim como vrias opes de encapsulamento. O alto desempenho da famlia de microcontroladores PIC pode ser atribudo s seguintes caractersticas de arquitetura RISC: Mapa de registradores verstil; Todas as instrues com palavras simples; Palavra de instruo longa; Arquitetura de instrues em pipeline; Instrues de apenas um ciclo de mquina; Conjunto de instrues reduzido; Conjunto de instrues ortogonal (simtrico).

CAPTULO 2 Microcontroladores.

CAPTULO 3 CONTROLADORES PID DIGITAIS

3.1 - CONSIDERAES INICIAIS

Este captulo apresenta as principais caractersticas das vrias aes que constituem um controlador PID, Proporcional, Integral e Derivativo. Em seguida so apresentados e exemplificados alguns mtodos prticos de sintonia. Existe o mtodo analtico que consiste em sintonizar os modos PID para uma aplicao especfica, de modo que determinados critrios de desempenho sejam verificados. Este usado sempre que a funo de transferncia do sistema conhecida [4]. Nos mtodos prticos de sintonia, no existe a necessidade de conhecer o modelo do sistema, algumas vezes muito difcil de determinar. Nestes mtodos o primeiro passo a escolha do modo de controle a ser utilizado, Proporcional, Integral, Derivativo ou uma combinao destes. Uma vez tomada a deciso, procede-se o ajuste dos parmetros do controlador. O ajuste, calibrao ou sintonia, do controlador consiste em deduzir, partindo da resposta, quando este sujeito a entradas especficas, determinados valores que vo permitir o clculo dos referidos parmetros [4]. Antes de proceder apresentao de dois mtodos prticos de sintonia, necessrio analisar algumas das aes bsicas de controle utilizadas na indstria e a sua contribuio para 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 diferena entre o sinal de entrada e o sinal de realimentao, realimenta o controlador para minimizar o erro e acertar a sada do sistema, varivel controlada, ao valor desejado, ponto de ajuste [5].

CAPTULO 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 necessrio para o controle de temperatura atingir um valor estvel varia com o objeto controlado. A tentativa de reduzir o tempo de resposta, usualmente resultar em sobressinal, a temperatura ultrapassa a temperatura alvo, ou oscilao, a temperatura oscila em torno da temperatura alvo. H aplicaes que exigem maior rapidez e estas tm resposta como ilustrado na Figura 3.2, com ocorrncia de sobressinal. H as que exigem a eliminao do sobressinal e estas necessitaro de um tempo mais longo para a estabilizao da temperatura, como mostra a resposta da Figura 3.3. Em outras palavras, o tipo de controle de temperatura varia com a aplicao. O tipo de resposta mostrado na Figura 3.4 usualmente considerado o melhor para a maioria das aplicaes [6].

Figura 3.2 Resposta rpida: a temperatura atinge rapidamente o alvo e se estabiliza aps alguns sobressinais. CAPTULO 3 Controladores PID digitais de temperatura.

11

Figura 3.3 Resposta lenta: a temperatura demora a alcanar o alvo.

Figura 3.4 Resposta apropriada: a temperatura atinge o alvo no menor tempo possvel sem a ocorrncia de sobressinal.

3.3 - AO DE CONTROLE LIGA/DESLIGA (ON/OFF)

Esta a forma mais simples e barata de controle e, por essa razo, extremamente utilizada tanto em sistemas de controle industriais como domsticos. 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 sada ligada, caso contrrio, a sada desligada como mostra a Figura 3.5. Este mtodo de controle chamado de ao de controle liga/desliga, ou do ingls, on/off. Nesta operao, a temperatura controlada com dois valores, normalmente 0% e 100% da razo cclica. Por esta razo, a operao tambm chamada de ao de controle de duas posies [5]. Na prtica, existe uma zona diferencial de liga e desliga, histerese, que se deve s caractersticas mecnicas do prprio 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 oscilao de sada pode ser reduzida. Entretanto, aumenta o nmero de operaes da chave de controle por intervalo de tempo o que reduz a vida til do componente [5].
CAPTULO 3 Controladores PID digitais de temperatura.

12

Figura 3.5 Caractersticas da ao do controle ON/OFF.

3.4 - AO PROPORCIONAL

Para um controle estvel, necessrio reduzir a taxa de decida da temperatura, quando esta se aproxima do alvo, e assim, evitar sobressinal. O controlador proporcional tem a relao entre a sua sada e o sinal de erro dada por: ut K et Us K Es

(3.1)

Onde K o ganho proporcional. Um controlador proporcional consiste essencialmente num amplificador com ganho ajustvel [4]. Em operao normal, a sada de controle estar 100%, se o valor do processo for maior do que a banda proporcional. A sada de controle decrescer gradualmente, em proporo ao desvio, se o valor do processo estiver dentro da banda proporcional, e a sada estar desligada, se o valor do processo atingir o alvo, isto , sem desvio. Isto significa que a ao proporcional garante controle suave comparada com a forma oscilatria da ao 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, porm com maior erro em regime permanente. Com a diminuio da banda proporcional, maior valor de K , a estabilizao ocorre mais lentamente, porm com erro retornando a resposta oscilatria. O ajuste da banda proporcional faz parte do processo chamado de sintonia do controle [8].

duzido. Uma reduo excessiva da banda proporcional pode levar o processo instabilidade,

CAPTULO 3 Controladores PID digitais de temperatura.

13

Figura 3.6 Caractersticas da ao de controle Proporcional.

Quando o alvo atingido, nenhuma energia entregue a sada 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 vis, ou do ingls, bias, e, quando ajustvel, permite que se obtenha uma estabilizao mais prxima ao alvo [8].

3.5 - AO PROPORCIONAL INTEGRAL

A ao integral no , isoladamente, uma tcnica de controle, pois no pode ser empregada separada de uma ao proporcional [8]. No controlador proporcional integral, a sada agora funo do erro e da integral do erro:
1 1 ut K et ed Us K 1 Es T T . s

(3.2)

Onde T o tempo integral, ou o tempo necessrio para que a contribuio da ao integral igual a da ao proporcional e expresso em segundos ou minutos [4]. A componente integral, ao adicional um polo na origem da funo de transferncia do controlador, elimina o erro em regime permanente, independente do sistema controlado como mostrado na Figura 3.7 [4].

CAPTULO 3 Controladores PID digitais de temperatura.

14

A ao integral funciona da seguinte maneira: a intervalos regulares, corrige o valor da sada, somando a esta o valor do desvio. Este intervalo de atuao se chama tempo integral, que pode tambm ser expresso por seu inverso, chamado taxa integral, Ir. O aumento da taxa integral aumenta a atuao do Integral no controle do processo. Se, por um lado, como j referido anteriormente, a ao Integral elimina o erro em regime permanente, por outro, aumenta o tempo de estabelecimento e piora a estabilidade relativa, o que usualmente indesejvel. Como consequncia, o ganho da ao Proporcional deve ser reduzido, sempre que esta esteja combinada com a ao Integral. O controlador PI (proporcional - integral) utilizado em sistemas com frequentes alteraes de carga, sempre que o controlador proporcional, por si s, no seja capaz de reduzir o erro estacionrio a um nvel aceitvel. Contudo, o sistema deve ter alteraes de carga relativamente lentas para evitar oscilaes induzidas pela ao integral [4].

Figura 3.7 Caractersticas das aes de controle Proporcional e Integral combinados.

CAPTULO 3 Controladores PID digitais de temperatura.

15

3.6 - AO PROPORCIONAL - DERIVATIVA

A ao derivativa utilizada para que a sada seja proporcional ao valor do erro e derivada do erro, ou seja, taxa de variao do erro o que proporciona uma rpida mudana no nvel de sada como resultado de uma rpida variao na temperatura medida. O fato de a sada ser proporcional taxa de variao 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 relao entre a sua sada e o sinal de erro dada por: ut = K et + T de(t) Us = K 1 + T . sE(s) dt (3.3)

Onde T o tempo derivativo, ou o tempo antecipado pela ao derivativa relativamente ao proporcional e expresso em segundos ou minutos [4]. As aes de controle proporcional e de controle integral respondem lentamente variao da temperatura, o que justifica porque a ao de controle derivativo necessria. A ao de controle derivativo corrige o resultado do controle pela adio da sada de controle proporcional inclinao da variao de temperatura. Uma grande quantidade de sada de controle adicionada para um distrbio externo radical como mostrado na Figura 3.8, portanto corrigindo a temperatura rapidamente [6]. A adio do modo derivativo ao modo proporcional resulta num controlador altamente sensvel, uma vez que o modo derivativo, ao responder a uma taxa de variao do erro, permite correes antes de o erro ser elevado. No obstante o modo derivativo no afetar diretamente 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 rudo de alta frequncia [4].

CAPTULO 3 Controladores PID digitais de temperatura.

16

Figura 3.8 Caractersticas das aes de controle Proporcional e Derivativo combinados.

3.7 - AO PROPORCIONAL INTEGRAL DERIVATIVA

O controle PID, ou proporcional integral derivativo, resulta da combinao dos modos proporcional, integral e derivativo e tem a relao entre a sua sada e o sinal de erro dada por: ut K et 1 det 1 ed T Us K 1 T . s Es T dt T . s (3.4)

Neste tipo de controlador, o modo integral usado para eliminar o erro estacionrio. O modo derivativo permite um aumento do ganho e reduz a tendncia para as oscilaes, o que conduz a uma velocidade de resposta superior quando comparado com P e PI. No entanto, estas propriedades assumem um carcter geral, pelo que podem existir excees em determinados sistemas.

CAPTULO 3 Controladores PID digitais de temperatura.

17

Geralmente, um K elevado tem o efeito de reduzir o tempo de subida e o erro em regime 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 transitria, isto , tornla mais oscilatria. Sempre que se utilizar o controle integral, deve-se sempre testar inicialmente com um K reduzido. A utilizao do controle derivativo tem como principal consequncia uma melhoria da estabilidade do sistema, reduzindo o sobressinal e melhorando a resposta transitria [4]. O tipo de controlador a ser escolhido para uma determinada aplicao, idealmente, deve ser o controlador mais simples que satisfaa a resposta desejada. Esta uma escolha que geralmente s se pode fazer quando a aplicao simples ou quando existe alguma informao relativa a aplicaes semelhantes [4]. A seleo do controlador deve depender das condies de operao do sistema e de especificaes de desempenho tais como, o erro estacionrio mximo, o sobressinal mximo e tempo de estabelecimento permitido. Se o erro estacionrio no tolerado, ento o modo integral deve ser includo no controlador, uma vez que esta a nica ao que o permite eliminar ou reduzir. A necessidade da ao derivativa pode ser ditada por um sobressinal mximo e/ou tempo de estabelecimento. Se um reduzido erro estacionrio no critico para as condies operativas do sistema, ento possvel omitir o modo integral, e o uso do modo derivativo depende entre outros fatores da necessidade ou no 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 estacionrio [4].

3.8 - CONTROLE DIGITAL

Para implementar uma lei de controle de tempo contnuo, tal como controle PID em um microcontrolador ou em computador digital, pode ser feita fazendo-se aproximaes numricas da derivada e da integral que aparecem na lei de controle. A combinao das aes proporcional, integral e derivativa para gerar um s sinal de controle d origem ao que chamamos de controlador proporcional integral derivativo ou simplesmente PID. O objetivo aproveitar as caractersticas particulares de cada uma destas
CAPTULO 3 Controladores PID digitais de temperatura.

18

aes a fim de se obter uma melhora significativa do comportamento transitrio e em regime permanente do sistema controlado. O sinal de controle gerado pelo controlador PID assim genericamente dado como: u t = K e t + 1 de(t) ed + T T dt (3.5)

controlado e o valor do alvo, ou da referncia. A varivel de controle a soma de trs termos: termo P, que proporcional ao erro, o termo I, que proporcional integral do erro, e termo D, que proporcional derivada do erro. Os parmetros do controlador so o ganho proporcional 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 rudo e variaes de processo, e rejeio de distrbios de carga. O projeto do sistema de controle tambm envolve aspectos de processos dinmicos, saturao do atuador, e caractersticas de distrbios. Pode parecer surpreendente que um controlador to simples quanto um controlador PID possa trabalhar to bem. Em geral, muitos processos industriais podem ser controlados razoavelmente bem com controle PID, dado que as exigncias no desempenho do controlador no sejam altas [1]. A ao derivativa no frequentemente utilizada. uma observao interessante que muitos controladores industriais tenham somente a ao PI e que em outros controladores a ao derivativa pode ser desligada. Pode-se mostrar que o controle PI adequado para todos os processos onde as dinmicas so essencialmente de primeira ordem. fcil descobrir se este o caso, observando-se a resposta ao degrau do processo. Se a resposta ao degrau assemelha-se a de um sistema de primeira ordem, ento o controle PI suficiente. Outra razo quando o processo projetado para que sua operao no exija controle fino, mesmo se o processo tem dinmica de alta ordem, necessita apenas de uma ao integral para eliminar o erro de regime, e de uma resposta transiente adequada, proporcionada pela ao proporcional [1]. Similarmente, o controle PID suficiente para processos onde a dinmica dominante de segunda ordem. Para tais processos, no h um ganho de benefcio usando um controlador mais complexo. Um caso tpico de melhoramento da ao derivativa quando as dinmicas so caracterizadas por constante de tempo que diferem em amplitude. A ao derivativa pode ser usada para acelerar a resposta. Controle de temperatura um caso tpico. O controle derivativo tambm benfico quando se exige controle fino de um sistema de ordem superior. As dinmicas de ordem superior limitariam o resultado do ganho proporcional para o bom conCAPTULO 3 Controladores PID digitais de temperatura.

Na qual ut a varivel de controle e et o erro entre o valor da sada do sistema

19

trole. Com uma ao derivativa, a evoluo da oscilao amortecida evitada, da um ganho proporcional alto pode ser usado para aumentar a resposta transiente [1]. Os benefcios dos controladores mais sofisticados que o PID so citados em alguns exemplos: Processos de ordem superior, mais que dois; Sistemas com tempo morto longo; Sistemas com modos oscilatrios [1].

3.9 - IMPLEMENTAO DIGITAL

A implementao do controlador PI pode ser feita fazendo-se aproximaes numricas da derivada e da integral que aparecem na lei de controle [1]. Desta forma, possvel descrever cada uma das aes por uma equao de diferenas. A equao de diferenas descreve a operao matemtica a ser programada no microcontrolador onde ser implementado o PI digital conforme a Figura 3.10 [10].

Figura 3.9 Diagramas de blocos do controlador no tempo contnuo e do controlador digital.

CAPTULO 3 Controladores PID digitais de temperatura.

20

A equivalncia entre o sistema contnuo e o sistema discreto pode ser dada pela aproximao de Tustin [10]: s= Onde: s: a varivel de Laplace z: a varivel de transformada Z T: o tempo de amostragem. A funo do controlador PI no domnio de Laplace dada por:
1 1 ut = K et + ed Us = K 1 + E(s) T T . s

2z1 Tz +1

(3.6)

(3.7)

Onde:

E(s): o erro

: a sada do controlador

K : o ganho proporcional T : o tempo integral T : o tempo derivativo Utilizando a aproximao de Tustin: Uz = K 1 +


E(z) .

(3.8)

Reescrevendo a funo de transferncia do controlador PI: U z = K z 1 U z = K


z + z1

E(z)

(3.9)

2T + T 2T + T z. Ez + K E(z) 2T 2T 2T + T 2T + T z. Ez + K E(z) 2T 2T

(3.10)

z. Uz Uz = K

(3.11)

CAPTULO 3 Controladores PID digitais de temperatura.

21

Dividindo por z, temos: Uz = z . Uz + K 2T + T 2T + T Ez + z . K E(z) 2T 2T (3.12)

A equao de diferenas do controle PI : uk = uk 1 + K 2T + T 2T + T ek + K e(k 1) 2T 2T (3.13)

3.10 - MTODOS PRTICOS DE SINTONIA DE CONTROLADORES PID

Vrios mtodos de ajuste de controladores PID so conhecidos e utilizados na prtica de sistemas de controle. Cada um destes mtodos requer algum tipo de informao sobre a dinmica do processo a ser controlado e a natureza desta informao que caracteriza cada um destes mtodos. Para um mtodo prtico de ajuste, deve ser possvel obter estas informaes a partir de ensaios simples sobre o processo, ao mesmo tempo em que estas informaes devem ser suficientes para possibilitar um ajuste adequado do controlador. Logo, a quantidade adequada de informao a ser obtida do processo deve ser selecionada de forma a alcanar um compromisso entre simplicidade e desempenho do controlador.

3.10.1 - MTODO DO GANHO CRTICO (MALHA FECHADA)

Este mtodo baseado no ajuste de um circuito em malha fechada at se obter oscilaes com amplitude constante e utiliza um conjunto de frmulas para determinar os parmetros do controlador, as quais requerem duas medidas do sistema: o ganho crtico, Gu (ganho mnimo que torna o processo criticamente estvel), e o perodo de oscilao correspondente, Pu. Para encontrar os valores do ganho crtico e do perodo de oscilao, deve-se reduzir as aes integral e derivativa ao seu efeito mnimo, iniciar o processo com ganho reduzido e ir aumentando at que a varivel controlada entre em oscilao com amplitude constante enquanto se provocam pequenas oscilaes no sistema com mostrado na Figura 3.11 [4].

CAPTULO 3 Controladores PID digitais de temperatura.

22

Figura 3.10 Curva obtida pelo mtodo do ganho crtico.

Com a obteno destes valores, podemos recorrer Tabela 3.1 para determinar os valores dos parmetros dos controladores [4].
Tabela 3.1 Tabela de sintonia de Ziegler e Nichols pelo mtodo do ganho crtico

Tipo de Controlador P PI PID

K 0,45. G K 0,6. G

K 0,5. G

T -

T -

T T

P 1,2 P 2

P 8

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 estvel, o ganho proporcional aumenta e o ganho integral reduzido ao adicionar o modo derivativo, pois este estabiliza o sistema. Quando o no existir a ao integral (controlador PD), os valores de 0,6 Gu e 0,125 Pu so muito conservadores, um vez que a ausncia do modo integral aumenta a estabilidade do sistema [11].

3.10.2 - MTODO DA RESPOSTA AO DEGRAU (MALHA ABERTA)

O procedimento normal no ajustamento dos parmetros por este mtodo consiste na abertura da malha para que no haja realimentao e na obteno da sua resposta a um degrau de amplitude M na entrada de referncia. A resposta dever ter uma forma em S, em situao contrria o mtodo no aplicvel, como ilustrado na Figura 3.12 [4].
CAPTULO 3 Controladores PID digitais de temperatura.

23

Figura 3.11 Curva obtida pelo mtodo 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 inflexo 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 mximo = K/T), podemos recorrer Tabela 3.2 para determinar os valores dos parmetros dos controladores [4].
Tabela 3.2 Tabela de sintonia de Ziegler e Nichols pelo mtodo da resposta ao degrau

Tipo de Controlador P PI PID

K K K

0,9. M N. L 1,2. M N. L

M N. L

T -

T -

T 2. L

L 0,3

T L 2

A resposta em S caracterstica de sistemas de 1 ordem com atraso, a funo de transferncia da planta pode ser descrita como [9]: Ys K . e. Us T. s 1 Onde Kc o ganho estacionrio e Kc = K/M. A principal vantagem deste mtodo em relao ao anterior deve-se ao fato de que, uma vez determinada a curva de reao do mtodo, os parmetros podem ser ajustados imediatamente. (3.14)

CAPTULO 3 Controladores PID digitais de temperatura.

24

A sua principal desvantagem decorre de grande parte dos sistemas serem mais complexos do que um simples sistema de primeira ordem com atraso, o que significa que ainda necessrio um ltimo ajuste no ganho antes de se poder considerar que a resposta do sistema aceitvel [4]. importante realar que no existem concluses gerais relativas exatido ou aptido destes mtodos empricos. A nica inferncia possvel que estes mtodos conduzem a primeiras aproximaes dos parmetros dos controladores, que se podem considerar razoveis, e que os valores obtidos podem necessitar de posteriores ajustes para fazer face especificidade de cada sistema, at que performances timas sejam atingidas [4].

CAPTULO 3 Controladores PID digitais de temperatura.

25

CAPTULO 4 DESCRIO DO DESENVOLVIMENTO DO CONTROLADOR

4.1 - CONSIDERAES INICIAIS

Este captulo 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 aceitvel para o funcionamento do equipamento. O controlador implementado digitalmente atravs de programao no microcontrolador da famlia PIC 16F877A [12]. O circuito de controle responsvel pela gerao dos pulsos que serviro para acionar um exaustor para reduzir a temperatura no interior do nobreak. O modelo do nobreak escolhido foi o STAY 1.000 fabricado pela Microsol e com capacidade de 1 kVA.

4.2 - CONFIGURAO E DESCRIO GERAL DE FUNCIONAMENTO

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 botes do teclado, e, uma vez atingida, a temperatura dever manter-se dentro da faixa de tolerncia. Para monitorar a temperatura no interior do nobreak, utilizado um sensor de temperatura LM35 [13] prximo aos dissipadores de calor da placa de controle do nobreak. Este senCAPTULO 4 Descrio do desenvolvimento do controlador.

26

sor, ao ser alimentado com um tenso de 5 volts no terminal positivo e zero volts no terminal negativo, produz na sada um nvel de tenso que varia entre zero e 1,5 volt para temperaturas entre zero e 150 C, ou seja, cada 10 milivolts na sada do sensor corresponde a 1 C. Este nvel de tenso lido pelo microcontrolador atravs da porta A/D (analgica/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 mdia aritmtica e esta comparada com valor da temperatura alvo, o microcontrolador processa o erro e envia a informao necessria para o acionador do transistor. O exaustor ir girar numa velocidade varivel 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 visualizar os valores das temperaturas alvo e atual no interior do nobreak (varivel de processo), por meio de um mostrador digital LCD (liquid crystal display - display de cristal lquido) com 2 linhas e 16 caracteres por linha [14]. Utilizando mostrador digital e o teclado tambm possvel configurar valores mximo e mnimo para a temperatura alvo e visualizar a sada do controlador variando entre 0 e 100%.

4.3 - ESTRUTURA DO CONTROLADOR DE TEMPERATURA EM MALHA FECHADA

O diagrama de blocos da Figura 4.2 mostra os elementos bsicos de um controlador PI em malha fechada. A planta e o controlador so conectados em um elo de realimentao negativa.

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

CAPTULO 4 Descrio do desenvolvimento do controlador.

27

A resposta a um degrau na entrada da planta mostrada na Figura 4.6 foi obtida utilizando um circuito com um sensor de temperatura LM35, um microcontrolador PIC 16F877A, um circuito integrado MAX232 [15] para compatibilizar a comunicao serial assncrona 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 obteno da resposta ao degrau.

O circuito de teste montado com o sensor de temperatura prximo aos dissipadores de calor da placa de controle do nobreak mostrado na Figura 4.4 e o exaustor montado em uma das sadas de ventilao do nobreak mostrado na Figura 4.5.

Figura 4.4 Circuito de teste montado no nobreak. CAPTULO 4 Descrio 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, atravs da porta serial, a temperatura medida pelo microprocessador e, aps 60 minutos, envia um sinal para que o microprocessador ative o exaustor. Para simular uma condio de carga, foram ligados ao nobreak dois computadores com processador Intel Core 2. Para evitar que oscilaes de carga fossem causadas por diferenas nos nveis de processamento, em ambos os computadores foi executado o programa OCCT verso 3.1.0 [16] que simula o uso intenso dos componentes principais do computador. Com o exaustor desligado, ou seja, com a razo cclica igual a zero, a sada do sensor de temperatura se estabilizou em 470 mV (47 C). Aps o exaustor ser ativado na velocidade mxima, ou seja, com a razo cclica igual a 1023, a sada do sensor se estabilizou em 340 mV (34 C). O resultado da medio aps a ativao do exaustor e por um perodo de 90 minutos est representado na Figura 4.6. Para facilitar a leitura dos valores da constante de tempo T, foi feita uma aproximao no grfico da medio e mostrada na Figura 4.7. Outra aproximao foi feita para a leitura do valor do atraso L e mostrada na Figura 4.8.

CAPTULO 4 Descrio do desenvolvimento do controlador.

29

48 46 Temperatura (C) 44 42 40 38 36 34 32 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 Tempo (minutos) Figura 4.6 Caracterstica da resposta ao degrau. 48 46 Temperatura (C) 44 42 40 38 36 34 32 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 Tempo (minutos) Figura 4.7 Caracterstica da resposta ao degrau, grfico para obteno do valor da constante de tempo T. 48 47 Temperatura (C) 46 45 44 43 42 0 0,5 1 Tempo (minutos) Figura 4.8 Caracterstica da resposta ao degrau, grfico para obteno do valor do atraso L. CAPTULO 4 Descrio do desenvolvimento do controlador. 1,5 2

30

Usando-se as Figuras 4.7 e 4.8, obtm-se: T = 288 segundos e L = 12 segundos. O valor de Kc obtido atravs da equao 4.1 [11]: K 340 470 0,127 1023 0 (4.1)

A funo de transferncia do circuito em malha aberta pode ser aproximada como [11]: G s 0,127. e. 1 288. s (4.2)

Para determinar os valores de K e T foi escolhido o mtodo de sintonia de Ziegler e Nichols para manha aberta. K 0,9. T 0,9.288 170 L. K 12. 0,127 T L 12 40 0,3 0,3 (4.3)

(4.4)

A funo de transferncia do controlador PI [11]: G s 170 1 Ou: G s 680. s 17 4. s (4.6) 1 40. (4.5)

A Figura 4.9 mostra o diagrama de blocos do sistema em malha fechada com o controlador PI.

Figura 4.9 Diagrama de blocos do sistema em malha fechada com o controlador PI. CAPTULO 4 Descrio do desenvolvimento do controlador.

31

A constante de tempo T 288 segundos e recomendado que o tempo de aquisio seja bem menor que 288/10 = 29 segundos [11]. Para este trabalho foi escolhido um tempo de aquisio de 10 segundos. A implementao do controlador PI pode ser feita utilizando aproximaes numricas da derivada e da integral que aparecem na lei de controle [1]. Desta forma, possvel descrever cada uma das aes por uma equao de diferenas. As equaes de diferenas descrevem as operaes matemticas a serem programadas no microcontrolador onde ser implementado o PI digital. Substituindo-se os parmetros Kp = -170, Ti = 40 e T = 10 segundos na equao 3.13 tem-se: uk = uk 1 + 170. 2.40 + 10 2.40 + 10 ek + 170. e(k 1) 2.40 2.40 (4.7)

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

(4.8)

Utilizando a equao 4.8, foi feita uma simulao do controlador fazendo o erro variar algumas vezes de -0,5 a 0,5 C durante o perdo de meia hora. Na figura 4.10 mostrado o grfico do resultado da simulao, sendo a linha azul o erro em C e em vermelho a razo cclica, que a sada do controlador em valor percentual.
1

razo cclica [%] - vermelho erro [ C] - azul

0.5

-0.5

20

40

60

80 100 tempo [x10 segundos]

120

140

160

180

Figura 4.10 Resultado da simulao do controlador.

CAPTULO 4 Descrio do desenvolvimento do controlador.

32

4.4 - DESCRIO 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 usurio atravs de um teclado e um mostrador. A partir do erro, um controlador PI digital programado no microcontrolador calcula a razo cclica para controlar um exaustor a partir de um sinal PWM, Pulse-Width Modulation ou Modulao 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 famlia PIC 16F877A de 8 bits e ncleo de 14 bits, com 14,3 kbytes de memoria Flash de programa que permite ser programada eletricamente, 256 bytes de EEPROM, Electrically-Erasable Programmable Read-Only Memory, com encapsulamento PDIP, Plastic Dual In-Line Package, e suporte a clock, frequncia do oscilador, de at 20 MHz [12]. O microcontrolador dispe de 33 pinos de I/O (input/output entrada/sada) 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 alimentao, reset e entrada do sinal da clock completam os 40 pinos 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 sada do sensor de temperatura foi conecCAPTULO 4 Descrio do desenvolvimento do controlador.

33

tada a porta A0, que a entrada AN0 do mdulo conversor A/D atravs de um resistor de 1 k. A porta A3, que a referncia do mdulo conversor A/D alimentado por um nvel de tenso de 1,5 volts. A porta C2 a sada do sinal PWM. As portas B4, B5, B6 e B7 por existir uma interrupo que detecta mudanas de estados nessas portas, foram escolhidas para serem as entradas das teclas esquerda (LEFT), cima (UP), baixo (DOWN) e direita (RIGHT) respectivamente. A falta de uma quinta porta com deteco de mudana de estado fez com que o boto configurao (CONFIG) fosse lido como uma combinao dos botes esquerda e direita. As portas D4 a D7 fazem a comunicao de 4 bits com o mostrador LCD e as portas E0 e E1 so as sadas dos sinais E, enable que inicia leitura ou gravao de dados, e RS, registers select que seleciona registradores para configurar o LCD. As portas C6 e C7 foram disponibilizadas junto com nvel de tenso de 5 volts e o terra para alimentar um circuito de comunicao serial que no foi utilizado nesse trabalho. O esquema eltrico com as conexes das portas do microcontrolador mostrado na Figura 4.12.
C5
22p

X1 C1
TERRA 22p CRYSTAL 13 14 2 3 4 5 6 7 8 9 10 1

U1
OSC1/CLKIN OSC2/CLKOUT RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30

1.5V

5V

RS E

U2 R6
1k 2

RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877A VDD=5V VSS=TERRA

LEFT UP DOWN RIGHT

PWM

TX RX

67.0

R9
10k

VOUT

3 TERRA

LM35 5V

D6 D7 D4 D5

Figura 4.12 Esquema eltrico das conexes do microcontrolador.

Para controlar o exaustor, o sinal PWM chaveia um transistor TIP31. O exaustor tem o terminal positivo ligado a um nvel de tenso de 12 volts e o terminal negativo ligado ao coletor 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.
CAPTULO 4 Descrio do desenvolvimento do controlador.

34

12V
kRPM

+88.8

D8
1N4001

R13
PWM 120

Q5
TIP31

Figura 4.13 Esquema eltrico das conexes do exaustor.

O esquema de montagem do teclado mostrado na Figura 4.14. Os botes UP, DOWN, LEFT e RIGHT ao serem pressionados, enviam um nvel de tenso de 5 volts aos respectivos pinos do microcontrolador. O boto CONFIG conectado as sadas dos botes LEFT e RIGHT simulando um pressionamento simultneo. Dois diodos 1N4148 so usados para evitar fluxo de corrente no sentido inverso. Sem eles, ao pressionar um dos botes LEFT ou RIGHT, o outro tambm teria a sada com nvel de tenso de 5 volts e o microcontrolador interpretaria erroneamente com um pressionamento no boto CONFIG.
5V

UP
UP

LEFT DOWN CONFIG

RIGHT
RIGHT LEFT

TERRA

DOWN

D1
1N4148

R14
10k

R4
10k

R2
10k

R1
10k

D2
1N4148 TERRA

Figura 4.14 Esquema eltrico do teclado.

O esquema de montagem do mostrador LCD mostrado na Figura 4.15. Por ter sido escolhida a comunicao em 4 bits, os pinos D0 a D3 do LCD no so utilizados. Por no ser
CAPTULO 4 Descrio do desenvolvimento do controlador.

35

necessria a leitura do LCD, o pino R/W, read/write ou leitura/escrita, aterrado, pois no ser feita leitura do LCD. Um potencimetro de 5 k utilizado para variar o nvel de tenso do pino VEE que regula o contraste do LCD.
LCD1
LM016L

TCONT
VSS VDD VEE RS RW E 4 5 6 RS RW E D0 D1 D2 D3 D4 D5 D6 D7 D4 D5 D6 D7 7 8 9 10 11 12 13 14

10K

Figura 4.15 Esquema eltrico das conexes do mostrador LCD.

A Figura 4.16 mostra o esquema da fonte de alimentao. Um nvel de tenso de 12 volts contnuos obtido atravs de uma fonte de alimentao externa. Esse nvel de tenso utilizado para alimentar o exaustor. Um regulador de tenso L7805CV produz um nvel de tenso de 5 volts para alimentar o microcontrolador, o sensor de temperatura e o mostrador LCD. A partir do nvel de tenso de 5 volts, um divisor de tenso resistivo produz um nvel de tenso de 1,5 volts que serve como referncia do conversor analgico-digital do microcontrolador.
U6
7805 1 VI GND VO 3 12V 5V

TERRA 5V VEE

1 2 3

R7
3.3k

R10
100

R11
100

V1
12V

C3
0.33uF

C2
0.10uF

1.5V

R8
1.5K

TERRA

Figura 4.16 Esquema eltrico da fonte de alimentao.

CAPTULO 4 Descrio do desenvolvimento do controlador.

36

4.5 - O SOFTWARE DO CONTROLADOR

O software implementado no microcontrolador foi escrito em linguagem C e ser descrito em cinco passos a seguir: Primeiro passo O programa inicia com a declarao das variveis. Segundo passo configurado o modulo CCP1 (comparao, captura e PWM) no modo PWM e o modulo conversor analgico digital para usar o clock interno, AN0 e AN1 como portas analgicas, tenso de referncia pela porta A3 e selecionada a porta AN0 para leitura. Em seguida so configurados todos os pinos como entradas ou sadas e o LCD iniciado. Aps a inicializao do LCD escrito na primeira linha Alvo: 0.0C e na segunda linha Atual: 0.0C. 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 interrupo cinco vezes por segundo e as interrupes do timer 1, de mudana de nvel lgico na porta B (pinos B4 a B7) e global so ativadas. Terceiro passo Inicia-se um lao eterno sem fazer nada. Quarto passo Interrupo do timer 1 Se j tiverem ocorrido 5 interrupes do timer 1 (1 segundo), o programa atualiza o LCD e faz a leitura da sada do sensor de temperatura calculando a temperatura atual e alimentando a matriz de medies para fazer a mdia posteriormente. Se j tiverem ocorrido 10 medies (10 segundos), feita a mdia aritmtica das ltimas 10 medies e calculada a temperatura mdia. Pela diferena entre a temperatura alvo e a mdia, o erro calculado e o valor da razo cclica calculado pela equao 4.8. Em seguida os valores do razo cclica e do erro so salvos, o modulo PWM configurado com o valor da razo cclica e o timer 2, que controla a frequncia de oscilao do sinal PWM, configurado para 610 Hz. Para calcular o valor da temperatura medida, o valor lido pelo conversor analgicodigital multiplicado por 1500, que a tenso de referncia em milivolts, e depois dividido por 1023, que a escala de medio do conversor de 10 bits. Durante os testes iniciais, foi detectada uma oscilao para mais e para menos na leitura do sensor. Pela preciso deste sensor que de 1 mV, esta oscilao provavelmente ocorre por pequenas oscilaes na tenso de alimentao do sensor ou por interferncias eletromagnti-

CAPTULO 4 Descrio do desenvolvimento do controlador.

37

cas nos condutores que ligam o sensor a placa de controle. Para evitar que essa oscilao interfira no funcionamento do controlador, feita a mdia aritmtica das ltimas 10 medies. A frequncia de 610 Hz foi escolhida por ser a menor possvel com o cristal de 10 MHz (10.000.000 / 4 / 16 / (255 + 1) = 610 Hz). Durante os testes iniciais, foram utilizadas frequncias acima de 20 kHz por estarem fora do limite da audio humana, porem o controle sobre a velocidade do exaustor foi pouco eficaz. A Microchip (fabricante do microcontrolador) recomenda baixas frequncias (30 Hz) nesse tipo de aplicao para um melhor controle sobre a velocidade do exaustor. A frequncia escolhida, apesar de ser audvel, apresentou um bom controle sobre a velocidade do exaustor. Quinto passo Interrupo de mudana de nvel lgico nos pinos B4 a B7 Se uma tecla for pressionada, ser executada uma funo de acordo com a tela que estiver sendo exibida. Se estiver na tela principal mostrada na Figura 4.17, os botes UP e DOWN ajustam a temperatura alvo (setpoint) para mais e para menos de um em um grau Celsius. O boto CONFIG muda para a tela de ajuste da mxima temperatura permitida. Os botes RIGHT e LEFT vo para a tela que mostra a razo cclica em percentual e a temperatura mdia.

Figura 4.17 Tela principal.

Se estiver na tela de ajuste da mxima temperatura permitida mostrada na Figura 4.18, os botes UP e DOWN ajustam o maior valor permitido para a temperatura alvo para mais e para menos. Os botes RIGHT e LEFT permitem alternar entre as casas das unidades, dezenas e centenas. O boto CONFIG muda para a tela de ajuste da mnima temperatura permitida.

Figura 4.18 Tela de ajuste da mxima temperatura permitida.

Se estiver na tela de ajuste da mnima temperatura permitida mostrada na Figura 4.19, os botes UP e DOWN ajustam o menor valor permitido para a temperatura alvo para mais e para menos. Os botes RIGHT e LEFT permitem alternar entre as casas das unidades, dezenas e centenas. O boto CONFIG volta para a tela principal.

CAPTULO 4 Descrio do desenvolvimento do controlador.

38

Figura 4.19 Tela de ajuste da mnima temperatura permitida.

Se estiver na tela que mostra a razo cclica em percentual e a temperatura mdia mostrada na Figura 4.20, os botes UP e DOWN no tm funo. Os botes CONFIG, RIGHT e LEFT voltam para a tela principal.

Figura 4.20 Tela que mostra a razo cclica em percentual e a temperatura mdia.

O programa foi gravado no microcontrolador usando o programa IC-Prog verso 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 programao do microcontrolador.

4.6 - MONTAGEM DO CONTROLADOR

O controlador foi dividido em duas placas: uma para fazer a interface com o usurio 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.

CAPTULO 4 Descrio 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 montada. Na figura 4.23b tambm mostrado o sensor de temperatura que no foi soldado diretamente a placa para poder ser instalado numa posio mais prxima 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.

CAPTULO 4 Descrio do desenvolvimento do controlador.

40

Sensor de temperatura

Teclado e LCD

Circuito Principal

Fonte Externa
Figura 4.24 Viso geral da montagem dos componentes.

A Figura 4.24 mostra o local de montagem dos componentes do controlador no interior 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.

CAPTULO 4 Descrio do desenvolvimento do controlador.

41

CAPTULO 5 RESULTADOS EXPERIMENTAIS

5.1 - CONSIDERAES INICIAIS

Este captulo tem a finalidade de apresentar o resultado dos experimentos com o controlador de temperatura desenvolvido.

5.2 - DESCRIO DO EXPERIMENTO

Com o controlador j montado no interior do nobreak, o circuito de testes foi novamente montado prximo aos dissipadores de calor da placa de controle do nobreak, para fazer a aquisio das temperaturas por um computador via porta serial. Os dois computadores utilizado na obteno 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 isso, sua temperatura interna, alm de tornar a resposta mais plana.

5.3 - RESULTADOS EXPERIMENTAIS

O experimento teve incio com o valor da temperatura alvo configurado para 60 C para que no houvesse a atuao do exaustor e permitisse que a temperatura interna do nobreak se elevasse. Aps cerca de 1 hora e com a temperatura interna pouco acima de 43 C, a temperatura alvo foi ajustada em 40 C e foi dado incio a aquisio dos dados. Para diminuir a oscilao no valor medido pela placa de testes e ter uma leitura prxima ao do controlador objeto deste trabalho, a aquisio foi feita a cada segundo e o valor da temperatura armazenado a cada 10 segundos, sendo este valor a mdia aritmtica dos valores obtidos nas ltimas 10 aquisies, exatamente como foi programado no controlado de temperatura. O resultado da medio aps o ajuste da temperatura alvo e por um perodo de 90 minutos est representado na Figura 5.1a e a ao de controle mostrada na figura 5.1b.

CAPTULO 5 Resultados experimentais.

42

44 43 Temperatura (C) 42 41 40 39 38 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 Tempo (minutos) 100% 90% 80% Razo Cclica (%) 70% 60% 50% 40% 30% 20% 10% 0% 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 Tempo (minutos)

Figura 5.1 (a) Grficos das temperaturas e (b) da ao de controle obtidos durante 90 minutos do experimento.

Analisando os grficos da Figura 5.1 com as temperaturas obtidas durante o experimento e a ao de controle, possvel 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 razo cclica e houve um oscilao de apenas cerca de 0,5 C na temperatura aps a estabilizao provavelmente devido ao rudo na medio. Por a frequncia de chaveamento estar dentro do limite audvel pelo ser humano, foi possvel escutar o chaveamento do exaustor quando este operava em baixa velocidade. Em [18] descrito um mtodo para suprimir esse rudo acstico.

CAPTULO 5 Resultados experimentais.

43

CAPTULO 6 CONCLUSO
Este trabalho foi realizado com o objetivo de reunir os conhecimentos adquiridos durante o curso de engenharia eltrica para desenvolver um controlador PI, implementado digitalmente em um microcontrolador da famlia 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 alcanado, 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 rudo na medio da temperatura, removendo a necessidade do clculo do valor mdio e reduzindo o perodo das aquisies tornando mais suave o controle sobre o exaustor. Pode-se incluir tambm como trabalho futuro, utilizar um exaustor com controle direto por PWM que suporta frequncias de chaveamento acima da capacidade de audio humana e ainda fazer a leitura da velocidade do cooler a fim de se obter um resultado mais preciso.

CAPTULO 5 - Concluso

44

REFERNCIAS BIBLIOGRFICAS

[1]

strm, K. J.; Hgglund, T., PID Controllers: Theory, Design, and Tuning. 2 Ed. Carolina do Norte: Instrument Society of America, 1995.

[2] [3]

Martins, N. A., Sistemas Microcontrolados. 1 Ed. Novatec, 2005. Stallings, W., Arquitetura e Organizao de Computadores. 5 Ed. Pearson Addison Wesley, 2005.

[4] [5] [6]

Loureo, J., Sintonia de controladores P.I.D. Escola Superior de Tecnologia, 1997. Ogata, K., Engenharia de Controle Moderno. 4 Ed. So Paulo: Prentice Hall, 2003. Omron Electronics LLC, Temperature and Process Control Instrumentation. Catlogo H301-E3-1, 2004, pp. E-1 E-23.

[7]

Kempenich, G., Curso de Projetos de Instrumentao. So Caetano do Sul: Instituto Mau de Tecnologia, 1985.

[8]

Controladores

PID

Microprocessados.

Disponvel

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, seo S4H, 1997, pp. 1620-1624.

[10] [11]

Campo, A. B, Tpicos Sobre a Teoria de Controle. So Paulo: CEFET/SP, 2004. Ibrahim, D., Microcontroller Based Temperature Monitoring and Control. 1 Ed. Newnes, 2002.

[12]

Datasheet PIC16F87XA. Disponvel em <HTTP://www.microchip.com>. Acesso em 30 de Outubro de 2010.

[13]

Datasheet LM35. Disponvel em <HTTP://www.national.com>. Acesso em 30 de Outubro de 2010.

Referncia Bibliograficas

45

[14]

Datasheet TM162AAA6-1. Disponvel em <HTTP://www.alldatasheet.com>. Acesso em 30 de Outubro de 2010.

[15]

Datasheet MAX232. Disponvel em <HTTP://www.datasheetcatalog.com>. Acesso em 30 de Outubro de 2010.

[16]

Software OCCT verso 3.1.0. Disponvel em <HTTP://www.ocbase.com>. Acesso em 30 de Outubro de 2010.

[17]

Software IC-Prog verso 1.05D. Disponvel 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. Disponvel 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 Programao em C, 7 Ed. So Paulo: Editora rica, 2009.

Referncia Bibliograficas

APNDICE A (PROGRAMA DO MICROCONTROLADOR)

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)

//////////////////////////////////////////////Declarao de variveis///////////////////////////////////////////////

//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; //Sada do controlador //LCD int config = 0; //Tela atual int posicao; //Posio atual do cursor int posicaoM; //Mxima posio possvel 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 mdio dos valores lido int16 matriz_valores[10]; //Matriz para salvar valores lido //Timer 1 int8 contaT1_1 = 0; int8 contaT1_2 = 0;

48 //Estado dos botes boolean botao_up = 0; boolean botao_down = 0; boolean botao_left = 0; boolean botao_right = 0; //Variveis de uso geral int16 temp1; //Varivel temporria de uso geral int16 temp2; //Varivel temporria de uso geral

///////////////////////////////////////////Tratamento das interrupes///////////////////////////////////////////

//////////////////////////////////////////////////////////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); }

49 //ADC valor = read_adc(); //Efetua a converso 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 necessrio converter a segunda parte da // equao para 32 bits para que o compilador efetue o // clculo 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 mdio 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 extrapolao de valores if (ciclo_s>1023) ciclo_s=1023; If (ciclo_s<0) ciclo_s=0; //Salva valores para o prximo ciclo ciclo = ciclo_s; erro1 = erro; //PWM set_pwm1_duty (ciclo); // Configura o ciclo ativo setup_timer_2 (T2_DIV_BY_16, 255, 1); //Frequncia de oscilao igual a 10MHz / 4 / 16 / (255 + 1) = 610 Hz contaT1_2 = 0; } }

50

/////////////////////////////////////////Mudana de estado na porta B/////////////////////////////////////////

#int_rb void Botoes () { //Carrega estado dos botes botao_up = input(pin_b5); botao_down = input(pin_b6); botao_left = input(pin_b4); botao_right = input(pin_b7); If (botao_up) //BOTO UP { Switch (config) { Case 0: If (temp_alvo<temp_alvo_max) temp_alvo += 1; //Se boto UP for precionado e a temperatura alvo for menor que a mxima, 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);

51 lcd_pos_xy(posicao,2); Break; } } else If (botao_down) //BOTO DOWN { Switch (config) { Case 0: If (temp_alvo>temp_alvo_min) temp_alvo -= 1; //Se boto DOWN for precionado e a temperatura alvo for maior que a mnima, 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) //BOTO CONFIG { lcd_envia_byte(0,0x0C);

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 mxima for menor que a mnima, a mnima e recebe o valor da mxima. 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);

53 posicao = 3; posicaoM = 3; Break; } } else If (botao_right || botao_left) //BOTO 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) //BOTO LEFT { If (posicao>1) { lcd_envia_byte(0,0x10); posicao -= 1; } } else If (botao_right && config!=0) //BOTO RIGHT { If (posicao!=posicaoM) { lcd_envia_byte(0,0x14); posicao += 1; } } } }

54

///////////////////////////////////////////////////Rotina principal/////////////////////////////////////////////////////

main() { //Configurao do PWM setup_ccp1 (CCP_PWM); //Configura CCP1 para modo PWM // Configurao do ADC setup_ADC_ports (AN0_AN1_VSS_VREF); //AN0 e AN1 como entradas analgicas e VREF+ no pino RA3 setup_adc(ADC_CLOCK_INTERNAL); set_adc_channel(0); //Seleciona a entrada AN0 //Configurao 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); //Configurao 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); //Configurao 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 - Frequncia igual a 10MHz / 4 / 8 / (65536 - 3036) = 5 Hz //Habilita interrupes enable_interrupts(INT_TIMER1); enable_interrupts(INT_RB); // Libera as interrupes por mudana de estado no Port B = Pinos B4 -> B7 enable_interrupts(GLOBAL); // Libera o registrador de interrupo global e permite que as interrupoes funcionem

55 //Inicia loop infinito while (true) { } }