Você está na página 1de 88

UNIVERSIDADE FEDERAL DA BAHIA ESCOLA POLITCNICA

GRADUAO EM ENGENHARIA ELTRICA

CONTROLE MULTIVARIVEL APLICADO EM SISTEMAS DE TANQUES ACOPLADOS.

LUCAS ANTONIO DE SANTANA SANTOS CARNEIRO

SALVADOR 2014

ii

UNIVERSIDADE FEDERAL DA BAHIA ESCOLA POLITCNICA GRADUAO EM ENGENHARIA ELTRICA

LUCAS ANTONIO DE SANTANA SANTOS CARNEIRO

CONTROLE MULTIVARIVEL APLICADO EM SISTEMAS DE TANQUES ACOPLADOS.

Trabalho apresentado ao Curso de Graduao em Engenharia Eltrica da Universidade Federal da Bahia como parte dos requisitos para a obteno do ttulo de Engenheiro Eletricista. Orientador: Cristiane Corra Paim Coorientador: Tito Lus Maia Santos

SALVADOR 2014

iii

LUCAS ANTONIO DE SANTANA SANTOS CARNEIRO

CONTROLE MULTIVARIVEL APLICADO EM SISTEMAS DE TANQUES ACOPLADOS.

Este Trabalho de Graduao foi julgado adequado para a obteno do grau de Engenheiro Eletricista e aprovado em sua forma final pela Comisso Examinadora e pelo Colegiado do Curso de Graduao em Engenharia Eltrica da Universidade Federal da Bahia.

__________________________________________________ Karcius Day Rosrio de Assis Coordenador do Colegiado do Curso de Engenharia Eltrica

Comisso Examinadora

___________________________________________________ Cristiane Corra Paim

___________________________________________________ Tito Lus Maia Santos

__________________________________________________ Bernardo Ordonez

__________________________________________________ Humberto Xavier de Arajo

__________________________________________________ Klber Freire da Silva

iv

DEDICATRIA
A todas as pessoas que estiveram prximas a mim neste perodo de realizao de trabalho. Apesar dos dias que estive estressado vocs continuaram ao meu lado e incentivaram a concluso do projeto.

AGRADECIMENTOS
A Prof. Dr. Cristiane Corra Paim, orientadora do trabalho, pela amizade ,conselho e ajuda nos momentos mais difceis enfrentados na realizao deste projeto, principalmente pela confiana em mim orientar. Pela extrema competncia demonstrada no suporte do projeto, capaz de agregar esforos e somar capacidades, a tornando-a um grande modelo a ser seguida. Ao Professor, Dr. Tito Luis Maia Santos pelo grande suporte prestado e domnio do conhecimento, sendo paciente em suas explicaes. Pelo incentivo em realizar o projeto e apoio prestado ao longo dessa rdua jornada de final de curso. Agradeo tambm a sua amizade conquistada ao longo deste ano de trabalho em conjunto.

Obrigado meus queridos professores!

vi

Epgrafe O nico lugar onde o sucesso vem antes do trabalho no dicionrio. (Albert Einstein)

vii

RESUMO
Carneiro, Lucas Antonio de Santana Santos. CONTROLE MULTIVARIVEL

APLICADO EM SISTEMAS DE TANQUES ACOPLADOS. Trabalho Final de Graduao em Engenharia Eltrica. Escola Politcnica. Universidade Federal da Bahia. Salvador, BA. 2014.

O Trabalho Final de Graduao que ser apresentado nas sees seguintes, tem como principal objetivo a implementao de uma nova varivel no kit de controle de nvel

existente no Laboratrio de Automao e Controle . O desenvolvimento de algoritmos e a implementao de tcnicas de identificao e controle clssicas so os objetivos secundrios deste projeto. A plataforma experimental descrita com detalhes ao longo do projeto. A adequao de sensores e atuadores, identificao do sistema e a simulao de algoritmos para controle foram de extrema importncia para alcanar os objetivos propostos. Os controladores projetados foram implementados e avaliados de modo obter bons resultados. Enfim, faz-se uma concluso a respeito dos resultados obtidos com sugestes para possveis trabalhos futuros.

Palavras-chave: Modelagem; Controle Clssico, Multivarivel, Controle de Nvel, Controle de temperatura e Planta Multivarivel.

viii

Abstract
Carneiro, Lucas APLICADO EM Antonio de Santana Santos. CONTROLE MULTIVARIVEL SISTEMAS DE TANQUES ACOPLADOS (in portuguese).

Undergraduate Final Project in Electrical Engineering. Polytechnic School. Federal University of Bahia. Salvador, BA. 2014.

The Final Graduate Project to be presented in the following sections, the main objective is the implementation of a new variable in the existing level kit at the Laboratory of Automation and Control (LAC). The development of algorithms at classical control and implementation of techniques for identifying are the secondary objectives of this project. The experimental platform is described in detail throughout the project. The adequacy of sensors and actuators, system identification and simulation of control algorithms have been of utmost important to achieve the proposed objectives. The designed controllers have been deployed and evaluated in order to obtain good results. Finally, comments regarding the results obtained with suggestions for possible future work.

Palavras-chave: Modeling, Classic Control, Multi-variable, Level Control, Temperature Control and Multi-variable model.

ix

LISTA DE FIGURAS
Figura 2.1: Tanques em seus pontos de operao: T1= 12 cm ......................................... 5 Figura 2.2: Circuito de Nvel e Temperatura do Kit didtico ............................................ 6 Figura 2.3: Calibrao do sensor de nvel ................................................................................ 7 Figura 2.4: Calibrao do sensor de nvel ................................................................................ 8 Figura 2.5: LM 35 encapsulamento TO-92 ............................................................................... 9 Figura 2.6: Bomba de suco submersvel ........................................................................... 10 Figura 2.7: Mdulo de controle de potncia das bombas. ............................................... 11 Figura 2.8: Ebulidor de gua...................................................................................................... 11 Figura 2.9: Rel de estado slido FOTEK. .............................................................................. 13 Figura 2.11: Arduino Duemilanove ......................................................................................... 14 Figura 2.12: TFGsoft Sistema supervisrio ....................................................................... 16 Figura 3.1: Sistema de controle clssico sem perturbao ............................................. 18 Figura 3.2: Controlador PID em paralelo .............................................................................. 19 Figura 3.3: Curva resposta em S ............................................................................................... 22 Figura 4.1: Resposta ao degrau unitrio sistema sobreamortecido. ......................... 31 Figura 4.2: Clculo do . .............................................................................................................. 31 Figura 4.3: Resposta coluna I dado degrau bomba I (Sundaresan). ........................... 33 Figura 4.4: Modelo para sistema de primeira ordem. ..................................................... 34 Figura 4.5: Resposta coluna I dado degrau bomba I. ....................................................... 34 Figura 4.6: Resposta Temperatura coluna I dado degrau bomba I............................. 35 Figura 4.7: Resposta e modelo Temperatura coluna I dado degrau bomba I. ........ 36 Figura 4.8: Resposta Temperatura coluna I dado degrau ebulidor. ........................... 37 Figura 4.9: Resposta Temperatura coluna I dado degrau ebulidor............................ 37 Figura 4.10: Lugar das razes da funo de transferncia Figura 4.11: Lugar das razes da funo de transferncia Figura 4.12: Lugar das razes da funo de transferncia Figura 4.13: Lugar das razes da funo de transferncia Figura 4.14: Resposta simulada da funo de transferncia .................................... 39 .................................... 40 ................................. 40 .................................. 41 ....................... 41

Figura 5.1: Resposta da Coluna I a partir de uma variao na referncia I. ............ 45 Figura 5.2: Resposta da Temperatura a partir de uma variao na referncia II. . 46

Figura 5.3: Acoplamento entre Temperatura nvel. .......................................................... 47 Figura 5.4: Comparao entre resposta do nvel Malha Aberta e Fechada. .............. 48 Figura 5.4: Comparao entre resposta do nvel Malha Aberta e Fechada. .............. 48

xi

LISTA DE TABELAS
Tabela 4.1: Plos, Ganho do sistema em malha aberta e taxa de amostragem para o acoplamento acoplamento acoplamento ........................................................................................................................... 35 ........................................................................................................................... 36 ........................................................................................................................... 37 Tabela 4.2: Plos, Ganho do sistema em malha aberta e taxa de amostragem para o Tabela 4.3: Plos, Ganho do sistema em malha aberta e taxa de amostragem para o Tabela 4.4: Parmetros do PI e tempo de resposta. .......................................................... 42 Tabela 5.1: Clculo do erro absoluto (IAE) para os controladores. ............................. 47

xii

NDICE

LISTA DE FIGURAS............................................................................................................. ix LISTA DE TABELAS............................................................................................................. xi CAPTULO I ........................................................................................................................ 1


INTRODUO ............................................................................................................................ 1 1.1 1.2 1.3 Objetivo .......................................................................................................................... 2 Justificativa ..................................................................................................................... 2 Estrutura do texto ........................................................................................................... 3

CAPTULO II ....................................................................................................................... 4
Detalhes da planta Multivarivel de Controle de Nvel e Temperatura ........................................ 4 2.1 2.2 2.3 2.4 Introduo ...................................................................................................................... 4 Estrutura fsica da planta ................................................................................................. 4 Sistema de nvel e Temperatura....................................................................................... 5 Circuitos eletro-eletrnicos.............................................................................................. 6
Mdulo de medio de nvel ........................................................................................................... 7 Mdulo de medio de temperatura .............................................................................................. 8 Mdulo de controle de potncia ................................................................................................... 10 Controlador Lgico Programvel ................................................................................................... 13 Arduino .......................................................................................................................................... 14 Concluso ...................................................................................................................................... 17

2.1.1 2.1.2 2.1.3

2.5

Controladores ............................................................................................................... 13

2.1.4 2.1.5

2.6

Supervisrio .................................................................................................................. 15

2.1.6

CAPTULO III .................................................................................................................... 18


Embasamento terico para projeto de Controladores Multivarivel ......................................... 18 3.1 3.2 3.3 3.4 3.5 Introduo .................................................................................................................... 18 Controlador PID clssico ................................................................................................ 19 Sintonia de controladores clssicos ................................................................................ 20
Mtodos empricos de sintonias de controladores ....................................................................... 21

3.3.1

Abordagem de Multivarivel ......................................................................................... 24 Concluso ..................................................................................................................... 26

CAPTULO IV .................................................................................................................... 27
Levantamento do Modelo Matemtico e Sintonia dos Controladores ....................................... 27 4.1 4.2 4.3 Introduo .................................................................................................................... 27 Modelagem matemtica................................................................................................ 27
Levantamento do modelo da planta no ponto de operao ......................................................... 29 Controlador PI................................................................................................................................ 39

4.2.1 4.3.1

Sintonia dos controladores ............................................................................................ 38

xiii

4.4

Concluso ..................................................................................................................... 42

CAPTULO V ..................................................................................................................... 43
Resultados .............................................................................................................................. 43 5.1 5.2 5.3 5.4 5.5 Introduo .................................................................................................................... 43 Mtrica de avaliao de desempenho ............................................................................ 43 Ensaios do controlador .................................................................................................. 44 . Avaliao do Desempenho........................................................................................... 47 Concluso ..................................................................................................................... 49

CAPTULO VI .................................................................................................................... 50
Concluso e Trabalhos Futuros ................................................................................................ 50 6.1 6.2 Concluso ..................................................................................................................... 50 Trabalhos futuros .......................................................................................................... 51

REFERNCIAS ................................................................................................................... 52 Apndice A ...................................................................................................................... 53


Programas e Algoritmos Implementados.................................................................................. 53 A.1 A.2 A.3 A.4 Interface Homem-maquina ............................................................................................ 53 Mtodo Sundaresan ...................................................................................................... 73 Algoritmo Microcontrolador .......................................................................................... 74 Clculo PI ...................................................................................................................... 75

CAPTULO I

INTRODUO
De acordo com Ogata (2003), um sistema de controle um regulador automtico no qual a sada uma varivel tal como uma temperatura, presso, fluxo ou nvel de lquido. Normalmente realizado na indstria, o controle realimentado, aquele que tende a manter uma relao prescrita entre a sada e a entrada de referncia, comparando-as e utilizando a diferena como um meio de controle e buscando diminuir esta diferena. Pode-se definir processo por uma operao ou desenvolvimento natural, que evolui progressivamente, caracterizado por uma srie de mudanas graduais que se sucedem, uma em relao s outras, de um modo relativamente fixo e objetivando um resultado particular por meio de uma srie de aes controladas. O Controle de nvel e temperatura esto presentes em diversos processos da indstria. Este controle deve atuar de modo que uma perturbao externa no interfira no funcionamento do sistema, garantindo a proteo e a confiabilidade dos processos. A

evoluo destes processos ao longo da histria, ou seja, o crescimento e interligaes entre processos, tornou o projeto de sintonia de controladores bastante trabalhoso. A tcnica de controle Proporcional, Integral e Derivativa (PID) extremamente importante quando o processo instvel em malha aberta, possui uma no-linearidade ou possui diversas variveis (Multivriavel) a serem controladas. A evoluo tecnolgica permitiu que os algoritmos de modelagem corrigissem as imperfeies dos sistemas implementados fisicamente, aumentando assim rendimentos do processo. A economia gerada pelo avano do processo e do sistema de controle bem projetado, ajuda no desenvolvimento sustentvel da empresa, assim como o aumento da sua receita. Na literatura so encontrados alguns trabalhos sobre sistemas para controle de nveis de lquido, Grega e Maciejczyk (1994), por exemplo, apresentaram um sistema capaz de medir e controlar um tanque esfrico a partir de controle digital. Assim como o controle de temperatura do compartimento de passageiros de um carro citado por Franklin, J. D. Powell (2002).

1.1

Objetivo

