SISTEMA COMPUTACIONAL DE MONITORAMENTO E … · O Sistema Computacional de Monitoramento e Controle...

96
CENTRO UNIVERSITÁRIO POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ENGENHARIA DA COMPUTAÇÃO SISTEMA COMPUTACIONAL DE MONITORAMENTO E CONTROLE DE TEMPERATURA Paulo Alves Gonçalves Junior Monografia apresentada à disciplina de Projeto Final como requisito parcial à conclusão do Curso de Engenharia da Computação, orientada pelo Prof. Alessandro Brawerman. UNICENP/NCET Curitiba 2007

Transcript of SISTEMA COMPUTACIONAL DE MONITORAMENTO E … · O Sistema Computacional de Monitoramento e Controle...

CENTRO UNIVERSITÁRIO POSITIVO

NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

ENGENHARIA DA COMPUTAÇÃO

SISTEMA COMPUTACIONAL DE MONITORAMENTO E

CONTROLE DE TEMPERATURA

Paulo Alves Gonçalves Junior

Monografia apresentada à disciplina de Projeto Final como requisito parcial à conclusão

do Curso de Engenharia da Computação, orientada pelo Prof. Alessandro Brawerman.

UNICENP/NCET

Curitiba

2007

2

TERMO DE APROVAÇÃO

Paulo Alves Gonçalves Junior

Sistema Computacional de Monitoramento e Controle de Temperatura Monografia aprovada como requisito parcial à conclusão do curso de Engenharia da Computação

do Centro Universitário Positivo, pela seguinte banca examinadora:

Prof. Alessandro Brawerman (Orientador) Prof. Marcelo Mikosz Gonçalves Prof. Alessandro Zimmer

Curitiba, 05 de Novembro de 2007.

3

AGRADECIMENTOS

A Deus Pai, Jesus Cristo e Espírito Santo, pelo propósito da minha vida e por me

auxiliarem no cumprimento de mais este objetivo.

Ao Centro Universitário Positivo pela disponibilidade de estrutura e pela oportunidade de

graduar nesta respeitável Instituição Educacional.

Ao professor Orientador Alessandro Brawerman pela participação na idealização do

projeto, na elaboração de sua construção e na sua implementação definitiva.

Ao Corpo Docente do Curso de Engenharia da Computação pela contribuição direta na

carga de conhecimento requerida para desenvolvimento deste projeto.

Aos amigos de curso de Engenharia da Computação pelo suporte nos momentos difíceis e

pela motivação nos momentos de desânimo (que não foram poucos). Eles têm valor inestimável

neste momento da minha vida.

À minha família que me possibilitou financeiramente e emocionalmente cursar esta

graduação e mesmo muitas vezes não sabendo do assunto que estudava, jamais permitiram que

eu desistisse.

Aos meus irmãos de Grupo Familiar (Philadélfia) pelas orações incessantes para que este

projeto viesse a se tornar realidade.

4

RESUMO

O Sistema Computacional de Monitoramento e Controle de Temperatura tem por objetivo

monitorar cômodos de residência, empresa ou indústria e controlar a temperatura dos mesmos de

acordo com a configuração desejada pelo usuário. O Sistema é dividido em Hardware

(responsável pela aquisição da temperatura) e Software (responsável pelo processamento lógico

do Sistema) e têm como componente básico o Termistor. O Termistor varia sua resistência de

acordo com a variação da temperatura. Este termistor foi utilizado em um divisor de tensão e tem

a tensão sobre si digitalizada através de um conversor analógico-digital para entendimento do

Software. O Sistema também é capaz de acionar equipamentos de aquecimento e resfriamento do

ar. Isto depende da temperatura do cômodo monitorado e da faixa de temperatura configurada

pelo usuário como temperatura máxima e temperatura mínima desejada no ambiente.

Para simulação e comprovação do método, foram utilizadas caixas de madeira fechadas

equipadas com ventiladores pequenos (resfriamento) e uma lâmpada (aquecimento) simulando

cômodos de uma residência.

Palavras chave: Temperatura, Termistor.

5

TEMPERATURE CONTROL AND TRACKING SYSTEM

ABSTRACT

The Computer System for Tracking and Control of Temperature aims to monitor rooms of

residences, businesses or industries, and control the temperature of the same in accordance with

the configuration desired by user. The Termistor varies its resistance according to the variation

of temperature. This termistor is used in a voltage divider and has the tension scanned through an

analog-digital converter for understanding of the Software. The system is also able to trigger

equipment for heating and cooling air. This depends on the temperature of the room and the

temperature range set by the user as maximum temperature and minimum temperature in the

desired environment.

For simulation and verification of the method, wooden boxes equipped with small fans (cooling)

and a lamp (heating), simulating rooms of a residence, are used.

Key words: Temperature, Thermistor Sensors

SUMÁRIO

6

Lista de tabelas .......................................................................................................... 7

Lista de Siglas ............................................................................................................ 8

Lista de Símbolos ....................................................................................................... 9

Capítulo 1 – Introdução ............................................................................................ 10

Capítulo 2 – Fundamentação Teórica ...................................................................... 13

Capítulo 3 – Especificação do Projeto...................................................................... 30

Capítulo 4 – Desenvolvimento e implementação...................................................... 48

Capítulo 5 – Validação e Resultados........................................................................ 73

Capítulo 6 – Conclusão ............................................................................................ 86

Capítulo 7 – Trabalhos Relacionados....................................................................... 88

Capítulo 8 - Referências Bibliográficas..................................................................... 89

7

LISTA DE TABELAS

Tabela 2.0 Características do NTC..............................................................................................16

Tabela 2.1 Características do Termistor.......................................................................................25

Tabela 2.2 Condições de Teste do Termistor...............................................................................25

Tabela 2.3 Fator Proporcional e Coeficiente de Temperatura.....................................................26

Tabela 4.0 Conversão Analógica Digital.....................................................................................47

Tabela 4.2 Relação entrada-saída do 74LS138............................................................................54

Tabela 4.3 Instruções de Execução..............................................................................................56

Tabela 4.4 Exemplo I...................................................................................................................67

Tabela 4.5 Exemplo II..................................................................................................................67

Tabela 5.0 Medidas das Resistências ..........................................................................................76

Tabela 5.1 Temperatura nos Termistores.....................................................................................77

Tabela 5.2 Resultado do Teste 2..................................................................................................79

Tabela 5.3 Temperatura em cada uma das caixas........................................................................80

Tabela 5.4 Resistência medida nos sensores das duas caixas......................................................81

Tabela 5.5 Temperatura medida nos sensores das duas caixas....................................................82

8

LISTA DE SIGLAS

NCET- Núcleo de Ciências Exatas e Tecnológicas

UNICENP – Centro Universitário Positivo

DIN - Deutsche Industrie Normen

IEC - International Electrotechinical Comission

ADC – Analogic-Digital Converter

MSB – More significant bit

LSB – Less significant bit

EOC – End of Conversion

GND – Ground (terra)

SLCT IN – Select in

CLK – clock

ECP - Enhanced Capabilities Port

EPP - Enhanced Parallel Port

SPP – Standard Parallel Port

INTR – Interruption

CS – Chip Select

WR – write

RD – read

IDE – Integrated Development Enviroment (Ambiente de Desenvolvimento Intergrado)

9

LISTA DE SÍMBOLOS

ΩΩΩΩ - ohm

W – watt

K – Kelvin

F – Fahrenheit

C – Celsius

V – Volts

A – Ampére

k – kilo

M - mega

cm – centímetro

mm – milímetro

m – metro

F - Farad

CAPÍTULO 1 – INTRODUÇÃO

Com o crescente aumento dos estudos, conhecimentos, aplicações e

conseqüentemente benefícios provenientes da tecnologia na vida secular dos seres

humanos, surgiu um mercado interessante no qual boas idéias aliadas a técnicas

computacionais cada vez mais poderosas, eficientes e seguras tornam-se a base para o

surgimento de produtos (entenda-se aqui um Sistema) capazes de auxiliar o ser humano nas

mais diversas tarefas que envolvem seu bem-estar, comodidade e segurança em sua vida

diária. Um exemplo de aplicação de tecnologia computacional visando o bem-estar do ser

humano é a difusão do conceito “Casa do Futuro”. A Casa do Futuro envolve tecnologia

capaz de monitorar uma casa nos seus mais diversos aspectos (vigilância, controle de

acesso, climatização, etc.), gerar diagnósticos e, juntamente com o Usuário, tomar decisões

para manter o funcionamento da casa de acordo com o desejado.

A motivação principal para implementação desse projeto foi o grande interesse no

mercado que o produto-final deste projeto atinge, visando o bem-estar e comodidade do ser

humano e também o interesse nos componentes teóricos e técnicos necessário para

implementação do projeto.

Neste projeto, é proposto de Sistema Computacional de Monitoramento e Controle

de Temperatura do ambiente que é capaz de monitorar e controlar a Temperatura nos

diversos cômodos de uma casa. Outra utilização seria em uma indústria na qual o aumento

ou diminuição demasiado da Temperatura em um local onde se encontra uma determinada

máquina pode prejudicar o seu funcionamento e até danificá-la gerando prejuízo ao

proprietário. Uma outra aplicabilidade deste sistema é no Controle de Incêndios que podem

comprometer mercadorias, documentos importantes ou até mesmo vidas, pois o Sistema é

capaz de Monitorar a temperatura e programado para controlar equipamentos anti-incêndio.

A parte inteligente do Sistema responsável por Monitorar a temperatura no Ambiente

permaneceria o mesmo alterando-se a parte responsável por ativar os equipamentos que

previnem a ocorrência de um incêndio.

A funcionalidade do Sistema consiste em captar as Temperaturas dos cômodos por

meio de sensores, interpretar esses dados, armazená-los, e gerar uma resposta em

contrapartida à situação analisada. O Sistema divide-se basicamente em Hardware e

Software no qual o Hardware responsabiliza-se pelo contato direto com o Ambiente

11

analisado e coletando sua Temperatura por meio de Sensores dedicados e também pelo

controle dos agentes (atuadores) capazes de alterar a Temperatura do Ambiente (ar-

condicionado, aquecedor, calefação, etc.), por outro lado, o Software responsabiliza-se pelo

armazenamento e interpretação lógica dos dados tomando a partir dessa interpretação e das

preferências do usuário as decisões necessárias. O usuário é capaz, através do Sistema, de

observar as Temperaturas, alterá-las se assim for conveniente e observar as decisões

tomadas por ele anteriormente que podem ser úteis auxiliando o mesmo nas suas

preferências. O Sistema também pode ser configurado de modo a manter o controle das

Temperaturas automaticamente mesmo quando o usuário não estiver presente através da

análise de decisões tomadas pelo Usuário em situações similares.

Dentre as tecnologias envolvidas no Sistema destaca-se a utilização de Termistores

que são componentes sensíveis à Temperatura que alteram sua resistência na menor

alteração dessa. A implementação de uma rede de sensores ligados a uma central também

será utilizada nesse projeto. Cada nó será um sensor de Temperatura e todos estes são

ligados a uma Central. Controladores que se encontram nessa Central se responsabilizam

pelo armazenamento dos dados lidos pelos Sensores e seu encaminhamento ao Software via

Comunicação Paralela. A teoria e funcionamento desses componentes bem como a

especificação de como esses módulos irão interagir entre si estão explicados nos capítulos a

seguir.

12

13

CAPÍTULO 2 – FUNDAMENTAÇÃO TEÓRICA

2.0) História dos Termômetros

O conceito de Temperatura pode ser percebido na prática por meio da aproximação

ou toque em um objeto qualquer. Scotsman James Clerk Maxwell definiu a Temperatura de

um corpo como seu estado térmico e sua habilidade de transferir calor para outros corpos

(Michalski, 1991). Este definição formou e forma a base de estudo da grandeza física

Temperatura.

Na Roma antiga, durante o segundo século antes de Cristo, o físico C. Gallen

apresentou quatro níveis de classificação de temperatura em resposta à diferentes

medicamentos no organismos humanos. Estes medicamentos deveriam aquecê-los ou

resfriá-los. Galen também apresentou a Temperatura Neutra, atribuindo a este a

Temperatura zero. Ele afirmava que esta Temperatura Neutra variava de acordo com a

latitude geográfica (Michalski, 1991).

O primeiro equipamento usado para medir temperatura acreditasse ter sido

inventada por Galileu Galilei entre os anos de 1592 e 1603. Este instrumento consistia em

um bulbo de vidro conectado a um longo tubo imerso em líquido colorido. O gás contido

no vidro foi inicialmente aquecido e, após seu resfriamento, observou-se que uma quantia

do líquido havia sido sugada pra dentro do bulbo. A seguir observou-se que o líquido subia

e descia do bulbo de acordo com a variação de Temperatura do ambiente. Como o

instrumento não apresentava nenhuma graduação para medida, este instrumento foi

classificado como um termoscópio (Eckersdorf, 1991). A Figura 2.0 apresenta da

termoscópio descrito de Galileu Galilei. Por volta do ano 1650, membros da Academia de

Ciências da Florença fizeram o primeiro termômetro. Este consistia em um tubo em forma

de espiral totalmente selado e uma graduação. No entanto, nenhum número foi atribuído às

marcas de graduação (Lindsay, 1962). A Figura 2.1 mostra o termômetro desenvolvido

pelos alunos da Academia de Ciências de Florença.

14

Figura 2.0 – Termoscópio de Galileu Galilei (Michalski, 2001).

Figura 2.1 – Termômetro de Academia de Ciências da Florença (Michalski, 2001).

Com o passar do tempo, detectou-se a necessidade de definir padrões de medida de

temperatura para os termômetros existentes na época. Uma das propostas veio, em 1669, de

H. Fabri de Leida. Sua proposta era fixar dois pontos. O mais baixo seria a Temperatura da

neve e a mais alta seria a Temperatura no dia mais quente do verão. Mais tarde, C. Rinaldi

de Pádua em 1693, sugeriu que pontos fixos representariam a Temperatura correspondente

ao ponto de derretimento do gelo e a Temperatura de evaporação da água. Entre estes dois

15

pontos, doze divisões deveriam ser introduzidas. No mesmo ano, o cientista britânico E.

Halley utilizou, pela primeira vez, mercúrio como líquido termométrico (Eckersdorf, 2001).

Romer, a termometrista que trabalhava em Copenhagen no fim do século 17 e início

do século 18, desenvolveu a escala zero grau associada ao dia mais frio, enquanto a

Temperatura do corpo humano foi associada a 24 graus. Isto fez com que a Temperatura da

água em ebulição fosse equivalente ao intervalo entre 50-55 graus nessa escala não-usual,

que foi influenciada pelo uso predominante de termômetros para fins metereológicos

daquela época (Eckersdorf, 2001).

Um notável marco na história da termometria foi D. G. Fahrenheit de Danzig

(atualmente Gdañski, Polônia), que visitou o laboratório de Romer logo depois deste ter

divulgado sua proposta de escala. Para evitar os problemas associados à escala de Romer,

pareceu óbvio para Fahrenheit usar a menor temperatura alcançável daqueles dias como

