Upload
vankhuong
View
234
Download
0
Embed Size (px)
Citation preview
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.
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.
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.
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.