O objetivo principal deste trabalho o projeto de um sistema multivriavel aplicado ao controle da temperatura e do nvel de diferentes tanques, simulando uma situao cotidiana da indstria. Para alcanar o objetivo primrio do projeto, foi necessria a criao de um objetivo secundrio. O objetivo secundrio o desenvolvimento de um prottipo para o sistema de aquecimento e controle de temperatura nos tanques existentes no Laboratrio de Automao e Controle (LAC).

1.2

Justificativa

O controle automtico de processo representa um papel vital no avano da engenharia e da cincia. Alm de possuir importncia extrema em diversos sistemas, tornou-se uma parte integrante e importante dos processos industriais e de fabricao modernos. O objetivo de medir e controlar as diversas variveis fsicas em processos industriais obter produtos de alta qualidade, com melhores condies de rendimento e segurana, a custos compatveis com as necessidades do mercado consumidor. Dentre as diversas motivaes para controle automtico de processos existentes, tm-se como exemplos: controle de presso, temperatura, umidade, viscosidade e fluxo em processos industriais, manusear, operar e montar partes mecnicas das indstrias de fabricao, entre muitas outras. Segundo Ogata (2003) controlar um processo significa atuar sobre ele ou sobre as condies a que o processo est sujeito, de modo a atingir algum objetivo. Por exemplo, necessrio ou desejvel manter o processo sempre prximo de um determinado estado estacionrio, mesmo que efeitos externos tentem desvi-lo desta condio. Este estado estacionrio pode ter sido escolhido por atender melhor aos requisitos de qualidade e segurana do processo. O desenvolvimento de uma plataforma didtica, adaptvel e programvel para diferentes tipos de projetos ser a grande proposta deste trabalho. O controlador de temperatura e a interface de comunicao entre os controladores de temperatura e nvel facilitar o desenvolvimento de futuros projetos nesta rea.

1.3

Estrutura do texto

Abaixo ser apresentada a estrutura desta monografia: No captulo dois apresenta o desenvolvimento da planta de controle de nvel e temperatura. Descrevendo todos os componentes eletrnicos utilizados, assim como os sensores, o sistema desenvolvido para superviso e processamento do fluxo de informaes. O capitulo trs mostra a fundamentao terica do trabalho, apresentando a teoria geral de controladores, na abordagem MIMO, o desenvolvimento das leis de controle, a formulao do algoritmo do controlador proposto e seus principais mtodos de sintonia. O captulo quatro aborda a modelagem do sistema, demostrando os principais conceitos, determinao dos pontos de operao do sistema e o principal conceito de sintonia utilizado para determinao da equao do sistema.

O captulo cinco mostra os resultados experimentais obtidos. Aborda


sucintamente os mtodos de avaliao do desempenho.

Finalmente, o captulo seis de concluso e trabalhos futuros. O captulo sugere


melhorias no kit.

CAPTULO II

Detalhes da planta Multivarivel de Controle de Nvel e Temperatura


2.1 Introduo

O Objetivo desta seo apresentar todo o desenvolvimento e o aprimoramento das partes mecnicas e eltricas do Kit Didtico de Controle Multivarivel de Nvel. O Kit foi inicialmente desenvolvido por Achy (2008) e aprimorado em diversos outros trabalhos. Inicialmente ser apresentado o kit original desde a estrutura mecnica, cuja planta em estudo faz parte, at o processamento do fluxo de informaes. Ao longo da apresentao do modelo existente sero expostas as modificaes e melhorias feitas no projeto e o acrscimo da nova varivel de controle. O sistema foi desenvolvido em quarto partes principais: 1) estrutura fsica de acomodao dos tanques, 2) sistema hidrulico da coluna, 3) circuitos eletro-eletrnicos, 4) processamento e fluxo de informaes. Para este sistema foram propostas aprimoramentos nas partes referentes a circuitos eletro-eletrnicos e processamento e fluxo de informao, assim como a construo de uma quinta parte principal que o sistema de aquecimento.

2.2

Estrutura fsica da planta

A estrutura mecnica utilizada no projeto foi a base existente no prprio laboratrio, no foram feitas grandes modificaes no Kit. A estrutura inicial foi projetada para acomodar, de forma segura, trs colunas instrumentadas, os mdulos de condicionamento do sinal dos sensores e as trs bombas de suco, que so os atuadores do controlador de nvel. As modificaes criadas foram aplicadas no tanque um, porm sem nenhuma interferncia de sua estrutura inicial. O Atuador da nova varivel, temperatura, de controle foi projetado para ser facilmente removido e anexado a qualquer um dos tanques. Este trabalho ser realizado para tanque um, gerando a oportunidade de novos trabalhos relacionados aos outros tanques.

A estrutura dos trs tanques apresentada na Figura 2.1. Esta estrutura foi confeccionada de modo a gerar no-linearidade no sistema, evitando o aumento da

complexidade, tendo em vista que ser construdo um modelo fsico para o sistema. Para reduo dos efeitos de no-linearidade existente nos tanques, o tanque um utilizado no projeto foi modelado em um ponto de operao.

Figura 2.1: Planta multivarivel

2.3

Sistema de nvel e Temperatura

O sistema encontrado no laboratrio, Figura 2.1, possui um sistema hidrulico cujos elementos so apresentados a seguir: um reservatrio secundrio, onde as bombas so inseridas, e um conjunto com trs tanques de base retangular, cuja rea varia de acordo com o modelo supracitado. Todos os tanques possuem uma abertura superior cujas mangueiras, que tm como seu principal objetivo o bombeamento do lquido inserido, e o sensor de presso foram inseridos de modo a aferir o nvel da coluna. Existem tambm alguns orifcios nas partes inferiores onde o lquido escoado de volta para o reservatrio secundrio.

O sistema tambm composto por interligaes entre os trs reservatrios e possui trs colunas graduadas, com trs bombas de suco e mangueiras flexveis que possuem como objetivo primrio a conexo das sadas das bombas ao topo das colunas. Para criar diferentes aplicaes foram colocadas vlvulas esferas nas interligaes possibilitando a simulao de diversas combinaes entre variveis. O sistema de temperatura composto por uma estrutura metlica em forma espiral, cuja funo se comportar como uma mola para ajuste da altura do atuador de temperatura, que poder ser inserido em qualquer um dos trs tanques. O sensor de temperatura ser preso por meio de fita isolante de alta fuso nas mangueiras, de modo evitar contato direto dos terminais do sensor com a gua.

Figura 2.2: Kit didtico Nvel e Temperatura

2.4

Circuitos eletro-eletrnicos

O equipamento possui diversos componentes eletrnicos. Sensores de presso, utilizado para aferir o nvel, sensor de temperatura e os mdulos de potncia, sero abordados nesta seo. A principal funo desses componentes realizar o sistema MIMO e o processamento digital das variveis do processo.

2.1.1

Mdulo de medio de nvel

A altura dos nveis determinada pela presso aferida pelos sensores. Estes sensores foram postos na parte superior da maquete. A ligao entre os sensores e a colunas so feitas atravs de uma mangueira flexvel conectada a um pedao de barra metlica. Este mdulo possui um sistema de amplificadores do sinal analgico gerado pelo sensor. As entradas so conectadas aos conversores analgicos digitais do conversor. O conversor analgico digital representado pela sigla em ingls ADC (Analog to Digital Converter). A Figura 2.3 apresenta o sensor utilizado para a medio do nvel. Este sensor de fabricao da Motorola e denomina-se MPX2010. O sensor piezoresistivo de alta preciso, com sadas de linearmente proporcionais s tenses aplicadas. De acordo com o datasheet ( Motorola 2001) o sensor apresenta uma sensibilidade de 450 mV/ Kpa, com fundo de escala de aproximadamente 10 Kpa .

Figura 2.3: Calibrao do sensor de nvel