zero grau. Como resultado Fahrenheit desenvolveu a especificação e uso do termômetro de

mercúrio-em-vidro em 1724. Evidentemente influenciado pela escala de Romer, ele propôs

sua própria, muito conhecida hoje em dia. Esta escala, chamada de escala Fahrenheit, que

persiste até hoje, é essencialmente a mesma descrita por ele à Sociedade Real (The Royal

Society) em 1724. Fahrenheit descreveu o termômetro de mercúrio-em-vidro, apresentando

três pontos de Temperatura fixas:

- Uma mistura de gelo, água e cloreto de amônia foi tomado como ponto zero;

- Uma mistura de água e gelo foi tomada como 32 graus;

- A Temperatura do corpo humano foi tomada como 96 graus (Michalski, 2001).

Ainda assim não há explicação por qual motivo Fahrenheit optou por tal escolha de

pontos fixos. Indicado ao prêmio “Newton Friend” em 1937 (a razão pela qual Fahrenheit

escolheu tal escala de divisão pode ter sido pelo fato de que no século 18, a maioria dos

termômetros foi construída para propósitos metereológicos. Tomando ponto de

congelamento da água como zero isto geraria valores negativos de Temperatura repetidas

vezes. Para evitar que isto ocorresse, Fahrenheit propôs o uso da menor Temperatura

alcançável naqueles dias como zero) (Michalski, 2001).

No caso do ponto máximo fixado, a Temperatura da água em evaporação foi

rejeitada por ser desnecessária para propósitos metereológicos. Em sua decisão de assumir

16

como 96 graus a Temperatura do corpo humano, Fahrenheit foi influenciado pela já

existente escala de Romer. Ele meramente mudou de 24 graus para 96 graus a Temperatura

do corpo humano. Esta mudança, que foi equivalente a quatro subdivisões de cada grau da

escala de Romer, foi provavelmente feita porque 96 não é somente divisível por 2 mas

também por múltiplos de 3 e 12. O sistema decimal geralmente usada naquele tempo

(Michalski, 2001).

Mais termômetros em mercúrio-em-vidro foram desenvolvidos, em 1742, devido ao

Físico e Astrônomo sueco A. Celsius. Ele assinalou zero grau à Temperatura da água em

ebulição e 100 graus ao derretimento da água. Esta região entre estes dois pontos fixos foi

dividida em 100 partes iguais. Subseqüentemente, após a morte de Celsius em 1744, M.

Stromer, amigo e colaborador científico de Celsius, inverteu estes dois valores.

Eventualmente, com o avanço da ciência, a necessidade por se medir Temperaturas acima

do valor do derretimento do vidro cresceu. O termômetro-de-ar de Prinsep que utilizava um

bulbo de ouro para medir temperaturas de 1000 graus Celsius em 1828, foi seguido pela

criação de um termômetro com bulbo de platina por Pouillet (Michalski, 2001).

2.1) Sensores Termistores

As formas de Termistores mais populares, que vêm sendo usados por mais de 40

anos, têm forma granular e de disco. Mais recentemente Termistores em chip têm sido

usados. As diferentes formas de Termistor hoje encontradas no mercado estão

representadas na Figura 2.2 e suas principais características são apresentadas na Tabela 2.0,

tais como: formato, dimensões, temperatura de referência, resistência, coeficiente de

resistência a temperatura, entre outros. Apesar de termistores serem normalmente aplicados

na faixa de temperatura entre -100ºC a 300ºC, alguns modelos para aplicações em altas

temperaturas e baixas temperaturas também estão disponíveis. Os termistores de altas

temperaturas podem ser usados para medir temperaturas acima de 1200ºC enquanto os de

baixa temperatura são aplicados na faixa de 5 a 200ºC (Michalski, 2001).

17

Figura 2.2 – Modelos de Termistor – Granular (Bead), Granular envolto com vidro ou plástico (Glass or Plastic

Coated Bead), Bastão (Rod), Chip (Chip) e Bastão com ponta de vidro (Rod with glass tip)(Michalski, 2001).

Tabela 2.0 – Características do NTC – Modelo (Type), Dimensões (Dimensions), Temperatura de Referência

(Reference Temperatura), Resistência (Resistance), Coeficiente de Resistência a Temperatura (Resistance

Temperature Coeficient), Constante B (Constant B), Constante de Dissipação de Calor no ar e no óleo (Heat

dissipation Constant – oil – air), Constante de tempo (Time Constant) e Temperatura máxima de operação

(Maximum operating temperature). (Michalski, 2001).

Valores tolerados para RTr para um dado modelo de termistor são geralmente por

volta de 5% a 20%, enquanto a tolerância para a constante, B, está por volta de 5%. Estas

tolerâncias altas são consideradas as principais desvantagens em aplicações com termistor.

Termistores selecionados, divididos em vários grupos de faixa de tolerância estreita, estão

18

disponíveis. Eles asseguram erros de leitura de temperatura abaixo de 0.1 a 0.2ºC de

variação pra mais ou pra menos (Omega Engeneering Inc, USA, 1999; Cole-Parmer Instr.

Co., 1999). Os preços deles, porém, são maiores (Michalski, 2001).

Termistores em forma granular são feitos pingando em intervalos constantes de

tempo óxido em forma de pasta entre duas placas paralelas de Platina. As gotas de óxido

em forma de pasta em contato com a superfície de contato da Platina garantem a forma

elipsoidal do termistor. Após secar, o componente é sinterizado a temperaturas entre

1100ºC e 1400ºC finalmente atingindo a forma física elipsoidal como mostrado na figura

2.2. Após serem sinterizados, os termistores são selados com vidro ou teflon evitando

oxidação do componente(Michalski, 2001).

Termistores em forma de disco são produzidos pela pressão óxidos em pó sob

diversos níveis de pressão. Após serem sinterizados eles são cobertos com uma camada de

prata para permitir a soldagem dos terminais. Os termistores em disco são totalmente

protegidos por uma camada de epóxi tem diâmetros de 1 a 10 mm e largura de 0,1 a 2 mm.

Termistores em forma de placa quadrada, também chamados de termistores de chip, tem

dimensões de 0,5 x 0,5 mm a 3 x 3 mm e largura de 0,025 a 0,050 mm. Termistores em

forma de disco com camada de vidros e estabilizados, cuja temperatura não varia em mais

de 0,005ºC pra mais ou pra menos por ano em faixas de temperatura de 80ºC a 200ºC,

também são produzidos (Wise, 1992; Siwek et al., 1992).

Sensores termistores portáteis, em forma de ponta de prova, com cabos estendidos,

são produzidos para todos os tipos de aplicações, tais como na medida de temperatura do

ar, líquidos, superfícies sólidas, carne, fruta e compostos químicos. As áreas mais

especializadas de aplicação são biologia e medicina. No campo médico, termistor com

ponta de prova são usados apenas uma única vez evitando, assim, contaminação. Isto não é

considerado inadequado, pois estes componentes não são relativamente caros (Eckerford,

2001).

Instabilidade em longo prazo de termistores, cuja causa é atribuída principalmente a

seus valores de resistência, é causado pelas mudanças de estrutura latentes devido à

oxidação e tensões térmicas ou por mudanças na resistência do contato de metal. Esta

última causa parece ser a mais importante. Os modelos mais estáveis são selados com

camada de vidro, cuja resistência não muda mais que 0,05% a 0,25% por ano, quando

19

comparados com 0,5% a 3% por ano apresentado por outros modelos. Estas mudanças de

resistência podem ser facilmente compensadas por circuitos de compensação e calibrações

periódicas (Michalski, 2001).

2.2) Características de correção e linearização de Termistores

Existem dois métodos para garantir o funcionamento esperado de Termistores.

- Métodos de controle de produção permitem a seleção e divisão de

termistores em grupos com pequena dispersão de características do termistor.

Subseqüentemente eles podem ser separados em componentes com estreita

tolerância de temperatura. Isto podem ser também aplicado uma faixa de

temperaturas ou sobre uma temperatura única. Tolerâncias podem ser, por

exemplo, 0,05ºC, 0,1ºC, 0,2ºC e 1ºC (pra mais ou pra menos) que está

indicado por meio de uma marcação por código de cores (Sierracin/Western

Thermistors, Oceanside, USA).

- Métodos de configuração vetorial empregam as idéias associadas com

outras técnicas de manufatura de resistência (Connoly, 1982; Costlow,

1983). Isto possibilita corrigir e linearizar as características do termistor

usando um programa de computador (software) para calcular os valores

resistivos baseados nas características do termistor medido e três

temperaturas dadas. Tal procedimento é realizado durante a produção

(Michalski, 2001).

A resistência não-linear versus a característica de temperatura é considerada como a

principal desvantagem dos termistores. Esta dependência funcional resulta em queda da

sensibilidade do termistor à altas temperaturas.

Linearização pode usar circuitos de linearização analógicas ou digitais (McGhee,

1989). A aproximação digital usa um número n de diferentes circuitos.

Linearização Analógica é principalmente baseada no clássico e conveniente método

dado por Beakley (1951) e Hyde (1971). Por exemplo, a Omega Engeneering Inc. (EUA)

20

produz conjuntos de saídas lineares de termistor, que consiste em dois ou três termistores

empacotados como um sensor só e também inclui película de resistência adicional. Eles são

produzidos também como tensão linear versus temperatura. White (1984) também

disponibiliza uma técnica usada para linearização de termômetros resistivos (Michalski,

2001).

A linearidade é estendida para faixas de temperatura na qual os erros de não-

linearidade não excedem de 0,03 a 1,1ºC. Um conjunto pode ter uma sensibilidade de cerca

de 30 mV/K, o que é muitas vezes maior do que a de um par térmico. Pra medida de

temperatura multiponto, um resistor ajustável pode ser usado para muitos conjuntos de

termistores. Player (1986) descreve uma extensão da técnica de White para se conseguir

termômetros à base de termistores com maior faixa de operação (Eckerford, 2001). A cada

10ºC a rede de compensação do termistor é mudada. Como as características do termistor

são exponencialmente determinísticas, um amplificador logarítmico pode ser usado para

fins de linearização (Patranabis et al., 1988).

Métodos de linearização digital são divididos em vários grupos, Um método geral

aplicando métodos digitais de um, dois ou três pontos para um número n de sensores de

temperatura com saídas elétricas, incluindo termistores, é considerado por Bolk (1985). A

técnica usando um conversor analógico-digital descrita por Iglesias e Iglesias (1988) pode

ser adaptada ajustar termistores (Michalski, 2001).

Uns grupos finais de métodos usam técnicas de pós-conversão baseados em uma

rotina de software (Brignell, 1985).

2.3) Circuitos de Medida (Temperatura)

As formas comuns de circuitos de medida de temperatura baseados em termistores

são circuitos de ponte com desvio, mostrado na Figura 2.3. A fonte de energia da ponte

pode ser uma bateria ou uma fonte retificada. Para garantir que a fonte de energia

permaneça constante, um resistor de padronização, Rs, é inserido no circuito. Na posição

“0” da chave, S, onde o resistor Rs temporariamente substitui o termistor, RT, o valor de Ra

é ajustado de forma que as leituras de M são mantidas em uma determinada posição da

escala. Isto não é necessário quando uma fonte estabilizada de tensão é usada.

21

Temperaturas na faixa entre 30ºC a 50ºC de medida podem facilmente ser alcançada. Toda

a faixa de medida é dividida em diversos sub-faixas selecionáveis. As maiorias dos

produtores atualmente adicionam ao circuito de ponte com desvio um circuito integrado

com saída amplificadora garantindo, assim, uma precisão entre 0,5 e 1ºC. Geralmente,

indicadores digitais são usados (Michalski, 2001).

Figura 2.3 – Termômetro baseado em termistor (circuito de ponte com desvio) (Michalski, 2001).

Um exemplo de um termômetro digital baseado em circuito de ponte com um

conversor A/D é o Termômetro com termistor Omega. Este termômetro, de dimensões

178x84x46 mm, que contém um circuito de linearização com 100 seções digitais, é

destinado para uso de termistor de 680Ω. O mesmo termômetro é alimentado com uma

bateria alcalina de 9V, dando-lhe uma vida operacional de 1200hrs. A faixa de temperatura

é de 20ºC a 120ºC, dependendo do modelo de termistor usado, com uma precisão melhor

do que 2ºC pra mais ou pra menos a indicações atualizadas a cada 0,5 segundo (Eckeford,

2001).

Para medidas menos precisas, um simples termômetro baseado em termistor com

conexão em série, mostrado na Figura 2.4, é também usado. Ele compreende um resistor

para limitar a corrente, R1 , e um multímetro, M, graduado em graus. Um resistor de

22

padronização, Rs, e uma chave, S, também estão contidos pelo circuito. A corrente de

medida permitida do termistor não deve exceder o valor limite (Michalski, 2001).

Figura 2.4 – Termômetro baseado em termistor conectado em série.

Sengupta (1988) descreve um gerador de pulso cuja freqüência é relacionado à

resistência do termistor. O princípio de operação do circuito básico, mostrado na Figura

2.5, é baseado na conversão Temperatura-Frequência. A freqüência de onda quadrada de

saída é:

f = 1/[2R´C ln (1 + 2R2 / R1) ] (Equação 1)

Desde que a característica resistência versus temperatura do termistor tenha forma

exponencial, substituindo R2 pelo termistor permite o cancelamento do comportamento

exponencial pelo termo logarítmico na expressão. Apesar do completo cancelamento não

ser alcançado com este simples circuito, uma boa linearidade uma faixa limitada de

temperatura é possível. Sengupta (1988) mostra como a linearidade pode ser estendida

incluindo transistores chaveadores. Os transistores “chaveam” diferentes resistores no

circuito para fornecer diferentes constantes de tempo através da carga e descarga do

capacitor. Desta maneira a tensão de saída é saturada por mais tempo em uma fonte de

alimentação do que em outra (Michalski, 2001).

23

Figura 2.5 – Circuito gerador de pulso (Michalski, 2001).

2.4) Termômetros Termistores – Princípios de Operação

Termistores são resistores de resposta não-lineares (Stanley, 1973), dependentes da

Temperatura (Droms, 1962. Hyde, 1971) com alto coeficiente de resistência à Temperatura.

Na prática, apenas Termistores com coeficiente negativo de Temperatura (tipo NTC) são

usados para medir Temperatura. Termistores com coeficiente positivo de Temperatura (tipo

PTC) são usados apenas para detecção binária de um valor de Temperatura dado

(Michalski, 2001).

A produção de Termistores, que é muito complicada, utiliza a tecnologia de

manipulação de cerâmica, consistindo em forma de alta pressão e sinterização a

Temperaturas acima dos 1000ºC (Celsius). Apesar de o processo de produção dos tipos

diferentes de Termistor serem similares, eles são feitos de diferentes materiais (Roess,

1984). Tipos PTC têm uma composição fundamental baseado em Titanato de Bário.

Mistura de diferentes óxidos metálicos de Manganês, Ferro, Níquel, Cobre, Titânio, Zinco e

Cobalto são usados para fabricação do Termistor do tipo NTC. As propriedades de cada

