gerenciador de ambientes computacionais - up.edu.br · unicenp - centro universitário positivo...
TRANSCRIPT
UNICENP - Centro Universitário Positivo
Núcleo de Ciências Exatas e Tecnológicas
Curso de Engenharia da Computação
GERENCIADOR DE AMBIENTES COMPUTACIONAIS
Autor: Edson Marty
Prof. Orientador: Marcelo Mikosz Gonçalves
Curitiba
2003
i
SUMÁRIO
LISTA DE ABREVIATURAS.................................................................................................................................... III
LISTA DE FIGURAS .....................................................................................................................................................V
LISTA DE TABELAS ................................................................................................................................................. VII
RESUMO ..........................................................................................................................................................................IX
ABSTRACT.......................................................................................................................................................................X
1 INTRODUÇÃO ......................................................................................................................................................1
2 ESPECIFICAÇÃO .................................................................................................................................................5
2.1 DESCRIÇÃO ......................................................................................................................................................5 2.2 EXPERIMENTO .................................................................................................................................................7
2.2.1 SNMP - Simple Network Management Protocol.................................................................................8 2.2.2 Software Gerenciador ............................................................................................................................ 16
2.3 ESPECIFICAÇÃO DO HARDWARE .................................................................................................... 17 2.3.1 Microcontrolador 8051/31.................................................................................................................... 17 2.3.2 Placas-Mãe.............................................................................................................................................. 17 2.3.3 Ventilador Exaustor ou Ar Condicionado.......................................................................................... 17 2.3.4 Lâmpadas Incandescentes ..................................................................................................................... 18 2.3.5 Sensores .................................................................................................................................................... 18 2.3.6 Conversor Analógico / Digital............................................................................................................. 21 2.3.7 Diagrama de Blocos do Hardware...................................................................................................... 22
2.4 ESPECIFICAÇÃO DO SOFTWARE........................................................................................................ 23 2.4.1 Ferramentas de Desenvolvimento....................................................................................................... 23 2.4.2 Softwares no Sistema............................................................................................................................. 24 2.4.3 Diagramas de Blocos dos Softwares ................................................................................................... 26
3 PROJETO .............................................................................................................................................................. 28
3.1 VISÃO GERAL................................................................................................................................................ 28 3.2 FUNCIONAMENTO DO SISTEMA................................................................................................................... 28
3.2.1 Módulo Microcontrolador .................................................................................................................... 29 3.2.2 Módulo Sensor/Atuador........................................................................................................................ 29 3.2.3 Módulo Gerente ...................................................................................................................................... 37 3.2.4 Módulo Agente........................................................................................................................................ 38 3.2.5 Descrição do Hardware........................................................................................................................ 38 3.2.6 Descrição do Software........................................................................................................................... 46
3.3 T ESTE DE VALIDAÇÃO................................................................................................................................. 52 3.4 M ÓDULOS EXTRAS ....................................................................................................................................... 52 3.5 ANÁLISE DE C USTOS .................................................................................................................................... 53
ii
3.6 CRONOGRAMA .............................................................................................................................................. 54
4 IMPLEMENTAÇÃO .......................................................................................................................................... 55
4.1 IMPLEMENTAÇÃO DO HARDWARE ............................................................................................................. 55 4.1.1 Placa dos Sensores de Temperatura e Luminosidade...................................................................... 57 4.1.2 Placa do Atua dor de Temperatura ...................................................................................................... 59 4.1.3 Placa de Atuador de Luminosidade .................................................................................................... 61 4.1.4 Placa Controladora de Atuadores ....................................................................................................... 63 4.1.5 Placa do Conversor AD de Sensores para Microcontrolador........................................................ 65 4.1.6 Placa de Interconexões .......................................................................................................................... 67
4.2 IMPLEMENTAÇÃO DO SOFTWARE ............................................................................................................... 69 4.2.1 Instalação ................................................................................................................................................. 69 4.2.2 Configuração........................................................................................................................................... 70 4.2.3 Software Gerente .................................................................................................................................... 71 4.2.4 Programa do Microcontrolador .......................................................................................................... 72 4.2.5 Arquitetura do criador de Agentes ...................................................................................................... 72 4.2.6 MIB Prototipada..................................................................................................................................... 73
5 CONCLUSÃO....................................................................................................................................................... 75
6 BIBLIOGRAFIA.................................................................................................................................................. 77
ANEXO 1 - MICROCONTROLADOR 8051 - CARACTERÍSTICAS ........................................................... 78
ANEXO 2 - KIT DIDÁTICO 8051............................................................................................................................. 81
ANEXO 3 - LISTA DE COMPONENTES DO KIT DIDÁTICO 8051 ........................................................... 82
ANEXO 4 - PROTÓTIPO FÍSICO............................................................................................................................ 84
iii
LISTA DE ABREVIATURAS
ADC - Analog to Digital Converter;
ASN.1 - Abstract Syntax Notation One;
BER - Basic Encoding Rules;
BTU - British Thermal Unit;
CI - Circuito Integrado;
CPU - Central Processing Unit;
DAC - Digital to Analog Converter;
DMA - Direct Memory Access (Acesso Direto á Memória);
EEPROM - Electrically Erasable Programmable Ready Only Memory
EPROM - Erasable Programmable Ready Only Memory
E/S - Entrada / Saída;
I/O - Input / Output;
IRQ - Interrupt Request;
KB - Kilo (Quilo) Byte ;
LAN - Local Area Network ;
LDR - Light Dependent Resistor;
LSB - Lower Significative Bit;
LUX - Unidade de medida de luz;
MB - Mega Byte;
MDF - Medium Density Fiberboard;
MIB - Management Information Bases;
NTC - Negative Temperature Coefficient;
RAM - Random Access Memory (Memória de Acesso Randômico);
ROM - Ready Only Memory (Memória de Apenas Leitura);
RPM - Rotações Por Minuto;
SNMP - Simple Network Management Protocol;
SMI - Structure of Management Information ;
OID - Object Identifiers;
PC - Personal Computer;
TCP/IP - Transmission Control Protocol/Internet Protocol (Protocolo de controle de
transmissão/pr otocolo de internet);
TTL - Transistor-Transistor Logic;
iv
UART - Universal Assynchronous Receiver Transmitter;
v
LISTA DE FIGURAS
FIGURA 1 - DISSIPAÇÃO DE ENERGIA TÉRMICA DE UM PROCESSADOR PARA O MEI O. A CPU É O COMPONENTE
QUE MAIS LIBERA CALOR DENTRE OS DISPOSITIVOS . ...........................................................................................1 FIGURA 2 - ENERGIA CALORÍFICA SENDO LIBERADA DE UM PROCESSADOR. ..............................................................2 FIGURA 3 - EXEMPLO DE COMO É MELHOR ENVIAR A POTÊNCIA DISSIPADA PARA O AMBIENTE À MANTÊ-LA NO
GABINETE, COMO FORMA DE EVITAR A QUEIMA DO COMPONENTE. ...................................................................3 FIGURA 4 – DIAGRAMA EM BLOCOS GLOBAL DO SISTEMA GERENCIADOR DE AMBIENTES COMPUTACIONAIS. ...6 FIGURA 5 - AMBIENTE SEM E AMBIENTE COM O SISTEMA DE GERENCIAMENTO AMBIENTAL. ..................................7 FIGURA 6 - PROTOCOLO SNMP. ........................................................................................................................................9 FIGURA 7 - ARQUITETURA SNMP. .................................................................................................................................. 10 FIGURA 8 - HIERARQUIA MIB.......................................................................................................................................... 13 FIGURA 9 - SIMBOLOGIA E CONSTITUIÇÃO DO LDR. .................................................................................................... 19 FIGURA 10 - LINEARIDADE DO LDR............................................................................................................................... 20 FIGURA 11 - C URVA DE RESISTÊNCIA POR TEMPERATURA DO NTC......................................................................... 20 FIGURA 12 - DETECÇÃO DO SINAL ATRAVÉS DOS 256 NÍVEIS DO ADC..................................................................... 21 FIGURA 13 - D IAGRAMA DE BLOCOS DO HARDWARE DO SISTEMA. ............................................................................ 22 FIGURA 14 - D IAGRAMA DE BLOCOS MOSTRANDO A CONEXÃO LAN ENTRE CLIENTES E SERVIDOR. .................. 25 FIGURA 15 - D IAGRAMA DE BLOCOS : FUNCIONAMENTO DO PROGRAMA SECUNDÁRIO NO SERVIDOR. ................. 25 FIGURA 16 - D IAGRAMA DE BLOCOS DOS SOFTWARES A SEREM UTILIZADOS . .......................................................... 26 FIGURA 17 - DESLOCAMENTO DA RETA DE LINEARIDADE DO LDR. .......................................................................... 30 FIGURA 18 - ADAPTAÇÃO DO CIRCUITO DO LDR PARA ATENDER AS NEC ESSIDADES DO PROJETO. ...................... 31 FIGURA 19 - LINEARIZAÇÃO DOS NTCS DO PROJETO. .................................................................................................. 33 FIGURA 20 - RETAS DE LINEARIZAÇÃO DO NTC........................................................................................................... 34 FIGURA 21 - R AMPA DE DESCIDA DO T ERMOPAR EM RELAÇÃO AO NTC.................................................................. 36 FIGURA 22 – SUBDIVISÃO LÓGICA INTERNA DO PROGRAMA DO GERENTE. .............................................................. 37 FIGURA 23 - CIRCUITO COM SENSORES DE DETECÇÃO DE LUMINOSIDADE E TEMPERATUR A. ................................ 39 FIGURA 24 - CIRCUITO DO CONVERSOR ANALÓGICO / DIGITAL DOS SENSORES PARA O MICROCONTROLADOR. . 40 FIGURA 25 - CIRCUITO CONTROLADOR DAS LUZES DO AMBIENT E. ............................................................................ 42 FIGURA 26 - CIRCUITO CONTROLADOR DA VENTOINHA EXAUSTORA DE AR QUENTE DO AMBIENTE. ................... 43 FIGURA 27 - CIRCUITO QUE GERENCIA RÁ OS ATUADORES DO SISTEMA. ................................................................... 44 FIGURA 28 - CIRCUITO QUE PERMITIRÁ UM MELHOR CONTROLE DOS CABOS NO PROTÓT IPO. ............................... 45 FIGURA 29 - FLUXOGRAMA DO PROGRAMA ASSEMBLY PARA O MICROCONTROLADOR 8051. ............................... 49 FIGURA 30 - T ELA DE ENTRADA DO PROJETO, PARA A ESCOLHA DA PORTA SERIAL A SER UT ILIZADA PELO
SISTEMA. ................................................................................................................................................................... 50 FIGURA 31 - M ENU PRINCIPAL DO AGENTE-SERVIDOR , SUB-ROTINA DO GERENTE. ............................................... 50 FIGURA 32 - PARTE DO PROGRAMA QUE PERMITE EXECUTAR DIAGNÓSTICOS, ENVIANDO COMANDOS
DIRETAMENTE AO MICROCONTROLADOR. ........................................................................................................... 51 FIGURA 33 - D IAGRAMA DETALHANDO O MAPEAMENTO EM MEMÓRIA PARA SENSORES E ATUADORES. ............. 55 FIGURA 34 - LAYOUT DA PLACA DOS SENSORES DE TEMPERATURA E LUMINOSIDADE. ............................................ 57
vi
FIGURA 35 - LAYOUT DA PLACA DO ATUADOR DE TEMPERATURA. ............................................................................. 59 FIGURA 36 LAYOUT DA PLACA DE ATUADOR DE LUMINOSIDADE. ............................................................................... 61 FIGURA 37 - LAYOUT DA PLACA FÍSICA DO CONTROLADOR DE ATUADORES. ............................................................ 63 FIGURA 38 - LAYOUT DA PLACA DO ADC....................................................................................................................... 65 FIGURA 39 - LAYOUT DA PLACA DE INTERCONEXÕES. .................................................................................................. 67 FIGURA 40 - ARUITETURA DO EXTENSIBLE AGENT SNMP......................................................................................... 73 FIGURA 41 - D IAGRAMA DE BLOCOS DO M ICROCONTROLADOR 8051. ..................................................................... 80 FIGURA 42 - ESQUEMÁTICO DA PLACA DIDÁTICA DO MICROCONTROLADOR 8031. ................................................. 81 FIGURA 43 - RECORTES DE MADEIRA DO TIPO MDF 6MM DO PROTÓTIPO FÍSICO. .................................................. 84
vii
LISTA DE TABELAS
T ABELA 1 - NOTAÇÃO UTILIZADA NA DEFINIÇÃO ASN.1 PARA SEUS RESPECTIVOS TIPOS . .................................... 12 T ABELA 2 - DEFINIÇÕES E VALORES PARA O USO DO SENSOR DE LUZ NO PROJETO. ................................................ 31 T ABELA 3 - RESULTADOS DO RESISTOR LINEARIZADOR DOS NTCS. ......................................................................... 34 T ABELA 4 – VALORES AFERIDOS DA RAMPA DE DESCIDA DO TERMOPAR X NTC. .................................................. 36 T ABELA 5 - ENDEREÇAMENTO DOS SENSORES. ............................................................................................................. 41 T ABELA 6 - ESTIMATIVA BRUTA DE CUSTOS DO PROJETO.......................................................................................... 53 T ABELA 7 - CRONOGRAMA À CUMPRIR NO PROJETO DO SISTEMA. ............................................................................. 54
viii
ix
RESUMO
É um sistema autônomo para a gerência de ambientes onde existam vários
computadores. Esses computadores podem influenciar nas variáveis ambientais de uma
sala, aumentando a sua temperatura, por exemplo. O sistema será responsável por atuar
nesses computadores, aquisicionando os dados necessários para o gerenciamento das
condições ambientais desses micros, para que o sistema possa, assim, estimar o quanto de
temperatura os computadores estarão dissipando para o ambiente e se será ou não
necessária a intervenção de um dispositivo de refrigeração, como um exaustor ou ar
condicionado. Também, o sistema será responsável por gerenciar a luminosidade do
ambiente computacional. Estipulado um valor, o sistema será incumbido de atuar nas
lâmpadas da sala, aumentando ou diminuindo a intensidade da luz, de acordo com o valor
esperado. Será utilizado, entre o servidor e os clientes, o protocolo simple network
management protocol (SNMP), que o controle da(s) sala(s) remotamente. A atuação no
ambiente será executada por um sistema microcontrolado (Intel 8031). Através desse
microcontrolador, os valores dos sensores são lidos, convertidos e enviados para o
computador servidor, conectado ao microcontrolador por uma porta serial. O processo de
atuação nas variáveis ambientais é dado pelo mesmo princípio: o valor é enviado pela
serial para o microcontrlador e esse envia para os atuadores os valores fornecidos. A
gerência e o controle da sala, então, através do servidor que aquisiciona os dados pode ser
definida por um gerente SNMP, remotamente, sem necessitar então, de haver um
administrador controlando fisicamente o(s) ambiente(s).
Palavras -chave: controle de ambientes, gerente, snmp, mib, micro-controlador, 8051,
temperatura, luminosidade.
x
ABSTRACT
It is an independent system for the environment management where some
computers exist. These computers can influence a room, increasing its temperature, for
example. The system will be responsible for acting in these computers, acquiring the data
necessary for the management of the ambient conditions of these PCs, so that the system
can, thus, esteem how much of temperature the computers will be wasting for the
environment and it will be or not necessary the intervention of a refrigeration device, as an
exhaust fan or conditional air. Also, the system will be responsible for managing the
luminosity of the computational environment. Stipulated a value, the system will be
charged to act in the light bulbs of the room, increasing or diminishing the intensity of the
light, in accordance with the expected value. It will be used, between the server and the
customers, the protocol Simple Network Management Protocol (SNMP), that the control
the rooms remotely. The performance in the environment will be executed by a
microcontrolled system (Intel 8031). Through this microcontroller, the values of the
sensors are read, converted and envoy for the serving computer, hardwired to the
microcon troller by a serial controller port. The process of performance in the ambient
variable is given by the same principle: the serial port for the microcontrlador sends the
value and this sends for the actuators the supplied values. The management and the
control of the room, then, through the server who acquiring the data can be defined by a
SNMP manager, remotely, without needing then, to have an administrator physically
controlling the ambient.
Key Words: ambient controller, management, snmp, mib, asn.1, microcontroller, 8051.
1
1 INTRODUÇÃO
Hoje em dia, os computadores dissipam muito mais calor do que antigamente. Isso
se deve ao fato de que agora, com mais transistores por área quadrada em uma pastilha de
silício, aumentam-se também o processamento e a potência de funcionamento dos
processadores e com isso, o calor dissipado será maior.
Figura 1 - Dissipação de energia térmica de um processador para o meio. A CPU é o componente que
mais libera calor dentre os dispositivos.
2
Por este motivo é que existem vários meios para se tentar baixar essas temperaturas.
Ventoinhas mais robustas, ventoinhas secundárias e direcionadores de ar são um dos
recursos amplamente utilizados atualmente. Porém, ao resfriar internamente o computador,
a energia calorífica gerada pelo mesmo computador será liberada para o ambiente. Porém,
como o ambiente onde esse computador está é algumas vezes maior que a área interna do
gabinete do micro, essa energia dissipa-se por todo o ambiente, não dando a sensação de
aumento calorífico no ambiente. Aferindo-se por meio de termômetros, consegue-se, após
algum tempo de processamento, verificar que o aumento da temperatura ambiental
realmente ocorre.
Figura 2 - Energia calorífica sendo liberada de um processador.
3
Sem uma apropriada ventilação interna, entretanto, maiores danos podem ocorrer
com o processador e os componentes internos do computador. Então, é melhor enviar essa
potência dissipada para o ambiente do que mantê-la dentro do gabinete. Abaixo, um
exemplo de processador que não foi arrefecido de maneira eficiente e apropriado, causando
a queima dos componentes.
Figura 3 - Exemplo de como é melhor enviar a potência dissipada para o ambiente à mantê -la no
gabinete, como forma de evitar a queima do componente.
4
Motivado a esse problema, tem-se por objetivo realizar um controle autônomo das
variáveis ambientais de um ambiente computacional, a fim de evitar problemas de
superaquecimento em dispositivos, manter as variáveis controladas a níveis aceitáveis e
constantes e também, manter o bem estar para os ocupantes da sala. Para tanto, como
proposta, tem-se a criação de um dispositivo capaz de realizar a detecção das mais diversas
variáveis ambientais (temperatura, luminosidade, pressão, etc) e tratá-las, atuando para que
elas mantenham-se constantes ou com valores aceitáveis e não prejudiciais aos dispositivos
internos e os ocupantes da sala.
5
2 ESPECIFICAÇÃO
O estudo de um sistema envolve diversos tipos de variáveis. Ao estudar o projeto,
devemos especificá-las e estudá-las de maneira a não confundirmos o objetivo final da
proposta.
Uma especificação usa diversas notações para descrever de uma maneira precisa as
propriedades que um sistema deve ter.
Para atingir a especificação, passamos por um processo de entendimento das
diversas variáveis do problema.
A seguir, será apresentada a especificação do projeto de gerenciamento de
ambientes computacionais.
2.1 Descrição
O Sistema Gerenciador de Ambientes Computacionais será um sistema autônomo
para a gerência de ambientes onde existam vários computadores. Esses computadores
podem influenciar uma sala, aumentando a sua temperatura, por exemplo. O sistema será
responsável por atuar nesses computadores, aquisicionando os dados necessários para o
gerenciamento das condições ambientais de onde esses computadores estarão, para que o
sistema possa, assim, estimar o quanto de temperatura os computadores estarão dissipando
para o ambiente e se será ou não necessária a intervenção de um dispositivo de
refrigeração, como um exaustor ou ar condicionado. Também, o sistema será responsável
por gerenciar a luminosidade do ambiente computacional. Estipulado um valor, o sistema
será incumbido de atuar nas lâmpadas da sala, aumentando ou diminuindo a intensidade da
luz, de acordo com o valor esperado. Um diagrama em blocos global do sistema é
apresentado na Figura 4.
6
Figura 4 – Diagrama em blocos global do Sistema Gerenciador de A mbientes Computacionais.
Clie
nte
1
Clie
nte
2
Clie
nte
3
Clie
nte
n
...
Cada CPU rodando um Agente
Serv
idor
LAN LAN LAN LAN
Kit microcontrolador 8051/31
Serial RS-232
Exaustor
Luz
Cabo do atuador
Cabo do atuador
SALA COMPUTACIONAL
Sensor de Temperatura
Interno Sensor de
Temperatura Externo
Sensor de Luminosidade
AMBIENTE EXTERNO
Aquisicionamento de dados dos
Clientes
Soquetes extras para sensores / atuadores
7
2.2 Experimento
Esse experimento visa automatizar o controle ambiental, através da gerência de
variáveis ambientais, monitorando e atuando sobre elas, mantendo os valores sempre a um
nível pré-determinado, para que com isso, sejam melhoradas as condições do local para os
integrantes da sala computacional. Isso é válido para o sensor e atuador de luminosidade.
Já para o sensor e atuador de temperatura, consegue -se, além de prover conforto para os
ocupantes da sala, manter a durabilid ade dos equipamentos, fazendo com que eles não
sofram as variações de temperatura. Uma visão global dos resultados desse experimento é
mostrado na Figura 5.
Figura 5 - Ambiente sem e ambiente com o sistema de gerenciamento ambiental.
8
2.2.1 SNMP - Simple Network Management Protocol
Para o correto funcionamento de um sistema gerenciador, há a necessidade de um
protocolo que trate os dados para essa funcionalidade. O protocolo SNMP será utilizado
para simplificar o processo de desenvolvimento do sistema. Ele possui todos os recursos
necessários para o desenvolvimento do Gerenciador de Ambientes Computacionais, não
havendo, portanto, a necessidade de realizar uma implementação proprietária.
O SNMP é um padrão para gerenciamento de uma Intranet ou até mesmo de uma
sub-rede na Internet [ 2 ]. No projeto, o SNMP será utilizado como uma forma de tornar o
Gerenciador Ambiental de Salas Computacionais, um sistema distribuído. Como
vantagens, o SNMP possui a característica de ser amplamente difundido e de possuir uma
fácil implementação.
O SNMP é composto de um protocolo para troca de mensagens e de padrões para
estruturar a informação.
2.2.1.1 Informações de Gerência
As informações de gerência enviados pelo protocolo SNMP são armazenadas em
MIBs (Management Information Bases), um banco de dados que formará uma base de
conhecimento para o gerente SNMP. Esses objetos gerenciais são definidos através da SMI
(Structure of Management Information), que nada mais é do que uma estrutura
padronizada para as informações de gerência [ 7 ].
Essas informações de gerência são transportadas através do protocolo SNMP até o
seu destino, que será um software de gerência SNMP, que no caso do sistema em questão,
será o HP OpenView. Na Figura 6, é apresentado o funcionamento do protocolo SNMP.
9
Figura 6 - Protocolo SNMP.
10
2.2.1.2 SMI - Structure of Management Information
O SNMP possui um sistema hierárquico de organização estrutural - ver Figura 7.
Deve-se ter conhecimento de como ela funciona, para entender como o SNMP funcionará
no projeto [ 7 ].
A SMI possui uma característica de definição lógica das informações. Ela é
composta dos seguintes elementos:
ü Nome dos Objetos gerenciados: OIDs (Object Identifiers)
ü Sintaxe dos dados: ASN.1 (Abstract Syntax Notation 1)
ü Sintaxe de transferência: BER (Basic Encoding Rules)
Figura 7 - Arquitetura SNMP.
11
2.2.1.3 ASN.1 - Abstract Syntax Notation One
Trata-se da linguagem de descrição dos dados nos padrões de normas de definição.
Sua definição é em formato texto não ambíguo para facilitar a utilização por linguagens de
programação. A ASN.1 permite definir modelos de dados para facilitar o uso por vários
objetos a um mesmo tipo de definição.
A ASN.1, por se tratar de um formato independente de plataforma e máquina, torna
o SNMP viável para lugares onde a demanda gerencial da rede é realmente necessária, não
confrontando-se com o sistema utilizado em servidores de rede, por exemplo. Por esse
motivo, a implementação dos dados não é considerada ao utilizar-se a ASN.1 [ 2 ].
2.2.1.3.1 Sintaxe Básica em ASN.1
Tipos de dados:
ü Primitivos: Integer, Octet String, Object Identifier, Null;
Subtipos de dados:
ü Construtores: Listas e tabelas.
ü Definidos: Nomes alternativos para tipos ASN.1.
12
2.2.1.3.2 Convenções ASN.1
A notação utilizada para definir uma ASN.1 utiliza algumas convenções:
Item Convenção Exemplo
tipo inicial maiúscula DisplayString
valor inicial minúscula TRUE
identificador inicial minúscula sysDescr
palavras-chave todas maiúsculas INTEGER
macros todas maiúsculas OBJECT-TYPE
módulos inicial maiúscula Oreilly-MIB
Tabela 1 - Notação utilizada na definição ASN.1 para seus respectivos tipos.
2.2.1.4 BER
Define a codificação dos dados para a transferência. É o formato utilizado no
projeto, por uma MIB. Os dados contidos na MIB estão todos codificados no padrão BER -
Basic Encoding Rules. Utiliza o formato TVL (Type-Lenght-Value) para a codificação [ 7].
Onde:
ü Type: Define o tipo ASN.1 e informações complementares;
ü Lenght: Define o tamanho de representação dos dados;
ü Value: Define a string de octetos contendo o valor dos dados.
A estrutura de codificação é recursiva.
13
2.2.1.5 MIB
O projeto do Gerenciador Ambiental de Salas Computacionais possuirá scripts
(arquivos texto contendo uma execução de comandos), para o controle dos atuadores e dos
sensores no sistema. A esse script, dá-se o nome de MIB, Management Information Bases
[ 2]. Essa MIB será executada pelo protocolo SNMP, que é parte integrante do projeto.
A MIB define a informação em uma estrutura hierárquica. Onde:
ü Suas folhas definem a informação;
ü Os demais nós definem a estrutura;
ü Os nós são numerados para facilitar o acesso.
Vale lembrar que a MIB não contém os dados reais, apenas organiza-os de forma
adequada. O modo de visualização da hierarquia MIB é mostrado abaixo.
Figura 8 - Hierarquia MIB.
14
2.2.1.5.1 Exemplo da utilização da MIB - Grupo system
Para facilitar o entendimento do que é propriamente dito uma MIB, será mostrado a
seguir, um exemplo de um arquivo MIB criado pelo administrador da rede SNMP, para a
execução de alguma determinada tarefa.
Nome: iso.org.dod.internet.mgmt.mib-2.system
OID: 1.3.6.1.2.1.1
Componentes:
sysDescr (1): descrição do sistema;
sysObjectID (2): OID de registro (private vendors);
sysUpTime (3): tempo de atividade (1/100 s);
sysContact (4): pessoa ou grupo responsável pelo nó;
sysName (5): nome do nó na rede;
sysLocation (6): localização física do nó;
sysServices (7): flags indicando serviços suportados.
Utilizando esse grupo para definir um sistema real, teríamos algo do tipo:
system.sysDescr.0 = OCTET STRING: "Image: rel/11.02 Created on Sat Jan 28 22:47:33 EDT 1999." system.sysObjectID.0 = OBJECT IDENTIFIER: enterprises.18.3 system.sysUpTime.0 = Timeticks: (969692) 2:41:36 system.sysContact.0 = OCTET STRING: "Edson Marty" system.sysName.0 = OCTET STRING: "Gerenciador de Ambientes Computacionais" system.sysLocation.0 = OCTET STRING: "Sala com 8 computadores" system.sysServices.0 = INTEGER: 78
15
2.2.1.6 Operações Básicas SNMP
2.2.1.6.1 GET / GET-NEXT
ü O gerente busca informações dos agentes;
ü É o meio de acesso para a leitura das MIBs.
2.2.1.6.2 SET
ü O gerente modifica informações dos agentes;
ü É o meio de acessos em escrita as MIBs.
2.2.1.6.3 TRAP
ü Os agentes enviam informações não solicitadas aos gerentes, informando eventos
importantes.
16
2.2.2 Software Gerenciador
Será utilizado um software para gerencia computacional já existente, rodando sobre
a base do protocolo SNMP, chamado OpenView Network Node Manager, da HP. Será
utilizado em conjunto, clientes usando o mesmo protocolo, para poder com isso, realizar a
comunicação com o gerente. O objetivo principal da criação de uma base rodando sobre o
protocolo SNMP é de realizar o controle da(s) sala(s) à distância, não necessitando
obrigatóriamente o administrador estar presente no local das salas para realizar esse
controle. Isso garante flexibilidade de autonomia para o sistema.
Remotamente, poderá ser controladas as variáveis de temperatura e luminosidade,
bem como qualquer outro módulo de sensor acoplado ao sistema, de acordo com capítulo
2.3.7, referente ao detalhamento dos soquetes de expansão.
17
2.3 ESPECIFICAÇÃO DO HARDWARE
2.3.1 Microcontrolador 8051/31
No sistema gerenciador será utilizado um microcontrolador para executar as
funções de automatização realizada pelo hardware do sistema. O microcontrolador
escolhido para tanto, é o microcontrolador da Intel, o 8051/31, abordado em [ 1 ].
O microcontrolador 8051/31 será utilizado devido a sua facilidade de
implementação, quantidade de recursos, pelo seu tamanho diminuto e principalmente,
devido ao fato de se possuir conhecimentos a priori adquiridos, pois esse microcontrolador
foi amplamente estudado e utilizado durante a graduação. Informações detalhadas sobre o
microcontrolador estão indicadas no ANEXO 1 - Microcontrolador 8051 - Características.
2.3.2 Placas -Mãe
Placas-mãe são os dispositivos dentro de um computador, onde são conectados
todos os dispositivos necessários ao funcionamento de um computador por completo.
Nelas são conectados os processadores, as memórias, placas em geral, etc. No sistema de
Gerência Ambiental, as placas-mãe deverão possuir sensores na placa-mãe (on-board) de
velocidade do ventilador , temperatura da placa-mãe e temperatura do processador, para que
seja possível aquisicionar esses parâmetros e enviá -los para o sistema realizar a análise
cuja qual indicará se alguma máquina está superaquecida, com problemas, etc (ver o
capítulo 3.4, referente aos Módulos Extras).
2.3.3 Ventilador Exaustor ou Ar Condicionado
O ventilador exaustor de ar quente do ambiente computacional para o ambiente
externo deverá ter a capacidade tal que consiga suprir a demanda da sala. Então, o exaustor
possuirá uma especificação dinâmica, que dependerá apenas do tamanho da sala
computacional a ser gerenciada. O sistema projetado terá a capacidade genérica de
trabalhar com qualquer tipo de exaustor, bastando-se para isso, implementar-se um módulo
compatível com o dispositivo em questão.
Assim como o exaustor, o ar condicionado possui a mesma função de retirar o ar
quente do ambiente, liberando-o para o ambiente externo. No ar condicionado, a diferença
18
fica por conta do método de como isso é feito. Um gás existente dentro do ar condicionado
resfria o ar que está na sala e um duto fica responsável de enviar o calor gerado com esse
processo, para fora da sala. Assim como o exaustor, no ar condicionado deve calcular a
potência do ar condicionado, em relação à sala computacional. Essa medida é calculada
através da BTU (British Thermal Unit). O condicionamento da sala através de ar
condicionado será um módulo extra a esse projeto final. Para maiores informações,
referencie-se ao capítulo 3.4 - Módulos Extras.
A implementação será feita inicialmente com o ventilador exaustor devido a
facilidade de como se trabalha com ele. Já com o ar condicionado, deve possuir um estudo
mais aprimorado de como implementar uma lógica para gerenciá-lo de maneira correta.
2.3.4 Lâmpadas Incandescentes
A luz fornecida pela lâmpada incandescente é resultante do aquecimento de um fio,
pela passagem de corrente elétrica, até a incandescência. As lâmpadas incandescentes
comuns são compostas de um bulbo de vidro incolor ou leitoso, de uma base de cobre ou
outras ligas e um conjunto de peças que contém o filamento que é a peça mais importante.
O filamento é feito geralmente de tungstênio, que tem o ponto de fusão de
aproximadamente 3400° C. Este filamento sob a forma de espiral fica dentro da lâmpada
no vácuo para evitar que ele se queime.
A sala controlada pelo sistema deverá possuir lâmpadas incandescentes para que o
controle seja efetivado com sucesso. Em um módulo extra (ve r capítulo 3.4), poderá ser
implementado o controle de lâmpadas fluorescentes.
2.3.5 Sensores
Por definição, um sensor é um dispositivo capaz de converter um tipo de energia
em energia elétrica.
Nesse projeto, poderá ser utilizado qualquer tipo de sensor que sirva com a função
de gerenciar um ambiente computacional. Essa característica indica a possibilidade
irrestrita de expansão que o sistema possui, visto que o que restringirá o projeto é apenas a
idéia de utilização do sistema por parte do administrador do ambiente.
No sistema básico, existirão dois sensores funcionais: o sensor de temperatura -
NTC (externo e interno) e o sensor de luminosidade - LDR (interno à sala).
19
2.3.5.1 LDR - Light Dependent Resistor
Também chamado de célula fotocondutiva, ou ainda de foto-resistência, o LDR é
um dispositivo semicondutor de dois terminais, cuja resistência varia linearmente com a
intensidade de luz incidente, obedecendo à equação R = C.L.a , onde L é a luminosidade
em Lux, C e a são constantes dependentes do processo de fabricação e material utilizado.
O LDR tem sua resistência diminuída ao ser iluminado. A energia luminosa desloca
elétrons da camada de valência para a de condução (mais longe do núcleo), aumentando o
número destes, diminuindo a resistência.
Sua parte sensível é composta de Sulfeto de Cádmio. Conforme aumenta a
intensidade de luz incidente no LDR, um número maior de elétrons na estrutura tem
também seu nível de energia aumentado, devido à aquisição da energia entregue pelos
fótons. O resultado é o aumento de elétrons livres e elétrons fracamente presos ao núcleo.
Podemos ver na Figura 9, a simbologia e a constituição interna de um LDR e na Figura 10,
sua linearidade, proveniente das informações técnicas do componente.
Figura 9 - Simbologia e constituição do LDR.
20
R(Ω)
Luminosidade (LUX)
100K
10K
1K
100 LDR
0.4 81
4
R(Ω)
T(ºC)
100K
10K
1K
100
PTC
NTC
9 115
Figura 10 - Linearidade do LDR.
As tabelas de resultados que serão utilizados no projeto estão amostradas no
capítulo 3.2.2.1.1.
2.3.5.2 NTC - Negative Temperature Coefficient
Trata-se de um sensor de temperatura, cuja sigla significa Coeficiente Térmico
Negativo. Existe também, o PTC, que é o Coeficiente Térmico Positivo, porém, será
utilizado no projeto o NTC, pois foi mais fácil encontrar no mercado.
Enquanto no NTC, quanto maior a resistência, menor será a temperatura do
sistema, no PTC, quanto maior a resistência, maior será a temperatura. A visualização do
gráfico Resistência x Temperatura, na Figura 11, proveniente das informações técnicas do
componente, indica uma curva. Por esse motivo, devemos realizar uma linearização (ver
capítulo 3.2.2.1.2), para que a temperatura seja amostrada progressivamente e não
exponencialmente. Um fator de decisão para a escolha do NTC foi, também, a forma da
curva apresentada por ele, menos irregular do que a do PTC.
Figura 11 - Curva de Resistência por Temperatura do NTC.
21
2.3.6 Conversor Analógico / Digital
O ADC utilizado foi o ADC0808, que possui 256 níveis de sinal. A sua detecção é
simples. Dado um sinal, ele compara entre uma faixa de interesse, se o sinal está acima ou
abaixo dela. Caso esteja acima, o novo sinal de comparação subirá. Caso esteja abaixo da
faixa, o novo sinal de comparação descerá. Com isso, o sinal vai sendo detectado por
completo até realizar o 256º comparativo e finalizar a detecção do sinal, como mostrado na
Figura 12. O sinal real terá um erro muito pequeno em relação ao sinal capturado pelo
ADC, devido aos seus 256 comparativos de aproximação sucessiva. Para uma outra
abordagem, refira-se à [ 3 ].
Figura 12 - Detecção do sinal através dos 256 níveis do ADC.
Sinal digital
detectado
através do sinal
analógico
22
2.3.7 Diagrama de Blocos do Hardware
Será utilizada a placa didática montada e testada durante o curso de Engenharia da
Computação, no terceiro ano. Serão acrescentados os seguintes módulos: Módulo de
Temperatura, Módulo de Luminosidade, Módulo de Soquetes de Expansão, Módulo dos
Sensores e um Módulo de Lógica Operacional do sistema. Um esquemático é mostrado na
Figura 13, abaixo.
Figura 13 - Diagrama de Blocos do hardware do sistema.
Kit didático do microcontrolad
or 8051/31
Serial RS-232 (DB-9)
Temperatura
Luminosidade
Memória Externa Soqu
etes
par
a se
nsor
es e
/ou
atua
dore
s
L
ÓG
ICA
Soqu
etes
ext
ras
(exp
ansi
bilid
ade)
Sensores
23
2.4 ESPECIFICAÇÃO DO SOFTWARE
Serão especificados os seguintes softwares: Assembler para microcontrolador
8051/31 e a linguagem C++ em Borland Builder C++ 5.0 Enterprise e as ferramentas para
a criação de agentes SNMP da iReasoning e do gerente SNMP da HP.
2.4.1 Ferramentas de Desenvolvimento
2.4.1.1 Assembly 8051
A linguagem de programação em assembler é de baixo nível, o que permite que se
trabalhe diretamente com o hardware, enviando comandos diretamente para seus
registradores e memórias. A linguagem assembler para o microcontrolador 8051/31 é
proprietária para o uso apenas nesses tipos de microcontroladores, como visto em [ 10 ].
Por esse motivo, há a necessidade de um aprofundamento em conceitos de programação
nessa linguagem. Ela difere-se um pouco da programação assembler normalmente
encontrada em softwares de debug para a família Intel x86.
2.4.1.2 C++ Borland Builder 5.0 Enterprise
O ambiente C++ de desenvolvimento da Borland é uma ferramenta prática para a
programação, pois possui componentes já prontos para o uso, não necessitando de demais
programação para executar uma funcionalidade, abordado em [ 8 ]. Ele foi escolhido por
ser a ferramenta utilizada pelo curso de Engenharia da Computação como o padrão de
desenvolvimento didático e também, por ser a ferramenta de maior familiaridade do
criador do projeto final apresentado.
2.4.1.3 HP OpenView Network Node Manager
É o ambiente que permite a navegação em MIB´s (ver capítulo 2.2.1.5) presentes no
protocolo SNMP, em uma maneira gráfica e intuitiva. Será ele o gerente SNMP do projeto.
A ferramenta foi escolhida por ser um programa reconhecido e amplamente difundido
entre a comunidade de gerência de redes. Para maiores informações sobre o OpenView,
consulte a página do fabricante na referência [ 9 ].
24
2.4.1.4 iReasoning SNMP Agent Builder
O software da iReasoning permite compilar MIB´s (ver capítulo 2.2.1.5) para serem
executadas em uma interface de gerência SNMP, que nesse caso, será o OpenView. Essa
ferramenta foi escolhida por possuir uma ampla capacidade de padronização, aceitando
todos os tipos e padrões do protocolo SNMP, além de facilitar o trabalho com os códigos,
pois todo o processo é automatizado e não há, então, o inconveniente de ter que criar
manualmente, as entradas de uma MIB para a execução gerencial. Para maiores
informações, aborde a referência [ 11 ].
2.4.2 Softwares no Sistema
Um software controlador criado será o responsável pela interface geral do sistema.
Será com ele que o administrador do sistema poderá ter o controle visual das diversas
máquinas (computadores) do sistema, bem como dos dados aquisicionados nelas. Também,
será a via de controle e especificação dos parâmetros gerenciais do sistema como um todo.
Nele, serão visualizados e configurados os seguintes parâmetros:
Parâmetros de temperatura:
ü Velocidade atual de rotação do exaustor (em RPM);
ü Temperatura que ligará o exaustor (em graus Celsius);
ü Temperatura detectada pelos sensores na sala.
Parâmetros de luminosidade:
ü Luminosidade requerida (em Lux);
ü Luminosidade atual.
O software controlador será o responsável por indicar quais os limites que farão
com que o sistema entre em funcionamento e quais os ajustes para a calibração dos
sensores e atuadores serão passados.
25
A Figura 14 mostra um diagrama explicitando as conexões entre o Gerente e o
Agente, localizados respectivamente no Servidor e no(s) Cliente(s) presentes na sala.
Figura 14 - Diagrama de blocos mostrando a conexão LAN entre Clientes e Servidor.
Como pode ser observado acima, o software Cliente deverá ser executado em cada
uma das máquinas a serem monitoradas pelo sistema.
No Servidor, além de rodar o Gerente, rodará um programa em paralelo, também
programado em C++, que será o encarregado de ser a interface entre o microcontrolador e
o Gerente. Ele controlará a porta serial do computador, enviando os dados do Gerente para
o microcontrolador e vice-versa. A Figura 15 mostra o diagrama.
Figura 15 - Diagrama de blocos: funcionamento do programa secundário no Servidor.
Microcontrolador
Conexão Serial
Programa secundário de
interface Microcontrolador
– Gerente (Controlador)
Gerente
Conexão Lógica inter-programas.
Comandos
Servidor rodando o Gerente e o Controlador
Cliente(s) rodando os Agentes
Conexão LAN (Local Área Network) Clientes e Servidor
Handshake
26
2.4.3 Diagramas de Blocos dos Softwares
Os blocos indicados no capítulo 2.4.2 estão definidos globalmente, como se segue:
Figura 16 - Diagrama de Blocos dos softwares a serem utilizados.
Servidor rodando o Gerente
Cliente(s) rodando os Agentes
Conexão LAN (Local Área Network) Clientes e Servidor
Handshake
Microcontrolador
Con
exão
Se
rial
Programa secundário de
interface Microcontrolador
– Gerente (Controlador)
Conexão Lógica inter-programas.
Comandos
Sensores
Atuadores
RS-
232
(DB
9)
RS-
232
(DB
9)
27
28
3 PROJETO
Projeto é o conjunto de ações conduzidas para atingir um objetivo, com uma
organização bem definida. Estas ações comportam particularmente fases de estudo e
implementação. A aplicação de uma estrutura de projeto se justifica desde que o objetivo a
atingir necessite de uma coordenação de atividades que necessitem execução paralela.
Na etapa a seguir, será descrito o Projeto do Gerenciador de Ambientes
Computacionais em geral, desde sua montagem física (placas), até a sua implementação
por software (parte mais extensa, envolvendo a linguagem C++ e a linguagem Assembler
para 8051). Cada etapa será dividida em módulos implementáveis, cujos quais serão
definidos em tópicos. O projeto estará concluído, assim que todos os blocos unirem -se em
um todo, após serem testados um a um e na sua funcionalidade global.
3.1 Visão Geral
Esse projeto visa mostrar os conhecimentos obtidos durante o período de
graduação. Com base nisso, adquiriu-se alguns campos para aprofundamento e agora, tem-
se por objetivo aplicá -lo em um projeto final de curso.
No sistema Gerenciador de Ambientes Computacionais, primeiramente, deve-se ter
em mente o lugar onde o sistema será instalado. Apesar do fato de ele ser um sistema
genérico, deve-se configurá-lo (variáveis e calibrações), para poder fazer uso correto do
sistema projetado.
3.2 Funcionamento do Sistema
O funcionamento do Sistema Gerenciador de Ambientes Computacionais será
explicado, para um melhor entendimento, através da explicação de seus módulos.
29
3.2.1 Módulo Microcontrolador
O microcontrolador controlará, através de oito soquetes até no máximo quatro
atuadores ou quatro sensores. Para a base de testes, serão utilizados quatro soquetes: um
para controlar a atuação da ventoinha de arrefecimento da sala, outro para controlar os
atuadores de luminosidade e os outros dois soquetes restantes, para controlar os sensores
da temperatura interna e temperatura externa da sala computacional.
3.2.2 Módulo Sensor/Atuador
Conectados a um soquete do módulo microcontrolador estarão os sensores de
temperatura interna e externa à sala.
Em um outro soquete do módulo microcontrolador, estará conectado um sensor de
luminosidade.
O ventilador que fará o papel de um atuador na sala, para a remoção do calor da
sala computacional. Preferencialmente pode ser do tipo pá aérea, semelhante ao utilizado
em algumas residências, junto com a lâmpada de uma sala, por exemplo, onde o ventilador
possui a função de jogar o ar para o ambiente (função ventilador) ou retirar o ar do
ambiente (função exaustor), controlado por um interruptor junto à chave de luz.
O atuador de luminosidade da sala será implementado em um circuito à parte, que
fará a função da chave de luz, fazendo com que o controle de luz seja dado apenas por
software, definindo no Gerente, a quantidade de luz para a sala computacional. Este fará o
controle da corrente ou tensão que será enviada às lâmpadas.
Será utilizado um conversor Analógico/Digital para poder converter os sinais
analógicos provenientes do NTC e do LDR, para poderem ser amostrados digitalmente no
computador, sendo esses dados enviados para o microcontrolador. Um amplificador
operacional é aplicado ao circuito como seguidor de tensão (ou um buffer). Esse buffer
possui ganho unitário, o que manteve a tensão constante. Porém, não houve gastos de
corrente por parte da fonte de tensão, pois não há perda de tensão devido a impedância do
amplificador operacional.
30
3.2.2.1 Linearização dos Sensores
3.2.2.1.1 LDR
O LDR já apresenta linearidade em relação à Resistência por Luminosidade.
Devido a este fato, apenas necessitamos transpor os valores obtidos para o conversor
analógico / digital para a visualização no computador.
Entretanto, sua escala de interesse para o projeto apresenta um deslocamento para
cima, como podemos visualizar na Figura 17, proveniente das informações técnicas do
componente. Devido a esse fato, há a necessidade de acoplar ao circuito um resistor de
5,6KO, para baixar essa linha de interesse, fazendo com que os níveis no ADC sejam
avaliados de 0 até 255.
Figura 17 - Deslocamento da reta de linearidade do LDR.
Luminosidade Luminosidade
Níveis do ADC Níveis do ADC
255 255
~0
mínima máxima mínima máxima
31
Na Tabela 2, encontram-se os valores a serem utilizados no projeto. Analisando
cada coluna, percebe-se que a resistência utilizada nas saídas dos relés do circuito atuador
de luz possuem valores diferentes entre si, informando a variação da resistência usada em
cada uma da seqüência dos relés. Quando a resistência é nula, o circuito está desativado e
as lâmpadas estão desligadas. Quando a resistência é máxima, existirá uma menor
intensidade de lux para o ambiente e assim por diante, de modo que o último valor
equivale à potência máxima da lâmpada na sala.
Resistência (O)
Lux R1 (O)
Vo (Volts)
Código ADC
0 0.4 2M 3.2 1 1 1 1 1 1 1 1 224K 22 40K 0.27 1 1 1 0 1 1 1 1 168K 234 6.2K 0.0389 0 1 1 1 1 1 1 1 112K 580 3.3K 0.02 0 0 1 1 1 1 1 1
Tabela 2 - Definições e valores para o uso do sensor de luz no projeto.
Também na tabela, aquisicionou-se os códigos gerados pelo ADC para a
transmissão para o microcontrolador. Esses valores binários foram adquiridos através de
leds acoplados ao circuito, apenas com essa funcionalidade.
A fórmula para o cálculo da tensão de saída ao passar pelos resistores é dada
abaixo. A Figura 18 mostra como foi utilizado o resistor de 5,6KO para realizar o
deslocamento da linearidade em relação ao ADC.
Fórmula: 21
1RR
RViVo
+=
-
+
TL084
3
21
411
5,6K
LDR
R2
VCC
R1
ADC
1
0
Figura 18 - Adaptação do circuito do LDR para atender as necessidades do projeto.
Vo
32
3.2.2.1.1.1 Luxímetro x LDR
Para verificar se o LDR está se comportando como esperado, utilizou-se um
aparelho chamado luxímetro, que realiza a mesma função do LDR, porém, com muito mais
precisão, devido ao seu circuito mais elaborado. Mesmo possuindo mais tecnologia e
resolução, o luxímetro apresentou o mesmo desempenho do LDR, apenas diferenciando-se
do LDR pela sua resposta, um pouco mais rápida que o do LDR (o luxímetro mostrava sem
atraso algum o valor da luminosidade, diferente do LDR, que apresentava atraso para a
amostragem). Para os testes, a parte do sensor do luxímetro foi posta dentro de uma caixa
juntamente com o LDR (um colado ao outro para manter o posicionamento. Então, fechou-
se e abriu-se uma tampa superior para realizar o aferimento. Basicamente, ambos se
comportaram de maneira similar.
33
3.2.2.1.2 NTC
Foi visto no capítulo 2.3.5.2, que é necessária uma linearização no NTC para que
ele adquira os valores de uma maneira a poder estimar uma relação de Resistência por
Temperatura. Como modo de proceder a linearização pode-se baixar os valores do eixo de
resistência, a fim de conseguir uma reta no gráfico. Para isso, deve-se colocar um resistor
em paralelo, a fim de dimensionar o circuito em uma forma requerida. Um outro resistor,
em série, servirá apenas para facilitar a obtenção do valor de linearização. Veja Figura 19
para a visualização do esquemático de linearização.
Fórmula: ( )( ) 2//1
//1RRntcR
RntcRViVo+
=
A Figura 20 mostra as retas de linearização obtidas com diversos valores de R2,
onde:
Linha 1 à R2 = 10K ? Linha 2 à R2 = 5K? Linha 3 à R2 = 1K? Linha 4 à R2 = 220? Linha 5 à R2 = 100? Calculou-se os valores de R2 que define a reta que apresenta uma melhor
linearidade para o projeto pela fórmula dada. Será utilizado, então, um resistor R2 (em
série) de 1KO. A tensão V é de cinco (5) volts. Os valores comprovando o resultado da
reta de R2 está indicado na Tabela 3.
1K
? -> Linearizador
NTC
VCC
R1
0
R1
R2
Figura 19 - Linearização dos NTCs do projeto.
34
Plotando o gráfico para a com os valores Tensão x Temperatura pode-se ter noção
de qual valor de R2 torna o NTC o mais linear possível. No caso, R2=1K.
0
0.5
1
1.5
2
2.5
0 20 40 60 80 100 120
Figura 20 - Retas de linearização do NTC.
Abaixo, na Tabela 3, o resultado do resistor linearizado. Não serão incluídas todas
as tabelas, devido à extensão que todas iriam abranger no documento.
T(ºC) RNTC R1//RNTC VO 22 1000 500 1.666667
27 900 473.6842 1.607143 31 740 425.2874 1.491935 36 615 380.805 1.378924
41 515 339.934 1.268473 44 455 312.7148 1.191099 48 388 279.5389 1.092342
50 360 264.7059 1.046512 53 335 250.9363 1.002994 55 310 236.6412 0.95679 58 276 216.3009 0.889175 61 260 206.3492 0.855263 64 228 185.6678 0.782967
67 211 174.2362 0.741913 76 162 139.4148 0.611782 83 126 111.9005 0.503195
85 115 103.139 0.46748 88 107 96.65763 0.440692 90 102 92.55898 0.423588 95 86 79.18969 0.366894
101 76 70.63197 0.329861
Tabela 3 - Resultados do resistor linearizador dos NTCs.
1 2
3
4 5
Temperatura
Tensão
35
3.2.2.1.2.1 Termopar x NTC
Para realizar o teste de aferimento do circuito, colocou-se em paralelo um
termômetro digital de alta precisão, utilizando um termopar como sensor de dete cção de
temperatura. Com isso, pode -se saber exatamente qual era a temperatura do ambiente e do
dispositivo de medição abrupta (no caso, um ferro de solda).
Em todos os testes, o termopar e o NTC estavam unidos com fita crepe e somente
assim, eram submetidos às medições. Com isso, em qualquer medição, a temperatura
estaria à mesma, para ambos os dispositivos.
Em testes realizados, o NTC se comportou de maneira similar ao termopar. Para a
temperatura máxima utilizada no sistema (40ºC), não há inércia térmica, portanto, não
houve preocupação nesse sentido.
36
A rampa de descida de temperatura em relação ao Termopar e o NTC também é
bem simétrica, como é comprovado no gráfico da Figura 21.
0.010.020.030.040.050.060.070.080.0
1 2 3 4 5 6 7 8
Figura 21 - Rampa de descida do Termopar em relação ao NTC.
Os valores referentes à Figura 21 pode ser visualizado na Tabela 4:
Valor do instrumento
Valor medido do NTC
65,0 67,4
60,0 61,4 50,0 55,8 45,0 49,8
40,0 39,1 35,0 34,7 30,0 29,4 25,0 24,0
Tabela 4 – Valores aferidos da rampa de descida do Termopar x NTC.
Comprova-se com isso, que a diferença de medições entre dispositivos é pequena e
não interfere nas medições do projeto.
Tempo (min.)
Temperatura (graus Célcius)
37
3.2.3 Módulo Gerente
O Gerente será a interface visual do sistema. Ele possuirá um desenho esquemático
da sala computacional gerenciada, com os respectivos computadores numerados, bem
como o ventilador atuador e as lâmpadas controladas pelo microcontrolador. Ao iniciar o
Gerente essas configurações virão a tona na tela e as máquinas que estiverem ligadas,
aparecerão conectadas à interface do software em verde; as que estiverem desligadas,
estarão em vermelho. Os valores provenientes dos computadores são: sua identificação,
velocidade de rotação (em RPM - rotações por minuto) do ventilador da CPU e a
temperatura da CPU.
3.2.3.1 Módulo Agente -Servidor
Esse módulo define um sub-módulo do Gerente (ver Figura 22). Será de le, a função
de receber os dados da placa e convertê-los para valores válidos para o Gerente, para
processamento. Os dados serão provenientes da conexão serial PC-Placa 8051 . Esses
dados serão empacotados em um protocolo próprio, onde haverá o controle de CRC e
número da máquina supervisionada. Então, o Agente-Servidor, implementado em C++,
terá como função básica, converter os valores de uma linguagem Assembler, para uma
linguagem C.
Outra função desse módulo é o de configuração do sistema global. Será nele que
serão passados os valores como: temperatura requerida, luminosidade requerida, etc, entre
outras configurações, já citadas na descrição do sistema, no capítulo 2.4.2 Softwares no
Sistema. Será esse o único software com telas para passagem de parâmetros.
Figura 22 – Subdivisão lógica interna do programa do Gerente.
Servidor
Gerente
38
3.2.4 Módulo Agente
O Agente é bem diferente do Agente -Servidor. Em primeiro lugar, o Agente rodará
nas máquinas Clientes da sala computacional. Ele será encarregado de repassar os valores
das máquinas Clientes (Identificação da Máquina, Rotação do ventilador da CPU e
Temperatura da CPU) para o Gerente. O processo se dará da seguinte maneira: O Gerente,
ao reconhecer um computador Cliente rodando o Agente, enviará comandos de aquisição a
esse Cliente e ele enviará para o Gerente, os valores requisitados através da comunicação
LAN presente entre o Cliente e Servidor.
O Agente rodará na máquina Cliente, assim que o sistema operacional carregar-se e
iniciar todos os seus processos (ele será carregado junto com o Windows). O Agente não
possuirá telas de configuração. Ele funcionará apenas como um serviço de envio de dados
para o Gerente.
Uma outra característica do Age nte é que ele poderá enviar mensagens para o
Gerente assim que ele detectar alguma anomalia nos valores repassados para o gerenciador.
Por exemplo: se os valores passados para o Gerente estão na faixa de 5000 RPM para a
Rotação do Ventilador e 40ºC para a Temperatura da CPU normalmente, mas atualmente
estão sendo aquisicionados com valores muito abaixo do nominal, a 1500 RPM e 60ºC,
será enviada uma mensagem ao Gerente e esse gerenciador enviará esse valor para o
Agente -Servidor para que ele tome a iniciativa de atuar no computador problemático,
desligando-o e enviando mensagens pop-up na tela do Servidor, solicitando a intervenção
na máquina afetada.
3.2.5 Descrição do Hardware
No detalhamento do projeto, devemos explicitar os componentes utilizados, bem
como o circuito formado por esses componentes. Devemos dar um detalhamento mais
aprofundado para saber exatamente o que esperamos que o projeto faça. Então, segue
abaixo, a descrição aprofundada do hardware, baseada em estudos provenientes de [ 6 ]
para a parte digital do hardware e de consultas de anotações de aula da matéria de
Instrumentação Eletrônica e Eletrônica Geral.
39
3.2.5.1 Diagrama do Hardware
3.2.5.1.1 Circuito dos Sensores de Temperatura e Luminosidade
OUT_ADC3CON1
1
GND4CON1
1
R6RESISTOR
VCC
OUT_ADC1CON1
1
-
+
U4D
TL084
12
1314
41
1
R2RESISTOR
-
+
U4C
TL084
10
98
41
1
R5RESISTOR
GND2CON1
1
R3RESISTOR
-
+
U4B
TL084
5
67
411
VCC2CON1
1
GND3CON1
1
LDR1
CON2
12
OUT_ADC4CON1
1
R7RESISTOR
VCC4CON1
1
NTC1
CON2
12
NTC3
CON2
12
VCC3CON1
1
0
R4RESISTOR
-
+
U4A
TL084
3
21
411
NTC2
CON2
12
GND1CON1
1
OUT_ADC2CON1
1
R1RESISTOR
VCC1CON1
1
Figura 23 - Circuito com sensores de detecção de luminosidade e temperatura.
A Figura 23 indica o esquemático dos sensores implementados no projeto. Ao invés
de utilizar o amplificador operacional LM741, como, preferiu-se utilizar o amplificador
TL084 devido a sua praticidade. Ele contém 4 (quatro) amplificadores em apenas um
circuito integrado, como visto no livro de informações de referência [ 5 ], ou nas
referências técnicas [ 12 ], [ 13 ] ou [ 14 ].
40
3.2.5.1.2 Circuito Conversor AD de Sensores para Microcontrolador
IN5 1 D51
A01
VCC
D31
IN7 1
D61
D11
D01
OE 1
D21
IN0 1
IN2 1
GND 1
D41
IN3 1
A21
D71
IN4 1
VCC 1
C1
IN1 1
U3B
74LS04
3 4
A11
IN6 1
VRES1
13
2
U3A
74LS04
1 2
14
7
U2
ADC0808
26272812345
1216
10
97
171415818192021
252423
622
1113
IN0IN1IN2IN3IN4IN5IN6IN7
REF+REF-
CLK
OEEOC
D0D1D2D3D4D5D6D7
A0A1A2
STARTALE
VC
C
GN
D
Figura 24 - Circuito do conversor analógico / digital dos sensores para o microcontrolador.
O microcontrolador ativará o circuito com os sensores. Esses sensores necessitam
de uma conversão análogo-digital. O ADC que será utilizado estará em conversão contínua
para aumentar o desempenho do sistema, pois não será necessário que o microcontrolador
envie sinais de ativação para o ADC. O circuito do ADC está definido no capítulo
3.2.5.1.2, na Figura 24. O endereçamento dos sensores a ele conectados dar-se-á através
dos pinos P1.6 e P1.7 da placa do microcontrolador, que estarão ligados diretamente no
multiplexador do conversor. O terceiro pino de entrada do multiplexador do ADC estará
aterrado (ele possui oito saídas). Apenas serão necessárias quatro conversões. A tabela a
seguir mostra em quais endereços os sensores estarão conectados. Na Tabela 5, está
explicitado os endereços para o mapeamento em memória no microcontrolador.
41
Endereço (GND P1.6 P1.7) Sensor 0 0 0 LDR 0 0 1 NTC Externo 0 1 0 NTC Interno 0 1 1 NTC para CPU
Tabela 5 - Endereçamento dos Sensores.
Como se devem controlar os sensores internos e sensores externos da sala
computacional, além dos sensores de luminosidade, deve -se realizar a multiplexação nas
portas A0, A1 e A2 do ADC 0808 para a escolha do sensor a ser monitorado.
42
3.2.5.1.3 Circuito dos Atuadores de Luminosidade
J2
CON2
12
R1A1
VCC
R3B1
LS3
RELAY SPDT
35
412
LS2
RELAY SPDT
35
412
R5A1
R2B1
J1
CON2
12
0
LS4
RELAY SPDT
35
412
R4B1
R5B1
U1
ULN2004A
1234567
16151413121110
98
1B2B3B4B5B6B7B
1C2C3C4C5C6C7C
COM GN
D
VCC1
R3A1
R1B1
GND_12V
R4A1
VCC_12V
P1.01
R2A1
VCC_OUT
LS1
RELAY SPDT
35
412
P1.11
GND_OUT
P1.31
GND1
P1.21
Figura 25 - Circuito controlador das luzes do ambiente.
3.2.5.1.3.1 Cálculo dos Resistores
0
VCC
12V
0
x4
120 OHM RES. LAMP.
0.075A
0.2A
VCC
3V10 OHM
120 OHM RES. LAMP.
0.05A
VCC
12V
x40.1A
12V
x40.4A
6V30 OHM
0 0
120 OHM RES. LAMP.
0.1Ax4
12V
9V90 OHM
VCC
0VSEM RES.
120 OHM RES. LAMP.
0.025A
0.3A
As lâmpadas (quatro lâmpadas idênticas, ligadas em paralelo) utilizadas no projeto,
utilizam tensão de doze (12) volts em corrente contínua e utiliza 0,1 ampéres para ser
ativado. Utilizando U=R.i para cada uma, temos que a resistência será de 120O. A potência
de casa lâmpada é de 1,2W, porém, como estão ligadas 4 lâmpadas em paralelo, essa
potência será também multiplicada por quatro, dando um total de 4,8W. Por isso, há a
necessidade da utilização de resistores de 5W.
43
3.2.5.1.4 Circuito dos Atuadores de Temperatura
P1.31
P1.01
LS1
RELAY SPDT
35
412
GND1
LS2
RELAY SPDT
35
412
J2
CON2
12
GND_OUT
R4
VCC_OUT
P1.11
J1
CON2
12
U1
ULN2004A
1234567
16151413121110
98
1B2B3B4B5B6B7B
1C2C3C4C5C6C7C
COM GN
D
R2
VCC1
VCC_12V
VCC
GND_12V
P1.21
R3
LS4
RELAY SPDT
35
412
0
R1
LS3
RELAY SPDT
35
412
Figura 26 - Circuito controlador da ventoinha exaustora de ar quente do ambiente.
3.2.5.1.4.1 Cálculo dos Resistores
12V
0
86 OHM RES. FAN
0.085A
86 OHM RES. FAN
0.112A
86 OHM RES. FAN
0.14A
VCC
12V
0
VCC
2.33V20.7 OHM
7V120.4 OHM
12V
0VSEM RES.
00
VCC
4.67V54.8 OHM
86 OHM RES. FAN
0.058A12V
VCC
O ventilador (fan ou ventoinha) utilizado no projeto, utiliza tensão de doze (12)
volts em corrente contínua e utiliza 0,14 ampéres para ser ativado. Utilizando U=R.i, temos
que a resistência do ventilador será de 86O.
44
3.2.5.1.5 Circuito Controlador de Atuadores
U11A
74LS08
1
23
147
LS1
RELAY SPDT
35
412
J4
CON2
12
0
U 6 ULN2004A
1234567
16151413121110
9
8
1B2B3B4B5B6B7B
1C2C3C4C5C6C7C
COM GN
D
D 11
U9A
74LS04
1 2
147
D 21
U8A 74LS139/SO
23
1
4567
168
AB
G
Y 0Y 1Y 2Y 3V
CC
GN
D
D 41
J1
CON2
12
Y01
J2
CON2
12
U7 74HC573/SO
23456789
111
1 91 81 71 61 51 41 31 2
10
20
D0D1D2D3D4D5D6D7
LEOE
Q0Q1Q2Q3Q4Q5Q6Q7
GN
DV
CC
LS4
RELAY SPDT
35
412
R D1
D 01
A151
Y11
A141
LS3
RELAY SPDT
35
412
LS2
RELAY SPDT
35
412
J3
CON2
12
D 71
VCC1
D 31
OE1
GND1
D 61
Y31
VCC
Y21
D 51
WR1
Figura 27 - Circuito que gerenciará os atuadores do sistema.
O circuito controlador dos atuadores terá por função, acionar ou desligar a placa de
um respectivo atuador, conectado a um dos quatro relés existentes. O projeto permite
então, conexão de quatro circuitos de atuadores. Também nessa placa, encontra-se um
multiplexador, com pinos Y0, Y1, Y2 e Y3, que são os pinos responsáveis pelo
endereçamento de dados enviados ao circuito do ADC e o circuito controlador dos
atuadores. No Gerenciador de Ambientes computacionais, o pino Y2 será o endereço de
conexão para o ADC e o Y0, o endereço responsável pelos atuadores. Justifica -se o fato
desses pinos, à necessidade de criar o endereçamento correto para a utilização no
microcontrolador, dos pinos A15 e A14, utilizados pelo projeto. Uma abordagem mais
aprofundada sobre a utilização de modos de endereçamento utilizando a pinagem do
microcontrolador pode ser vista em [ 1 ].
45
3.2.5.1.6 Circuito de Interconexão de Placas
P1.1_BCON1
1
D6_CCON1
1
WR_BCON1
1
GND_ACON1
1
GND_CCON1
1
P1.1_DCON1
1
P1.0_CCON1
1
D5_BCON1
1
P1.2_DCON1
1
WR_ACON1
1
A14_A
CON1
1
D4_BCON1
1
D1_ACON1
1
D2_CCON1
1
P1.3_CCON1
1
D1_CCON1
1
OE_OUTCON1
1
P1.1_CCON1
1
VCC_CCON1
1
P1.1_ACON1
1
D0_BCON1
1
VCC_ACON1
1
A14_BCON1
1
D0_CCON1
1
D3_BCON1
1
D5_CCON1
1A15_A
CON1
1
D7_ACON1
1
D6_BCON1
1
D0_ACON1
1
U1A
74LS04
12
147
D6_ACON1
1
RD_ACON1
1
D7_BCON1
1
D1_BCON1
1
P1.0_BCON1
1
P1.2_BCON1
1
D2_BCON1
1
D4_CCON1
1
D3_CCON1
1D3_ACON1
1
P1.2_ACON1
1
P1.3_BCON1
1
P1.0_ACON1
1
A15_BCON1
1
OE_INCON1
1
P1.3_DCON1
1
P1.3_ACON1
1
GND_BCON1
1
D7_CCON1
1
D4_ACON1
1
RD_BCON1
1
P1.2_CCON1
1
VCC_BCON1
1
P1.0_DCON1
1
D5_ACON1
1
D2_ACON1
1
Figura 28 - Circuito que permitirá um melhor controle dos cabos no protótipo.
O objetivo desse circuito é permitir uma melhor conexão entre as placas criadas,
auxiliando, também, na organização do cabeamento que terá de ir de uma placa à outra.
46
3.2.6 Descrição do Software
O detalhamento da funcionalidade de um software é mostrado através de diagramas
que explicitam o que cada função ou classe faz. Mostra também, os atributos e métodos
utilizados em uma classe, bem como a materialização e desmaterialização de informações
pertinentes ao sistema.
Diagramas de classes, diagramas de seqüência e casos de uso são aplicáveis às
linguagens de mais alto nível. Quando a linguagem utilizada é de baixo nível, como o
assembly, utilizam-se fluxogramas para mostrar, de uma maneira intuitiva, o que o
programa está fazendo. Um fluxograma em assembler é utilizado também para facilitar o
entendimento dos pulos que o programa faz de um ponto a outro (JMP).
47
3.2.6.1 Casos de Uso
3.2.6.1.1 Agente-Servidor
3.2.6.1.2 Agente
Sistema Ler Valor
Microcontrolador
Ler Valor Agente
Sistema Aquisição
48
3.2.6.2 Diagrama de Seqüência
3.2.6.2.1 Agente-Servidor
3.2.6.2.2 Agente
:Sistema :Comunicação 8051
:Comunicação Agente
:Conversão :Gerenciador
Tem
po
1: Inicia Programa 2: LeSerial()
3: ConverteASM-C()
4: ConverteASM-C(valor)
5: Envia(valor)
6: LePorta()
7: Envia(valor)
8: LeGerente()
9: ConverteC-ASM()
10: ConverteC -ASM(valor) 11: EnviaValor(valor)
:Sistema :Aquisição :Conversão :Envio
Tem
po
1: Inicia Programa 2: LeValor()
3: Converte()
4: Converte(valor)
5: EnviaValor()
5: EnviaValor(valor)
49
3.2.6.3 Fluxograma
Figura 29 - Fluxograma do programa assembl y para o microcontrolador 8051.
INICIO
Ler Serial
Habilita ADC?
Código NTC Interno?
Código NTC Externo?
Código NTC Interno?
N
N
N
Ler NTC Interno
Ler NTC Externo
Ler LDR
N
S
S
S
S
Habilita Ventilador Exaustor?
Valor > Limite?
(Valor-Limite) > Limite
Ventilador?
(Limite-Valor) < Zero?
Aumentar Rotação p/ Limite
Ventilador
Aumentar Rotação
p/ (Valor - Limite)
N
S
Diminuir Rotação p/ Zero
Diminuir Rotação
p/ (Limite - Valor)
S S
S
N
N
Habilita Intensidade da
Lâmpada?
Valor > Limite?
(Valor-Limite) > Limite
Lâmpada?
(Limite-Valor) < Zero?
Aumentar Intensidade p/ Limite Lâmpada
Aumentar Luminosidade
p/ (Valor - Limite)
N
S
Diminuir Intensidade
p/ Zero
Diminuir Intensidade p/ (Limite -
Valor)
S S
S
N
N
N
N
50
3.2.6.4 Exemplos de Interfaces
Figura 30 - Tela de entrada do projeto, para a escolha da porta serial a ser utilizada pelo sistema.
Figura 31 - Menu principal do Agente-Servidor, sub-rotina do Gerente.
51
Figura 32 - Parte do programa que permite executar diagnósticos, enviando comandos diretamente ao
microcontrol ador.
52
3.3 Teste de Validação
ü Realizar com sucesso a captura de temperatura, através dos sensores internos e sensor
externo, através do microcontrolador;
ü Realizar com sucesso a captura da luminosidade da sala, através dos sensores de
luminosidade na sala, através do microcontrolador;
ü Iniciar com sucesso o atuador de temperatura (ventilador exaustor), logo após atingir
uma temperatura de iniciação de atuadores, estabelecida previamente;
ü Iniciar com sucesso o atuador de luminosidade (intensidade das lâmpadas na sala),
logo após detectar-se uma luminosidade precária mínima, estabelecida previamente;
ü Enviar com sucesso os valores pré-definidos, da máquina Cliente, através do software
Agente, para o software Gerenciador, localizado no Servidor;
ü Mostrar no Gerenciador, a representação gráfica das CPU´s na sala computacional;
ü Conseguir atuar nas máquinas Clientes, através de comandos provenientes do
Servidor, assim que for detectado algum sinal vindo do Cliente, apresentando valores
inferiores ao nominal pré-definido (sinal anômalo).
3.4 Módulos Extras
Nessa etapa, serão definidos módulos passíveis de implementação, ainda no escopo
do projeto final do curso, caso haja tempo para a implementação.
Como possibilidade extra no desenvolvimento do sistema, poderá existir:
ü Controle de Ar condicionado, substituindo o ventilador exaustor;
ü Controle de lâmpadas fluorescentes, acrescentando funcionalidade do sistema;
ü Aquisição dos valores das placas-mãe dos computadores presentes na sala.
53
3.5 Análise de Custos
Na Tabela 6, é apresentado o investimento necessário com o material, tanto na parte
de software quanto de hardware, para poder implementar o projeto como um todo. Vale
lembrar que, além da utilização de insumos, utiliza -se também, equipamentos necessários
para os testes de sinais e aquisição de dados para a implementação, como fontes,
multímetros, osciloscópios, termômetros analógicos e digitais, entre outros, equipamentos
esses, essenciais para a realização do projeto.
Os custos aqui estimados possuem valor apenas demonstrativo do peso bruto a ser
gasto no projeto. Portanto, não deve ser considerado à risca. Para um valor real, devem-se
pesquisar alíquotas líquidas para o valor de cada componente, de preferência em mais de
uma fonte, para obter-se o valor líquido do gasto com componentes. Os valores mostrados
abaixo têm, então, valores estimados aproximadamente. O investimento em
microcomputador estipulado na tabela segue apenas a premissa do recurso utilizado
efetivamente para a confecção do sistema, podendo haver diversas outras configurações
que também atendam ao quesito.
Recurso Quantidade Investimento Computador Athlon XP 2600+ 1024MB RAM
1 R$ 3000,00
Microsoft Windows XP Professional 1 R$ 1300,00 Borland C++ Builder 5 Enterprise 1 R$ 3100,00
HP OpenView Network Node Manager 6.4 1 R$ 15750,00 iReasoning SNMP Agent Builder 1 R$ 4200,00 Placa Didática - Kit 8051 1 R$ 75,00
Componentes Elétricos/Eletrônicos n R$ 200,00 Sensor de Luminosidade 1 R$ 30,00 Sensor de Temperatura 2 R$ 30,00
Horas de Desenvolvimento 300 R$ 10000,00 Total R$ 37685,00
Tabela 6 - Estimativa Bruta de Custos do Projeto.
54
3.6 Cronograma
Abaixo, na Tabela 7, foram definidos prazos para realizar a organização dos passos
a serem seguidos para definir o escopo do projeto, análise de requisitos, criação do projeto
em si, implementação, testes, e implantação final.
Data/Prazo: Etapa: Final de Abril Estudo e pesquisa da plataforma a ser utilizada para realizar a gerência,
juntamente à especificação. Final de Maio Revisão bibliográfica do assunto.
Final de Maio Estudo das ferramentas para desenvolvimento sistema. Final de Junho Estudo e implementação do sistema de sensores e atuadores. Final de Junho Implementação de protocolos de comunicação SNMP entre Cliente e
Servidor. Final de Julho Implementação do sistema de software no Cliente e o Servidor. Final de Setembro Testes, modificações e instalação do módulo de sensores e atuadores no
sistema microcontrolado, juntamente c om o sistema gerenciador na sala computacional.
Final de Outubro Realização dos testes de validação do sistema.
Tabela 7 - Cronograma à cumprir no projeto do sistema.
55
4 IMPLEMENTAÇÃO
4.1 Implementação do Hardware
Conforme a Figura 16, podemos notar que os sensores e atuadores do sistema
estarão interligados ao microcontrolador. Aprofundando mais o nível de detalhamento,
podemos perceber, através da Figura 33 que tanto a lógica dos sensores quanto a lógica
dos atuadores estarão mapeados em posições específicas de memória do microcontrolador.
Com isso, tem-se a facilidade de apenas passar o respectivo endereço, no programa, para
poder acessar um determinado dispositivo.
Figura 33 - Diagrama detalhando o mapeamento em memória para sensores e atuadores.
Após explicitar o diagrama definindo as áreas de memória a ser utilizado pelos
sensores e atuadores, convém idealizar os seus respectivos circuitos.
Para atuar na luminosidade e refrigeração do ambiente, foram aplicados os cálculos
de resistência obtidos na etapa do projeto. Com isso, pode-se testar a funcionalidade em
prot-o-board, do sistema de luminosidade e refrigeração do ambiente. Assim foram
concluídos os testes, e pode-se passar para a fase de criação de esquemáticos dos circuitos,
para obter a seguir, os desenhos das placas para a criação do protótipo. O software
Con
exão
Ser
ial
Sensores (no End. 1001h)
Atuadores (no End. 5001h)
RS-
232
(DB
9)
Memória
Microcontrolador
Luz Temp. Int.
Temp. Ext.
Luz Ventilador
ADC0808
(D0...D7)
56
utilizado para a criação das etapas de esquemáticos e criação do layout da placa foi o
OrCAD, na sua versão 9.x.
A partir de conhecimentos adquiridos durante a graduação, houve conhecimento
suficiente para a criação do esquemático e essa etapa foi concluída sem maiores
dificuldades. Entretanto, a fase de criação do layout (PCB) da placa protótipo foi bastante
lenta. Deveu-se a isso, ao fato de não possuirmos os conhecimentos necessários para a
criação do PCB a partir de um esquemático. Para ter noção de como utilizar a ferramenta,
foi procurada qualificação externa para o suporte técnico.
A prototipação física das placas é um processo lento, devido ao maquinário
presente no Campus. Então, além da total certeza das ligações, foi necessário marcar um
horário antecipadamente para a criação das respectivas placas.
Um detalhe que causou transtornos foi o fato de que os componentes do OrCAD
são apresentados na tela com o VCC (alimentação) e GND (terra) geralmente ocultos.
Houve a necessidade de editar o circuito muitas vezes, para desocultar esses pinos, para a
realização do layout sem nenhum pino desconectado.
Nessa etapa foram confeccionadas seis placas físicas, sendo elas:
ü Sensores de Temperatura e Luminosidade;
ü Atuador de Temperatura;
ü Atuador de Luminosidade;
ü Controlador de Atuadores;
ü Conversor AD de Sensores para Microcontrolador;
ü Inter-conexões de Placas.
57
4.1.1 Placa dos Sensores de Temperatura e Luminosidade
Esta placa tem como objetivo aquisicionar os valores do ambiente e enviá-los para
o ADC, para que esse possa enviar os valores para o microcontrolador. A Figura 23 mostra
o circuito. Na Figura 34 podemos visualizar o layout confeccionado e abaixo a lista de
componentes que foram usados efetivamente.
Figura 34 - Layout da placa dos sensores de temperatura e luminosi dade.
58
4.1.1.1 Lista de componentes:
Circuitos Integrados:
ü U4 - amplificador operacional TL084;
Resistores:
ü R1 - 1 KO;
ü R2 - 10 KO;
ü R3 - 1 KO;
ü R4 - 10 KO;
ü R5 - 1 KO;
ü R6 - 10 KO;
ü R7 - 4K7 O.
Soquetes:
ü Soquete 14 pinos para amplificador operacional TL084;
Conectores:
ü Barra de conectores fêmea para pinos de conexões.
ü 4x Borne KRE 2 vias.
59
4.1.2 Placa do Atuador de Temperatura
O circuito esquemático atuador de refrigeração do ambiente está apresentado na
Figura 26, e sua placa de layout físico criada, está apresentada abaixo, na Figura 35.
Figura 35 - Layout da placa do atuador de temperatura.
60
4.1.2.1 Lista de Componentes
Circuitos Integrados:
ü U1 - driver de corrente ULN2004A;
Resistores:
ü R1 - Ligação direta (fio), equivalente a 0O;
ü R2 - 22O - 1 Watt (teórico: 20,7O);
ü R3 - 56O - 1 Watt (teórico: 54,8O);
ü R4 - 120O - 1 Watt (teórico: 120,4 O).
Soquetes:
ü Soquete 16 pinos para driver de corrente ULN2004A;
Conectores:
ü Barra de conectores fêmea para pinos de conexões;
ü 2x Borne KRE 2 vias.
Relés:
ü 4x Mini-Relés 5 pinos 6V.
61
4.1.3 Placa de Atuador de Luminosidade
O circuito esquemático atuador de luminosidade está apresentado na Figura 25, e a
sua respectiva placa física está apresentada abaixo, na Figura 36.
Figura 36 Layout da placa de atuador de luminosidade.
62
4.1.3.1 Lista de Componentes
Circuitos Integrados:
ü U1 - driver de corrente ULN2004A;
Resistores:
ü R1 - 100O - 5 Watt (teórico: 90O);
ü R2 - 100O - 5 Watt (teórico: associação paralela de R2, R3 e R4, dando 30O);
ü R3 - 100O - 5 Watt (teórico: associação paralela de R2, R3 e R4, dando 30O);
ü R4 - 100O - 5 Watt (teórico: associação paralela de R2, R3 e R4, dando 30O);
ü R5 - 12O - 5 Watt (teórico: 10O).
Soquetes:
ü Soquete 16 pinos para driver de corrente ULN2004A;
Conectores:
ü Barra de conectores fêmea para pinos de conexões;
ü 2x Borne KRE 2 vias.
Relés:
ü 4x Mini-Relés 5 pinos 6V.
63
4.1.4 Placa Controladora de Atuadores
Para habilitar circuitos atuadores, houve a necessidade da criação de um outro
circuito à parte, com relés atuadores para cada atuador (lembrar que foram implementados
apenas os atuadores de luminosidade e refrigeração, mas há a possibilidade de ter -se até no
máximo quatro atuadores diferentes). Abaixo, segue o esquemático e sua respectiva placa
física.
Para a realização dos circuitos dos sensores, primeiramente houve a necessidade de
saber exatamente o posicionamento e calibração dos respectivos sensores, no ambiente
aplicado.
Então, abaixo, na Figura 37, está representada a placa física do controlador de
atuadores. Vale lembrar que o circuito está representado na Figura 27.
Figura 37 - Layout da placa física do controlador de atuadores.
64
4.1.4.1 Lista de Componentes
Circuitos Integrados:
ü U6 - driver de corrente ULN2004A;
ü U7 - latch 74HC573;
ü U8 - multiplexador 74LS139;
ü U9 - porta inversora 74LS04;
ü U11 - porta and 74LS08.
Soquetes:
ü Soquete 16 pinos para driver de corrente ULN2004A;
ü Soquete 20 pinos para latch 74HC573;
ü Soquete 16 pinos para multiplexador 74LS139;
ü Soquete 14 pinos para porta inversora 74LS04;
ü Soquete 14 pinos para porta and 74LS08;
Conectores:
ü Barra de conectores fêmea para pinos de conexões;
ü 4x Borne KRE 2 vias.
Relés:
ü 4x Mini-Relés 5 pinos 6V.
65
4.1.5 Placa do Conversor AD de Sensores para Microcontrolador
Os sensores analógicos enviam suas respostas de acordo com a variação da tensão
ou da corrente. Esses valores não podem ser transmitidos diretamente para o
microcontrolador. Precisam ser condicionados para a forma binária para a interpretação
pelo microcontrolador. Essa conversão é realizada por um conversor analógico / digital.
Esse ADC deverá estar habilitado para o modo de conversão contínua, para realizar a
conversão e enviar os sinais para o microcontrolador. Na Figura 38 a seguir, é apresentado
o circuito esquemático e a sua respectiva placa física do conversor ADC implementado.
Seu circuito esquemático está representado na Figura 24.
Figura 38 - Layout da placa do ADC.
66
4.1.5.1 Lista de Componentes
Circuitos Integrados:
ü U2 - conversor analógico / digital ADC0808;
ü U3 - porta inversora 74LS04;
Soquetes:
ü Soquete 28 pinos para conversor analógico / digital ADC0808;
ü Soquete 14 pinos para porta inversora 74LS04;
Capacitores:
ü C1 - 1P6;
Conectores:
ü Barra de conectores fêmea para pinos de conexões;
67
4.1.6 Placa de Interconexões
Essa placa tem por finalidade principal compartilhar o barramento de dados entre as
placas do ADC, controlador dos atuadores e microcontrolador. Tem por função também
compartilhar a porta P1.x do microcontrolador entre o ADC, o atuador de luz e atuador de
temperatura. E por último, tem por finalidade permitir um melhor arranjo das demais
placas no espaço físico do protótipo. Então, do mesmo jeito das demais, foi necessária a
criação do seu circuito esquemático (Figura 28) e da sua placa física, definida abaixo, na
Figura 39.
Figura 39 - Layout da placa de interconexões.
68
4.1.6.1 Lista de Componentes
Circuitos Integrados:
ü U1 - porta inversora 74LS04;
Soquetes:
ü Soquete 14 pinos para porta inversora 74LS04;
Conectores:
ü Barra de conectores fêmea para pinos de conexões;
69
4.2 Implementação do Software
4.2.1 Instalação
O processo de instalação dos softwares necessários para o funcionamento do
sistema será definido a seguir.
4.2.1.1 HP OpenView Node Manager 6.4
A instalação do HP OpenView Node Manager 6.4 procedeu-se primeiramente, com
o download do instalador, versão de avaliação diretamente do site da HP
(http://www.openview.hp.com/products/nnm/index.html). O arquivo possuía, na versão
para Windows 2000/XP 133Mb. Vale lembrar que o sistema mínimo que o Node Manager
roda é em um sistema operacional de 32 bits, como o Windows 2000. Concluído,
procedeu-se com a instalação. Nisso, vieram mensagens alertando que o serviço de DNS
da máquina deveria estar configurado e ativado. Então, a instalação finalizou-se e foi
configurado passo-a-passo os requisitos. Ao tentar a instalação novamente, o novo aviso
alertou que pacotes do Windows como o protocolo SNMP e serviços para o gerenciamento
do SNMP deveriam ser instalados antes de continuar com a instalação. Novamente, a
instalação foi terminada prematuramente para a configuração e instalação requisitada.
Após reiniciar o sistema para efetivar as instalações, recomecei a instalação e ela procedeu-
se com sucesso.
4.2.1.2 iReasoning SNMP Agent Builder
Da mesma maneira que o HP OpenView, procedeu-se com a instalação do Agent
Builder, primeiramente realizando o download do arquivo de pacote
(http://www.ireasoning.com). Um pré-requisito desse software é ter instalado na máquina,
um kit de desenvolvimento em Java, encontrado em http://java.sun.com. Isso se deve ao
fato de que o software da iReasoning ser totalmente construído em Java. Realizadas as
instalações, foi-se necessário configurar o Path e o Classpath da máquina para torná-los
compatíveis com os requisitos de inicia lização do software - ver capítulo 4.2.1.2.1. Feito
isso, bastou executar o arquivo MIBGen, ou então, executá -lo da seguinte maneira: ir até o
70
diretório onde o Agent Builder foi instalado (C:\SNMP \iReasoningAgentBuilder) e ir até
\lib e executar a linha de comando “java -jar snmpagent.jar”, para executar o aplicativo.
4.2.1.2.1 Path, ClassPath
set path = %path%;
c:\J2SDK\bin
set classpath = %classpath%;
c:.; c:\J2SDK\lib\tools.jar;
C:\SNMP \iReasoningAgentBuilder\lib\snmpagent.jar;
C:\SNMP \iReasoningAgentBuilder\lib\ui.jar
4.2.2 Configuração
4.2.2.1 HP OpenView Node Manager 6.4
Abrindo pela primeira vez o Node Manager, foi necessário configurar caminhos de
destino de dados e configurações iniciais do sistema. Após esses passos, a interface básica
do Node Manager estava configurada e pronta para receber novos recursos da rede.
Lembrando que todos esses passos mostram no final, uma hierarquia visual, seguindo um
esquema de fluxograma para a amostragem dos barramentos, redes, computadores,
servidores, etc.
4.2.2.2 iReasoning SNMP Agent Builder
O Agent Builder não possui parâmetros a serem configurados.
Rodando o aplicativo MIBGen, encontramos uma tela onde podemos configurar o
nome do pacote, o diretório de saída do MIBGen, as MIBs a serem compiladas e o
diretório de compilação do MIBGen. Na figura, podemos ter uma melhor noção da
interface do aplicativo.
Ao compilar e rodar a MIB, teoricamente, podemos visualizar seu conteúdo em um
gerente SNMP para consultas.
71
4.2.3 Software Gerente
No software gerente, houve a necessidade de criarem-se classes de: comunicação
serial, criação de arquivo de log, tratamento de dados dos sensores e uma classe
controladora de todas as demais.
4.2.3.1 Comunicação Serial (Port)
Esta classe é responsável por fazer a comunicação entre o computador e o
microcontrolador. Possui funções de inicialização na qual o usuário pode escolher a porta
em que será conectado o microcontrolador, envio e recebimento de caracteres.
Inicialmente, estava-se utilizando diretamente as funções em assembler, InportB e
OutportB. Como estas não funcionaram corretamente, como se queria, foram trocadas para
trabalhar a porta serial como se fosse um arquivo.
4.2.3.2 Criação de Arquivo de LOG (CArquivo)
Esta classe foi implementada para criar arquivos. Utilizou-se a função FOpen,
bastante utilizada durante o curso de graduação. A dificuldade encontrada foi a de inserir
novos valores após o texto já existente no arquivo.
Como solução, toda vez que se vai adicionar valores ao arquivo, há a necessidade
de se varrer todos os caracteres já existentes, até o EOF, além de abrir e fechar o arquivo,
após cada inclusão.
4.2.3.3 Tratamento de dados dos Sensores (CSensores)
A finalidade dessa classe é converter os valores recebidos dos sensores de
temperatura em grau Célcius, invertendo também, o valor recebido, dado a característica
do sensor - um NTC; converter os valores recebidos do LDR em lux.
Tem por função também, determinar qual será o estado dos atuadores de
temperatura e luminosidade.
72
4.2.3.4 Classe Controladora (CControlador)
Como a ferramenta utilizada no desenvolvimento desse software é o Builder ([ 8 ]),
fez-se necessária a criação de uma classe intermediária entre as telas e as classes de
processamento.
É essa a classe que os formulários de telas (Forms) realizam as requisições. Os
dados são adaptados e adequados e então, enviados para as classes de processamento.
Nessas classes de processamento são realizadas as funções respectivas e então, os dados
são retornados para o Controlador. Por fim, esses dados são retransmitidos para o Form.
4.2.4 Programa do Microcontrolador
Para realizar a comunicação com os sensores e atuadores, esse programa fica em
espera de uma interrupção da serial. Quando chega algum valor, ele verifica qual é o
código, e, dependendo dele, aciona os atuadores de luz e temperatura, ou lê os sensores de
temperatura e luminosidade, enviando seus valores para o computador.
4.2.5 Arquitetura do criador de Agentes
O iReasoning SNMP Agent Builder é designado e implementado usando a
metodologia de orientação a objetos para o reconhecimento de padrões pré-definidos. O
objetivo de um criador de agentes SNMP é o de facilitar a criação e compilação de cada
MIB SNMP.
Todas as versões do SNMP, SNMPv1, SNMPv2c e SNMPv3 (USM e VACM), são
completamente suportadas, e o usuário não precisa aprender as camadas detalhadamente
entre cada uma das versões do protocolo.
O criador de agentes utiliza o conceito de AgentX do SNMP, onde o ambiente
consiste de dois tipos de processos: o agente pai e um ou mais subage ntes, comunicando-se
via protocolo TCP/IP. O agente pai possui comunicação tanto com o SNMP quanto com o
AgentX. É dele a responsabilidade de manter as tabelas cujas quais cada subagente é
responsável em cada região de uma MIB. Quando o AgentX pai recebe uma requisição via
SNMP, ele procura o subagente responsável pela respectiva MIB e dispara o AgentX
apropriado pela requisição. A arquitetura do AgentX, também chamado de eXtensible
Agent, pode ser visualizada na Figura 40.
73
Figura 40 - Aruitetura do eXtensible Agent SNMP.
4.2.6 MIB Prototipada
Com intuito de testes de funcionamento, foi criada uma MIB para ser compilada
pelo Agent Builder. Ela é demonstrada a seguir:
-- -- Name: Projeto Agent MIB -- Purpose: MIB for the PROJETO.DLL extension agent -- File: PROJETO.MIB -- OID: 1.3.6.1.4.1.666.1 -- exemplo de mib -- PROJETO-MIB DEFINITIONS ::= BEGIN -- Imports IMPORTS OBJECT-TYPE FROM RFC-1212 enterprises FROM RFC1155-SMI; projeto OBJECT IDENTIFIER ::= enterprises 666 objetos OBJECT IDENTIFIER ::= projeto 1 sensor_temp-interna OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Sensor de temperatura read-only do tipo inteiro." ::= objetos 1
74
sensor_temp-externa OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Sensor de temperatura read-only do tipo inteiro." ::= objetos 2 sensor_temp-auxiliar OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Sensor de temperatura read-only do tipo inteiro." ::= objetos 3 sensor_luminosidade OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Sensor de luminosidade read-only do tipo inteiro." ::= objetos 4 atuador_ventilador OBJECT-TYPE SYNTAX INTEGER (0..4) ACCESS read-write STATUS mandatory DESCRIPTION "Atuador de temperatura read-write do tipo inteiro." ::= objetos 5 atuador_lampada OBJECT-TYPE SYNTAX INTEGER (0..4) ACCESS read-write STATUS mandatory DESCRIPTION "Atuador de luminosidade read-write do tipo inteiro." ::= objetos 6 END
Essa MIB foi compilada pelo Agent Builder com sucesso. Houve a necessidade de
desabilitar os serviços SNMP presentes na máquina para executá-la, pois a porta de
comunicação deve estar disponível para o uso do Agent Builder. Realizado o
procedimento, a MIB está, teoricamente, pronta para atuar no Gerente SNMP.
Para a execução do teste de visualização, o OpenView foi executado em uma outra
máquina, essa sim com os serviços SNMP do Windows inicializados e prontos para
receber os comandos de agentes SNMP. Então, ao abrir o OpenView, o primeiro
procedimento a ser realizado foi carregar a MIB prototipada e abrir o MIB Browser, um
componente interno do OpenView, para a visualização das MIBs referenciadas.
A MIB foi carregada com sucesso e seus parâmetros foram lido pelo OpenView.
Foi necessária uma modificação na compilação por parte do Agent Builder para configurar
as comunidades tanto de leitura quanto de escrita para trabalhar na comunidade padrão
Public .
75
5 CONCLUSÃO
Essa monografia apresenta o projeto final de curso, “Sistema Gerenciador de
Ambientes Computacionais”, cujo qual foi dividido em três áreas, atendendo os quesitos
abordados em Engenharia de Software e Gestão Empresarial e de Projetos, em como se
implementar um projeto. São elas: especificaçã o, projeto e implementação.
A fase de especificação do projeto permitiu uma visualização do que seria
implementado como projeto final – um sistema autônomo capaz de gerenciar uma sala
computacional à distância.
Na segunda fase, de projeto, foram definidas as ferramentas que seriam utilizadas
para a confecção do sistema como um todo. Nessa etapa, foi necessário estipular os limites
do sistema, ou seja: até onde ele atenderia os anseios do usuário e o motivo pelo qual ele
teria esse limite.
Já na etapa de implementação do sistema foi feita a validação da etapa de projeto.
Nessa etapa, pode-se realizar correções necessárias para o pleno funcionamento do sistema,
bem como realizar procedimentos para aplicar efetivamente o sistema definido na etapa de
projeto.
Ao realizar esse projeto, pode-se ter em mente, a utilização prática de tecnologias
até então não estudadas profundamente, como foi o caso do protocolo SNMP. No sistema,
foi possível aplicar os conhecimentos vistos durante a graduação, das mais diversas
matérias, que abrangem desde a Eletrônica até a Engenharia de Software.
Durante a implementação do sistema SNMP, existiram dificuldades por parte do
HP OpenView e a leitura dos dados da comunidade que o protocolo estava funcionando, a
comunidade Public . Os valores eram lidos, mas não se podia modificá-los. Durante dois
meses, essa dificuldade estava dificultando o término da implementação. Em um
determinado ponto, notou-se uma característica do protocolo SNMP, cujo qual definia as
comunidades isoladamente, uma para leitura e outra, para escrita. Ambas compartilhavam
a mesma nomenclatura Public e por isso, pensava-se que se tratava apenas de uma
comunidade.
Foi necessária uma completa revisão em eletrônica básica para relembrar conceitos
para a utilização no sistema de atuação das lâmpadas da sala computacional. Três
tentativas de criação da placa de circuito impresso foram necessários até a correta
utilização do sistema de iluminação. Antes, pensava-se em implementar o controle do
protótipo com lâmpadas de 110 volts, porém, como o protótipo possuía dimensões
76
reduzidas e o sistema de alimentação do atuador do ventilador utilizava 12 volts, optou-se
por essa tensão de alimentação para poder com isso, compartilhar a mesma fonte de
energia.
Como forma de melhorar o projeto, futuramente, sugere -se a implementação de
outros módulos de atuação no ambiente computacional, como realizar a verificação da
abertura de portas e janelas, umidade relativa do ar, entre outros.
Este projeto é voltado para o lado prático do curso. A realização desse projeto visa
beneficiar o bem estar das pessoas, mantendo sempre, as variáveis ambientais em harmonia
com o organismo humano.
77
6 BIBLIOGRAFIA
[ 1 ] PEREIRA DA SILVA JR., VIDAL, Aplicações Práticas do Microcontrolador 8051,
1998.
[ 2 ] STALLINGS, WILLIAM, SNMP, SNMPv2, SNMPv3 and RMON 1 and 2, Third
Edition, Prentice Hall, 2001.
[ 3 ] TAUB, H., SCHILLING, D., Eletrônica Digital. São Paulo: McGraw-Hill do Brasil,
1992.
[ 4 ] TAUB, H., Sistemas Digitais e Microprocessadores. São Paulo, McGraw-Hill do
Brasil, 1984.
[ 5 ] TEXAS INC., The TTL Databook (CD-ROM).
[ 6 ] TOCCI, R. J., Sistemas Digitais: Princípios e Aplicações. 5ª edição, Rio de Janeiro:
Prentice-Hall do Brasil, 1994.
[ 7 ] ZELTSERMAN, DAVID, A Pratical Guide to SNMPv3 and Network Management,
Prentice Hall, 2001.
[ 8 ] WEBSITE, Borland, http://www.borland.com, 2003.
[ 9 ] WEBSITE, Hewlett Packard, http://openview.hp.com, 2003.
[ 10 ] WEBSITE, Intel, http://www.intel.com, 2003.
[ 11 ] WEBSITE, iReasoning, http://www.ireasoning.com, 2003.
[ 12 ] WEBSITE, National Semiconductor, http://www.national.com, 2003.
[ 13 ] WEBSITE, Philips Logic, http://www.philipslogic.com, 2003.
[ 14 ] WEBSITE, Texas Inc., http://www.ti.com, 2003.
78
ANEXO 1 - Microcontrolador 8051 - Características
Trata-se de um circuito integrado que pode ser vendido em duas versões
específicas: uma sem ROM interna e outra que possui uma memória interna de 32KBytes
com encapsulamento EPROM. Além disso, essa última versão possui 512 portas de E/S de
8 bits mapeadas como RAM, sem considerar o seu conjunto de pinos dedicados (Serial,
Timers, Interrupções, genéricos, etc.).
O microcontrolador 8051 possui clock de 12MHz até 30MHz, dependendo do seu
modelo. Pode trabalhar com uma memória de programa de 64KBytes externa e ainda,
64KBytes de memória de dados, também externa (e mais as suas capacidades de
armazenamento interno). Caso utilize na versão 8051 com memória interna, podem-se
utilizar os 4KBytes internos em união com 60KBytes externos, para formar um total de
armazenamento de 64KBytes, mapeáveis. Já com a versão mais simples do
microcontrolador, 8031, pode -se utilizar diretamente 64KBytes externo de memória,
descartando o seu pequeno espaço interno de 128Bytes.
Como características, o microcontrolador 8051 possui 4 portas de E/S de 8 bits,
cada um endereçado individualmente em memória. Caso utilize-se memória externa, duas
portas poderão perder seus espaços internos endereçáveis. Outra característica do
microcontrolador é a possibilidade de fornecer interrupções em cascata, ou seja, se uma
interrupção possuir maior prioridade em cima de outra, ela poderá interromper a de menor
prioridade e começar a sua execução. A esse esquema, damos o nome de Nesting. Possui 5
(cinco) fontes chamadas mascaráveis (interrupções que não podem ser ignoradas pelo
processador). Ainda, possui 2 níveis de prioridade de interrupção. O microcontrolador
8051 possui 2 contadores internos de 16 Bits, um canal de comunicação Serial UART Full-
Duplex o que faz do microcontrolador um excelente módulo de controle micro-processado,
pois pode utilizar expansão de E/S, auxiliando a automação de sistemas.
Como diferenças, então, o modelo 8051 possui uma EPROM 2764 embutida ao seu
CI. Já o microcontrolador 8031 não possui essa memória interna. Os modelos do 8051
podem ser em encapsulamento Dual In Line ou então Quad Pack.
79
O microcontrolador possui como característica: [ 4 ]
ü CPU de 8-bits otimizada para aplicações de controle
ü Processamento Booleano Amplo (lógica Single -bit)
ü Espaço de endereçamento de Memória de Programa de 64K
ü Espaço de endereçamento de Memória de Dados de 64K
ü 4K bytes de Memória de Programa on-chip
ü 128 bytes de RAM de Dados on-chip
ü 32 linhas de I/O programáveis
ü Dois contadores/timer de 16-bits
ü UART Full duplex
ü Estrutura de interrupção com dois níveis de prioridade
ü Oscilador de relógio On-chip
Um diagrama interno do microcontrolador 8051/31 é apresentado na Figura 41.
80
Figura 41 - Diagrama de Blocos do Microcontrolador 8051.
81
ANEXO 2 - Kit Didático 8051
A2
A6
R 5
4k7
AD
4
U 362256
10 9 8 7 6 5 4 3 25 24 21 23 2 26 1 20 22 27
11 12 13 15 16 17 18 19
28 14
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
CE
OE
WE
D0
D1
D2
D3
D4
D5
D6
D7
VCC GND
AD
5
A7
A9
A9
5V
A13
AD
0
A7
A15
D3
BAT85
A10
AD
3
A13
AD
2
EN
C1
1D
U274LS373
20 10
1 11 3 4 7 8 13 14 17 18191615129652
SW1
A7
C 2
33p
Vcc
AD
0
U427C256
10 9 8 7 6 5 4 3 25 24 21 23 2 26 27 20 22 1
11 12 13 15 16 17 18 19
28 14
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
CE
OE
VP
P
D0
D1
D2
D3
D4
D5
D6
D7
VCC GND
C7
100n
A13
A5
---
BT1
9V
AD
6
A6A
D7
K6
1 2 3 4 5 6 7 8
AD
7
AD
3
AD
5
SW4
SW_T_SPDT
1 3
2
A11
A3A0
A12
A2 A4
K3
1 2 3 4 5 6 7 8
A5
AD
4
A4
K2
594837261
AD
3
AD
1A
D2
Q1
BC557B
1
2
3
Vcc
A5A
D4
R6
100
AD
3
AD
4
5V
U 5
LM7805
1
2
3V
I
GND
VO
AD
1A
D1
A9
Vcc
A13
A6
C4
470u/16V
A11
A12
A14
R3
4k7
A1
AD
6
D5
LED
RA
M
A10
Vcc
A2
A0
AD
7
C3
33p
A8
A9
U 1
80C31
31 19 18 9 12 13 14 15 1 2 3 4 5 6 7 8
39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 17 16 29 30 11 10
40 20
EA
/VP
X1
X2
RE
SE
T
INT
0IN
T1
T0
T1
P1.
0P
1.1
P1.
2P
1.3
P1.
4P
1.5
P1.
6P
1.7
P0
.0P
0.1
P0
.2P
0.3
P0
.4P
0.5
P0
.6P
0.7
P2
.0P
2.1
P2
.2P
2.3
P2
.4P
2.5
P2
.6P
2.7
RD
WR
PS
EN
AL
E/P
TX
DR
XD
VCC VSS
C8
100n
5V5V
AD
0
AD
3
A1 A12
AD
1 R7
4k7
A3
AD
6A5
R4
4k7
A4
AD
6
K4
1 2 3 4 5 6
EP
RO
M
AD
5
A14
A14
A1
A3
D 2
1N4001
AD
7
AD
2A
D2
Vcc
R 1
1 0 k
A4 A0 A11
C1
10u/63V
Vcc
AD
1
A8
AD
5
5V
D 1
1N4148
AD
0
5V
A7
C6
100n
A1
A14
A2
5V
AD
7
A6
C5
100u/10V
Vcc
AD
4
A8
A8
5V
K1
123
A11
K5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
A12
A3A
D2
AD
6
Vcc
X1
11,0592MHz
A15
A10
Q2BC547B1
2
3
C9
100n
AD
5
A15
J2
CON2
1 2
A10
A0
AD
0
R 2
220
Figura 42 - Esquemático da placa didática do microcontrolador 8031.
82
ANEXO 3 - Lista de Componentes do Kit Didático 8051
Circuitos Integrados:
ü U1 - microcontrolador 80C31;
ü U2 - latch 74LS373;
ü U3 - memória RAM 62256;
ü U4 - memória EPROM 27C256;
ü U5 - regulador de tensão LM7805.
Resistores:
ü R1 - 10 KO;
ü R2, R3, R4, R5 - 4K7 O;
ü R6 - 100 O.
Capacitores:
ü C1 - 10 µF/16V;
ü C2, C3 - 33 ?F;
ü C4 - 470 µF/16V;
ü C5 - 100 µF/16V;
ü C6, C7, C8, C9 - 100 ?F.
Diodos:
ü D1, D2, D3 - 1N4148.
Cristal
ü Xtal - 11,0592MHz.
Transistores:
ü Q1 - BC327B;
ü Q2 - BC337B.
Soquetes:
ü Soquete 40 pinos para microcontrolador;
ü Soquetes 28 pinos para memórias.
Conectores:
ü BAT - clip para bateria 9V;
ü DB9 - conector RS232 fêmea para placa;
ü RESET - push buttom, normalmente aberto;
ü POWER ON - chave liga-desliga;
ü Plug Vcc - conector jack para alimentação;
83
ü Barra de conectores fêmea para barramento de endereços, dados, portas P1 e P3.
Outros:
ü Bateria 9V.
84
ANEXO 4 - Protótipo Físico
Abaixo, segue a especificação da maquete realizada . Ele foi criado utilizando-se
madeira do tipo MDF de 0.6cm de espessura (60mm). Os comprimentos e os formatos
foram definidos com base no posicionamento dos componentes internos. Criando a
perspectiva de uma sala computacional, na sua devida escala e proporção, onde se
localizam os sensores e atuadores, criou-se um espaço similar a um ambiente desse tipo.
Figura 43 - Recortes de Madeira do tipo MDF 6mm do protótipo físico.