As grandezas matemticas que correlacionam a presso com o nvel da coluna esto descritas na lei de Pascal. Observa-se de maneira simplificada que a equao (2.1) que a diferena de presso ( ) depende da densidade do liquido ( , no caso proposto a densidade e da variao da altura ( . Mantendo o projeto na orbita da

da gua, da gravidade local (

terra para no haver variao da gravidade e o mesmo liquido aplicado, forma-se um sistema constante, cuja variao ser unicamente da altura em relao presso. De acordo com Jacob (2004) a geometria dos tanques no interfere nas aferies das alturas das colunas de gua.

(2.1)

A calibrao do sensor foi feita anteriormente por Achy (2008), que confirmou o perfil linear do sensor como mostra a Figura 2.4.

Figura 2.4: Calibrao do sensor de nvel

Para minimizar o erro gerado pela variao da presso dentro do equipamento foi projetado um amplificador para diminuir o erro de 0,88 cm para um erro de apenas 0,18 cm. Esse amplificador foi necessrio, pois inicialmente a variao era muito grande para a modelagem e controle (Zenaldo, 2010).

2.1.2

Mdulo de medio de temperatura

A temperatura uma varivel muito importante da engenharia de processo. Sua medio e monitoramento so de importncia em muitas aplicaes que abrangem desde processos fsicos e qumicos at a proteo de equipamentos e linhas de produo.

No sistema em estudo a medio de temperatura age na realimentao da malha de controle, fornecendo dados para o atuador aquecer a gua. Neste trabalho foi usado o sensor de temperatura LM35. O sensor LM35 um sensor de preciso, fabricado pela National Semiconductor, que apresenta uma sada de tenso linear relativa temperatura em que ele se encontrar no momento em que for alimentado por uma tenso de 4-20Vdc e GND, tendo em sua sada um sinal de 10mV para cada grau Celsius de temperatura; Assim sendo, uma boa vantagem com relao aos demais sensores de temperatura calibrados em Kelvin, no necessitando nenhuma subtrao de variveis para que se obtenha uma escala de temperatura em graus Celsius. O LM35 no necessita de qualquer calibrao externa ou trimming (circuito auxiliar para calibrao) para fornecer com exatido valores temperatura com variaes de um quarto de grau ou at mesmo trs quartos de grau dentro da faixa de temperatura de 55 C 150 C. Este sensor tem sada com baixa impedncia, tenso linear e calibrao inerente precisa, fazendo com que o interfaceamento de leitura seja especificamente simples, barateando todo o sistema em funo disto. Este sensor poder ser alimentado de forma simples ou simtrica, dependendo do que se desejar como sinal de sada, mas independentemente disso, a sada continuar sendo de 10mV/C. Ele drena apenas 60A para estas alimentaes, sendo assim seu auto-aquecimento de aproximadamente 0.1C ao ar livre. O sensor LM35 apresentado com vrios tipos de encapsulamentos, sendo o mais comum o TO-92, Figura 2.5, que mais se parece com um transistor, e oferece tima relao custo benefcio, por ser o mais barato dos modelos e propiciar a mesma preciso dos demais. A grande diversidade de encapsulamentos se d devido alta gama de aplicaes deste sensor.

Figura 2.5: LM 35 encapsulamento TO-92

Como citado anteriormente o sensor acoplado mangueira flexvel que bombeia gua para o equipamento. Como forma de proteo para evitar o contato com a gua foi utilizado

10

um saco plstico em conjunto com uma fita isolante de alta fuso. Esta foi a soluo de menor custo obtida para evitar que o sensor curto circuitasse quando fosse exposto a temperatura da gua.

2.1.3

Mdulo de controle de potncia

Existem dois mdulos de controle de potncia neste trabalho, o primeiro utilizado para realizar a interface entre as bombas de suco e o controlador CLP. O segundo mdulo utilizado para a mesma funo s que a interface realizada entre o ebulidor e o microcontrolador Arduino. As bombas utilizadas no projeto so submersveis e de aplicaes nutica, do tipo utilizado em pores de barcos onde a gua deve ser retirada. A tenso nominal da bomba de 12 Volts, com uma corrente mxima nominal de 2,5 A (vide Figura 2.6).

Figura 2.6: Bomba de suco submersvel.

O circuito do modulo controlvel pode ser dividido em duas partes. A primeira consiste em um gerador de modulao em largura de pulso (PWM), com frequncia de 5 kHz. Deste modo a largura do pulso controlada de maneira proporcional ao nvel DC da tenso. A outra parte relacionada ao pedao da potncia que recebe o sinal atravs do trem de pulsos gerado por um fotoacoplador (ILD74), que tem a funo de isolar o sinal de PWM da parte de potncia das bombas, s ento invertido atravs de um transistor em configurao inversora para que possa finalmente ser aplicado ao gate de um transistor FET de potncia (IRFZ46), que trabalha em corte e saturao, de acordo com o estado lgico do trem de pulso a cada

11

instante. A variao do pulso aplicado ao gate do transistor FET gera diferentes vazes em cada bomba de suco. Esta vazo proporcional ao nvel de tenso de controle do gerador de PWM. Na Figura 2.7 est representado o diagrama de blocos para este mdulo de controle de potncia. De acordo com Achy (2008) em seu trabalho o mdulo capaz de controlar at 15 A de corrente, com sinais de entradas variando entre 0 a 5 Volts. O limite mnimo do PWM de at 10 s, no entanto o limite mximo de 190 s.

Figura 2.7: Mdulo de controle de potncia das bombas.

O ebulidor que foi utilizado como atuador do sistema de temperatura (Figura 2.8), funciona com corrente alternada e possui uma potncia nominal de 1 kW, impossibilitando utilizar o mesmo circuito do atuador de nvel.

Figura 2.8: Ebulidor de gua.

12

O sinal de temperatura captado pelo microcontrolador arduino, que permite utilizar at seis portas como geradoras de sinais PWM, outro motivo pelo qual no foi necessrio a construo de uma nova placa de condicionamento de sinal. Tendo em vista que o fan-out (corrente de sada) do microcontrolador de no mximo 40 mA necessrio o uso de um amplificador de corrente. O amplificador de corrente utilizado foi um rel de estado slido que permite ou no a passagem de corrente alternada carga. Este elemento constitui a interface entre o sistema de baixa potncia alimentando em corrente contnua, por exemplo, os sensores e microcontrolador, e o circuito da resistncia que alimentado com 127 Volts corrente alternada. Os rles de estado slidos, Figura 2.9, do ingls Solid-State Relay (SSRs) so componentes eletrnicos totalmente em estado slido, ou seja, no possuem elementos mecnicos ou qualquer tipo de pea mvel. Os SSRs visam principalmente a substituio de rels comuns e contatores. Os SSRs, desde que aplicados corretamente, apresentam uma srie de vantagens como:

No possuem desgaste de contatos mecnicos, pois estes no existem, aumentando em muito a vida til do componente;

Respondem a frequncia de acionamento elevadas, permitindo assim controle de luminosos e temperatura de forma direta, precisa e econmica;

Correntes de acionamento muito baixas, comparadas com rels comuns ou contatores, podendo assim ser acionados por microcontroladores comuns;

Possuem um alto grau de confiabilidade; Resistente a vibraes mecnicas; No geram interferncias eletromagnticas; Compatveis com microprocessadores e lgica TTL; Oferecem grande flexibilidade nas aplicaes; No possuem rudos sonoros.

13

Figura 2.9: Rel de estado slido FOTEK.

2.5

Controladores

De acordo com Nise (2009) os sistemas de controle so parte integrante da sociedade moderna. Numerosas aplicaes esto presentes no dia a dia da populao, tais como controles de foguetes, voos de aeronaves e entre outros. O sistema de controle um conjunto de componentes que vem sendo explicado no decorrer deste trabalho. Esta seo abordar os controladores que foram utilizados no projeto, como analogia feita por Nise so como o nosso crebro.

2.1.4

Controlador Lgico Programvel

O Controlador lgico programvel utilizado no projeto foi desenvolvido pela Rockwell Automation. Este CLP apresentado abaixo Figura 2.10.

14

Figura 2.10: Controlador Lgico Programvel Rockwell O controlador lgico programvel utilizado apenas como uma ponte entre o sistema supervisrio projetado no Matlab e o conjunto de sensores e atuadores. O CLP usado como uma placa de aquisio de dados possuindo um ADC de 8 bits e atravs dele possvel utilizar um protocolo de comunicao de rede, que utilizado com o computador. Esse protocolo Full-Duplex, ambos podem enviar informao

simultaneamente, tendo em vista que a conexo feita via cabo UTP (ethernet) o protocolo utilizado o OPC. Os softwares para a programao do CLP e para configurao do servidor foram disponibilizados pela Rockwell Automation (Zenaldo, 2010).

2.1.5

Arduino

Arduino uma plataforma de eletrnica aberta para criao de prottipos baseada em software e hardware flexveis e fceis de usar. O Arduino pode adquirir informaes atravs de pinos de E/S e de uma vasta gama de sensores, podendo atuar controlando luzes, motores e outros atuadores. O microcontrolador da placa programado atravs da linguagem de programao Arduino (baseada em Wiring) e de um ambiente de desenvolvimento prprio. A placa utilizada neste trabalho foi a Arduino Duemilanove, Figura 2.11, possui um Atmega 168. Esta placa possui 16 KB de memria flash, processador de 10bits, EEPROM de 521 KB, clock de 16MHz. Ele possui 14 pinos digitais (6 pinos PWM) e 5 pinos analgicos.

Figura 2.11: Arduino Duemilanove

O micro-controlador Arduino foi programado atravs da sua IDE padro e desta forma condicionado a receber os sinais do sensor. O Arduino realiza a leitura da informao do

15

LM35 e transmite atravs da porta serial ao computador, onde armazenada em uma string e exibida no software de supervisrio. O pino 5 do arduino, pino que permite controle de um sinal PWM, utilizado para o acionamento do mdulo de potncia que conectado ao atuador de temperatura. O sistema supervisrio faz o processamento do sinal de controle que enviado para o microcontrolador, que por sua vez converte em um Duty Cycle para o acionamento da carga. O protocolo de comunicao utilizado para o sistema Arduino Computador o protocolo serial, cuja a interface do MATLAB facilita a programao da porta serial do computador para troca de informaes com o Arduino, a aquisio de uma string contendo os dados pela porta serial uma vantagem (Arduino 2014). Devido a diversas interferncias observadas no processo de medio, foi necessrio a implementao de uma estratgia para diminuir o erro da medio de temperatura. Deste modo o microcontrolador coleta cerca de 100 pontos por medio e aplica o mtodo dos mnimos quadrados (2.2) , que nada mais que uma otimizao matemtica.

(2.2)

S o valor da minimizao da soma, N o nmero de valores correlacionados, os valores observados ou esperados para a temperatura e os valores medidos.

so

2.6

Supervisrio

Os sistemas supervisrios permitem que sejam monitoradas e rastreadas informaes de um processo produtivo ou instalao fsica. Tais informaes so coletadas atravs de equipamentos de aquisio de dados e, em seguida, manipulados, analisados, armazenados e, posteriormente, apresentados ao usurio. Um dos grandes desafios da atualidade programar um sistema supervisrio que possa garantir a confiabilidade e segurana dos sistemas. Os supervisrios devem ser projetados de modo a dar nfase somente nas informaes necessrias para o operador. Um dos principais ganhos deste trabalho foi o supervisrio desenvolvido atravs de programao orientada a objeto no MATLAB, Figura 2.12, o sistema possui trs funes. A primeira funo a leitura da varivel fornecida pelos controladores, a segunda funo o

16

clculo do sinal de controle e a terceira e no menos importante o envio da ao de controle aos atuadores. O Supervisrio desenvolvido permite o operador realizar ensaios em malha aberta e utilizar uma tcnica de controle. At o presente momento s foi implementado o controlador PID, abrindo uma margem para aprimoramento deste software. Assim como a seleo do modo de controle o sistema possibilita a escolha da porta serial que o microcontrolador est conectado de modo a evitar erros na comunicao entre os componentes.

Figura 2.12: TFGsoft Sistema supervisrio

As principais funcionalidades do supervisrio esto listadas a seguir: Seleo entre modo manual ou Automtico (Tcnica de controle); Possibilidade de interromper o processo, quando necessrio; Configurao, em tela, da taxa de amostragem do processo discreto e tempo de simulao. Seleo da quantidade de tanques que sero controlados; Grficos de tendncia do sinal de controle e das variveis;

17

Mudana do set point, assim como os parmetros do controlador;

Tratamento dos dados exportados para o workspace possibilitando a elaborao de um


relatrio de desempenho do sistema.

2.1.6

Concluso

Este captulo foi dedicado a abordagem de toda a descrio da planta de controle multivarivel de nvel e temperatura, tratando sua concepo, bem como adequao e melhorias. Apresentou-se tambm o desenvolvimento do sistema supervisrio, assim como suas caractersticas. O desenvolvimento do mdulo de potncia para o sensor de temperatura e da calibrao do sensor de temperatura foram abordados nas subsees 2.4.2 e 2.4.3. Suas caractersticas foram explicadas de forma simples e sucinta.

18

CAPTULO III

Embasamento terico para projeto de Controladores Multivarivel


3.1 Introduo

Esta seo trar uma fundamentao terica para melhor compreenso do tema que ser abordado neste trabalho. A Figura 3.1, traz um exemplo clssico de sistema de controle.

Figura 3.1: Sistema de controle clssico sem perturbao

Um sistema de controle uma interconexo de componentes conectados ou relacionados, de maneira a comandar, controlar ou ajustar a si mesmo ou outro sistema. Um controlador compara o valor real da sada do processo com o valor desejado, determina o desvio, produz um sinal de controle que reduz o desvio a um valor nulo ou muito pequeno. A maneira pela qual o controlador automtico produz o sinal de controle denominada ao de controle (Ogata, 2003). Existem diferente tipos de sistemas de controle, assim como diferentes divises. Os sistemas de controle so classicamente divididos em sistema de malha aberta, ou seja, no existe nenhum tipo de medio do sinal de sada para a realimentao do sistema. No controle de malha fechada, existe um sinal de erro, que a diferena entre o sinal de referncia e a resposta do processo. Este sinal enviado ao controlador para que possa ser minimizado, o controlador faz com que a sada tenda a um valor desejado set-point. A grande desvantagem do sistema de malha aberta, a incapacidade de corrigir os efeitos das perturbaes tendo em vista sua baixa sensibilidade as mesmas. O sistema de

19

malha fechada possui isso como um caracterstica positiva, em outras palavras, ele possui uma grande capacidade de correo de perturbaes.

3.2

Controlador PID clssico

As pesquisas mais recentes ainda apontam o controlador Proporcional-IntegralDerivativo (PID) como o mais comum utilizado nas indstrias atuais. De acordo com

Normey-Rico (2007) cerca de 95% das malhas industriais utilizam este tipo de controlador, devido a sua alta eficincia e o baixo custo de projeto. Um dos grandes fatores que influenciam a popularidade desses controladores a simplicidade nos ajustes de seus trs parmetros para se obter um bom desempenho e ao fato desses algoritmos estarem presentes em quase todos os equipamentos industriais (Luyben, 1990). Quando estuda-se controle clssico, a ao de controle geralmente calculada como uma combinao da ao proporcional, integral e derivativa (PID), do posicionamento dos plos, de compensadores em atraso e avano ou at mesmo da realimentao de estados. Um controlador PID projetado para atender uma determinada sintonia feita para o modelo matemtico ou regio de operao de um processo. Caso a referncia do processo esteja muito distante do ponto de operao, a ao de controle pode no ser efetiva, ou seja, a sada no estabilizar na referncia. O sinal de controle aplicado em um PID calculado em funo do sinal de erro (Astrom, 1988). A Figura 3.2, exemplifica uma malha de controle cujo controlador PID est presente.

Figura 3.2: Controlador PID em paralelo

20

A utilidade dos controladores PID est na aplicabilidade na maioria dos sistemas de controle, principalmente quando o modelo da planta no conhecido (Ogata, 2004). Em sistemas de alto desempenho importante que a sada do sistema acompanhe as variaes na entrada com um erro tendendo a zero. O objetivo da ao integral a eliminao dos possveis erros de rastreamento, causados por uma possvel perturbao planta. J a ao derivativa utilizada para melhorar a estabilidade do sistema, o comportamento do sinal no regime transitrio, como tambm diminuir tempo de acomodao do sistema. Considerando esses pontos, observasse que o controlador PID aplica aes que levam o sistema a estabilidade. O controlador PID pode ser representado pela seguinte funo de transferncia:

(3.1)

Onde

o ganho proporcional do sistema,

o ganho integral e

o ganho

derivativo do sistema. Como o processamento do computador digital, faz-se necessrio um estudo dos controladores PID discreto. Logo, o algoritmo do PID discreto poder ser igual a: (3.2) (3.3) (3.4)

Em que do sistema.

igual a constante de tempo integrativa do sistema, a constante de tempo derivativa, assim como

a parte integrativa a parte derivativa. O

tempo de amostragem do sistema descrito pela letra . Com isso o controlador PID discreto representado pela equao (3.2).

3.3

Sintonia de controladores clssicos

Sintonizar um sistema de controle buscar obter um ajuste timo de seus parmetros para um dado processo. Para isso, necessrio conhecer o comportamento deste, tanto do ponto de vista estacionrio quanto do ponto de visto transitrio. Com essas informaes

21

possvel determinar de maneira adequada a forma certa de agir sobre o processo de modo a obter um desempenho satisfatrio do sistema de controle (Bazanella e Silva 2005). Um dos fatores mais importantes para o ajuste final da sintonia do projeto do controlador a complexidade e o grau de exatido da planta, o grande problema que para obteno de um modelo mais exato o processo torna-se mais complicado. Caso seja considerado um modelo mais simples, o processo tem uma complexidade muito menor, porm o desempenho final do sistema pode no ser adequado. No entanto, um correto dimensionamento do modelo matemtico a ser utilizado, diminui a complexidade e aumenta a eficcia. Em outras palavras, no preciso de um modelo de orientao de satlite, para o controle de uma resistncia de chuveiro.

3.3.1

Mtodos empricos de sintonias de controladores

Como supracitado, o processo de selecionar parmetros do controlador que garantam as determinadas especificaes definido como sintonia do controlador. No ano de 1942, Ziegler e Nichols sugeriram regras para a sintonia de controladores PID, baseadas na resposta experimental ao degrau. Regras de Ziegler-Nichols: Eles propuseram regras para determinao dos parmetros do controlador PID. Essas determinaes podem ser feitas atravs de experimentos com a planta. Aps obteno da resposta da planta a uma entrada em degrau unitrio. Se a planta no possui integradores e nem polos complexos conjugados dominantes, ento essa curva de resposta ao degrau unitrio pode ter o aspecto de um S (Ogata,2003), como mostrado na Figura 3.4. O mtodo aplicado sempre que a curva da resposta ao degrau de entrada tiver aspecto de S.

22

Figura 3.3: Curva resposta em S Ziegler-Nichols.

A curva com formato em S pode ser caracterizada por duas constantes o atraso L e constante de tempo T. Para determinao do atraso e da constante de tempo, basta desenhar uma linha tangente no ponto de inflexo do sistema. Com isso a funo de transferncia poder ser aproximada a equao (3.5).

(3.5)

A Tabela 3.1 mostra as regras de sintonia para o mtodo citado. O mtodo foi descrito para sistemas de primeira ordem, porm ele pode ser aplicado em sistemas oscilatrios a partir do perodo de oscilao (Pu) e do ganho critico (a), Figura 3.4.

Figura 3.4: Resposta oscilatria - Ziegler-Nichols.

23

Tabela 3.1: Parmetros de sintonia pelo mtodo de Ziegler Nichols, primeira ordem.

K P control PI control PID control T/L 0.9 T / L 1.2 T / L

Ti

Td

3.3 L 2L

0.5 L

A Tabela 3.2 mostra os parmetros para sintonia para a resposta oscilatria do sistema.
Tabela 3.2: Parmetros de sintonia pelo mtodo de Ziegler Nichols, resposta oscilatria.

K P control PI control PID control a /2 a /2.2 a /1.7

Ti

Td

Pu/1.2 Pu/2

Pu/8

Mtodo CHR: baseado no artigo do Chien et al (1952). Este mtodo prope dois critrios de desempenho. O Primeiro critrio que a resposta mais rpida sem sobre-sinal e o outro a resposta mais rpida com um sobre-sinal de 20% da referncia. A grande vantagem desse mtodo a possibilidade da aplicao para os dois problemas mais clssicos de controle. O problema servo e o problema regulador. A partir das tabelas que foram definidas experimentalmente pode-se calcular os parmetros para ambos os problemas. De acordo com Normay-Rico (2007), o mtodo heurstico mais indicado para tratar problemas com o tempo morto sobressalentes, o mtodo de Cohen e Coon descrito pelos mesmos em 1953. Este mtodo requer que o processo seja aproximado por uma planta de primeira ordem com tempo morto. A grande vantagem que os parmetros so projetados para o algoritmo PID em paralelo (acadmico) e suas principais caractersticas so a agressividade em comparao com os mtodos anteriores e a possibilidade de dar um tempo morto maior que o previsto por Ziegler- Nichols. Sintonia pelo lugar das Raizes: A principal caracterstica da resposta transitrio do sistema em malha fechada depende essencialmente da localizao dos plos em malha fechada. Quando o ganho do sistema varivel a localizao depende do valor do ganho de malha escolhido. O objetivo do projeto do controlador pelo lugar das razes alocar os plos e zeros de malha aberta do sistema de modo a contemplar as especificaes previamente definida. Em

24

outras palavras, garantir o sobre-sinal, tempo de resposta menor e principalmente estabilidade do sistema. Ogata (2004) afirma que a ideia bsia do mtodo do lugar das razes a de que os valores de s que fazem a funo de transferncia ao longo da malha igual a -1 devem satisfazer a equao caracterstica do sistema, equao (3.6). (3.6)

Onde K o ganho a ser variado de modo que G(S), funo de transferncia do processo, atenda as especificaes. importante respeitar as condies de mdulo e fase dadas pelas seguintes equaes. (3.7) (3.8) O principal objetivo do mtodo analtico, um dos mais difceis de ser projetado a obteno de um valor de K de modo que o sistema tenha o comportamento desejado, para isso varia-se K de 0 a e observa o comportamento das razes do sistema.

Apesar de o mtodo oferecer indicaes dos parmetros do controlador, as especificaes do desempenho do sistema nem sempre alcanada. De maneira genrica a obteno do comportamento desejado do sistema depende de onde os zeros e plos foram alocados, portanto torna-se difcil o papel do projetista j que ele precisa escolher corretamente onde alocar os plos do sistema.

3.4

Abordagem de Multivarivel

Raramente encontrado um processo na indstria separado, geralmente os processos operam em conjunto. Nestes casos, o grau de no-linearidade muito mais alto em relao aos casos em que o processo trabalha na vizinhana de um ponto de equilbrio. Em um sistema no linear, quando a faixa de operao muito ampla possivelmente um modelo linear, ou at um modelo bilinear local no suficiente. Com base nisso proposto um controle em multivriaveis.

25

Outros processos mais complexos, apresentam vrias entradas e/ou vrias sadas, e so normalmente denominados MIMO (Multiple Input Multiple Output) dependendo da dependncia entre as malhas, estes processos tero vrias funes de transferncias, uma para cada par de entrada/sada (quando esta entrada pode alterar o valor da respectiva sada) (MACIEJOWSKI J. M., 1998); Sendo um sistema multivarivel com i entradas [ e j sadas

] as variveis de sadas podem ser representadas como um vetor y e as

entradas de controle como um vetor u (Franklin, 2005). A equao (3.9) representa isso:

(3.9) [ ] [ ]

Ao considerarmos o sistema linear, controlvel e observvel a representao na forma de uma matriz de transferncia, matriz composta por funes de transferncia do sistema, definida como:

(3.10) [ ] [ ] [ ]

Observa-se que a equao (3.10) fornece como resultado a matriz de transferncia de ordem e, cada elemento individual de representa a funo de

transferncia da relao entrada e sada do sistema. O objetivo relacionar a varivel manipulada U, entrada do sistema, com a varivel controlada Y, sada do sistema. A Figura 3.5 apresenta um exemplo simples de um controlador multivriavel de ordem dois. As referncias controladas e e e so as variveis de entrada do sistema, enquanto as variveis

so as variveis de sada. As variveis de comando so definidas como

e so provenientes das funes de transferncias dos controladores. fcil observar que

a uma interao entre as malhas de maneira a aumentar a complexidade do sistema em comparao com um sistema SISO (Single-input Single-output).

26

Figura 3.5: Sistema MIMO O Sistema SISO ou monovarivel o sistema que possui somente uma entrada para uma sada e eles vm sendo abordados desde o incio do trabalho. A maneira mais tradicional de se trabalhar com um sistema multivarivel atravs de equaes no espao de estado. As equaes 3.11 e 3.12 , so as equaes que definem as variveis no espao de estado. (3.11) (3.12) sendo x(t) os estados do sistema um vetor de dimenso n; As matrizes variam as dimenses a depender da quantidade de entradas e sadas do sistema.

3.5

Concluso

Este captulo foi dedicado para explanao da teoria de controle clssico, o projeto de controladores convencionais e a introduo ao problema que ser abordado ao longo da monografia, problema de multivarivel. As tcnicas para controle clssico e os seus algoritmos esto descritas na seo 3.2.

27

CAPTULO IV

Levantamento do Modelo Matemtico e Sintonia dos Controladores


4.1 Introduo

Os sistemas dinmicos independentes de sua origem (mecnica, hidrulica, trmica e etc...), podem ser descritos atravs de equaes diferenciais. J que o sistema dinmico apresentar uma resposta dependente da excitao em sua entrada, esse comportamento representar um modelo matemtico. Segundo Ogata (2003), a descrio matemtica das caractersticas de um sistema denominada modelo matemtico. Para comear a analisar qualquer sistema fundamental a obteno do modelo que descreve o comportamento do sistema. Nesta seo ser calculado o modelo do sistema analisado de modo a realizar os clculos tericos da sintonia dos controladores, aps ser aplicado no programa em uma parte que permita a simulao dos parmetros. Aps a simulao o modelo ser validado na plataforma experimental.

4.2

Modelagem matemtica

A modelagem matemtica de acordo com Aguirre (2007) a rea do conhecimento que estuda como desenvolver e implementar modelos matemticos em sistemas reais. Ele divide o processo de modelagem matemtica em dois tipos, o primeiro a modelagem caixa branca que nada mais que a modelagem fsica do processo, a modelagem conceitual, em outras palavras ela derivada das equaes matemticas que descrevem o processo. Esse tipo de modelagem pode ser bastante complexa em determinados sistemas. O outro tipo atravs da identificao do sistema, so aplicados mtodos empricos com o objetivo de levantar uma tendncia do sistema.

28

Na obteno de um modelo necessrio o estabelecimento de um compromisso entre a simplicidade do modelo e a preciso dos resultados da anlise. J que importante salientar que os resultados so garantidos somente na faixa de valores a qual o modelo se estende. O avano tecnolgico possibilitou a abordagem de outros modelos matemticos j que a capacidade de processamento e a velocidade com que os clculos so processados, aumentou a possibilidade de trabalhar cada vez mais com modelos mais complexos. Existem trs conceitos que so fundamentais para o entendimento da modelagem de sistemas. O primeiro conceito a Linearidade, para o sistema ser linear ele precisa satisfazer o principio da superposio. O segundo ponto a invarincia no tempo, quando realizada uma considerao a respeito da invarincia temporal implica dizer que a dinmica que est regulando a dinmica temporal a mesma. O terceiro e ltimo ponto a concentrao de parmetros, no qual as variveis de interesse s podem variar no tempo, ou seja, elas precisam ser invariantes no espao. Identificao do sistema: A identificao do sistema um procedimento alternativo que se prope a obter um modelo matemtico que explique a relao de efeito e causa presente nos dados. - (Aguirre, 2007). Para realizar a identificao do sistema precisam ser considerados cinco seguintes pontos: Testes dinmicos e coleta de dados; Escolha da representao matemtica a ser usada; Determinao da estrutura do modelo; Estimao de parmetros; Validao do modelo

A grande vantagem da identificao do sistema atravs do modelo caixa branca o conhecimento de todos os parmetros e variveis do processo, como citado anteriormente s vezes a identificao caixa branca extremamente complexa. O modelo caixa preta apresenta isso como uma grande desvantagem j que no possvel conhecer todos os paramtros. Aguirre (2007) define identificao caixa cinza como uma combinao entre o processo de identificao caixa branca com o processo de identificao caixa preta. A grande vantagem desse mtodo de identificao a possibilidade de obter todo o tipo de informao e parmetro do sistema a partir dos dados de entrada e sada.

29

De modo a uma identificao mais apropriada do sistema ser escolhido uma tcnica de identificao caixa cinza, a qual se faz necessrio das informaes de entrada e sada do sistema, j que a excitao e o comportamento do sistema so conhecidos. Apesar das tcnicas de identificao importante definir qual forma o sistema dever ser representado, pois existem diferentes formas que variam dependendo da aplicao. Os exemplos mais comuns de representao em equaes de estado, diagrama de bode, plano S, plano Z, funo de transferncia e at mesmo resposta impulso.

4.2.1

Levantamento do modelo da planta no ponto de operao

Para desenvolvimento do sistema multivarivel de controle de temperatura e nvel necessrio a definio do ponto de operao das duas variveis a serem trabalhadas, deste modo a identificao do sistema ser realizada, permitindo a simulao e implementao dos controladores. A planta desenvolvida possui algumas limitaes. A primeira delas que o atuador de temperatura no poder iniciar a operao junto ao atuador de nvel, pois se o tanque estiver vazio a resistncia ir sobre aquecer at queimar, para isso colocou-se um atraso de oitenta segundos entre um processo e outro. A geometria do tanque no influenciar na altura do nvel a qual o ponto de operao ser escolhido, pois a nica interligao entre a geometria dos tanques e o controle de temperatura a massa de gua que ser utilizada. De modo a manter o atuador de temperatura o maior tempo possvel em contato com a gua, sem ultrapassar as extremidades do atuador. Logo, o ponto de operao precisa ter como limite mximo 18 cm, j que nos 20 cm o lquido entra em contato com a extremidade superior do atuador, colocam-se dois centmetros como margem de segurana. O limite mnimo tem que ser nos 10 cm, j que cerca de 75% do atuador estar em contato com a gua e a geometria do tanque nesta regio constante. Visando o melhor aproveitamento dessa geometria coloca-se o ponto de operao do nvel em 13 cm. O dutycycle deste ponto de operao 78%, portanto para garantir melhor desempenho o sistema foi linearizado a partir de uma variao de do dutycycle. Assim o nvel linearizado na regio em que em mdia 5 cm entorno do ponto de equilbrio. O ponto de equilbrio para o sistema trmico foi adotado devido as caractersticas do sensor de temperatura, o datasheet da Texas Instruments diz que o sensor pode operar com , variando

30

uma faixa de

, porm devido a limitaes fsicas da planta e do atuador no ser

possvel trabalhar com temperaturas abaixo de zero. Como o comportamento do sensor essencialmente linear at este ser o limite mximo de variao, o valor do limite mnimo , portanto o ponto de operao , cerca de de variao.

definido pela temperatura ambiente que est entorno de ser de , com uma entrada variando de

Como o acoplamento dos dois sistemas no to forte, podemos considerar o nvel desacoplado em funo da temperatura, porm o inverso no verdadeiro, apesar de a variao ser muito pequena. O processo para caracterizao do sistema simples e foi baseado em Aguirre (2007). O primeiro passo levar os sistemas para os pontos de operao, aps isso aplicar um degrau na entrada do sistema de nvel mantendo a entrada do sistema de temperatura constante, aps o sistema alcanar a estabilidade adquire os dados e repete o processo agora mantendo o nvel constante e variando a temperatura. O algoritmo desenvolvido para obteno de um modelo de 2 ordem foi adotado para caracterizar o sistema. O algoritmo baseado no algoritmo de Sundaresan (DESHPANDE; ASH; 1981), este mtodo pressupe que o sistema em questo pode ser aproximado satisfatoriamente pela funo de transferncia descrita na equao (4.1).

(4.1)

Onde

o atraso tpico do sistema e as constantes

so as constantes de tempo

fixas. Este modelo utilizado na descrio de sistemas dinmicos de segunda ordem sobreamortecidos, como observado nos sistemas presentes na planta. Os sistemas sobreamortecidos so aqueles que no oscilam quando excitados por um degrau. A Figura 4.1 mostra uma resposta tpica de sistemas sobreamortecidos. Nessa figura o degrau de entrada unitrio e aplicado no instante . Alm disso, o sistema estvel em

regime permanente. Aguirre (2007) sugere determinar o ganho DC e depois normalizar os dados reais antes de aplicar o mtodo descrito.

31

Figura 4.1: Resposta ao degrau unitrio sistema sobreamortecido.

A Figura 4.2 ser utilizada para calcular um dos parmetros aplicados no mtodo.

Figura 4.2: Clculo do

A funo resposta apresenta o seu primeiro momento como a rea hachurada na Figura 4.1. A funo de transferncia e relacionam-se como demonstrado a equao (4.3).

(4.2)

(4.3)

32

Simplificando ainda mais a equao (4.3) encontrasse a equao (4.4) onde os parmetros so retirados.

(4.4)

Sendo que

(4.5)

O mtodo poder ser aplicado de maneira simples, basta seguir os pontos listados abaixo. Determinar o ganho em regime permanente dividindo-se a variao do sinal de sada pela amplitude do degrau aplicado entrada; Remova o valor da condio inicial e normalize os dados de maneira a ter uma resposta no formato da Figura 4.1; Determinar a rea sombreada na hachura que ser igual a Determinar a inclinao da tangente no ponto de inflexo Determinar permanente; Determinar Determinar ; a partir da Figura 4.2, substituindo na equao (4.5); ; ;

que a interseo da tangente com o valor de regime

Finalmente calcular as constantes de tempo desejadas.

(4.6)

(4.7)

(4.8)

33

Os resultados da modelagem sero mostrados nos grficos 4.3 Sistema foi normalizado entorno dos pontos de operao. Para levantar os modelos seguiram-se os passos supracitados.

Figura 4.3: Resposta coluna I dado degrau bomba I (Sundaresan).

Como observado na Figura 4.3 o valor da constante de tempo do modelo est muito distante da constante de tempo do sistema. O ponto de inclinao mxima utilizado para clculo dos parmetros obtido a partir da derivada do sistema, equao (4.3) como o sinal possui um rudo essa derivada se distingue do valor real, levando a possveis erros. Na tentativa de obteno de um modelo mais fidedigno, foi aplicado um outro mtodo de identificao descrito por Aguirre (2007). Como os sistemas possuem polos reais estveis e o efeito do zero praticamente nulo, optou-se por aplicar um modelo de sistema de primeira ordem. O Sistema de primeira ordem apresenta uma resposta tpica, igual a equao (4.9) abaixo.

(4.9)

Onde K o ganho em malha aberta do sistema e

a constante de tempo do sistema. A

constante de tempo registrada no ponto em que a curva possui 63.2% do valor, os demais parmetros podem ser calculados pela Figura 4.4. A partir desse modelo sero levantadas as funes de transferncia do sistema.

34

Figura 4.4: Modelo para sistema de primeira ordem.

O Grfico 4.5 refere-se a resposta da coluna I devido a um degrau aplicado na entrada no valor de 5% do duty Cycle. O modelo matemtico obtido do algoritmo de

identificao est presente na Figura 4.5. A constante de tempo 1 igual a 54s.

Figura 4.5: Resposta coluna I dado degrau bomba I.

35

Tabela 4.1: Plos, Ganho do sistema em malha aberta e taxa de amostragem para o acoplamento

Modelo Plo 1 Kp (no normalizado) Taxa de amostragem

Contnuo -0,0185 0,7088 N.A

(4.10)

O Grfico 4.6 traz a resposta da temperatura no tempo, mas devido a atraso de medies o sinal captado possui um rudo, devido resposta do sensor.

Figura 4.6: Resposta Temperatura coluna I dado degrau bomba I.

O Grfico 4.7 refere-se a resposta da temperatura na coluna I devido a um degrau aplicado na entrada no valor de 5% do duty Cycle, normalizado. O modelo matemtico

obtido do algoritmo de identificao comparado com o valor real do sistema normalizado est presente na Figura 4.7. Aps a normalizao do sistema ficou mais fcil observar o valor da constante de tempo, que igual a 504s.

36

Figura 4.7: Resposta e modelo Temperatura coluna I dado degrau bomba I.

Tabela 4.2: Plos, Ganho do sistema em malha aberta e taxa de amostragem para o acoplamento .

Modelo Plo 1 Kp (no normalizado) Taxa de amostragem

Contnuo -0,0020 0,1402 N.A

(4.11)

Como explicado anteriormente para levantar as outras funes de transferncia basta manter no ponto de operao os sistemas e variar a entrada , observou-se que a variao da

temperatura no influenciou o nvel do sistema, portanto a funo de transferncia nula. Ao aplicar um Duty Cycle de 5% na entrada

, a temperatura do sistema variou de

maneira crescente e com um comportamento aproximadamente de um sistema de primeira ordem. A Figura 4.8 a resposta do sistema ao degrau em .

37

Figura 4.8: Resposta Temperatura coluna I dado degrau ebulidor.

A Figura 4.9 apresenta a comparao com o modelo de primeira ordem e o sistema analisado.

Figura 4.9: Resposta Temperatura coluna I dado degrau ebulidor Tabela 4.3: Plos, Ganho do sistema em malha aberta e taxa de amostragem para o acoplamento .

Modelo Plo 1 Kp (no normalizado) Taxa de amostragem

Contnuo -0,0005 0,7424 N.A

38

(4.12)

As Tabelas 4.1, 4.2 e 4.3 apresentam os plos das funes de transferncia que descreve o comportamento do sistema. Desta forma obtemos a matriz de transferncia do sistema, equao (4.13). A seo a seguir ser a respeito da sintonia dos controladores.

(4.13)

4.3

Sintonia dos controladores

A seo anterior tratou-se do processo de criao de um modelo matemtico que descreve o comportamento do sistema, esta seo diz respeito ao processo de sintonia dos controladores propostos. De acordo com Bazanella e Silva (2005), sintonizar um sistema de controle obter o ajuste adequado para um processo. Em outras palavras importante escolher parmetros que levem o seu processo para o comportamento desejado no regime estacionrio, no esquecendo das condies transitrias, pois elas podem causar problemas indesejveis para o processo. A estratgia de sintonia para o controlador projetado foi a dominncia modal. Esta estratgia foi utilizada no projeto do controlador via lugar das razes para a variao da referncia, ou seja, na determinao dos plos de malha fechada , pode-se de um plo estvel que est prximo de um zero do controlador, em outras palvras o zero do controlador minimizar o efeito do plo mais lento do processo, aquele que est prximo a origem. Logo, os plos dominantes do sistema passam a estar mais afastado da origem tornando o sistema mais rpido. Os parmetros adotados para o projeto do controlador so os seguintes: Sistema com sobressinal inferior a 15%; Erro nulo para entrada degrau; Tempo de resposta inferior a 85% do tempo de malha aberta.

39

Como o sistema real importante fazer a preveno da no saturao dos atuadores, para garantir a confiabilidade da planta.

4.3.1

Controlador PI

O projeto do lugar das razes baseado em redesenhar o sistema a partir das intersees dos plos em malha aberta. Os plos e zeros do controlador so alocados com o intuito dos plos do sistema de malha fechada coincidam com o lugar das razes da resposta desejada no domnio da frequncia. Neste trabalho os plos e zeros do controlador foram projetados de modo a atender as configuraes do sistema elucidada na seo 4.3. A vantagem na utilizao de um PI a caracterstica que o erro do sistema em regime permanente igual a zero, como uma das condies possuir o erro para a resposta ao degrau nulo, portanto o controlador escolhido o PI. O controlador PI possui um plo na origem e um zero que deve ser alocado prximo ao plo dominante do sistema de malha aberta. O zero do controlador ser fixado de modo que o plo de malha aberta fique a 5% a esquerda, com o objetivo de tornar o sistema mais rpido. O lugar das razes do sistema dado pelas Figuras 4.10 e 4.11, aps isso sero aplicadas as estratgias supraditas de modo a encontrar os parmetros do controlador.

Figura 4.10: Lugar das razes da funo de transferncia

40

Figura 4.11: Lugar das razes da funo de transferncia

A resposta simulada do sistema de malha aberta aps a insero do controlador dada nas Figuras 4.12 e 4.13. Referente ao controle das funes de transferncia de .

Figura 4.12: Lugar das razes da funo de transferncia

41

Figura 4.13: Lugar das razes da funo de transferncia

A equao do PID foi citada na seo 3.2, a transformao para o PI basta considerar que o ganho derivativo da equao (3.1) nulo. As equaes (4.14) e (4.15) so referentes aos controladores PIs projetados neste trabalho, na prxima seo eles sero avaliados.

(4.14) (4.15)

O modelo esperado das respostas do sistema est representado na Figura 4.14.

Figura 4.14: Resposta simulada da funo de transferncia

42

A tabela 4.4 mostra os parmetros de sintonia do sistema bem como o tempo de resposta do sistema simulado.
Tabela 4.4: Parmetros do PI e tempo de resposta.

Modelo Kp Ki Kd

PI11 10 0.1944 N.A

PI22 215 0.1121 N.A

No possvel rejeitar totalmente a perturbao causada na temperatura pela variao do nvel, j que os sistemas esto acoplados. Como no existe uma forma de esfriar a temperatura sem a variao do nvel optou-se por manter o acoplamento entre os tanques.

4.4

Concluso

Neste captulo foi demonstrado um pouco da teoria de identificao sistemas e procedimentos utilizados para sintonia dos controladores. Diferentemente do que abordado na graduao, precisou-se modelar um sistema multivarivel entorno de um ponto de operao, este mtodo de identificao foi descrito na subseo 4.2.1. Foi abordado tambm neste capitulo a sintonia do controlador via lugar das razes a estratgia adotada para o controle do sistema, o projeto do controlador PI e sua melhoria na resposta do sistema.

43

CAPTULO V

Resultados
5.1 Introduo

A analise de resultados tem uma grande importncia para comprovao da teoria e os algoritmos desenvolvidos. Isso permite prever quais problemas os controladores conseguiro resolver, um exemplo clssico para este projeto que fora da regio do ponto de operao o controlador no ter um bom resultado. Uma grande necessidade de uma planta real de controle a robustez do processo, j que o controlador necessita seguir a referncia mesmo com as perturbaes externas. O rudo e no linearidade dos componentes podem prejudicar as medies. A analise dos resultados experimentais dada para minimizar essas influncias. As prximas sees sero dedicadas a ensaios do controlador e comprovao do modelo utilizado.

5.2

Mtrica de avaliao de desempenho

O comportamento da sada de um sistema estvel de controle poder ser dividido em duas partes. A primeira parte regime transitrio, onde o sistema possui um determinado comportamento referente a quebra da inercia do sistema, est parte inicia no tempo zero e vai at o sistema est a 2% da referncia. A segunda parte o regime permanente ou estacionrio, que representa o comportamento do sistema quando o tempo tende ao infinito. O intuito dos mtodos de avaliao minimizar o erro em regime estacionrio, entre a sada e a referncia. A qualidade do controlador depende da varivel controlada se manter prxima a referncia, setpoint, mesmo em presena de perturbaes externas. O desempenho do controlador desenvolvido ser avaliado pelo mtodo da integral do erro absoluto (IAE).

44

O mtodo da integral do erro absoluto (IAE) pode ser calculado atravs de uma integral no domnio tempo, entorno de , limites de avaliao e , o erro absoluto sem

ponderao. A equao (5.1) representa o mtodo IAE.

(5.1)

5.3

Ensaios do controlador

Foram realizados diversos testes de variao da referncia (Servo) para verificar a influncia da variao do nvel na temperatura. Um fator observado que como no havia reposio da gua do tanque, ou seja, um tanque pulmo com agua fria, com o passar do tempo o efeito do acoplamento entre o nvel e a temperatura foi diminuindo, pois toda a massa de gua do tanque observado estava sendo aquecida. O sistema tambm ser avaliado com a questo da perturbao externa, este ensaio tem que ser feito primeiramente, pois com o passar do tempo a variao do nvel vai perdendo influncia na temperatura tendo em vista que a temperatura do tanque vai ficando homognea, como supracitado. A Figura 5.1 mostra a resposta do sistema para uma excitao na coluna I. A seguir so listadas as condies a qual foi excitada. Ponto de operao 13cm; Referncia de 15 cm; Tempo de resposta malha aberta 54 s .

45

Figura 5.1: Resposta da Coluna I a partir de uma variao na referncia I.

Observa-se que a resposta do sistema em malha fechada com o controlador foi de 44 s, ou seja, o controlador projetado atendeu a primeira das especificaes dos critrios de projeto. A partir da Figura 5.1, observa-se que o sobressinal do sistema nulo, pois o sinal de sada no possui picos superiores referncia, segunda condio satisfeita. A terceira e ultima condio o erro de referncia nulo, apesar do controlador projetado ser do tipo PI, onde o erro deveria ser nulo o sistema apresenta pequenos erros, inerentes aos componentes da planta. Para melhor avaliar o erro absoluto, o mtodo IAE ser aplicado no final da seo. O mesmo ensaio foi repetido para a temperatura, entrada foi mantida no ponto de

operao enquanto a referncia da temperatura foi variada. A Figura 5.2 descreve como ocorreu essa variao. Abaixo est listado os parmetros do ensaio. Ponto de operao Ponto de referncia ; ;

Tempo de resposta em malha aberta 2013s.

46

Figura 5.2: Resposta da Temperatura a partir de uma variao na referncia II.

A Figura 5.2 permite uma analise detalhada de como o sistema controlado por temperatura se comportou em malha fechada com o controlador PI. Observa-se uma reduo considervel no tempo de resposta, cerca de 50%. Assim como o sistema no apresentou sobressinal. Pode-se afirmar que o controlador opera com boas condies. Como explicado anteriormente, o ensaio a perturbao do sistema foi realizado a partir da variao da referncia entrada oposta do sistema, ou seja, variao da referncia do nvel para avaliar o comportamento da temperatura. Assim como a variao da temperatura para avaliar o comportamento do nvel. Em ensaios laboratoriais percebeu-se que no existe acoplamento entre a temperatura e nvel quando se trata da variao da temperatura, em outras palavras o nvel no alterado quando a referncia da temperatura alterada. Portanto, a componente nula, como demonstrado na subseo 4.2.1. A Figura 5.3 demonstra o comportamento da temperatura devido a variao do nvel. O acoplamento entre a variao do nvel na temperatura, o grande responsvel pela resposta do sistema. possvel observar que o controlador consegue rejeitar a perturbao com um tempo inferior ao do sistema de malha aberta. da matriz

47

Figura 5.3: Acoplamento entre Temperatura nvel.

Apesar do rudo inerente do sinal medido, possvel constatar que o sistema sofre uma pequena perturbao ao longo dos 200 primeiros segundos aps esse tempo o controlador passa a agir e retoma para o valor de referncia.

5.4

. Avaliao do Desempenho

A aplicao de tcnicas avanadas de controle trar uma melhor resposta para o sistema, por isso no prximo captulo sero citadas essas tcnicas como possveis trabalhos futuros. O erro integral absoluto (IAE) referente ao projeto foi calculado e est exemplificado na tabela 5.1.
Tabela 5.1: Clculo do erro absoluto (IAE) para os controladores.

Controlador PI Coluna I Temperatura I Malha Aberta

IAE 1353,15 1163.87 N.A

48

O desempenho do controlador ser realizado com sua comparao com a resposta em malha aberta, para isso as funes de transferncia em malha aberta e malha fechada sero normalizadas e o tempo de resposta ser aferido graficamente. As Figuras 5.4 e 5.5 so referentes as comparaes citadas acima. fcil observar a melhora considervel no tempo de resposta a garantia de que o sobressinal no existe e que o erro em regime permanente nulo, portanto o objetivo do projeto foi cumprido.

Figura 5.4: Comparao entre resposta do nvel Malha Aberta e Fechada.

Figura 5.4: Comparao entre resposta do nvel Malha Aberta e Fechada.

49

5.5

Concluso

Neste captulo, foi abordado a metodologia dos ensaios em malha aberta com o controlador e os resultados obtidos na aplicao do controlador PI. Foi apresentada a importncia da avaliao do sistema por meio de mtricas, a mtrica abordada foi a integral do erro absoluto (IAE). No final foram apresentados grficos de comparao entre as respostas do sistema em malha aberta e fechada.

50

CAPTULO VI

Concluso e Trabalhos Futuros


6.1 Concluso

Este trabalho teve como principal objetivo a aplicao das teorias de controle vista ao longo da graduao de engenharia eltrica de maneira prtica. Ao longo da carreira do estudante de engenharia eltrica, os processos e as malhas de controle so estudados de maneira terica e com pouca nfase prtica. O projeto inicial objetiva a criao de uma plataforma de emulao para controle do nvel e temperatura. O processo de concepo e montagem foram descritos nas sees anteriores, de modo que os estudantes possam reproduzir o projeto desenvolvido. As aplicaes de tcnicas de controle em um kit de nvel e temperatura foram bastante compensadoras, possibilitando o estudante ver de maneira fsica um processo que largamente utilizado na indstria e que no ver ao longo de sua carreira acadmica. Como ao longo do curso tudo isso visto no ponto da simulao, os erros eram muito mais fceis de serem corrigidos, j que bastava algumas linhas de cdigo para fazer essa correo. Essa dificuldade foi o fator mais importante para o aprendizado ao longo do desenvolvimento do trabalho. Um grande problema encontrado era como isolar o sistema de temperatura de modo a evitar o contato com a gua nos terminais do sensor, porm garantido o contato da estrutura do sensor no liquido, diversas solues foram tentadas (Fita isolante de alta fuso, fio flexvel, durepox, siliconte e etc...). porm com o tempo os componentes se humedeciam e entrava em curto. O desafio principal do projeto foi a concepo da parte fsica e da criao de um novo software para programao organizado e que agregasse diversas funes, possibilitando a comunicao com um microcontrolador. Apesar das dificuldades encontradas foi possvel a aplicao de tcnicas de modelagem do sistema, com intuito de construo de um modelo matemtico para representar o comportamento do sistema. O conhecimento agregado nas diversas tentativas para caracterizao do sistema, este conhecimento foi de extrema importncia para a vida profissional de um engenheiro de controle.

51

Com o modelo levantado foi possvel a aplicao das tcnicas de controle clssicas, aumentando o desempenho da planta. O sistema supervisrio desenvolvido de grande utilidade para alterar os parmetros do sistema e verificar o comportamento das variveis.

6.2

Trabalhos futuros

O desenvolvimento de trabalhos futuros depende da melhoria do software, do Hardware e novas ideias de aplicao. O kit est em condies de trabalho e possui uma interface amigvel para programao, foi construdo com uma linguagem de alto nvel e programao orientada objeto. Pode-se aplicar novas tcnicas de controle, como controladores preditivos, outras tcnicas de controle pra multivariveis. No passado o kit de nvel era amplamente utilizado para implementao de diferentes tcnicas agora, o kit possui uma varivel manipulada a mais. O desenvolvimento de um sistema de alimentao autnomo e distinto da rede eltrica de maneira a aumentar a eficincia energtica do sistema pode ser um ponto a ser trabalhado. O sensor de temperatura bsico e possui uma boa resposta, porm poderia ser substitudo por um sensor de preciso maior que pode operar com outros ranges de temperatura. O sinal referente da temperatura possui um rudo inerente ao processo que pode ser corrigido por meio de um filtro digital. A melhoria da planta e da disposio dos equipamentos um ponto que poder ser abordado no futuro, de modo a possibilitar a implementao de novas variveis, podendo ser construdo um multivarivel com mais entradas e sadas controladas. No futuro o modulo de potncia poder ser substitudo por um rel de estado solido para acionamento das bombas e enfim substituio do PLC para um microcontrolador, que possibilitar o uso de novas tecnologias, como acompanhar o supervisrio via celular ou internet, envio de sinais bluetooth. O Programa supervisrio no est em verso definitiva, ele possui poucas funcionalidades. Outras funcionalidades podem ser acrescentadas como uma parte do programa para modelagem do sistema e mtodos para avaliao do desempenho do sistema.

52

REFERNCIAS

53

Apndice A

Programas e Algoritmos Implementados


A.1 Interface Homem-maquina

function medidordetemperatura h=struct; janela; cd clc function janela(hObject,eventdata) h.j_g=figure('Position',[10 170 700 500]); set(h.j_g,'Resize','off','Name','Controlador de Temperatura e Nivel',... 'NumberTitle','off','Menu','none'); a=findall(h.j_g); %% Eliminando os icones para ajuste de figura b=findall(a,'ToolTipString','Show Plot Tools'); set(b,'Visible','Off') b=findall(a,'ToolTipString','Hide Plot Tools'); set(b,'Visible','Off') b=findall(a,'ToolTipString','Print Figure'); set(b,'Visible','Off') b=findall(a,'ToolTipString','Save Figure'); set(b,'Visible','Off') b=findall(a,'ToolTipString','Open File'); set(b,'Visible','Off') b=findall(a,'ToolTipString','New Figure'); set(b,'Visible','Off') b=findall(a,'ToolTipString','Insert Legend'); set(b,'Visible','Off') b=findall(a,'ToolTipString','Insert Colorbar'); set(b,'Visible','Off') b=findall(a,'ToolTipString','Rotate 3D'); set(b,'Visible','Off') b=findall(a,'ToolTipString','Edit Plot'); set(b,'Visible','Off') b=findall(a,'ToolTipString','Link Plot'); set(b,'Visible','Off') b=findall(a,'ToolTipString','Link Plot'); set(b,'Visible','Off')

%% Inicializando Comunicao serial (Controle de temperatura) h.gr=1; h.cordalinha=[0 0 1]; h.lx=[0 100];

54

h.ly=[0 40]; h.un='(C)'; h.valores_T=[]; h.valores_N=[]; h.valores_SCT=[]; h.valores_SCN=[]; h.vetor_tempo=[]; h.SP1=0;h.SP2=0;h.KP1=0;h.KP2=0;h.KI1=0;h.KI2=0;h.KD1=0;h.KD2=0;h.OffSet1=0;h.OffSet2=0;h.MV1=0; h.MV2=0; h.hora=agora; h.modo=1; h.teste=0; h.porta='COM1'; h.porta_callback={ @callCOM0 @callCOM1 @callCOM2 @callCOM3 @callCOM4 @callCOM5 @callCOM6 @callCOM7 @callCOM8 @callCOM9};

%%h.a=fopen(['C:\Users\Lucas\Documents\UFBA\TFG\medidor_temperatura\temperatura.txt']); try h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch erroporta; end %% Inicializando comunicao com o CLP h.da = opcda('localhost','rslinx remote opc server'); connect(h.da) h.grp = addgroup(h.da,'QUALQUER'); h.itm1 = additem(h.grp,{'[new_topic]local:1:i.ch0data'}); h.out1 = additem(h.grp,{'[new_topic]local:1:o.ch0data'}); h.na1=read(h.itm1); h.n1=double(h.na1.Value); %% Menu Arquivo set(h.j_g,'CloseRequestFcn',@fechar); h.mn=uimenu(h.j_g,'Label','Arquivo'); h.mn_escolherporta=uimenu(h.mn,'Label','Escolher porta',... 'callback',@escolhaporta); h.mn_escolhermodo=uimenu(h.mn,'Label','Escolher modo',... 'callback',@escolhamodo); h.mn_fechar=uimenu(h.mn,'Label','Fechar','Callback',@fechar,... 'Separator','on'); h.mnv=uimenu(h.j_g,'Label','Opes'); h.mnv_esq=uimenu(h.mnv,'Label','Visualizar','Callback',@Varinsta);

55

h.mna=uimenu(h.j_g,'Label','Ajuda'); h.mna_esq=uimenu(h.mna,'Label','Esquemtico','Callback',@esquematico); h.mna_sobre=uimenu(h.mna,'Label','Sobre','Callback',@sobre);

warning('off','MATLAB:HandleGraphics:ObsoletedProperty:JavaFrame'); jframe=get(h.j_g,'javaframe'); jicon=javax.swing.ImageIcon('C:\Documents and Settings\Usuario\Desktop\Lucas\TFG\Controlador\burn.png'); jframe.setFigureIcon(jicon); %% Definio da janela 1 % Parametros Nivel h.png1=uipanel(h.j_g,'Title','Parametros do controlador','BackgroundColor',.8*[1 1 1]); set(h.png1,'Position',[0 0.55 .3 .45]); h.txg1=uicontrol(h.png1,'Style','text',... 'Position',[20 180 30 15],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','Nivel:'); h.txg2=uicontrol(h.png1,'Style','text',... 'Position',[5 160 45 15],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','Setpoint:'); h.edg2=uicontrol(h.png1,'Style','edit',... 'Position',[50 160 25 15]); h.txg3=uicontrol(h.png1,'Style','text',... 'Position',[5 140 20 15],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','KP:'); h.edg3=uicontrol(h.png1,'Style','edit',... 'Position',[50 140 25 15]); h.txg4=uicontrol(h.png1,'Style','text',... 'Position',[5 120 15 15],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','KI:'); h.edg4=uicontrol(h.png1,'Style','edit',... 'Position',[50 120 25 15]); h.txg5=uicontrol(h.png1,'Style','text',... 'Position',[5 100 20 15],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','KD:'); h.edg5=uicontrol(h.png1,'Style','edit',... 'Position',[50 100 25 15]); h.txg6=uicontrol(h.png1,'Style','text',... 'Position',[5 80 35 15],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','Offset:'); h.edg6=uicontrol(h.png1,'Style','edit',... 'Position',[50 80 25 15]); h.txg7=uicontrol(h.png1,'Style','text',... 'Position',[5 60 40 15],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','MV(%):'); h.edg7=uicontrol(h.png1,'Style','edit',... 'Position',[50 60 25 15]);

56

%Parametros Temperatura h.txg8=uicontrol(h.png1,'Style','text',... 'Position',[120 180 80 15],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','Temperatura:'); h.txg9=uicontrol(h.png1,'Style','text',... 'Position',[115 160 45 15],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','Setpoint:'); h.edg9=uicontrol(h.png1,'Style','edit',... 'Position',[160 160 25 15]); h.txg10=uicontrol(h.png1,'Style','text',... 'Position',[115 140 20 15],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','KP:'); h.edg10=uicontrol(h.png1,'Style','edit',... 'Position',[160 140 25 15]); h.txg11=uicontrol(h.png1,'Style','text',... 'Position',[115 120 15 15],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','KI:'); h.edg11=uicontrol(h.png1,'Style','edit',... 'Position',[160 120 25 15]); h.txg12=uicontrol(h.png1,'Style','text',... 'Position',[115 100 20 15],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','KD:'); h.edg12=uicontrol(h.png1,'Style','edit',... 'Position',[160 100 25 15]); h.txg13=uicontrol(h.png1,'Style','text',... 'Position',[115 80 35 15],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','Offset:'); h.edg13=uicontrol(h.png1,'Style','edit',... 'Position',[160 80 25 15]); h.txg14=uicontrol(h.png1,'Style','text',... 'Position',[115 60 40 15],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','MV(%):'); h.edg14=uicontrol(h.png1,'Style','edit',... 'Position',[160 60 25 15]);

h.btg1=uicontrol(h.png1,'Style','push',... 'Position',[60 10 104 33],'String','Definir Parametros',... 'Callback',@Dpar);

%% Definio da janela 7 h.png7=uipanel(h.j_g,'Title','Tempo de Simulao','BackgroundColor',.8*[1 1 1]); set(h.png7,'Position',[0 0.34 .3 .2]); h.txg15=uicontrol(h.png7,'Style','text',... 'Position',[10 50 60 20],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','Tempo(s):'); h.edg15=uicontrol(h.png7,'Style','edit',... 'Position',[75 52.5 60 20]); h.txg16=uicontrol(h.png7,'Style','text',...

57

'Position',[145 45 60 20],'BackgroundColor',.8*[1 1 1],... 'String','0','FontSize',10,'HorizontalAlignment','Center',... 'Enable','off'); h.txg17=uicontrol(h.png7,'Style','text',... 'Position',[145 66 60 20],'BackgroundColor',.8*[1 1 1],... 'String','Regr.(s)','Enable','off'); h.btg15=uicontrol(h.png7,'Style','push',... 'Position',[60 10 51 33],'String','Iniciar',... 'Callback',@plotargrafico); h.btg16=uicontrol(h.png7,'Style','toggle',... 'Position',[112 10 51 33],'String','Parar',... 'Enable','off'); %% Definio da janela 8 h.png8=uipanel(h.j_g,'Title','Exportar para Workspace','BackgroundColor',.8*[1 1 1]); set(h.png8,'Position',[0 0.09 .3 .23]); h.txg18=uicontrol(h.png8,'Style','text',... 'Position',[5 80 104 15],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','Nome da Vriavel:'); h.txg20=uicontrol(h.png8,'Style','text',... 'Position',[5 60 40 15],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','Nivel:'); h.edg20=uicontrol(h.png8,'Style','edit',... 'Position',[50 60 25 15]) h.txg21=uicontrol(h.png8,'Style','text',... 'Position',[90 60 80 15],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','Temperatura:'); h.edg21=uicontrol(h.png8,'Style','edit',... 'Position',[170 60 25 15]) h.btg18=uicontrol(h.png8,'Style','push',... 'Position',[60 10 51 33],'String','Enviar',... 'Callback',@salvarws); h.btg19=uicontrol(h.png8,'Style','push',... 'Position',[112 10 51 33],'String','Salvar',... 'Callback',@salvar_variaveis); %% Definio da janela 9 h.png9=uipanel(h.j_g,'BackgroundColor',.8*[1 1 1]); set(h.png9,'Position',[0 0 0.99 .09]); h.txg19=uicontrol(h.png9,'Style','text',... 'Position',[140 13 400 20],'BackgroundColor',.8*[1 1 1],... 'String','Trabalho Final de Graduao: Lucas Carneiro','FontSize',12, 'Enable','off'); %% Grfico %Sinal de Controle Nivel h.png4=uipanel(h.j_g,'title','Sinal de Controle Nivel','backgroundcolor',.8*[1 1 1]); set(h.png4,'position',[0.305 0.55 .34 .45]); h.axg1=axes('parent',h.png4,'position',[0.13 0.13 .8 .75]); title(['Sinal de controle ' ' x tempo (s)'])

58

set(h.axg1,'XLim',[0 2000]) set(h.axg1,'YLim',[0 100]) if h.gr; grid on; elseif ~h.gr; grid off; end hold on %Nivel h.png5=uipanel(h.j_g,'title','Controle de Nivel','backgroundcolor',.8*[1 1 1]); set(h.png5,'position',[0.65 0.55 .34 .45]); h.axg2=axes('parent',h.png5,'position',[0.13 0.13 .8 .75]); title(['Nivel(cm) ' ' x tempo (s)']) set(h.axg2,'XLim',[0 2000]) set(h.axg2,'YLim',[-5 20]) if h.gr; grid on; elseif ~h.gr; grid off; end hold on

%Sinal de Controle Temperatura h.png6=uipanel(h.j_g,'title','Sinal de Controle Temperatura','backgroundcolor',.8*[1 1 1]); set(h.png6,'position',[0.305 0.09 .34 .45]); h.axg3=axes('parent',h.png6,'position',[0.13 0.13 .8 .75]); title(['Sinal de Controle ' ' x tempo (s)']) set(h.axg3,'XLim',[0 2000]) set(h.axg3,'YLim',[0 100]) if h.gr; grid on; elseif ~h.gr; grid off; end hold on %Controle Temperatura h.png6=uipanel(h.j_g,'title','Controle da Temperatura','backgroundcolor',.8*[1 1 1]); set(h.png6,'position',[0.65 0.09 .34 .45]); h.axg4=axes('parent',h.png6,'position',[0.13 0.13 .8 .75]); title(['Temperatura(C) ' ' x tempo (s)']) set(h.axg4,'XLim',[0 2000]) set(h.axg4,'YLim',[20 60]) if h.gr; grid on; elseif ~h.gr; grid off; end hold on

59

end %% Funo Sobre function sobre(hObject,eventdata) h.j_sobre=figure; set(h.j_sobre,'Name','Sobre','NumberTitle','off',... 'WindowStyle','modal','Resize','off','Position',[500 200 350 493]); warning('off','MATLAB:HandleGraphics:ObsoletedProperty:JavaFrame'); jframe=get(h.j_sobre,'javaframe'); jicon=javax.swing.ImageIcon('C:\Documents and Settings\Usuario\Desktop\Lucas\TFG\Controlador\burn.png'); jframe.setFigureIcon(jicon); ax=axes('Parent',h.j_sobre,'Position',[0 0 1 1]); im=imread('C:\Documents and Settings\Usuario\Desktop\Lucas\TFG\Controlador\sobreim.png'); imshow(im); end %% Esquemtico function esquematico(hObject,eventdata) h.j_esq=figure; set(h.j_esq,'Name','Esquemtico','NumberTitle','off',... 'WindowStyle','modal','Resize','off','Position',[500 200 1*600 1*424]); warning('off','MATLAB:HandleGraphics:ObsoletedProperty:JavaFrame'); jframe=get(h.j_esq,'javaframe'); jicon=javax.swing.ImageIcon('C:\Documents and Settings\Usuario\Desktop\Lucas\TFG\Controlador\burn.png'); jframe.setFigureIcon(jicon); ax=axes('Parent',h.j_esq,'Position',[0 0 1 1]); im=imread('C:\Documents and Settings\Usuario\Desktop\Lucas\TFG\Controlador\esq_im.png'); imshow(im); end

%% Controlador de Temperatura %Sensor function lerdados(hObject,eventdata) enviarstring('amor'); h.t=fscanf(h.a); h.t=char(h.t); end function escreverdados(hObject,eventdata) if h.Saida2(h.k)>=100 b=['b' sprintf('%i',h.Saida2(h.k))]; enviarstring(b); elseif h.Saida2(h.k)>=10 && h.Saida2(h.k)<100 b=['b0' sprintf('%i',h.Saida2(h.k))]; enviarstring(b); else b=['b00' sprintf('%i',h.Saida2(h.k))]; enviarstring(b); end

end

60

function escreverdadosnulos(hObject,eventdata) enviarstring('copo'); end

function plotargrafico(hObject,eventdata) h.DT=str2num(get(h.edg15,'String')); if isempty(h.DT) || ~isreal(h.DT); errordlg('O valor deve ser real'); elseif sign(h.DT)==-1 || sign(h.DT)==0; errordlg('O valor deve positivo'); elseif h.DT<1; errordlg('O valor deve ser maior que 1'); else try if fix(h.DT)~=h.DT/1; warndlg(sprintf('O valor do intervalo de tempo deve ser inteiro, ser usado o valor de %.0f',fix(h.DT))); end % fprintf(h.a,'c'); set(h.btg1,'Enable','off') set(h.btg15,'Enable','off') set(h.btg16,'Enable','on') set(h.btg18,'Enable','off') set(h.btg19,'Enable','off') set(h.txg16,'Enable','on') set(h.txg17,'Enable','on') cla(h.axg1) cla(h.axg2) cla(h.axg3) cla(h.axg4) hold off h.I=0; h.PASSO=0; h.Spf1(1:2)=0; h.Spf2(1:2)=0; h.TITO=0; h.T_amostragem=1; %Perodo de amostragem h.vetor_tempo=0;h.valores_T=0;h.valores_SCN=0;h.valores_SCT=0;h.valores_N=0; for cont=1:1:str2num(get(h.edg15,'String'))+1; if get(h.btg16,'Value'); set(h.txg16,'String',0) write(h.out1,0); escreverdadosnulos(1,1); break; end h.cont=cont; controlenivel(1,1) %Grfico Sinal de controle axes(h.axg1) h.valores_SCN(cont)=h.U1(cont); h.vetor_tempo(cont)=cont-1;

61

plot(h.vetor_tempo,h.valores_SCN); if h.gr;grid on; elseif ~h.gr;grid off; end %Grfico Nivel axes(h.axg2) h.valores_N(cont)=h.n1(cont); plot(h.vetor_tempo,h.valores_N); if h.gr;grid on; elseif ~h.gr;grid off; end %Grfico Sinal de controle axes(h.axg3) h.valores_SCT(cont)=h.U2(cont); plot(h.vetor_tempo,h.valores_SCT); if h.gr;grid on; elseif ~h.gr;grid off; end %Grfico Temperatura axes(h.axg4) h.valores_T(cont)=h.n2(cont); plot(h.vetor_tempo,h.valores_T); if h.gr;grid on; elseif ~h.gr;grid off; end set(h.txg16,'String',num2str(fix(str2num(get(h.edg15,'String'))-cont+1))) if cont==str2num(get(h.edg15,'String'))+1; else; pause(h.T_amostragem); if h.teste==1 ; valoresinsta(1,1); h.teste=0; end end if cont<=100; write(h.out1,h.Saida1(h.k)); escreverdadosnulos(1,1); else; write(h.out1,h.Saida1(h.k)); escreverdados(1,1); end end if cont>=str2num(get(h.edg15,'String'))+1

62

write(h.out1,0); escreverdadosnulos(1,1); end set(h.btg1,'Enable','on') set(h.btg15,'Enable','on') set(h.btg16,'Enable','off') set(h.btg16,'Value',0) set(h.btg18,'Enable','on') set(h.btg19,'Enable','on') set(h.txg16,'Enable','off') set(h.txg17,'Enable','off') catch erroporta; end end end

function colocargrade(hObject,eventdata) axes(h.axg1) grid axes(h.axg2) grid axes(h.axg3) grid axes(h.axg4) grid h.gr=-h.gr+1; end %% Controlador de nivel function controlenivel(hObject,eventdata) %Definio de vriaveis Globais k=h.cont+1; h.k=k; % Parametros do controlador (s+alpha)/(s+beta) alpha1=0; beta1=1; alpha2=0; beta2=1; %Condies iniciais; h.n1(1)=h.SP1(1); h.n2(1)=h.SP2(1); h.Y1(1)=h.SP1(1); h.Y2(1)=h.SP2(1); h.V1(1)=0; h.V2(1)=0; h.erro1(1)=0; h.erro2(1)=0;

63

h.S1(1)=0; %Acumulo do erro Integral h.S2(1)=0; %Acumulo do erro Integral

h.NA1=read(h.itm1); lerdados(1,1); h.NA2=str2num(h.t); h.N1=double(h.NA1.Value); h.N2=double(h.NA2); %Linearizao referente calibrao do sensor de nvel VIm1=0; %Valor mnimo observado nas colunas LIm1=7000; %Valor mnimo lido pelo sensor nas colunas VIM1=20; %Valor maximo observado nas colunas LIM1=24064; ai1=(VIM1-VIm1)/(LIM1-LIm1); bi1=VIM1-ai1*LIM1; %Seria interessante pegar mais pontos para verificar se o perfil linear! h.n1(k)=ai1*h.N1+bi1+h.OffSet1; h.n2(k)=h.N2+h.OffSet2;

%Determinao do erro tomando como base o Set Point h.Y1(k)=h.n1(k); h.Y2(k)=h.n2(k); h.Spf1(k+1)=alpha1*h.Spf1(k)+beta1*h.SP1; h.Spf2(k+1)=alpha2*h.Spf2(k)+beta2*h.SP2;

h.erro1(k)=h.Spf1(k+1)-h.n1(k); h.erro2(k)=h.Spf2(k+1)-h.n2(k); %Acumulo do erro integral h.S1(k)=h.S1(k-1)+h.erro1(k); h.S2(k)=h.S2(k-1)+h.erro2(k); h.Tipo_controlador=h.modo; if h.Tipo_controlador==1 %Manual h.I=0; h.PASSO=0; h.V1(k)=h.MV1; h.V2(k)=h.MV2; else % PID h.I=0; h.PASSO=0; if h.TITO==0 h.S1(k)=0; h.S2(k)=0;

64

end h.Spf1(k+1)=alpha1*h.Spf1(k)+beta1*h.SP1; h.Spf2(k+1)=alpha2*h.Spf2(k)+beta2*h.SP2; h.erro1(k)=h.Spf1(k+1)-h.n1(k); h.erro2(k)=h.Spf2(k+1)-h.n2(k); %Acumulo do erro integral h.S1(k)=h.S1(k-1)+h.erro1(k); h.S2(k)=h.S2(k-1)+h.erro2(k); h.V1(k)=h.KP1*h.erro1(k)+h.KI1*h.S1(k)+h.KD1*(h.erro1(k)-h.erro1(k-1)); h.V2(k)=h.KP2*h.erro2(k)+h.KI2*h.S2(k)+h.KD2*(h.erro2(k)-h.erro2(k-1)); h.TITO=h.TITO+1; end %Ajustes b1=16600; a2=255/100; b2=0; %Limitando a sada entre 0 e 100% if h.V1(k)>100, h.V1(k)=100; end if h.V2(k)>100, h.V2(k)=100; end if h.V1(k)<=0, h.V1(k)=0; b1=0; end if h.V2(k)<=0, h.V2(k)=0; b2=0; end % Converso na sada a1=(32767-b1)/100;

h.Saida1(k)=h.V1(k)*a1+b1; %Linearizao referente normalizao do sinal da bomba h.Saida2(k)=h.V2(k)*a2+b2; h.Saida2(k)=round(h.Saida2(k)); h.U1(k)=h.V1(k); h.U2(k)=h.V2(k); end %% Definir Parametros function Dpar(hObject,eventdata) try

65

h.SP1=str2num(get(h.edg2,'String')); %Set Point para Coluna 01 h.SP2=str2num(get(h.edg9,'String')); %Set Point para Coluna 02 h.KP1=str2num(get(h.edg3,'String')); %Ganho Proporcional para Coluna 01 h.KP2=str2num(get(h.edg10,'String')); %Ganho Proporcional para Coluna 02 h.KI1=str2num(get(h.edg4,'String')); %Ganho Integral para Coluna 01 h.KI2=str2num(get(h.edg11,'String')); %Ganho Integral para Coluna 02 h.KD1=str2num(get(h.edg5,'String')); %Ganho Derivativo para Coluna 01 h.KD2=str2num(get(h.edg12,'String')); %Ganho Derivativo para Coluna 02 h.OffSet1=str2num(get(h.edg6,'String')); %OffSet para Coluna 01 h.OffSet2=str2num(get(h.edg13,'String')); %OffSet para Coluna 02 h.MV1=str2num(get(h.edg7,'String')); %Varivel Manipulada 01 h.MV2=str2num(get(h.edg14,'String')); %Varivel Manipulada 02 catch errordlg('Insira um nmero vlido'); end end %% Definir escolher modo function escolhamodo(hObject,eventdata) h.j_modo=figure('WindowStyle','modal','Position',[80 250 125 90],... 'Resize','off','Name','',... 'NumberTitle','off'); jframe=get(h.j_modo,'javaframe'); jicon=javax.swing.ImageIcon('C:\Documents and Settings\Usuario\Desktop\Lucas\TFG\Controlador\burn.png'); jframe.setFigureIcon(jicon); h.bt_manual=uicontrol(h.j_modo,'Style','radio',... 'Position',[35 70 80 20],'BackgroundColor',.8*[1 1 1],... 'String','Manual','Callback',@modomanual); h.bt_pid=uicontrol(h.j_modo,'Style','radio',... 'Position',[35 40 80 20],'BackgroundColor',.8*[1 1 1],... 'String','PID','Callback',@modoPID); h.bt_porta_ok=uicontrol(h.j_modo,'Style','push',... 'Position',[1 0 125 33],'String','Ok',... 'Callback',@fechar_escolher_modo); end function modomanual(hObject,eventdata) h.modo=1; set(h.bt_pid,'Value',0) set(h.bt_manual,'Value',1) end

function modoPID(hObject,eventdata) h.modo=2; set(h.bt_manual,'Value',0) set(h.bt_pid,'Value',1) end

66

function fechar_escolher_modo(hObject,eventdata) delete(h.j_modo) end %% Definir Porta Serial para o sensor de temperatura function escolhaporta(hObject,eventdata) h.j_porta=figure('WindowStyle','modal','Position',[80 250 125 290],... 'Resize','off','Name','',... 'NumberTitle','off'); jframe=get(h.j_porta,'javaframe'); jicon=javax.swing.ImageIcon('C:\Documents and Settings\Usuario\Desktop\Lucas\TFG\Controlador\burn.png'); jframe.setFigureIcon(jicon); for f1=0:9; s=['COM' num2str(f1)]; h.bt_porta(f1+1)=uicontrol(h.j_porta,'Style','radio',... 'Position',[35 25*(9-f1)+40 125/2 30],'BackgroundColor',.8*[1 1 1],... 'String',s,'Callback',h.porta_callback{f1+1}); h.bt_porta_ok=uicontrol(h.j_porta,'Style','push',... 'Position',[1 0 125 43],'String','Ok',... 'Callback',@fechar_escolher_porta); end p=str2num(h.porta(4)); set(h.bt_porta(p+1),'Value',1); end function callCOM0(hObject,eventdata) for f1=1:10; set(h.bt_porta(f1),'Value',0); end set(h.bt_porta(1),'Value',1); if strcmp(h.porta,'COM0'); elseif ~strcmp(h.porta,'COM0'); h.porta='COM0'; try fclose(h.a); h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch try h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch erroporta end end end end function callCOM1(hObject,eventdata) for f1=1:10; set(h.bt_porta(f1),'Value',0); end set(h.bt_porta(2),'Value',1); if strcmp(h.porta,'COM1'); elseif ~strcmp(h.porta,'COM1'); h.porta='COM1';

67

try fclose(h.a); h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch try h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch erroporta end end end end function callCOM2(hObject,eventdata) for f1=1:10; set(h.bt_porta(f1),'Value',0); end set(h.bt_porta(3),'Value',1); if strcmp(h.porta,'COM2'); elseif ~strcmp(h.porta,'COM2'); h.porta='COM2'; try fclose(h.a); h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch try h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch erroporta end end end end function callCOM3(hObject,eventdata) for f1=1:10; set(h.bt_porta(f1),'Value',0); end set(h.bt_porta(4),'Value',1); if strcmp(h.porta,'COM3'); elseif ~strcmp(h.porta,'COM3'); h.porta='COM3'; try fclose(h.a); h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch try h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch erroporta end end end end

68

function callCOM4(hObject,eventdata) for f1=1:10; set(h.bt_porta(f1),'Value',0); end set(h.bt_porta(5),'Value',1); if strcmp(h.porta,'COM4'); elseif ~strcmp(h.porta,'COM4'); h.porta='COM4'; try fclose(h.a); h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch try h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch erroporta end end end end function callCOM5(hObject,eventdata) for f1=1:10; set(h.bt_porta(f1),'Value',0); end set(h.bt_porta(6),'Value',1); if strcmp(h.porta,'COM5'); elseif ~strcmp(h.porta,'COM5'); h.porta='COM5'; try fclose(h.a); h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch try h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch erroporta end end end end function callCOM6(hObject,eventdata) for f1=1:10; set(h.bt_porta(f1),'Value',0); end set(h.bt_porta(7),'Value',1); if strcmp(h.porta,'COM6'); elseif ~strcmp(h.porta,'COM6'); h.porta='COM6'; try fclose(h.a); h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch

69

try h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch erroporta end end end end function callCOM7(hObject,eventdata) for f1=1:10; set(h.bt_porta(f1),'Value',0); end set(h.bt_porta(8),'Value',1); if strcmp(h.porta,'COM7'); elseif ~strcmp(h.porta,'COM7'); h.porta='COM7'; try fclose(h.a); h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch try h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch erroporta end end end end function callCOM8(hObject,eventdata) for f1=1:10; set(h.bt_porta(f1),'Value',0); end set(h.bt_porta(9),'Value',1); if strcmp(h.porta,'COM8'); elseif ~strcmp(h.porta,'COM8'); h.porta='COM8'; try fclose(h.a); h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch try h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch erroporta end end end end function callCOM9(hObject,eventdata) for f1=1:10; set(h.bt_porta(f1),'Value',0); end

70

set(h.bt_porta(10),'Value',1); if strcmp(h.porta,'COM9'); elseif ~strcmp(h.porta,'COM9'); h.porta='COM9'; try fclose(h.a); h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch try h.a=serial(h.porta,'BAUDRATE',9600); fopen(h.a); catch erroporta end end end end function erroporta s=['Porta ' h.porta ' no encontrada']; errordlg(s); end function fechar_escolher_porta(hObject,eventdata) delete(h.j_porta) end function fechar(hObject,eventdata) try set(h.btg16,'Value',0) fclose(h.a); delete(h.j_g); catch delete(h.j_g); end end %% Enviar Workspace function salvarws(hObject,eventdata) try var=get(h.edg20,'String'); evalin('base',[var '=' '[' num2str(h.valores_N) '];']); var1='SCN'; evalin('base',[var1 '=' '[' num2str(h.valores_SCN) '];']); var4=get(h.edg21,'String'); evalin('base',[var4 '=' '[' num2str(h.valores_T) '];']); var2='SCT'; evalin('base',[var2 '=' '[' num2str(h.valores_SCT) '];']); var3='Tempo'; evalin('base',[var3 '=' '[' num2str(h.vetor_tempo) '];']); catch

71

errordlg('Insira um nome de varivel vlido'); end end function salvar_variaveis(hObject,eventdata) try Nivel=h.valores_N; SCN=h.valores_SCN; Temp=h.valores_T; SCT=h.valores_SCT; Tempo=h.vetor_tempo; save('variaveis.mat','Nivel','SCN','Temp','SCT','Tempo'); catch errordlg('No existem vriaveis'); end end function enviarstring (lucas) for f=1:length(lucas) fwrite(h.a,lucas(f)); end end set(h.edg2,'string','0'); set(h.edg3,'string','0'); set(h.edg4,'string','0'); set(h.edg5,'string','0'); set(h.edg6,'string','0'); set(h.edg7,'string','0'); set(h.edg9,'string','0'); set(h.edg10,'string','0'); set(h.edg11,'string','0'); set(h.edg12,'string','0'); set(h.edg13,'string','0'); set(h.edg14,'string','0'); %% Visualizar function Varinsta(hObject,eventdata) h.teste=1; h.j_alterar=figure('Position',[730 445 300 180],'ToolBar','none',... 'Menu','none','Resize','off','Name','Display',... 'NumberTitle','off','WindowStyle','modal'); warning('off','MATLAB:HandleGraphics:ObsoletedProperty:JavaFrame'); jframe=get(h.j_alterar,'javaframe'); jicon=javax.swing.ImageIcon('C:\Documents and Settings\Usuario\Desktop\Lucas\TFG\Controlador\burn.png'); jframe.setFigureIcon(jicon); h.png10=uipanel(h.j_alterar,'Title','Variveis','BackgroundColor',.8*[1 1 1]); set(h.png10,'Position',[0 0 1 1]); h.txg30=uicontrol(h.png10,'Style','text',... 'Position',[60 120 30 30],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','N: ','FontSize',20); h.txg31=uicontrol(h.png10,'Style','text',... 'Position',[100 120 30 30],'BackgroundColor',.8*[1 1 1],... 'String','0','FontSize',20,'HorizontalAlignment','Center',... 'Enable','off'); h.txg32=uicontrol(h.png10,'Style','text',...

72

'Position',[140 120 80 30],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','SCN: ','FontSize',20); h.txg33=uicontrol(h.png10,'Style','text',... 'Position',[220 120 30 30],'BackgroundColor',.8*[1 1 1],... 'String','0','FontSize',20,'HorizontalAlignment','Center',... 'Enable','off'); h.txg34=uicontrol(h.png10,'Style','text',... 'Position',[60 60 30 30],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','T: ','FontSize',20); h.txg35=uicontrol(h.png10,'Style','text',... 'Position',[100 60 30 30],'BackgroundColor',.8*[1 1 1],... 'String','0','FontSize',20,'HorizontalAlignment','Center',... 'Enable','off'); h.txg36=uicontrol(h.png10,'Style','text',... 'Position',[140 60 80 30],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','center','String','SCT: ','FontSize',20); h.txg37=uicontrol(h.png10,'Style','text',... 'Position',[220 60 30 30],'BackgroundColor',.8*[1 1 1],... 'String','0','FontSize',20,'HorizontalAlignment','Center',... 'Enable','off'); h.disp_hora=uicontrol(h.png10,'Style','text',... 'Position',[20 20 270 15],'BackgroundColor',.8*[1 1 1],... 'HorizontalAlignment','Center',... 'Enable','off');

end function valoresinsta(hObject,eventdata) set(h.txg31,'String',h.valores_N(h.cont)) set(h.txg33,'String',h.valores_SCN(h.cont)) set(h.txg35,'String',h.valores_T(h.cont)) set(h.txg37,'String',h.valores_SCT(h.cont)) h.hora=agora; set(h.disp_hora,'String',h.hora); end end

73

A.2

Mtodo Sundaresan

clear clc load('C:\Users\Lucas\Documents\UFBA\TFG\Controlador\Temp(u2).mat') Temp(1)=Temp(2); kc1=(max(Temp)-min(Temp))/(220*0.05); % ganho em regime permanente for n=1:1500; Tempn(n)=(Temp(n)-min(Temp))/(max(Temp)-min(Temp)); %normalizando Tempo(n)=n; ref(n)=1; % referncia end m1=1500*max(Tempn)-trapz(Tempo,Tempn);% m1 do mtodo M1=Tempn(550)/Tempo(550);%inclinao ponto de inflexo for n=1:500; tang(n)=M1*Tempo(n); %tangente ponto de inflexo end tm=ref(1)/M1; %tempo de cruzamento lamb=(tm-m1)*M1; % equao da reta ni=0.25 ; % clculo do n tal1=(ni^(ni/1-ni))/M1; tal2=(ni^(1/1-ni))/M1; tald=m1-tal1-tal2; a=tf(1,[tal1 1]); b=tf(1,[tal2 1]); step(a*b,'--'); hold on % plot(ref); plot(Tempn,'k'); grid % plot(tang);

74

A.3

Algoritmo Microcontrolador

/*----------------------------Trabalho de Final de Graduaao Controlador de temperatura -----------------------------*/ // Definiao de variaveis int ler, tempPin = 2, pwm=5, data; char msg[4], msg2[3]; double tempC, tempMED[9], tempMed; // Definiao de parametros void setup() { analogReference(INTERNAL); //Utilizando o sinal do microcontrolador pinMode(pwm,OUTPUT); Serial.begin(9600); tempC=analogRead(tempPin); } //Programa void loop() { msg[0]='\0'; msg2[0]='\0'; data=0; if (Serial.available()>=4) { for (int i=0;i<5;i++) { msg[i] = Serial.read(); } msg[4]= '\0'; } if (msg[0] == 'a') { tempMED[0]=lm35(); for (int j=1;j<=9;j++) { tempMED[j]=lm35(); tempMed=tempMED[j]+tempMED[j-1]; } tempC=tempMed/10; Serial.println(tempC); } if (msg[0] == 'b') { for (int i=0; i<3;i++) { msg2[i]=msg[i+1]; msg2[i+1]='\0'; } data=atoi(msg2); analogWrite(pwm,data); } if (msg[0] == 'c') { analogWrite(pwm,0); } }

75

// Funao calculo da temperatura float lm35() { ler = analogRead(tempPin); tempC = ler / 9.31; return tempC; }

A.4

Clculo PI

clear clc syms x % A locao dos zeros de malha aberta z_pi1=-1.05*(1/54); z_pi2=-1.05*(1/2013); % Alocao dos polos de malha fechada (clculo do ganho) P_aloc_1 = 1.05*z_pi2; P_aloc_2 = 1.05*z_pi1; % Kp e Ki para o controlador do tanque 1 G_n(2,2)=1/(54*x+1); G_n(1,1)=1/(2013*x+1); C_1_n=(x-z_pi2)/x; G_MA_n(1,1)=G_n(1,1)*C_1_n; Kp1=-1/(subs(G_MA_n(1,1),x,P_aloc_1)); Ki1=-z_pi2*Kp1; % Kp e Ki para o controlador do tanque 2 C_2_n=(x-z_pi1)/x; G_MA_n(2,1)=G_n(2,2)*C_2_n; Kp2=-1/(subs(G_MA_n(2,1),x,P_aloc_2)); Ki2=-z_pi1*Kp1;

Você também pode gostar