Termistor dependem do tratamento calorífico dado e atmosfera, assim como a maneira

como são recozidos. Depois que o Termistor foi revestido de metal e aparado para ajustar

sua resistência, os conectores são anexados antes do encapsulamento. Á Temperatura de

20º C a resistência de um termistor pode estar entre alguns k ohms até 40M ohms

(Michalski, 2001).

24

Em 1971, Hyde exibiu a relação entre resistência do Termistor a uma Temperatura

T e as propriedades do material usado na fabricação do Termistor:

RT = R∞ .(B/T) (equação 2)

onde T é a temperatura do Termistor em Kelvin (K), RT é a resistência do Termistor a

Temperatura T, R∞ é o valor limite de RT quando T tende à infinito, e B é uma constante

dependente do material do Termistor, em Kelvin (K) (Michaski, 2001).

Como o valor, R∞, é impossível de determinar, a equação 2 pode ser expressa em

termos de sua resistência, RTr à uma Temperatura de referência, Tr, geralmente 293 K, em

uma forma mais usual:

RT = RTr . B[(1/T)-(1/Tr)] (equação 3)

As outras quantidades na equação 3 são as mesmas da equação 2 (Michalski, 2001). Por

definição, a equação do coeficiente de resistência a Temperatura é:

αT = 1/RT dRT/dT (equação 4)

Derivando a equação 1.1 e inserindo o resultado junto com o valor de RT na equação 4,

temos:

αT = -(B/T2) (equação 5)

Da equação 5 é evidente que o valor absoluto de αT, e a sensibilidade do termistor ambos

decrescem com o aumento da Temperatura. O coeficiente, αT, é geralmente expresso em

%/K (Kelvin). Usando equação 4 é possível representar a equação 3 de outra forma

freqüentemente vista,

RT = RTr .[ α

Tr .∆T.(Tr/T)] (equação 6)

onde αTr é o coeficiente de resistência à Temperatura Tr e ∆T = T - Tr é a diferença de

Temperatura (Michalski, 2001).

25

Os principais parâmetros do Termistor são controlados pela sua composição. Para

aplicações normais com temperaturas entre -50ºC e 200ºC, todos os tipos contém Manganês

e Níquel. Se a porcentagem desses componentes varia adicionando Cobalto e Cobre, a

resistividade específica pode ser variada entre 10Ωcm e 100000Ωcm com um aumento

correspondente no coeficiente B de 2580K a 4600K. Com temperatura de referência de 293

K, o valor de αTr geralmente fica entre – 2%/K e -6%/K. Como os materiais do NTC tem

transições de fase acima de 500ºC, eles não podem ser usados para aplicações em que a

temperatura seja maior que a faixa de abrangência (Michalski, 2001).

Comparado à detectores de resistência metálicos, Termistores NTC têm as seguintes

vantagens:

- dimensões menores;

- maior sensibilidade à temperatura;

- mais robusto;

- menor inércia termal do sensor;

- possibilidade de medir pequenas variações de temperatura.

As principais desvantagens do Termistor NTC são:

- característica Temperatura x Resistência não-linear;

- características não-padronizadas;

- intervalo de medida por parte do sensor menor;

- suscetibilidade à permanente descalibração a altas temperaturas.

2.5) Termistor modelo B57164-K154 [11]

Produzido pela Siemens Matsushita Components, o Termistor B57164-K154 têm

valor de resistência padrão, ou seja, quando submetido à uma temperatura de 25 oC de

100kΩ. Dentre as aplicações possíveis com a utilização do Termistor B57164-K154

destacamos três, são elas: Compensação de Temperatura, Medidas de Temperatura e

Controle de Temperatura. A seguir, algumas características e valores peculiares deste

modelo.

26

Características:

Característica (R/T) – 2005;

Fator B [B(25/100)] – 4600 (K);

Largo espectro de resistência;

Disco condutor piroelétrico protegido (pintura);

Conectores de Cobre;

Valores de Resistência e Tolerância pré-estabelecidos;

Classe de Teste climático (IEC 68-1) 55/125/21

Potência máxima de alcance (25 oC) P25 450 mW

Tolerância Resistiva ∆R/RN +-5% , +-10%

Temperatura Padrão TN 25 C

Valor-Tolerância de B ∆B/B 3 %

Tabela 2.1 – Características do Termistor

Parâmetros Padrão Condições de Teste ∆R25/R25 Observação

Armazenamento em

local seco

DIN IEC

68-2-2

Máxima temperatura de armazenamento:

125 oC

Tempo: 1000 horas

< 3%

Nenhum dano foi

observado

Constante Umidade-

Armazenamento

DIN IEC

68-2-3

Temperatura Ambiente: 40 oC

Umidade relativa: 93%

Duração: 21 dias

< 3%

Nenhum dano foi

observado

Velocidade de

Mudança de

Temperatura

DIN IEC

68-2-14

Menor temperatura inspecionada: -55 oC

Máxima temperatura inspecionada: 100 oC

Número de ciclos: 5

< 3%

Nenhum dano foi

observado

Carga elétrica máxima de armazenamento

Pmáx = 450 mW Tempo: 1000 horas

< 3%

Nenhum dano foi observado

Estabilidade a longo prazo (valor esperado)

Temperatura: 125 oC Tempo: 10000 horas

< 5%

Nenhum dano foi observado

Tabela 2.2 – Condições de Teste do Termistor

2.1.1) Cálculo de Valores de Resistência esperado

Para se calcular um valor resistivo a uma determinada temperatura sobre o

Termistor B57164-K154 utilizamos a seguinte equação:

27

Rtx = (Rt/R25) * R25 [Equação 1]

No qual Rtx é a resistência procurada a temperatura t, Rt/R25 é o fator proporcional,

que é indicado pelo fabricante, na temperatura mais próxima à procurada e R25 é a

resistência-padrão do termistor a temperatura de 25 oC. A Tabela 2.3 indica

respectivamente em suas colunas o Fator Proporcional Rt/R25 e Coeficiente de

Temperatura.

Tabela 2.3 – Fator Proporcional e Coeficiente de Temperatura

Pode-se concluir observando a Tabela 2.3 que, através da Equação 1

unicamente ,obtém-se resistências à temperaturas que sejam múltiplas de 5. Através

do coeficiente de Temperatura torna-se possível o cálculo de Temperaturas que não

sejam múltiplas de 5 (7 oC, por exemplo).

28

Equação 2 – Resistência à Temperatura T

No qual,

Rt – Resistência à Temperatura T;

RTx – Valor da Resistência na Temperatura múltipla de 5 mais próxima à

desejada;

Tx – Temperatura (em oC) mais próxima à Temperatura desejada;

T – Temperatura (em oC) desejada;

αx – Coeficiente de Temperatura na temperatura Tx.

A Equação 2 diz que com o acréscimo da exponencial do Coeficiente de

Temperatura mais alguns ajustes de temperatura de graus Celsius para Kelvin pode-

se obter uma aproximação do valor resistivo equivalente à Temperatura desejada.

29

30

CAPÍTULO 3 – ESPECIFICAÇÃO DO PROJETO

O Projeto do Sistema Computacional para Monitoramento e Controle da

Temperatura tem como objetivo, como o nome já indica, controlar e monitorar a

temperatura dos cômodos de uma casa, ou empresa, ou indústria, etc. Para garantir que esse

Sistema cumpra seu objetivo principal, este deve ser capaz de coletar dados referentes à

temperatura atual no cômodo, processar essas informações, e gerar um resultado, ou seja,

acionar, desativar ou deixar no estado atual os equipamentos (atuadores) responsáveis pela

modificação da temperatura no cômodo. Além do controle dos componentes físicos, o

Sistema deve levar em consideração as configurações feitas pelo usuário do Sistema

(morador da residência, técnico do chão-de-fábrica), pois é este usuário o responsável por

determinar as condições e limites de funcionamento do Sistema.

Para exemplificar, suponha que em um determinado quarto de uma casa o usuário

deseja que a temperatura máxima no cômodo seja 29ºC e a temperatura mínima seja de

25ºC. A Figura 3.0 mostra de forma simplificada e generalista o funcionamento do

processo de decisões por parte do Sistema de acordo com o exemplo anteriormente citado.

O Sistema permanece constantemente coletando a temperatura de cada um dos cômodos

monitorados e comparando esses dados aos parâmetros internos do programa e aos

parâmetros configurados pelo cliente. O Sistema também constantemente emite decisões

em resposta à comparação de dados, essa resposta pode ser o acionamento e

desacionamento dos equipamentos de refrigeração ou aquecimento ou manutenção dos

estado atual em que se encontram (ligado ou desligado).

31

Temperatura [C] Decisão por parte do Sistema 32 31 Acionar atuadores de resfriamento 30 29 28 27 Não aciona atuadores 26 25 24 23 Acionar atuadores de aquecimento 22 21

Figura 3.0 – Resposta do Sistema ao exemplo citado.

Este projeto divide-se em 2 partes: Hardware e Software. O Hardware contém todos

os elementos físicos do Sistema e é responsável pela leitura da temperatura, ou seja, está

em contato direto com o cômodo monitorado, por disponibilizar esses dados ao Software e

por ligar, desligar ou manter o estado atual dos equipamentos que alteram a temperatura. O

Software pode ser considerado a parte inteligente do Sistema. Ele responsabiliza-se pela

conversão de dados (um número binário para um valor float que representa o valor da

temperatura), pela configuração dos limiares (limites de temperatura) a serem considerados

no momento de se tomar decisões e por gerar resposta a uma determinada situação.

Software

O Software do Sistema Computacional de Monitoramento e controle de

Temperatura apresenta as seguintes características:

- Temperatura de cada um dos cômodos configurável individualmente ou

coletivamente;

- Gráfico indicando a variação de Temperatura em cada um dos cômodos e capaz de

comparar essas variações entre 2 (dois) ou mais dias diferentes;

32

- Sistema conectado a um Banco de Dados para armazenar Temperaturas coletadas;

- Aviso ao Usuário caso algum cômodo esteja com Temperatura acima ou abaixo de

uma faixa delimitada pelo Usuário;

- Capacidade do Software de tomar decisões automaticamente sem a necessidade da

presença do usuário.

A Figura 3.1 apresenta uma visão das interfaces do Software, bem como seus

módulos que responsabilizam principalmente pela interface com usuário, interface

com o Hardware, conversão de dados binários em dados lógicos, processamento e

decisão, e armazenamento de dados.

Figura 3.1 – Interfaces do Software.

Interface de

Cadastro de Usuários

Usuário

Interface de Cadastro de

Cômodos

Interface de

Configuração

Interface de

Monitoramento e Controle

Instalador

Instalador

Instalador

Banco de Dados

Histórico e Detalhes

Usuário

33

A interface de cadastro de usuários, interface de cadastro de cômodos e interface de

configuração são interfaces de configuração geral do Sistema e normalmente são

manipuladas pelo instalador do Sistema. A interface de monitoramento e controle e de

histórico e detalhes são interfaces que apresentam o funcionamento e resultados gerados

pelo Sistema e estão em contato direto como o usuário, sejam eles residenciais,

empresariais ou industriais.

Outro papel importante do Software no Sistema é o armazenamento dos dados em

um Banco de Dados para fins de análise posterior. Além dos dados de temperatura, o

Software armazena dados referentes a cadastro de usuários, cadastro de cômodos e

configurações feitas pelos usuários. Quando o usuário aciona o Sistema, o Software

consulta o Banco de Dados em busca de informações referentes aos cômodos que serão

monitorados, seu endereço de porta paralela e sua descrição. Quando o usuário necessita de

dados como o histórico de temperaturas em um determinado cômodo, estes estão

armazenados no Banco de Dados e podem facilmente ser manipulado por meio de

comandos SQL.

Interfaceamento com o Usuário

O Software do Sistema Computacional de Monitoramento e Controle da

Temperatura apresenta uma interface com o usuário e o Instalador dividida em módulos:

- Cadastro de Usuários;

- Cadastro de Cômodos;

- Configurações;

- Monitoramento e Controle e;

- Histórico.

Cada um destes módulos tem uma função específica e, quando agrupados, resumem o papel

e funcionamento do Software em relação ao Sistema como um todo. A seguir, a explicação

detalhada e funcionamento de cada um dos módulos anteriormente citados.

34

Cadastro de Usuários

Esta parte envolve o cadastro de usuários que estarão utilizando o Sistema. Essa

configuração é feita pelo instalador do Sistema na residência, empresa ou indústria, que

configura dados como código do usuário, nome de usuário, nível de acesso e senha do

usuário. Após registrar esses dados o instalador salva essas configurações que

permanecerão armazenados no Banco de Dados. O nível de acesso do usuário controla as

partes de configuração do Sistema a que o usuário terá acesso, esse nível se divide em:

comum, intermediário e avançado. A Figura 3.2 apresenta uma estrutura geral da Interface

de Cadastro de Usuários. O nome é um tipo string (tipo de caracteres do C++), o nível de

acesso é também uma string com itens pré-definidos (comum, intermediário e avançado) e

a senha é um inteiro (int) de 5 dígitos.

Figura 3.2 – Estrutura da Interface do Cadastro de Usuários.

- Usuário comum: tem acesso ao monitoramento e controle da residência, porém,

não pode cadastrar novos cômodos, configurações e usuários;

- Usuário intermediário: tem acesso ao monitoramento e controle da residência e

pode incluir novas configurações, porém, não pode cadastrar novos cômodos e

usuários;

Nome: (string)

Nível de Acesso: (string) - Comum - Intermediário - Avançado

Senha: (int) com 5 dígitos

Código Usuário: (int)

35

- Usuário avançado: tem acesso a monitoramento e controle da residência, cadastro

de usuários, inclusão de nova configuração e cadastro de cômodos.

O principal motivo da existência do nivelamento de acesso de usuários é o caso de

instalar um Sistema como esse em uma empresa ou indústria onde várias pessoas poderiam

inadvertidamente manipulá-lo causando mau uso do Sistema. No caso de uma residência o

Sistema apresentaria ao usuário apenas a parte de monitoramento e controle, sendo que, a

parte de configurações e cadastro de cômodos já estaria previamente configurada pelo

instalador do Sistema.

Cadastro de Cômodos

Os cômodos a serem monitorados pelo Sistema devem ser anteriormente

cadastrados. O cadastro de um cômodo envolve o registro de todos os dados referentes a

um determinado cômodo, tais como: código do cômodo, nome do cômodo e descrição do

cômodo. Estes dados são armazenados, pois no momento da configuração de sensores que

ficam em cada dos cômodos, serão considerados apenas os cômodos já cadastrados. A

Figura 3.3 apresenta a estrutura da Interface de Cadastro de Usuários, bem como, os tipos

dos dados. O código do cômodo serve para fins localização em Banco de Dados, nome do

cômodo serve para mostrar ao usuário o cômodo que está sendo monitorado (de qual

cômodo se trata), a descrição armazena dados do cômodo como dimensões, número de

janelas, etc..

Figura 3.3 – Interface de Cadastro de Cômodo.

Código do Cômodo: (int)

Nome do Cômodo: (string)

Descrição: (string)

36

Configurações

A função da Interface de Configurações no Sistema é muito importante, pois a

interação desta interface com o usuário (ou o instalador) define qual sensor será associado à

qual cômodo. Um cômodo pode ter mais de um sensor e isto é especificado na Interface de

Configurações. A Figura 3.4 mostra a estrutura da Interface de Configuração do Sistema.

Cada sensor presente no Hardware do Sistema está associado a um endereço de porta

paralela específico. Estes endereços são apresentados na parte de endereços de sensores.

Também os cômodos cadastrados são apresentados (cômodos). Cabe ao usuário (ou o

instalador) associar um cômodo ao endereço de porta ao qual o sensor presente naquele

cômodo está associado. Por exemplo, suponha que o sensor presente na cozinha de uma

determinada residência esteja conectado à porta paralela e seu endereço seja 15 (1111). O

usuário ou instalador seleciona o cômodo de nome “cozinha” e seleciona o endereço de

sensor “15”. Terminada a configuração sensores-cômodos, o usuário salva esta

configuração em Banco de Dados, esta configuração (Nome do Arquivo) será chamada no

momento de se iniciar o monitoramento e controle da residência.

Figura 3.4 – Interface de Configurações e tipos dos dados.

Cômodos: (string) - Cozinha - Sala - Quarto do fulano

Endereços: (int) - 15 (1111) - 14 (1110) - 13 (1101) - 12 (1100)

Configuração: (string)

Cozinha – 13 Cozinha - 12

Sala – 15 Quarto do Fulano – 14

Nome do Arquivo: (string)

37

Monitoramento e Controle

A Interface de Monitoramento e Controle pode ser considerada como uma das

interfaces mais importantes do Sistema. Isto porque é esta interface que estará em contato

direto com o usuário durante o Monitoramento e Controle da residência, empresa ou

indústria. Sua função é exibir as temperaturas (em tempo real) em cada um dos cômodos

monitorados e modificar os limites de temperatura máxima e temperatura mínima que o

usuário deseja em cada um dos cômodos. Antes de iniciar o monitoramento, o usuário deve

selecionar a configuração que deseja usar, para isso, a Interface exibe todas as

configurações feitas na Interface de Configuração. Selecionada uma determinada

configuração, o Sistema automaticamente instancia na memória os cômodos configurados e

os associa ao endereço de porta do sensor ao cômodo correspondente. Instanciados os

cômodos, agora o Usuário pode escolher qual a temperatura máxima e mínima que deseja

em cada um dos presentes cômodos, bem como, pode padronizar uma temperatura máxima

e mínima padrão a todos os cômodos e, finalmente, associar o monitoramento e controle

por parte do Sistema com o clique de um botão. A Figura 3.5 apresenta a estrutura da

Interface de Monitoramento e Controle. Na parte “Nome do Arquivo” seleciona-se uma

configuração previamente feita, “Cômodo 1 (2,3,4)” apresenta a temperatura atual de cada

cômodo, “Temp. Máxima” e “Temp. Mínima” configura as temperaturas máxima e mínima

que se deseja em cada cômodo ou em todos (seleciona o cômodo que se deseja alterar a

temperatura máxima ou mínima na parte “Cômodo”).

38

Figura 3.5 – Interface de Monitoramento e Controle.

Histórico

A Interface de Histórico têm a função de exibir ao usuário dados detalhados a

respeito de variação de temperatura em cada um dos cômodos em uma determinada data.

Essa exibição é feita por meio de um gráfico, isso permite ao usuário ter uma melhor

visualização da variação ao longo do tempo, bem como, comparar as diferenças de

temperatura e variação de temperatura entre dois ou mais cômodos se assim o desejar.

Para que seja possível exibir as informações citadas, o Sistema durante o

monitoramento armazena de tempos em tempos as temperaturas atuais em cada cômodo e

também a temperatura máxima e mínima configuradas em cada cômodo. A Figura 3.6

mostra a estrutura da Interface de Histórico.

Nome do Arquivo: (Configuração)

Cômodo 1

Cômodo 2

Cômodo 3

Cômodo 4

Temp. Máxima: (float)

Temp. Mínima: (float)

Cômodo: (string) - Todos - Cozinha - Sala - Quarto do fulano - Banheiro

39

Figura 3.6 – Estrutura da Interface de Histórico.

Visão Geral do Sistema

Após descrição detalhada das interfaces que interagem com o usuário e/ou

instalador é importante mencionar outros componentes importantes do Software que ficarão

transparentes ao usuário, porém, têm grande importância no Sistema. Eles serão aqui

apenas mencionados, pois no capítulo de Desenvolvimento e Implementação teremos um

maior detalhamento de cada um deles.

- Conversor binário para float – converte um dado de 8 oito bits vindo da porta

paralela para um valor float que corresponde à uma temperatura em graus Celsius;

- Classe de Cômodo – é a estrutura trazida pra memória (instanciada) no momento

em que se carrega o Sistema para iniciar o monitoramento. Contém dados referentes

ao cômodo (código, nome, descrição, temperatura) e também métodos de

comunicação com o hardware;

- Classe Atuadores – classe responsável pelo envio de dados para o acionamento dos

equipamentos de aquecimento e resfriamento do ambiente;

- Classe Controladora – esta classe responsabiliza-se pela gerência dos cômodos,

atuadores e interfaces do Sistema. Pode ser considerado o “coração” do Software.

Calendário: (date)

15/10/2007 Gráfico (temperatura x tempo):

Cômodo: (string) - Cozinha - Sala - Banheiro - Todos

40

O Diagrama 3.0 mostra a Visão Geral do Software do Sistema Computacional de

Monitoramento e Controle de Temperatura. Se na figura 3.1 anteriormente o Sistema era

definido em termos de interfaces e suas atuações com o Banco de Dados e o usuário e/ou

instalador, agora o Sistema é definido de uma forma mais geral apresentando as classes

intermediárias e suas funções e a comunicação com o Hardware. As interfaces do Sistema

são 5 (cinco) no total: Cadastro de Usuários (cadastra os usuários irão utilizar o Sistema),

Cadastro de Cômodos (cadastra os cômodos a serem utilizados), Configuração

(endereçamento das unidades sensoras), Monitoramento e Controle (visualização do

Sistema em funcionamento) e Histórico (acompanhamento das temperaturas ao longo do

tempo). A classe Atuadores responsabiliza-se por controlar a ativação e desativação dos

equipamentos que controlam a temperatura em um cômodo. A classe Controladora faz a

gerência do Software indicando quando as demais classes devem acionar seus métodos e a

classe de Cômodo faz uma representação abstrata na memória do cômodo físico e real.

Diagrama 3.0 – Visão Geral do Software do Sistema.

Cadastro de Usuários

(interface)

Cadastro de Cômodos (interface)

Configuração

(interface)

Monitoramento e

Controle (interface)

Histórico (interface)

Classe Controladora

(gerência)

Classe Atuadores

(comunicação)

Classe de Cômodo (instanciação e comunicação)

Hardware

Banco de Dados

41

Hardware

O Hardware do Sistema é responsável por medir a temperatura dos cômodos e ligar

e desligar os equipamentos de aquecimento e resfriamento dos cômodos. Para que isso

aconteça, o Hardware é dividido em três partes, são elas: Unidade Sensora, Unidade

Central e Unidade de Controle de Atuadores.

Unidade Sensora

A Unidade Sensora é a unidade responsável pela medição da temperatura no local

de monitoramento (cômodo) e pela digitalização da grandeza analógica para um valor

equivalente digital de oito bits. A composição da Unidade Sensora é: um divisor de tensão

(resistor fixo + termistor), um conversor analógico-digital (oito bits) e um buffer (oito bits).

O diagrama 3.1 exibe os componentes da Unidade Sensora.

Diagrama 3.1 – Unidade Sensora e suas partes.

O funcionamento da Unidade Sensora é bastante simples. O termistor presente no

divisor de tensão varia sua resistência de acordo com a temperatura (conforme teoria vista

no capítulo 2 – Sensores Termistores). Com a alteração da resistência do termistor a tensão

sobre este também se altera (conforme Lei de Ohm). Esta alteração de tensão ou não por

parte do Termistor é transferida para o conversor analógico-digital que o transforma em um

Divisor de Tensão

(resistor + termistor) Temperatura

(cômodo)

Conversor A/D

Buffer

42

valor binário de oito bits correspondente. É importante lembrar que o circuito integrado

(CI) conversor analógico-digital necessita de clock de digitalização de dados e outro para

disponibilizar os dados convertidos em sua saída. Digitalizado esse valor, ele é

disponibilizado no buffer de oito bits que disponibilizará seus dados à Unidade Central

quando isto lhe for solicitado.

Unidade Central

Se a Classe Controladora gerencia o Software do Sistema, a Unidade Central

desempenha o mesmo papel no Hardware do Sistema. As funções da Unidade central são:

- Enviar sinal de clock para Unidade Sensora (para que o conversor AD

disponibilize seus dados na sua saída);

- Coletar dados das Unidades Sensora (temperatura);

- Comunicação com o Software;

- Ligar, desligar e manter equipamentos de aquecimento e resfriamento (atuadores).

Para que todas essas exigências sejam cumpridas, a Unidade Central é composta de

um multiplexador para seleção de qual registrador de Unidade Sensora será lido, um buffer

para envio de dados (temperatura) ao Software, um clock e um registrador para controlar os

atuadores. O diagrama 3.2 apresenta uma Visão Geral da Unidade Central. No diagrama,

clock (sincroniza a conversão do conversor AD presente nas Unidades Sensoras), Buffer

Principal (direciona os dados ao Software), Multiplexador (seleciona a Unidade Sensora a

ser lida) e o Registrador de Atuadores (envia bits de ativação e desativação dos atuadores)

compõem a Unidade Central.

43

Diagrama 3.2 – Visão Geral da Unidade Central.

Para se estudar todos os casos de interação que a Unidade Central é capaz de

realizar, deve-se primeiro dividi-los e citá-los um a um.

Caso 1: O Software deseja saber a temperatura em um determinado cômodo.

O Software envia (via Porta Paralela) para o multiplexador o endereço da Unidade

Sensora que deseja ler (se houver mais de uma Unidade Sensora no cômodo, o Software

envia os demais endereços também). O multiplexador recebe o endereço e ativa uma de

suas saídas lógicas. Esta saída lógica está conectada fisicamente ao buffer da Unidade

Sensora que envia seus dados ao Buffer Principal. O Buffer Principal repassa esses dados à

Porta Paralela que, por sua vez, os envia ao Software. O diagrama 3.3 ilustra a situação do

Caso 1, as linhas pontilhadas mostram os dados que vêm do Software (endereço da Unidade

Unidade Sensora

Unidade Sensora

Unidade Sensora

Unidade Sensora

Buffer Principal

Multiplexador

Clock

Atuador Atuador Atuador Atuador

Registrador de Atuadores

Porta Paralela

Software

Unidade de Controle de Atuadores

44

Sensora), as linhas tracejadas mostram os dados que vão para o Software e a linha mais

grossa mostra que dados circulam nas duas direções (bidirecional).

Diagrama 3.3 – Ilustração do Caso 1.

Caso 2: O Software deseja acionar um determinado atuador.

O Software envia (via Porta Paralela) ao Registrador de Atuadores o endereço

correspondente ao atuador que deseja acionar. Cada bit de saída do Registrador de

Atuadores está ligado a um Atuador (de aquecimento ou resfriamento). O atuador é, então,

acionado. O diagrama 3.4 ilustra o Caso 2.

Diagrama 3.4 – Ilustração do Caso 2.

Atuador

Registrador de Atuadores

Porta Paralela

Software

Unidade Sensora

Buffer Principal

Multiplexador

Clock

Porta Paralela

Software

45

Com o estudo destes dois casos é possível visualizar as duas situações básicas de

funcionamento do Sistema Computacional de Monitoramento e Controle de Temperatura:

Leitura de Temperatura (Monitoramento) e Acionamento e Desacionamento de Atuadores

(Controle).

Unidade de Controle de Atuadores

A Unidade de Controle de Atuadores é a parte mais simples do Hardware do

Sistema. Sua função é, através de um sinal de controle de aproximadamente 5V vindo do

Registrador de Atuadores da Unidade Central, acionar um equipamento robusto que

funciona com de tensão nominal muitas vezes maior. Para que isso seja possível, utiliza-se

um transistor e relé.

Um transistor é um componente capaz de a partir de uma entrada com tensão de 5V,

chavear a passagem de uma tensão maior (12V, por exemplo). O relé é um componente que

utiliza o princípio do eletromagnetismo (bobina) para acionar um equipamento de tensão

nominal muitas vezes maior. Atentando para este princípio básico de funcionamento de

transistores, foi construído a Unidade de Controle de Atuadores. O diagrama 3.5 mostra o

esquema geral da Unidade.

Diagrama 3.5 – Visão Geral da Unidade de Controle de Atuadores.

Para entender melhor o papel desempenhado pelo Software no Sistema, propõe-se

um algoritmo básico de funcionamento indicando a seqüência de passos lógicos executados

pelo programa a cada ciclo de leitura da temperatura em cada um dos cômodos a serem

monitorados e controlados.

Registrador de

Atuadores

Transistor

Relé

Equipamento

46

1) Lê a temperatura em um cômodo (recebe um valor digital binário do hardware);

2) Converte valor de binário para valor float;

3a) Compara temperatura lida com temperatura máxima;

3b) Compara temperatura lida com temperatura mínima;

4) Decide se deve acionar atuadores e, se sim, quais irá acionar;

5) Converte decisão tomada a um valor binário que expresse essa decisão;

6) Envia dados ao hardware.

Supondo-se o mesmo exemplo anteriormente citado onde um determinado usuário

configura o Sistema para monitorar um determinado cômodo de sua residência e configura

a temperatura máxima como 29ºC e a temperatura mínima como 25ºC. O fluxograma 3.0

apresenta a seqüência de passos anteriormente citados de forma mais didática, detalhando

cada um dos dados a serem relevados no momento da análise.

47

Fluxograma 3.0 – Algoritmo de análise do Software.

Tempmax = 29;

Tempmin = 25;

Início

Ler_Temperatura();

Converter():

Temperatura

< Tempmin ?

Acionar Atuador de

Resfriamento

Temperatura

> Tempmax?

Acionar Atuador de

Aquecimento

Fim

48

CAPÍTULO 4 – DESENVOLVIMENTO E IMPLEMENTAÇÃO

Hardware

Unidade Sensora

A Unidade Sensora é composta basicamente de um conversor ADC0804 [9], um

buffer 74LS541 [14] e um divisor de tensão com um termistor de 150kΩ (resistência de

150kΩ à temperatura 25ºC) e um resistor fixo de 150kΩ. A Figura 4 ilustra o divisor de

tensão que compõe a Unidade Sensora.

Figura 4 - Divisor de tensão (Resistor + Termistor).

A alimentação sobre o divisor de tensão do circuito é de 5V. Utilizando a definição

de tensão em função de resistência e corrente, temos:

V = R.i, (equação 7)

onde V é diferença de potencial entre dois pontos ou tensão (medida em volts[V]), R é a

resistência (medida em ohms[Ω]) entre esses dois pontos e i é a corrente (medida em

ampéres[A]) (Torres, 2002). Através da equação X, da figura X e do capítulo sobre

Termistores (Capítulo 3) chega-se as seguintes conclusões:

- A tensão total no divisor de tensão é 5V;

- Á temperatura de 25ºC o valor da resistência do termistor é de 150kΩ;

- Á temperatura de 25ºC o valor da resistência total no divisor de tensão é de

300kΩ;

49

- Se a tensão total no divisor de tensão é conhecida (5V) e a resistência total é

também conhecida (300kΩ) sabe-se o valor da corrente (16,7µA);

- A corrente permanece a mesma sobre o divisor de tensão independente da variação

de resistência do termistor (Torres, 2002).

Através dessas afirmações, pode-se definir que o valor da tensão sobre o termistor é:

VT = RT . 16,7µA (equação 8)

Deve se levar em consideração que a tensão máxima possível sobre o termistor (VT)

é de 5V (pois a alimentação é de 5V) e a mínima é de 0V (valor do terra).

Conversão analógico-digital de 8 bits

Conversão analógico-digital de 8 bits significa que uma grandeza analógica pode ser

representada em 256 níveis diferentes digitais (28) (Tocci, 2003). No caso do divisor de

tensão, o intervalo de valores de grandeza analógica possíveis fica entre 0V e 5V. Como o

conversor ADC0804 tem 8 bits de resolução, ele pode representar a faixa 0-5V em 256

níveis diferentes. Considerando que 0V é equivalente ao valor binário digital 00000000

(porque são menores valores possíveis tanto na grandeza analógica quanto na grandeza

digital) e que 5V é equivalente a 11111111. Para definirmos qual a variação de tensão

equivalente a variação de 1 valor decimal, dividimos a tensão máxima pela quantidade de

representações possíveis feitas pelo conversor AD. Portanto,

5V / 256 = 0,01953125 V,

isso quer dizer que a cada variação de = 0,01953125 V na tensão sobre o termistor, o valor

digital equivalente aumenta ou diminui 1 valor decimal. Logo, a equação para encontrar o

valor decimal equivalente à tensão é,

D = VT/0,01953125 (Equação 9)

onde D é valor decimal e VT é a tensão sobre o termistor. A tabela 4.0 mostra o resultado de

quando os valores digitais são associados à tensão equivalente sobre o termistor (grandeza

analógica).

50

Valor binário

Tensão [V]

Valor binário

Tensão [V]

Valor binário

Tensão [V]

0 0,0000 100 1,9531 234 4,5703 1 0,0195 101 1,9727 235 4,5898 2 0,0391 102 1,9922 236 4,6094 3 0,0586 103 2,0117 237 4,6289 4 0,0781 104 2,0313 238 4,6484 5 0,0977 105 2,0508 239 4,6680 6 0,1172 106 2,0703 240 4,6875 7 0,1367 107 2,0898 241 4,7070 8 0,1563 108 2,1094 242 4,7266 9 0,1758 109 2,1289 243 4,7461 10 0,1953 110 2,1484 244 4,7656 11 0,2148 111 2,1680 245 4,7852 12 0,2344 112 2,1875 246 4,8047 13 0,2539 113 2,2070 247 4,8242 14 0,2734 114 2,2266 248 4,8438 15 0,2930 115 2,2461 249 4,8633 16 0,3125 116 2,2656 250 4,8828 17 0,3320 117 2,2852 251 4,9023 18 0,3516 118 2,3047 252 4,9219 19 0,3711 119 2,3242 253 4,9414 20 0,3906 120 2,3438 254 4,9609 21 0,4102 121 2,3633 255 4,9805

Tabela 4.0 – Conversão Analógica-Digital executada pelo conversor ADC0804

Unidade Sensora - Resultado Final

O esquemático 4.0 apresenta o resultado final da montagem da Unidade Sensora.

Testes preliminares (Capítulo 5 – Validação e Resultados) confirmaram a consistência da

teoria de conversão analógico-digital e foram suficientes para comprovar o sucesso do

funcionamento da Unidade Sensora. As Figuras 4.0a e 4.0b apresenta a Unidade Sensora

em placa de circuito impresso. Elas foram separadas por motivos de teste.

51

Esquemático 4.0 – Esquemático da Unidade Sensora.

Figura 4.0a – Placa da Unidade Sensora. 1 – Divisor de Tensão (150k ohms + TERMISTOR, 2 – Conversor AD

(ADC0804), 3 – Conector (conecta-se à parte de buffer da Unidade Sensora).

52

Figura 4.0b – Placa integrante da Unidade Sensora. 1 – Buffer (74LS541), 2 – Conectores de saída (conectam-se à

Unidade Central), 3 – Conectores de entrada (conectam-se à saída do conversor AD da Unidade Sensora).

Unidade de Controle de Atuadores

A Unidade de Controle de Atuadores é composta basicamente de transistor, diodo e

relé. Na Unidade Central está localizado o Registrador de Atuadores. A este Registrador de

oito bits está conectado uma unidade básica da Unidade de Controle de Atuadores que se

responsabiliza pelo acionamento ou não dos atuadores.

A importância desta Unidade está em associar diferentes níveis de tensão. O

Registrador de Atuadores quando deseja acionar um dos Atuadores envia nível lógico alto

de aproximadamente 5V. Porém, a maioria dos atuadores é acionada quando submetidos a

tensões muito maiores (110 ou 220V, por exemplo). A Figura 4.1 mostra os passos

executados pela Unidade de Controle de atuadores quando deseja acionar um equipamento

(atuador) de 110V.

Figura 4.1 – Passos para Transformação de Tensão.

O Registrador de Atuadores envia sinal de nível lógico alto de aproximadamente 5V.

Utilizando um transistor modelo BD137 [12] uma tensão diferencial de 12V é acionada.

Registrador de Atuadores

(5V)

Transistor (5V para 12V)

Relé (12V aciona 110V)

Atuador (110V)

53

Essa tensão de 12V é injetada na bobina de um relé [13] que, por princípio do

eletromagnetismo, fecha uma chave permitindo assim a passagem de tensão de 110V

acionando o equipamento de aquecimento ou resfriamento.

Unidade de Controle de Atuadores – Resultado Final

O esquemático 4.1 e a foto 4.1 mostram respectivamente o esquema de montagem

do circuito e o resultado físico da Unidade. Os testes comprovaram o perfeito

funcionamento da Unidade e seu acionamento via Porta Paralela pelo Software.

Esquemático 4.1 – Unidade de Controle de Atuadores.

54

Foto 4.1 – 6 Unidades de Controle de Atuadores. 1 – Conector para o relé (VCC e GND), 2 – Transistor (BD137), 3

– Conector de entrada (conectam-se ao Registrador de Atuadores, ao +12V e ao GND).

Unidade Central

A Unidade central é a parte principal do Hardware do Sistema. Suas

responsabilidades são: Multiplexar o acesso às Unidades Sensoras, gerar clock único à

todas as Unidades Sensoras, enviar dados de acionamento para a Unidade de Controle de

Atuadores, receber dados das Unidades Sensoras e comunicar-se com o Software do

Sistema. Considerando todas as atividades descritas, a Figura 4.2 nos mostra a divisão de

tarefas da Unidade Central e suas interações com as demais Unidades do Sistema. Esta

unidade é dividida em Buffer Principal (recebe os dados), clock (para leitura das Unidades

Sensoras), Multiplexação (para selecionar Unidades Sensoras), Comunicação (envio e

recebimento de dados) e Registrador de Atuadores (para acionar controladores).

55

Figura 4.2 – Unidade Central e suas funções.

Buffer Principal

Para receber os dados de oito bits do buffer da Unidade Sensora, utilizou-se um

circuito integrado 74LS541 [14] que é um buffer de oito bits igual ao contido na Unidade

Sensora.

Gerador de clock

Para a geração do clock para a Unidade Sensora foi utilizado um circuito integrado

modelo NE555 [8] para montagem de um multivibrador astável [1]. Esta montagem com

componentes pré-calculados possibilitou um gerador de onda quadrada de freqüência igual

a aproximadamente 1 Hz. O esquemático 4.2 mostra o esquemático do gerador de clock e a

foto 4.2 mostra o resultado da montagem e placa da circuito impresso.

Unidade Sensora

Software Buffer

Principal

Clock

Multiplexação

Comunicação Porta Paralela

Registrador de Atuadores

Unidade de Controle de Atuadores

56

Esquemático 4.2 – Gerador de clock.

Foto 4.2 – Gerador de clock. 1 – Circuito Integrado NE 555, 2 – Capacitor de ajuste de freqüência, 3 – Capacitor

de controle de tensão, 4 – Conectores (alimentação e saída do clock).

Multiplexação

Para a construção do Multiplexador foi utilizado um circuito integrado 74LS138

[10] com oito saídas selecionáveis. Quando o Software deseja ler a temperatura de uma das

Unidades Sensoras, ele informa o endereço da Unidade Sensora ao multiplexador com um

57

endereçamento de três bits. Cada uma das saídas do 74LS138 pode se conectar a uma

Unidade Sensora. A Figura 4.3 apresenta o esquema básico do 74LS138.

Figura 4.3 – Esquema básico do 74LS138.

A Tabela 4.2 apresenta a relação endereço-porta acionada do 74LS138. Todas as

saídas apresentam inicialmente nível lógico alto. Quando uma saída é selecionada ela passa

para nível lógico baixo [10].

C B A Saída Acionada 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 4 1 0 1 5 1 1 0 6 1 1 1 7

Tabela 4.2 – Relação entrada – saída do 74LS138.

Registrador de Atuadores

Um registrador de oito bits modelo 74LS573 [12] é responsável por enviar e manter

os bits para ativar e desativar atuadores. Cada equipamento de aquecimento ou resfriamento

do Sistema está conectado a uma saída da Unidade de Controle de Atuadores que está

conectado, por sua vez, a uma a saída do Registrador de Atuadores. Para entender o

funcionamento deste módulo e a sua importância suponha o seguinte caso:

A 0 B 1 C 2 3 4 5 6 7

58

Figura 4.4 – Esquema de conexão de atuadores em uma residência. A letra A_ representa equipamentos de

aquecimento e a letra R_ representa equipamentos de resfriamento.

Caso 1 – Deseja-se aquecer o cômodo 1 (A1) e resfriar o cômodo 3 (R3):

Endereço em 8 bits: 10000100 (128 + 4)

Endereço decimal: 132

O bit correspondente ao valor decimal 128 está ligado ao aquecedor do cômodo 1 e

o bit de valor decimal 4 está ligado ao resfriador do cômodo 3 sendo estes, portanto, os bits

a serem elevados ao nível lógico 1.

Caso 2 – Mantendo-se o Caso 1 deseja-se resfriar os cômodos 2 e 4 (R2 e R4).

Manter cômodo 1 aquecendo (A1) e parar de resfriar cômodo 3 (/R3).

Endereço em 8 bits: 10010001 (128 + 16 + 1)

Endereço decimal: 145

O bit correspondente ao valor decimal 128 está ligado ao aquecedor do cômodo 1, o

bit de valor decimal 16 está ligado ao resfriador do cômodo 2 e o bit de valor decimal 4 está

ligado ao resfriador do cômodo 3 sendo estes, portanto, os bits a serem elevados ao nível

lógico 1.

Instruções de Execução

Para realizar tarefas como: coletar temperatura, selecionar Unidade Sensora, enviar

dados (Unidade de Controle de Atuadores), Receber dados (Unidades Sensoras) o Software

obedece protocolos desenvolvidos para operação do Hardware do Sistema.

Registrador de Atuadores

128 64 32 16 8 4 2 1

A1 R1 A2 R2 A3 R3 A4 R4

Cômodo 1 Cômodo 2 Cômodo 3 Cômodo 4

59

O Sistema trabalha com dois registradores da Porta Paralela [24]: Registrador de

Dados (oito bits) de endereço hexadecimal 0x378 e Registrador de Controle (quatro bits) de

endereço hexadecimal 0x37A. O Registrador de Dados é bidirecional half-duplex, ou seja,

envia ou recebe dados. O Registrador de Controle é unidirecional e apenas envia dados, os

quatro bits deste registrador são: SELECT IN, INIT, AUTOFEED e STROBE. Os pinos

SELECT IN, AUTOFEED e STROBE têm lógica inversa e o pino INIT tem lógica direta

[23].

O pino INIT no Hardware do Sistema responsabiliza-se por controlar a saída e a

entrada de dados no Software. Quando em nível lógico alto, INIT ativa o Buffer Principal

(74LS541), que envia seus dados ao Software, e desativa o Registrador de Atuadores

(74LS573), quando em nível lógico baixo, INIT ativa o Registrador de Atuadores (e

desativa o Buffer principal) para receber dados do Software.

Tarefa (0x37A) (0x378) Receber temperatura X1XX

Enviar dados de controle de Atuadores X0XX XXXXXXXX

Tabela 4.3 – Instruções de execução.

A Tabela 4.3 mostra as instruções de execução para que o Software execute

determinadas tarefas. Uma vez que o pino INIT do Registrador de Controle (0x37A) é

reservado para controle do fluxo de dados, SELECT IN, AUTOFEED e STROBE

responsabilizam-se por selecionar as Unidades Sensoras conectadas ao Multiplexador. Os

endereços possíveis para seleção de Unidades Sensoras estão na Tabela 4.2. (Lembrando

que os pinos SELECT IN, AUTOFEED e STROBE têm lógica inversa).

Unidade Central – Resultado Final

A Figura 4.18 apresenta o esquemático da Unidade Central e a Foto 4.3 apresenta a placa de circuito impresso do mesmo. A disposição dos conectores foi feita visando a acoplação da placa em uma caixa para um futuro produto final.

60

Figura 4.18 – Esquemático da Unidade Central.

Foto 4.3 – Unidade Central em PCI.

61

Software

O Software do Sistema Computacional de Monitoramento e Controle de

Temperatura foi implementado em linguagem C++ usando o ambiente IDE da Borland

(Builder 6). Para se manter fiel à especificação do Projeto (capítulo 3) utilizou-se a

programação em camadas que tem como principal objetivo transformar um programa com

uma quantidade imensa de linhas de código em partes modulares.

Para implementar o Software para desempenhar as funções de Monitoramento e

Controle da Temperatura, os módulos foram divididos da seguinte forma: classes de

interface, classe de controle, classes de negócio e comunicação, classe de conversão e

classe de persistência em Banco de Dados.

Classes de Interface

O Sistema contém seis classes de interface: FrmPrincipal, FrmHistorico,

FrmCadComodo, FrmCadUsuario, FrmMonitoramento e FrmConfiguracao. Essas classes

interagem com o usuário e/ou instalador para que este cumpra as tarefas necessárias.

FrmPrincipal

É a “janela” de abertura do Sistema. É nesta interface que o usuário entra com seu

nome e senha e, dependendo do nível de acesso (Capítulo 3 – Cadastro de Usuários) o

Sistema libera as atividades possíveis àquele usuário. A Figura 4.5 exibe a interface

definitiva principal do Sistema.

62

Figura 4.5 – Interface Principal do Software.

Esta interface também é composta por quatro botões (Cadastro de Usuário, Cadastro de

Cômodo, Configurações e Monitoramento) que possibilitam o acesso às demais interfaces.

Inicialmente, estes botões estão desabilitados (false). A seqüência de funcionamento desta

interface é a seguinte:

- O Sistema preenche o componente listbox com o nome dos usuários cadastrados;

- O Usuário seleciona o seu nome na lista e coloca sua senha;

- O Sistema verifica se o Usuário e a Senha conferem;

- O Sistema verifica o nível de acesso do usuário e habilita os botões (true).

FrmHistorico

Esta “janela” á acionada a partir da interface de Monitoramento. É composta por

componentes Calendar (disponível no Ambiente Builder 6), um componente listbox

63

contendo todos os cômodos cadastrados e um componente TChart que exibe os gráfico

Temperatura x Tempo. A Figura 4.6 apresenta a versão definitiva da Interface de Histórico.

Figura 4.6 – Interface de Histórico.

A utilização desta interface acontece da seguinte forma:

- O Usuário seleciona uma data específica no calendário (16/07/2007, por

exemplo);

- O Usuário seleciona no listbox o cômodo do qual deseja ver o Histórico;

- O Sistema exibe no componente TChart o resultado obtido (Temperatura x

Tempo).

FrmCadComodo

Esta “janela” é composta de componentes Edit e Memo referentes aos dados do

Cômodo (Capítulo 3 – Cadastro de Cômodos). Contém também botões para incluir, excluir

e alterar cômodos. Na parte direita da interface o usuário pode visualizar os dados de

64

cômodos já cadastrados. A Figura 4.7 exibe a forma definitiva da Interface de Cadastro de

Cômodos.

Figura 4.7 – Interface de Cadastro de Cômodos.

Para incluir um cômodo o usuário deve:

- Preencher o código, nome e descrição do cômodo;

- Apertar botão “Incluir” (se já houver código ou nome iguais aos digitados – o

Sistema emite uma mensagem de aviso).

Para excluir um cômodo o usuário deve:

- Selecionar um cômodo já cadastrado (listbox “Cômodos Cadastrados”);

- Apertar botão “Excluir”.

Para alterar dados de um cômodo o usuário deve:

- Selecionar um cômodo já cadastrado (listbox “Cômodos Cadastrados”);

- Alterar dados deste cômodo;

- Apertar botão “Alterar”.

65

FrmCadUsuario

Têm o mesmo princípio de funcionamento da Interface de Cadastro de Cômodos, ou

seja, o usuário entra com os dados de código, nome, nível de acesso e senha e pode incluir,

excluir ou alterar usuários. A Figura 4.8 exibe a Interface definitiva do Cadastro de

Usuários.

Figura 4.8 – Interface de Cadastro de Usuários.

FrmMonitoramento

Esta é a Interface mais importante do Sistema. A Figura 4.9 exibe a Interface

definitiva de Monitoramento e Controle.

66

Figura 4.9 – Interface de Monitoramento e Controle.

1- Área de seleção de configurações previamente feitas;

2- Área de seleção de Temperatura Máxima e Mínima (para cômodo específico ou

todos):

3- Área de Monitoramento dos Cômodos;

4- Botão de Início de Monitoramento;

5- Botão de acesso à Interface de Histórico;

Classe cPorta

Esta classe tem a função de interagir diretamente com o Hardware do Sistema, ou

seja, é o intermediário entre Software e Hardware. A Figura 4.10 exibe a estrutura da classe

cPorta.

67

class cPorta

public:

cPorta();

void Outportb(unsigned short portid, unsigned

short value);

unsigned short Inportb(unsigned short portid);

;

unsigned int _inp(unsigned short porta);

Figura 4.10 – Classe cPorta

Como visto anteriormente, a porta paralela contém dois registradores com endereço

hexadecimal iguais a 0x37A e 0x378. O registrador 0x37A serve para seleção de qual

Unidade Sensora se deseja ler os dados, portanto, a classe cPorta, quando deseja coletar

dados de uma determinada Unidade Sensora, em primeiro lugar utiliza o método

Outportb(unsigned short portid, unsigned short value),

onde portid é o endereço do registrador que se deseja utilizar (neste caso, 0x37A) e value é

o valor decimal que se deseja enviar para este registrador (neste caso, o endereço física da

Unidade Sensora que se deseja ler. Em segundo lugar, a classe cPorta utiliza o método

Inportb(unsigned short portid),

onde portid é o endereço do registrador do qual se deseja ler dados (neste caso, 0x378).

Classe cComodo

É uma classe importante para o Sistema, pois esta classe é instanciada na memória

durante o Monitoramento e Controle de uma residência, empresa ou indústria sendo a

representação abstrata da unidade física cômodo. Além de conter código, nome e descrição

do cômodo, contém também os valores de temperatura máxima e mínima ajustados,

endereço de porta dos sensores presentes no cômodo e o endereço dos atuadores de

aquecimento e resfriamento do cômodo. A figura 4.11 apresenta a estrutura da classe

cComodo.

class cComodo

private:

int id;

String nome;

String descricao;

vector <int> endPortas;

vector <int> decimal;

vector <float> temperaturas;

float temperatura;

68

cPorta *porta;

cConversao *conversor;

int endAtuadorResfria;

int endAtuadorAquece;

float tempmax;

float tempmin;

int vlrAtuador;

public:

cComodo(int id, String nome, String descricao);

int NroPortas(vector<String> &vetor);

void setId(int id);

void setNome(String nome);

void setDescricao(String descricao);

void setEndPortas(int endPorta);

void setAtuadorResfria(int end);

void setAtuadorAquece(int end);

void setTempMax(float tempmax);

void setTempMin(float tempmin);

int getId();

String getNome();

String getDescricao();

int getDecimal();

float getTemperatura();

float getTempMax();

float getTempMin();

int getEndPortaResfria();

int getEndPortaAquece();

bool TemperaturaAcima();

bool TemperaturaAbaixo();

;

Figura 4.11 – Estrutura da Classe cComodo.

A classe cComodo contém ao todo 21 métodos, deste destaca-se os mais importantes:

- setEndPortas(int endPorta): Método que atribui à um cômodo uma Unidade

Sensora conectada ao endereço físico endPorta;

- setAtuadorResfria (int end) / setAtuadorAquece (int end): Determina que o

equipamento de resfriamento/aquecimento do cômodo está conectado ao endereço

end;

- TemperaturaAcima() / TemperaturaAbaixo(): Retorna verdadeiro se o

temperatura estiver acima/abaixo da máxima/mínima, senão, retorna falso;

- GetTemperatura(): Método mais importante da classe cComodo. Este método

aponta para um objeto cPorta e, deste objeto, invoca método para buscar dados de

temperatura do cômodo.

Coleta de Temperatura

Como dito anteriormente, a classe cComodo contém um ponteiro para um objeto

cPorta. Quando é requisitada a temperatura de um determinado cômodo, o seu objeto

abstrato invoca o método outportb do objeto cPorta e passa como parâmetro o endereço do

69

registrador conectado ao Multiplexador da Unidade Central e o endereço físico da Unidade

Sensora presente naquele cômodo (se houver mais de uma Unidade Sensora, o objeto

cPorta invoca o método outportb para cada Unidade sensora presente).

Quando invoca este método (outportb) o Hardware disponibiliza em seu Buffer

Principal (Capítulo 3 – Unidade Central) os dados referentes à Temperatura. Sendo assim, o

objeto cPorta invoca o método inportb que coleta o valor disponível na entrada da Porta

Paralela e devolve esse valor ao objeto cComodo. Este valor decimal de 8 bits retornado

pelo cPorta é enviado ao objeto do tipo cConversao que converte esse valor decimal em um

valor de temperatura apropriado. Se o cômodo tem mais de uma Unidade Sensora

monitorando sua temperatura, a temperatura final deste cômodo será uma média dos

valores de cada uma das Unidades Sensoras. O diagrama 4.0 mostra a representação de

como se dá a coleta de temperatura dos cômodos.

Diagrama 4.0 – Representação da Coleta de temperatura dos Cômodos.

Classe cConversao

Este classe responsabiliza-se por converter um valor binário de 8 bits em uma escala

de Temperatura compreensível ao usuário. No tópico “Unidade Sensora” do Capítulo 4

desta monografia encontramos a equação 8. Este equação permite à classe cConversao

descobrir à tensão sobre o termistor (VT) a partir de um valor decimal (8 bits) e

cComodo

cPorta Porta Paralela

outportb

inportb

Multiplexador

Buffer Principal

cConversao

70

conseqüentemente a resistência do termistor (pois a corrente permanece constante igual a

16,7µA).

Conforme a equação 2 do capítulo sobre Termistor modelo B57164-K154 (Capítulo

2 – Termistor modelo B57164-K154) pode-se encontrar a resistência de um Termistor

quando se sabe a temperatura. Para o Sistema, porém, interessa encontrar a Temperatura a

partir da resistência

Isolando a variável temperatura

A equação 2 do tópico Termistor modelo B57164-K154 no capítulo 3 desta

monografia diz que:

[11]

Deseja-se, porém, a partir da resistência RT encontrar a temperatura T. Para isso, deve-se

isolar T na equação 2. Para isolar T, foi seguido os seguintes passos:

- A= αX / 100

- B = (Tx + 273,15)2

- C = 1 / (Tx + 273,15)

- D = RT / RTx

- E = е ABC

- F = log10 (DE)

- G = log10 (е)

- H = (ABG) / F

- T = H – 273,15 (equação 8)

A Figura 4.13 apresenta a classe cConversao e seus métodos.

71

class cConversao

private:

float tensao;

float corrente;

float resistencia;

float table[40][4];

float Intervalo_resistencia;

float R_proximo;

float T_proximo;

float alfa;

float Temperatura;

public:

cConversao();

void decimal_tensao(int decimal);

void tensao_resistencia();

void Carregar_Tabela();

//void Imprimir_Tabela();

void RT_proximo();

float Calcular_Temperatura();

float Converter(int decimal);

;

A ordem de execução de métodos para se converter um valor decimal em um valor de

Temperatura (float) é:

- Carregar_Tabela() – Carrega tabela referente aos dados fornecidos pelo fabricante

do termistor.

- decimal_tensao(decimal) – Transforma valor decimal em tensão equivalente.

- tensao_resistencia() – Calcula valor da resistência em função da tensão.

- RT_proximo() – Busca valores aproximados de RTx ,Tx e α.

- Calcular_Temperatura() – Calcula temperatura usando equação 8.

Classe cAtuador

A classe cAtuador tem por objetivo enviar os dados referentes aos atuadores, ou

seja, equipamentos de aquecimento e resfriamento no caso deste Sistema para ativá-los

desativá-los ou mantê-los no mesmo estado. Para entender-se melhor a questão de manter

o estado do atuador e o funcionamento da classe cAtuador, propõe-se o seguinte exemplo:

Uma residência contém três cômodos monitorados pelo Sistema Computacional de

Monitoramento e Controle de Temperatura. O usuário configurou o primeiro cômodo para

atuar na faixa de temperatura entre 15ºC e 25ºC, o segundo cômodo na temperatura entre

72

20ºC e 30ºC e o terceiro cômodo na temperatura entre 22ºC e 28ºC. Na primeira leitura das

temperaturas dos quartos, observaram-se os seguintes dados (tabela 4.4):

Cômodo 1 Cômodo 2 Cômodo 3 Temperatura Atual (Celsius) 22 17 25

Decisão mantém aquece Mantém Tabela 4.4

Em uma segunda leitura, observou-se o seguinte resultado tabela 4.5:

Cômodo 1 Cômodo 2 Cômodo 3 Temperatura Atual (Celsius) 22 17 25

Decisão mantém aquece Mantém Temperatura Atual (Celsius) 22 19 30

Decisão mantém mantém resfria Tabela 4.5.

Conclui-se que manter o estado de não-acionamento ou acionamento é muito importante,

ou seja, é necessário levar em consideração a condição anterior do Sistema.

A classe cAtuador recebe um byte de dados, cada bit corresponde a um atuador

presente neste Sistema (caso haja mais atuadores no Sistema do que endereços disponíveis,

é necessário uma realocação a nível de Hardware). Para se considerar o estado anterior de

um Sistema antes de gerar uma nova configuração é bem simples, basta utilizar uma soma

binária. Como cada um dos atuadores têm um endereço binário fixo e em uma soma binária

não existem duas possibilidades de configuração para um mesmo resultado, consegue-se,

assim, gerar um estado atual sem prejudicar a utilização de um atuador e seu

funcionamento.

A figura 4.14 mostra a estrutura da classe cAtuador e a declaração de seus métodos.

class cAtuador

private:

int byteAtuadores;

cPorta *porta;

public:

cAtuador();

void setAtuadores(int byte);

int getAtuadores();

void AtuadoresControl();

;

Figura 4.14 – Estrutura classe cAtuador.

73

Pode-se destacar o método setAtuadores que recebe do Controlador a configuração de byte

que deve enviar via porta paralela ao Registrador de Atuadores e AtuadoresControl que faz

o envio do byte.

Classes de Banco de Dados

As classes de Banco de Dados estão presentes no Sistema para armazenar dados

referentes a cadastro de cômodos, cadastro de usuários, configuração e histórico. Em C++

estas classes têm a mesma estrutura e utilizam linguagem SQL para armazenar seus dados

em uma tabela pré-configurada.

Tabelas do Sistema

Neste tópico serão apresentadas as tabelas existentes no Sistema e uma breve explanação

sobre os mesmos:

usuário(id, nome, nível, senha) – Tabela de armazenamento de usuários.

cômodo(id, nome, descrição) – Tabela de armazenamento de cômodos.

Configuração(arquivo, idcomodo, endporta) – Armazena (linha a linha) as configurações

feitas pelo usuário com o nome do arquivo dado pelo mesmo.

Save(cômodo, data, hora, temperatura) – armazena histórico de temperatura dos

cômodos monitorados.

Estrutura das Classes

Como dito anteriormente, a estrutura das classes de Banco de Dados é parecida. A

figura 4.15 mostra como exemplo a classe de Banco de Dados para armazenar cômodos.

74

class cBrokerComodo

private:

TQuery *query;

public:

cBrokerComodo();

~cBrokerComodo();

void Incluir(int id, String nome, String

descricao);

bool Buscar(int id, vector<String> &vetor);

void Alterar(String nome, String descricao);

void Excluir(String nome);

void Pesquisar(vector<String> & vetor);

int ContarComodos();

bool Buscar(int id);

bool Buscar(String nome);

void Buscar(String nome, vector<String>

&vetor);

void BuscarId(int id, vector<String> &vetor); ;

Figura 4.15 – Estrutura da classe de Banco de Dados de cômodos (Broker).

Dentre as principais funções da classe de Banco de Dados no Sistema, deve-se citar:

inclusão, exclusão e alteração de dados, pesquisa e busca de dados.

Classe de Controle de Residência (cCtrlResidencia)

A classe cCtrlResidencia é a classe mais importante do Software do Sistema. Isto

porque é esta classe a responsável por controlar e gerenciar atividades de monitoramento e

controle dos diversos cômodos, bem como, providenciar a instanciação dos cômodos

(classe cComodo) na memória, armazenar a cadastro de usuários e cômodos, validar senhas

de acesso, armazenar configurações feitas pelo usuário e/ou instalador, associar um cômodo

aos endereços dos atuadores presentes no Sistema. Enfim, a classe de Controle de

Residência gerencia todos os processos executados pelo Sistema invocando os métodos das

outras classes que compõem o Software do Sistema no momento oportuno.

75

Figura 4.16 (a),(b) e (c). Exemplos de classes envolvidas em interações do usuário com o Software do Sistema para

uma determinada tarefa.

A Figura 4.16 exibe um diagrama em bloco de alguns exemplos de interações entre classes

do Software do Sistema. A figura 4.16 (a) exemplifica o processo de cadastro de usuários, a

interface envia os dados cadastrais ao Controlador de Residência que, por sua vez, invoca o

método do Broker de Usuário. A figura 4.16 (b) exemplifica o processo de Cadastro de

Cômodo que é similar ao processo de Cadastro de Usuários. A figura 4.16 (c) exemplifica o

processo de acionamento do Sistema de Monitoramento e Controla, o controlador

cCtrlResidencia responsabiliza-se por apontar para todos os cômodos que serão

monitorados e controlados.

class cCtrlResidencia

private:

vector <cComodo*> comodos;

int endAtuadores[8];

int CtrlAtuadores;

cPorta *porta;

cAtuador *atuador;

public:

cCtrlResidencia();

void IncluirComodo(int id, String nome, String

descricao);

void ExcluirComodo(String nome);

void AlterarComodo(String nome, String

descricao);

void PesquisarComodos(vector <String>

&vetor);

void BuscarComodo(String nome, vector

<String> &vetor);

void IncluirUsuario(int id, String nome, String

nivel, String senha);

void ExcluirUsuario(String nome);

void AlterarUsuario(int id, String nome, String

nivel, String senha);

void PesquisarUsuarios(vector <String>

&vetor);

void PesquisarArquivos(String nome,vector

<String> &vetor);

Interface de Cadastro de

Usuário

cCtrlResidencia

BrokerUsuario cComodo BrokerComodo

cCtrlResidencia

Interface de Cadastro de

Cômodo

Interface de Monitoramento

e Controle

cCtrlResidencia

cComodo cComodo

76

void PesquisarConfig(String

arquivo,vector<String> &vetor);

void BuscarUsuario(String nome, vector

<String> &vetor);

bool ValidarSenha(String nome, String senha,

String &nivel);

void ExcluirArquivo(String arquivo);

void Salvar(String nomeUsuario, String

arquivo, vector <String> &vetor);

void Instanciar(String arquivo);

void

ComodosInstanciados(vector<String>&vetor);

void MostrarEndPortas(String comodo,

vector<String> &vetor);

void MostrarEndAtuadores(String comodo,int

&resfria, int &aquece);

void SetarTemperatura(String comodo, float

tempmax, float tempmin);

void Monitorar(vector <String> &vetor);

void ControlarAtuadores();

void AcionarAtuadores();

void SalvarHist();

void Teste(String nome, float temp);

float getTempMax(String comodo);

float getTempMin(String comodo);

;

Figura 4.17 – Estrutura da Classe cCtrlResidencia.

A figura 4.17 exibe a estrutura da classe cCtrlResidencia. Os métodos mais importantes

são:

- InstanciarCômodos – Traz a memória os cômodos que serão monitorados;

- ColetarTemperatura – Percorre os cômodos instanciados invocando seus métodos

que recebem o valor da temperatura;

- AcionarAtuadores – Verifica se é necessário resfriar ou aquecer algum cômodo e

coleta seus endereços de atuador. Se houver mais de um atuador que precisa ser

acionado, seus endereços de atuadores são somados e enviados à classe de

atuadores, cAtuador.

Visão Geral do Software

Após a revisão do desenvolvimento de cada uma das classes componentes do

Software do Sistema, o diagrama em blocos 4.0 exibe a interação entre essas classes para

um melhor entendimento desta importante parte do Sistema e melhor exemplificação da

estrutura do Software que suporta o funcionamento do Hardware.

77

Diagrama em blocos 4.0 – Visão Geral do Software.

A disposição mostrada no diagrama em blocos 4.0 de classes que compõem o Software do

Sistema Computacional de Monitoramento e Controle de Temperatura mostrou-se

satisfatório tendo em vista as tarefas a serem realizadas. Não houve nenhum problema na

questão de comunicação, pois esta é feita de maneira intercalada e precisa evitando assim

congestionamento do acesso. Os atrasos de leitura ocasionados pelas limitações da Porta

Paralela não foram significativas para a aplicação implementada não se fazendo, em

hipótese alguma, notar pelo usuário que esteja utilizando o Sistema.

73

CAPÍTULO 5 – VALIDAÇÃO E RESULTADOS

Para comprovar o funcionamento adequado dos termistores e validar a estrutura da

Unidade Sensora de temperatura como um instrumento adequado para medir a temperatura de

um ambiente qualquer, foram realizados alguns testes. Os testes realizados foram os seguintes:

- Posicionamento dos termistores em alturas diferentes;

- Aumento de temperatura a diferentes taxas;

- Diminuição da temperatura a diferentes taxas.

Estes testes visam observar as reações dos termistores expostos a diferentes alturas uma vez que,

segundo a Física, o ar quanto mais aquecido menos denso fica [5]. Visa também verificar a curva

de resposta do Termistor ao aquecimento e resfriamento de um cômodo e também a variação

observada entre as medidas de dois termistores posicionados em um mesmo cômodo.

Teste 1 - Posicionamento dos termistores em alturas diferentes

Em cômodo de dimensões 2,93m x 3,80m x 2,50m foram posicionados três termistores

nas seguintes alturas:

- Termistor 01 – 0,34m do chão;

- Termistor 02 – 0,78m do chão;

- Termistor 03 – 2,02m do chão.

Os termistores ficaram um acima do outro na vertical. A janela e a porta do cômodo

permaneceram fechadas durante o teste e este durou duas horas que foi dividida da seguinte

forma: na primeira hora em intervalos de cinco minutos media-se a resistência dos três

termistores. Na segunda hora foi ligado um aquecedor no quarto e, em intervalos de cinco

minutos media-se a resistência dos três termistores. A potência do aquecedor é de 1500W e foi

ligada em sua potência máxima. A disposição do aquecedor no cômodo, os móveis presentes no

cômodo e suas dimensões e a posição da janela e porta do cômodo estão ilustradas na figura 5.0

em uma visão lateral do cômodo. Esta figura também exibe as dimensões dos móveis do

cômodo. Já a figura 5.1 exibe as disposições dos móveis e termistores em uma vista superior do

cômodo.

74

Figura 5.0 – Cômodo (visão lateral).

1- Termistor 01 (0,34m do chão);

2- Termistor 02 (0,78m do chão);

3- Termistor 03 (2,02m do chão);

4- Cama (0,50m de altura; 2,00m de comprimento e 1,00m de largura);

5- Balcão (0,80m de altura; 0,40m de comprimento e 1,35m de largura);

6- Janela (1,72m de largura e 1,00m de altura);

7- Cômodo (3,80m de comprimento; 2,93m de largura e 2,50m de altura);

8- Aquecedor (1500W).

1

2

3

4

5

6 7

8

75

Figura 5.1 – Cômodo (visão superior).

1 – Cama (0,50m de altura; 2,00m de comprimento e 1,00m de largura);

2 - Termistores;

3 – Porta (0,80m de largura e 2,10m de altura);

4 – Armário (2,50m de altura; 3,04m de largura e 0,57m de comprimento);

5 - Balcão (0,40m largura; 0,80m de altura e 1,35m de comprimento);

6 – Janela (1,72m de largura e 1,00m de altura).

Resultado

A tabela 5.0 mostra as resistências medidas nos três termistores em intervalos de cinco

minutos. O gráfico 5.0 mostra a variação de resistência de cada cômodo ao longo do tempo. A

tabela 5.1 apresenta a temperatura de cada um dos termistores nos intervalos de tempo e o

gráfico 5.1 mostra a variação de temperatura em cada um destes.

1

4

5

3

2

6

76

Tempo [m]

Termistor 01 [k ohms]

Termistor 02 [k ohms]

Termistor 03 [k ohms]

5 197,1 197,9 190,3 10 197,7 194,3 191,6 15 197,2 197,5 191,4 20 197,8 193,4 190,4 25 196,4 196 190,5 30 195,8 193,8 190,3 35 197,3 196,3 191,2 40 196,3 192,9 191,2 45 195,3 195,3 189,5 50 195,4 193,6 190,4 55 196 194,7 190,7 60 196,7 193,3 191,1 65 185 185,8 181,5 70 181,9 177,3 175,2 75 180,3 178,7 175,5 80 177,4 175 173,8 85 177,9 172,6 172,9 90 175,6 171,5 173,5 95 174,5 170,1 169,5 100 174,3 168,6 168,5 105 171,4 169 167,3 110 171,6 166,5 166,8 115 171,2 166,4 166,5 120 171,8 164,1 166

Tabela 5.0 – Medida das resistências nos três termistores (início do aquecimento no minuto 60).

0

50

100

150

200

250

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Termistor01

Termistor02

Termistor03

Gráfico 5.0 – Medida das resistências nos três termistores (Intervalos de Medida X Resistência [kΩ]).

77

Tempo [m]

Termistor 01 [Celsius]

Termistor 02 [Celsius]

Termistor 03 [Celsius]

5 19,5 19,5 20,2 10 19,5 19,8 20,1 15 19,5 19,5 20,1 20 19,5 19,9 20,2 25 19,6 19,6 20,2 30 19,7 19,9 20,2 35 19,5 19,6 20,2 40 19,6 20 20,2 45 19,7 19,7 20,3 50 19,7 19,9 20,2 55 19,6 19,8 20,2 60 19,6 19,9 20,2 65 20,7 20,7 21 70 21 21,4 21,7 75 21,2 21,5 21,7 80 21,4 21,7 22 85 21,4 22,1 22,1 90 21,7 22,3 22 95 21,9 22,5 22,6 100 21,9 22,7 22,7 105 22,3 22,6 22,6 110 22,3 22,8 22,8 115 22,3 22,8 22,8 120 22,3 23,2 22,8

Tabela 5.1 – Temperatura (em graus Celsius) nos termistores.

17

18

19

20

21

22

23

24

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Termistor01

Termistor02

Termistor03

Gráfico 5.1 – Variação da temperatura dos termistores ao longo do tempo (Intervalo de Medida X Temperatura

[Celsius]).

78

Os resultados obtidos neste experimento comprovam a teoria de que o ar mais aquecido

torna-se menos denso, fazendo que este fique na parte mais alta do cômodo. As variações

inesperadas na medida dos termistores explicam-se pela imprecisão do instrumento de medida

utilizado (neste caso, o multímetro). Vale lembrar que o termistor utilizado neste teste é do

modelo NTC, ou seja, resistência inversamente proporcional à temperatura.

Teste 2 - Aumento de temperatura a diferentes taxas

Este teste tem como objetivo observar a curva de resposta do termistor em situações de

aquecimento à diferentes intensidades. Para simular o aquecimento de um cômodo foram

utilizadas duas caixas de madeira de dimensões 0,30m x 0,30m x 0,30m com tampa de acrílico

para facilitar a observação dos acontecimentos (foto 5.0). Para simular o aquecimento a

diferentes intensidades em uma das caixas foi instalada uma lâmpada de 40W (Watts) de

potência e na outra caixa uma lâmpada de 60W. Este experimento terá duração de 1(uma) hora.

O procedimento para realização deste teste será o seguinte:

1- Mede-se a temperatura inicial nas duas caixas sem ligar as lâmpadas;

2- Acendem-se as duas lâmpadas;

3- Mede-se a temperatura indicada pelos termistores nas duas caixas a cada 5 minutos.

Foto 5.0 – Caixa de Madeira (MDF de 0,6mm) com dimensões 0,30m X 0,30m X 0,30m.

Resultado

A tabela 5.2 apresenta o resultado das resistências medidas nas duas caixas. Sensor 01

representa o termistor que media a temperatura da caixa com a lâmpada de 40W e sensor 02 o

termistor que media a temperatura da caixa com a lâmpada de 60W. O gráfico 5.2 apresenta a

79

curva de resposta dos termistores nas caixas. A tabela 5.3 apresenta as temperaturas equivalentes

às resistências medidas e o gráfico 5.3 a curva de resposta em graus Celsius do mesmo.

Resistência Inicial (k ohms) 149,3 150,4

sensor 01 sensor 02

0 149,3 150,4 5 126,1 106,5 10 115,1 88,8 15 103,4 77,8 20 99,9 73,2 25 94,6 68,6 30 91,8 65,7 35 89,8 63,8 40 87,7 62,1 45 86 61,2 50 85,5 60,7 55 84,1 59,6 60 83,2 59,3

Tabela 5.2 – Resultado em k ohms do teste 2.

0

20

40

60

80

100

120

140

160

1 2 3 4 5 6 7 8 9 10 11 12 13

sensor 01

sensor 02

Gráfico 5.2 – Curva de respostada resistência dos sensores (termistores) nas caixas (Intervalos de Medida X Resistência

[k Ω]).

80

Temperatura Inicial (Celsius) 25,1 25

sensor 01 sensor 02

0 25,1 25 5 28,6 32,1 10 30,2 35,9 15 32,7 40,1 20 33,2 40 25 34,6 40,5 30 35,3 42,5 35 35,7 42,8 40 36,2 43,7 45 36,5 44 50 36,7 44,2 55 37 44,5 60 37,2 44,8

Tabela 5.3 – Temperatura em cada uma das caixas.

0

5

10

15

20

25

30

35

40

45

50

1 2 3 4 5 6 7 8 9 10 11 12 13

sensor 01

sensor 02

Gráfico 5.3 – Curva de resposta da temperatura lida pelos sensores nas caixas (Intervalo de Medida X Temperatura

[Celsius]).

Com este teste pode-se comprovar a sensibilidade do termistor ao aquecimento de um ambiente e

a diferença da curva de resposta sob mudanças de temperatura à diferentes taxas.

81

Teste 3 – Diminuição de Temperatura a diferentes taxas

O procedimento para realização do teste foi o seguinte:

1 – Foram fabricados 6 (seis) blocos de gelo com 240ml de água cada;

2 – Duas caixas de madeira com dimensões (0,30m X 0,30m X 0,30m) foram

providenciados (foto 5.0);

3 – Em uma das caixas colocou-se 4 (quatro) blocos de gelo (240ml cada) e em outro

2(dois) blocos.

4 – Em um período de 1(uma) hora foi coletado a temperatura dos sensores presentes um

em cada caixa em intervalos de 5 minutos.

Este procedimento visa observar a curva de resposta dos termistores quando a temperatura

diminui dentro de um cômodo.

Resultado

A tabela 5.4 apresenta os dados relativos a medida da resistência nas duas caixas durante

o período de uma hora e o gráfico 5.4 apresenta a relação resistência-tempo do teste. A tabela 5.5

apresenta a temperatura medida em cada intervalo de tempo e o gráfico 5.5 a relação

temperatura-tempo ocorrida no teste. Era de se esperar que a curva de resposta do sensor

posicionado na caixa com 4(quatro) blocos de gelo fosse mais inclinada que a curva do sensor da

caixa com apenas 2(dois) blocos. Após 45 minutos observou-se pouca variação da resistência e

temperatura (e até mesmo um aumento da temperatura), pela limitação dos blocos de gelo em

continuar abaixando a temperatura. A utilização de um ar-condicionado (que é mais potente que

um simples bloco de gelo) possibilitaria a extensão deste teste por mais tempo.

Tempo [minutos]

sensor 01(k ohms)

sensor 02 (k ohms)

0 151,7 151,2 5 159,6 156,7 10 161,9 157,7 15 163,8 159,5 20 165,1 160,4 25 165,9 161,3 30 166,1 161,5 35 166,8 162,2 40 166,9 162,2 45 167,2 162,8 50 167,1 162,3 55 167,3 163 60 167 162,5

Tabela 5.4 – Resistência medida nos sensores das duas caixas. Sensor 01 na caixas com 4 blocos de gelo e sensor 02 na

caixa com 2.

82

140

145

150

155

160

165

170

1 2 3 4 5 6 7 8 9 10 11 12 13

sensor 01

sensor 02

Gráfico 5.4 – Relação Resistência-Tempo dos sensores nas caixas (Intervalo de Tempo X Resistência (em k Ω)).

Tempo [minutos]

sensor 01(k ohms)

sensor 02 (k ohms)

0 24,9 24,9 5 23,7 24,1 10 23,5 24 15 23,2 23,8 20 23,1 23,6 25 23 23,5 30 22,9 23,5 35 22,9 23,4 40 22,8 23,4 45 22,7 23,3 50 22,6 23,4 55 22,6 23,2 60 22,8 23,3

Tabela 5.5 – Temperatura medida nos sensores das duas caixas. Sensor 01 na caixas com 4 blocos de gelo e sensor 02 na

caixa com 2.

83

21

21,5

22

22,5

23

23,5

24

24,5

25

25,5

1 2 3 4 5 6 7 8 9 10 11 12 13

sensor 01

sensor 02

Gráfico 5.5 – Relação Temperatura-Tempo dos sensores nas caixas (Intervalo de Tempo X Temperatura (em Celsius)).

Teste 4 – Simulação

Este teste foi realizado para demonstrar para a banca examinadora o funcionamento do

Sistema Computacional. Para simular o ambiente foram utilizadas três caixas similares ao da

foto 5.0 simulando três cômodos de uma casa. Em cada uma dessas caixas foram colocados dois

ventiladores pequenos (um como exaustor e outro como ventilador) para retirar o ar quente de

dentro caixa e injetar ar frio do lado externo. Foi colocada também uma lâmpada de 60W na

caixa para aquecer o ar. A Unidade Sensora foi posicionada no centro do lado do fundo da caixa

visando minimizar as influências principalmente do atuador de aquecimento. A foto 5.1 mostra o

resultado da caixa de simulação descrito.

84

Foto 5.1 – Caixa de simulação (Cabo azul conecta-se à Unidade de Hardware).

Cada uma das caixas foi conectada uma Unidade de Hardware contendo: Unidade

Central, Unidade de Controle de Atuadores e Gerador de clock com seus respectivos conectores.

Cada uma das caixas foi conectada a essa Unidade de Hardware que consta na foto 5.3a, 5.3b e

5.3c.

Foto 5.3a – Unidade da Hardware (1 – Conector de Atuadores, 2 – Conector de Unidades Sensora, 3 – Conector do

Selecionador de Unidade Sensora).

85

Foto 5.3b – Unidade de Hardware (1 – Conector de Porta Paralela, 2 – Alimentação 12V , 3 – Alimentação 5V).

Foto 5.3c – Unidade de Hardware (1 – Unidade de Controle de Atuadores, 2 – Unidade Central).

Após todas as conexões feitas, o Software foi inicializado com uma configuração

correspondente aos três cômodos e seus endereços de porta e a simulação foi iniciada.

Resultado: Esta simulação comprovou o funcionamento correto do Sistema quanto a medida de

temperaturas e tomada de decisões (acionar atuadores). Houve um problema de funcionamento

em uma das Unidades Sensora devido à oxidação das trilhas da placa de circuito impresso não

permitindo uma leitura correta de temperatura. Os outros sensores funcionaram normalmente.

86

CAPÍTULO 6 – CONCLUSÃO

O objetivo inicial deste Projeto era propor e executar a construção de um Sistema capaz

de monitorar a temperatura de diversos ambientes e controlar simultaneamente a temperatura

nesses. A unificação do monitoramento e controle de diversos ambientes seria a principal

vantagem obtida a partir da implementação deste projeto. O resultado alcançado com o projeto, o

interesse nos assuntos requisitados para se realizar este e o desafio de trabalhar com prazos e

exigências pré-definidos e o nível responsabilidade exigido para realização do projeto foram os

principais motivos para participação deste projeto.

A estrutura inicial proposta para o Sistema Computacional de Monitoramento e Controle

de Temperatura satisfez os tópicos propostos para comprovação de funcionamento do projeto e o

modo de trabalho propostos e referenciados na Introdução deste trabalho. No entanto, algumas

considerações devem ser feitas.

Durante o projeto do Sistema sempre se considerou a comunicação paralela como o tipo

de comunicação a ser utilizada como padrão. Ela satisfez a demanda de comunicação requerida

entre Hardware e Software perfeitamente no que se diz respeito à velocidade de envio e

recebimento de dados. Encontrou-se, porém, limitações com respeito ao número de cômodos

capazes de serem monitorados pelo Sistema devido a limitação de pinagem da porta paralela.

Para comprovação de funcionamento foi construído um Sistema capaz de monitorar até 8(oito)

cômodos e controlar até 8(oito) atuadores tanto de aquecimento quanto de resfriamento. É

importante salientar que no Software do Sistema não existem limitações quanto ao número de

cômodos a serem monitorados e controlados a não ser a capacidade do computador em que o

Sistema está instalado e rodando.

A solução pensada seria a utilização dos pinos do Registrador de Dados (0x378) dando-

lhes a função de selecionadores de unidades sensoras. Este registrador tem a função neste de

receber dados e enviar dados ao registrador de controle de atuadores. Porém, com a ajuda do

pino INIT do Registrador de Controle (0x37A), que é o pino responsável pelo fluxo de dados

Hardware-Software, o Registrador de Dados pode assumir o papel de selecionador aumentando

consideravelmente a capacidade de cômodos monitorados pelo Sistema. Outra solução seria a

utilização de outro modo de comunicação (comunicação serial, por exemplo) não utilizada neste

projeto devido ao conhecimento e utilização com êxito do modo de comunicação paralelo em

outros projetos.

Outro problema encontrado durante a implementação do projeto foi a sensibilidade e mal

funcionamento de muitas placas de circuito impresso produzidas. Má corrosão das trilhas, não

havia outro método de corrosão das placas senão mergulhá-los em uma solução de água com

87

percloreto de ferro o que ocasionava a corrosão imperfeita das trilhas muitas vezes. Estes

problemas acabavam sendo identificados durante a alimentação e teste dessas placas e estas

acabavam por ser descartadas. Isto acabou desperdiçando tempo útil da implementação do

projeto.

Com relação aos resultados obtidos e pelo exame do projeto físico construído pela banca

examinadora, o projeto foi considerado satisfatório e capaz de comprovar a validade da teoria

aqui explicitada para construção do Sistema Computacional de Monitoramento e Controle de

Temperatura sendo aprovado para posterior defesa oral do mesmo.

Uma ampliação deste projeto seria plenamente viável. A sugestão seria a implementação

de um sistema de prevenção de incêndios que, utilizando deste Sistema, faria a prevenção de

incêndios em uma residência sendo necessário incluir ao Hardware tubulação para circulação de

água ficando com o Software a responsabilidade de acionar ou não o Hardware. Outra idéia para

ampliação deste projeto seria medir a umidade relativa do ar [15] o que daria uma informação

mais completa com relação aos dados de um cômodo. Esta idéia seria muito bem aplicada em

uma indústria que produz componentes que dependem muito em seu bom funcionamento das

condições climáticas do ambiente onde está sendo produzido.

O aprendizado pessoal, acadêmico e profissional adquiridos durante a realização deste

projeto são muitos. Entre eles pode-se citar a valorização, otimização e bom uso do tempo

disponível, saber lidar com problemas inesperados que surgem durante o projeto, interessa em

buscar conhecimentos além daqueles adquiridos no curso (Engenharia da Computação) e

capacidade de se lidar com revés e situações inesperadas ao longo da implementação do projeto

sejam estes pessoais ou acadêmicos.

88

CAPÍTULO 7 – TRABALHOS RELACIONADOS

Neste capítulo estão citados trabalhos, artigos e outras pesquisas que tenham algum

conhecimento relacionado com projeto do Sistema Computacional de Monitoramento e Controle

de Temperatura.

Título: UM TERMÔMETRO ELETRÔNICO DE LEITURA DIRETA COM

TERMISTOR

Autor (es): Paulo H. Guadagnini e Vânia E. Barlette

Local: Universidade Federal do Rio Grande do Sul (UFRS) – Porto Alegre/RS e Centro

Universitário Franciscano – Santa Maria/RS

Descrição: Projeto e funcionamento de um sistema eletrônico simples de leitura direta de

temperatura que utiliza um termistor como elemento sensor.

Título: DESENVOLVIMENTO DE UM SISTEMA AUTOMARIZADO DE BAIXO

CUSTO PARA AQUISIÇÃO DE DADOS DE TEMPERATURA DO AR

Autor (es): Késia Oliveira da Silva e Sergio Oliveira Moraes

Local: Universidade de São Paulo (USP) – São Paulo/SP

Descrição: construção de um sistema de aquisição automatizada de dados de temperatura,

utilizando um microcontrolador de dimensões reduzidas e baixo custo

Título: RELACIONAMENTO DA TEMPERATURA INTERNA E EXTERNA EM

EDIFICAÇÕES RESIDENCIAIS NATURALMENTE VENTILADAS

Autor(es): Ana Lígia Papst e Roberto Lamberts

Local: Universidade Federal de Santa Catarina (UFSC) – Florianópolis/SC

Descrição: Este trabalho apresenta a precisão

(coeficiente de determinação) das equações de predição da temperatura interna a partir da

temperatura externa de quatro ambientes residenciais em uso, e testa as equações com dados de

temperatura monitorados durante dezessete dias em janeiro de 2001.

89

Título: CONTROLADOR DE UMIDADE

Autor(es): Anderson Pacini e Cristian Mateus Pinto Noronha

Local: Universidade Federal do Rio Grande do Sul (UFRS) – Porto Alegre/RS

Descrição: Este trabalho apresenta a situação onde se deseja controlar a umidade relativa do ar

em um ambiente restrito, de modo que esta permaneça acima de um valor mínimo desejável,

evitando assim elevado ressecamento do ar.

Título: SISTEMA DE SENSORIAMENTO TÉRMICO

Autor(es): Cleverson Rebelo Sabatowski, Josmar Pedro Klemba e Mauricio Perretto

Local: Centro Universitário Positivo (Unicenp) – Curitiba/PR

Descrição: No projeto, a grandeza física inicial será a temperatura que será medida e

apresentada em um monitor, para que essa apresentação aconteça é necessário a

transformação da temperatura em algo que o computador entenda, não existe dispositivo

eletrônico que faça toda essa transformação, então é necessário separar as partes: sendo

uma delas a parte de captura da temperatura e a outra a transformação para uma

linguagem que o computador entenda.

CAPÍTULO 8 - REFERÊNCIAS BIBLIOGRÁFICAS

90

[1] - TORRES, G. Fundamentos de Eletrônica. Axcel Books do Brasil Editora. Rio de Janeiro,

2002.

[2] - TEMPERATURE measurement . L Michalski. 2nd ed.-. Chichester (England): J. Wiley

& Sons, c2001. xv, 501: il. il. (Wiley series in measurement science and technology). Inclui

bibliografia e índice. ISBN 0471867799 (enc.).

[3] - WERNECK, Marcelo Martins. Transdutores e interfaces . Rio de Janeiro: LTC, c1996.

xvi, 225: il. il. Inclui indice.

[4] - TOCCI, Ronald J; WIDMER, Neal S. Sistemas digitais : princípios e aplicações. 8. ed.-.

São Paulo: Prentice Hall, 2003. xviii, 755: il. il. Inclui indice. ISBN 8587918206 (broch.).

[5] - HALLIDAY, David; RESNICK, Robert; WALKER, Jearl. Fundamentos de física . 6.ed.

Rio de Janeiro: LTC, 2002/2003. 4v. :: il. il. Inclui bibliografia e índice. ISBN 8521613032

(broch.).

[6] - MOREIRA, Lucia. Sensores de temperatura : princípios e aplicações. [Sorocaba, SP]:

Help Temperatura & Metrologia Treinamento e Consultoria, 2002. 135 fl. :: il. il. Inclui

bibliografia. ISBN (Broch.).

[7] - INCROPERA, Frank P; DEWITT, David P. Fundamentos de transferencia de calor e de

massa . 4. ed. Rio de Janeiro: LTC, c1998. xvi, 494: il. il. Inclui bibliografia e indice. ISBN

852161146 : (broch.).

[8] - ST Microeletronics – NE555: General purpose single bipolar timers – Datasheet.

[9] - National Semiconductor – ADC0804: 8-Bit Compatible A/D Converters – Datasheet.

[10] - Fairchild Semiconductor – DM74LS138: Decoder/Demultiplexer – Datasheet.

[12] - Fairchild Semiconductor – DM74LS573: Octal D-Type Latch with 3-STATE Outputs–

Datasheet.

91

[11] - Siemens Semiconductor – B57164-K154: Temperaturmessung Bedrahtete Scheiben– Datasheet.

[12] - Fairchild Semiconductor – BD137: Medium Power Linear and Switching Applications– Datasheet. [13] - Metaltex – Relé miniatura AT – Datasheet. [14] – Motorola – 74LS541: OCTAL BUFFER/LINE DRIVER WITH 3-STATE OUTPUTS– Datasheet. [15] – PACINA, A. ; NORONHA, C. M. P. . Controlador de umidade. Brasil. 2006.

[16] – SERMAN, D. V.; RAPOPORT, E.; GOMES, F. S.; DE MORAES, R. B. Controle de

Temperatura em Dispositivos Eletrônicos. Brasil, 2002.

[17] – Porta Paralela. Introdução à Porta Paralela. Disponível em:

<http://www.rogercom.com/>. Acesso em: Setembro de 2007.

[18] – Porta Paralela. Parallel Port Interface. Disponível em: < http://www.beyondlogic.org/> .

Acesso em: Setembro de 2007.