Projeto de Automação Residencial utilizando um Microcontrolador

Transcrição

Projeto de Automação Residencial utilizando um Microcontrolador
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação
PROJETO DE AUTOMAÇÃO RESIDENCIAL
UTILIZANDO UM MICROCONTROLADOR DA
FAMÍLIA 8051 E SUPERVISIONADO POR
UMA PLATAFORMA DESENVOLVIDA NO
ELIPSE E3
Charles de Souza Siqueira
Pablo Pinheiro Batista Villas Boas
Orientador: Prof. Dr. José Wilson Lima Nerys
Goiânia
2011
Projeto de automação residencial utilizando um
Microcontrolador da família 8051 e supervisionado
por uma plataforma desenvolvida no Elipse E3
Monografia de Projeto Final apresentada
ao Curso de Graduação em Engenharia
Elétrica da Universidade Federal de
Goiás, para obtenção do título de
Engenheiro Eletricista.
Área
de
concentração:
Microprocessadores.
Orientador: Prof. Dr. José Wilson Lima
Nerys
Goiânia
2011
2|Página
Projeto de automação residencial utilizando um
Microcontrolador da família 8051 e supervisionado por
uma plataforma desenvolvida no Elipse E3
Monografia defendida e aprovada em 19 de dezembro de 2011, pela
Banca Examinadora constituída pelos professores.
__________________________________________________
Prof. Dr. José Wilson Lima Nerys
_______________________________________________________
Prof. Me. Wanir José Medeiros Júnior
_______________________________________________________
Prof. Dr. Lourenço Matias
3|Página
AGRADECIMENTOS
Aos nossos pais familiares pelo apoio dado durante os anos de curso.
Ao professor, José Wilson Lima Nerys, pelo voto confiança para a orientação
desse trabalho.
4|Página
SUMÁRIO
LISTA DE SIGLAS E ABREVIATURAS....................................................................................................7
LISTA DE FIGURAS.................................................................................................................................8
LISTA DE TABELAS................................................................................................................................10
RESUMO.................................................................................................................................................11
ABSTRACT..............................................................................................................................................12
1. INTRODUÇÃO.....................................................................................................................................13
2. OBJETIVOS.........................................................................................................................................14
3. HISTÓRICO DA AUTOMAÇÃO RESIDENCIAL..................................................................................15
4. FUNDAMENTAÇÃO TEÓRICA...........................................................................................................17
4.1. Microcontroladores.............................................................................................................16
4.1.1. A família de Microcontroladores 8051...............................................................19
4.1.2. A comunicação serial da família 8051...............................................................21
5. MATERIAIS E MÉTODOS...................................................................................................................24
5.1. Interfaces entre Sistema e Usuário.....................................................................................24
5.2. O Sistema de Supervisão e o Elipse E3 ............................................................................27
5.2.1. A Hierarquia no Elipse E3 .................................................................................28
5.2.2. Comunicação com o controlador.......................................................................31
5.2.3. Funcionamento do software de monitoramento................................................34
5.3. Módulo de Controle............................................................................................................38
5.3.1. Relé de Acionamento........................................................................................39
5.3.2. Fonte de Alimentação.......................................................................................40
5.4. Outros dispositivos utilizados.............................................................................................42
5.4.1. Circuito Integrado 74HC573..............................................................................42
5.4.2. Circuito Integrado 7404.....................................................................................43
5.4.3. Circuito Integrado ULN2003..............................................................................43
5.4.4. Circuito Integrado MAX232...............................................................................44
5.4.5. Sensor de Presença..........................................................................................45
5.4.6. Proteus, o software de simulação.....................................................................46
6. RESULTADOS E DISCUSSÕES........................................................................................................49
6.1. Inicialização do sistema......................................................................................................49
6.2. Interrupção Externa............................................................................................................49
6.3. Controle do motor da janela...............................................................................................50
6.4. Simulações utilizando os softwares Proteus e Pequi.........................................................50
5|Página
6.5. As placas de circuito...........................................................................................................50
6.6. Testes realizados com o Elipse E3....................................................................................53
6.7. Teste Final..........................................................................................................................55
7. CONCLUSÕES...................................................................................................................................58
8. REFERÊNCIAS BIBLIOGRÁFICAS...................................................................................................59
9. ANEXOS.............................................................................................................................................60
9.1. Código em linguagem Assembly do programa projetado..................................................60
6|Página
LISTA DE SIGLAS E ABREVIATURAS
ASCII
American Standard Code for Information Interchange
CI
Circuito Integrado
PCB
Printed Circuit Board
I/O
Input/Output
LED
Diodo Emissor de Luz
ROM
Read Only Memory
RAM
Random Acess Memory
m
mili
A
Ampere
V
Volt
EEEC
Escola de Engenharia Elétrica e Computação
UFG
Universidade Federal de Goiás
7|Página
LISTA DE FIGURAS
Figura 1 – Modelo de comunicação externa do microcontrolador 8051..........................18
Figura 2 – Arquitetura Básica do chip 8051.....................................................................19
Figura 3 – Comunicação Serial do tipo RS232................................................................23
Figura 4 – Hierarquia no Elipse E3..................................................................................29
Figura 5 – Exemplo da utilização do comando de decisão “If-Else”................................30
Figura 6 – Exemplo da utilização do comando de decisão “Select-Case”.......................31
Figura 7 – Tags de Comunicação “Envia” e “SensorPresen”...........................................32
Figura 8 – Tela definições do IOkit - ASCII......................................................................33
Figura 9 – Tela de definições do IOkit – Comunicação....................................................34
Figura 10 – Tela inicial de monitoramento.......................................................................35
Figura 11 – Tela de funções “Opções”.............................................................................35
Figura 12 – Tela de funções “Exibir”................................................................................36
Figura 13 – Janela de definições do modo de operação.................................................36
Figura 14 – Tela de Monitoramento.................................................................................37
Figura 15 – Modelo da placa de controle.........................................................................39
Figura 16 – Relés de Acionamento..................................................................................40
Figura 17 – Fonte Chaveada de 5V.................................................................................40
Figura 18 – Circuito Integrado LM2576............................................................................41
Figura 19 – Fonte de Alimentação de 12V.......................................................................41
Figura 20 – Pinagem e Diagrama do CI74HC573............................................................42
Figura 21 – Pinagem do CI7404, chip de portas inversoras.............................................43
Figura 22 – Pinagem do CI driver ULN2003.....................................................................44
Figura 23 – Diagrama e pinagem do CI MAX 232............................................................45
Figura 24 – Sensor de Presença......................................................................................45
Figura 25 – Ambiente de simulação ISIS do software Proteus 7.6.................................. 47
Figura 26 – Ambiente de criação do PCB no software Proteus Ares................................48
Figura 27 – Modelo do ISIS usado para confeccionar a placa no Ares............................48
Figura 28 – Placa de Comando.........................................................................................51
Figura 29 – Montagem final da placa da fonte.................................................................52
Figura 30 – Placa de circuito impresso da fonte................................................................52
Figura 31 – Testes com o Hyperterminal do Windows XP.................................................53
8|Página
Figura 32 – Testes com o Hyperterminal do Windows XP - Modo Manual.......................54
Figura 33 – Testes com o Hyperterminal do Windows XP - Modo Automático.................55
Figura 33 – Maquete de apresentação - Visão Frontal.....................................................56
Figura 34 – Maquete de apresentação - Sala de Espera..................................................57
Figura 35 – Maquete de apresentação - Entrada..............................................................57
9|Página
LISTA DE TABELAS
Tabela 1 – Modos de funcionamento do canal serial.......................................................21
Tabela 2 – Tabela de funções da plataforma...................................................................27
10 | P á g i n a
RESUMO
Este projeto consiste na implementação de um circuito que controla dispositivos
em uma residência, consultório ou qualquer ambiente de uso doméstico. O objetivo
inicial é utilizá-lo na automação de consultórios médicos e odontológicos, mostrando
sua aplicação no controle da iluminação ambiente bem como o controle de
dispositivos como ar condicionado e abertura e fechamento de janelas blindex e etc.
Para este controle foi desenvolvido uma plataforma de comunicação utilizando o programa Elipse E3. A plataforma faz a comunicação do usuário com o sistema
microcontrolado. Foram utilizados alguns equipamentos e componentes, dos quais os
principais são: microcontrolador da família 8051, micro switches, sensores de
presença e um microcomputador.
O sistema fará o controle automático ou manual de alguns dispositivos da
entrada e recepção de um consultório odontológico. Ele informará aos responsáveis
sobre a chegada de uma pessoa e fará o acionamento dos dispositivos de acordo
com a conveniência, considerando o modo de operação escolhido. Estes por sua vez,
são definidos pelo usuário considerando as condições climáticas. O programa Elipse
fará monitoramento e enviará as instruções à placa de controle via comunicação
serial/serial ou usb/serial. Durante a operação do sistema todos os passos poderão
ser visualizados na tela de um computador através de animações programadas.
Palavras-chave:
Automação
residencial/comercial
de
pequeno
porte,
Microcontrolador 8051, Elipse E3, Comunicação Serial RS232, Fonte chaveada, relés.
11 | P á g i n a
ABSTRACT
This project is about the implementation of a circuit that controls the devices in a
home, office or any environment for domestic use. The initial goal is to use it in the
automation of medical and dental office, showing its application in control of ambient
lighting as well as control devices such as air conditioning and opening and closing
blindex windows, etc. For this control was developed a communication platform using
the program Elipse E3. The platform makes the user's communication with the system
controlled. We used some equipments and components, of which the main ones are:
8051 microcontroller family, micro switches, occupancy sensors and a microcomputer.
The system will control automatically and manually some devices in a dental office. He
will inform those responsible, the arrival of a person and make the drive device
according to convenience, considering the chosen mode of operation. These in turn
are defined by the user considering the weather conditions. The Elipse program will
monitor and send the instructions to control board communication via serial/serial or
usb/serial. During system operation every step could be viewed on a computer screen
by programmed animations.
Keywords:
Automation residential/ small business, microcontroller
8051, E3, Serial
Communication RS232, Power switches, relays
12 | P á g i n a
1.
INTRODUÇÃO
A sociedade moderna tem vivido em meio a constantes avanços tecnológicos no
campo da automação. A cada dia, automatização vem se tornado ferramenta
indispensável na vida das pessoas.
Após o surgimento da Automação Industrial, período anterior à criação dos
famosos Controladores Lógico-Programáveis (CLP’s), houve um crescimento no
mercado de automação de pequeno porte. Introduziu-se o uso de microcontroladores
diversos, com o objetivo de fomentar um luxo impulsionado pelo desenvolvimento
econômico que aumenta o poder de aquisição das pessoas. A automação comercial e
residencial se mostra um mercado cada vez mais promissor e interessante. E uma
vez a sociedade tende a esse caminho, não há volta, pois a tendência é de que a
automação seja peça essencial na vida de qualquer indivíduo moderno.
Esse projeto baseou-se na idéia de automação de pequenos sistemas
residenciais e comerciais. Ele foi desenvolvido utilizando um microcontrolador da
família 8051 e sua supervisão realizada por uma plataforma desenvolvida no software
Elipse E3.
Um exemplo de aplicação são consultórios médicos e odontológicos. Existem no
Brasil milhares desses consultórios. Por questões econômicas, muitos deles possuem
um único funcionário trabalhando como auxiliar de consultório e recepcionista. Assim
há necessidade dele se omitir do ambiente de recepção para fazer o auxílio no
consultório. Isto deve acontecer sem que se perca o controle dos clientes que
adentrem o ambiente de recepção do consultório. Toda esta situação pode ser
otimizada com a implantação de sistema de automação residencial/comercial
de
pequeno porte, semelhante ao apresentado neste projeto.
13 | P á g i n a
2.
OBJETIVOS
O projeto desenvolvido visa demonstrar uma aplicação simplificada da
automação residencial em consultórios dentários de pequeno porte.
O ambiente
simulado será um consultório de um odontólogo, que dispõe de uma secretária
assistente. Foi desenvolvido um sistema utilizando o microcontrolador da família
8051 para receber instruções via entrada serial, vindas de um computador usando
uma interface desenvolvida no programa Elipse E3. O microcontrolador 8051
deverá receber as instruções e executá-las controlando relés de acionamento.
São realizadas leituras da entrada serial, e os bytes recebidos são comparados
com os números hexadecimais de 41H ao 51H. Após a identificação destes
números, o microcontrolador determina quais dispositivos serão acionados.
14 | P á g i n a
3.
HISTÓRICO DA AUTOMAÇÃO RESIDENCIAL
A automação residencial e predial originou-se dos conceitos utilizados em
automação industrial. Porém, em virtude da diferente realidade entre o uso dos dois
tipos de arquiteturas, têm sido criadas tecnologias dedicadas para ambientes onde
não se dispõe de espaço para grandes centrais controladoras e pesados sistemas de
cabeamento. No entanto, no ambiente residencial não são necessárias lógicas
complexas ou um grande número de sensores e atuadores para monitoramento de
processos, porém são exigidos diversos tipos de interfaces, associadas à dispositivos
de controle versáteis e confiáveis, de acordo com a necessidade de cada cliente.
Segundo a AURESIDE (Associação Brasileira de Automação Residencial, 2011),
a década de 70 foi considerada um marco na história da automação, quando foram
lançados nos EUA os primeiros módulos inteligentes de automação, os chamados X10. O protocolo X-10 é uma linguagem de comunicação que permite que produtos
compatíveis comuniquem-se através da linha elétrica existente. Para isso, não são
necessários novos e custosos projetos de cabeamento. No mercado, existia uma
gama enorme de produtos X-10, de diversos fabricantes. Pela sua característica
básica, o sistema X-10 era recomendado para aplicações autônomas, não integradas.
Uma de suas limitações era de operar apenas funções simples tipo liga/desliga e
dimerização de luzes. É um sistema de fácil implantação, pois não precisa de
intervenção. Em contrapartida, torna-se um sistema instável, visto que a rede elétrica
pode ocasionar comportamentos falhos dos componentes seja por duplicidade de
fase, falta de energia ou descargas eletromagnéticas. Outro empecilho para sua
utilização em larga escala é sua baixa integração com os demais sistemas
automatizados que utilizam cabeamentos dedicados (áudio, vídeo, alarmes). Porém, a
tecnologia X-10 é apontada como a de maior sucesso comercial nessa década. O
mercado americano foi o maior consumidor desta tecnologia onde se venderam
dezenas de milhões de dispositivos X-10. Sua divulgação e simplicidade técnica
fizeram com que estes dispositivos tivessem um baixo custo sendo facilmente
adquiridos em vários locais.
Já na década de 80, segundo AURESIDE (2011), com o desenvolvimento da
informática pessoal (PC) com interfaces amigáveis e operações extremamente fáceis,
novas possibilidades de automação surgiram no mercado. Porém, foi no final da
15 | P á g i n a
década de 90 que ele se tornou o grande responsável pela vasta gama de novidades
para o mercado da automação residencial. Algumas conquistas tecnológicas
incorporadas ao nosso dia a dia, como o telefone celular e a Internet, despertaram no
consumidor o gosto pelo conforto e a praticidade.
Segundo o engenheiro José Roberto Muratori (Associação Brasileira de
automação residencial, 2011), no Brasil ainda em seus primeiros passos, a
automação residencial já envolve incorporadores, construtores, arquitetos e
projetistas que oferecem várias opções para sistemas integrados em residências. A
indústria de construção civil está começando a adequar seus projetos residenciais
visando criar uma prévia infra-estrutura para uma possível implementação de um
projeto de automação residencial. São constatadas consultas cada vez mais
freqüentes de incorporadores imobiliários que desejam adotar soluções de tecnologia
e sistemas em seus novos empreendimentos como: cabeamento estruturado para
dados, voz e imagem, sistemas de segurança, áudio e vídeo, controle de iluminação,
cortinas e venezianas automáticas, utilidades (como aspiração central, irrigação, piso
aquecido e outras), o que aponta para um crescimento exponencial da oferta de
novos imóveis preparados para receber automação. Pois, mais do que tecnologia por
si só, a automação residencial, procura atender os aspectos tecnológicos que possam
trazer mais conforto, economia e segurança ao usuário. Embora este seja um
panorama otimista para o Brasil, é preciso atentar para algumas condições que
podem dificultar o ritmo deste esperado crescimento. Conforme cita Marques
(AURESIDE, 2011), as principais são:
• Falta de conhecimento específico dos projetistas: percebe-se um crescente
interesse de arquitetos e projetistas pelo tema, no entanto muitos ainda se
mostram inacessíveis às novidades e nem sempre contribuem positivamente
no processo de melhoria dos projetos de infra-estrutura.
• Ausência da cultura da automação residencial entre os usuários finais, o que
prejudica a percepção dos seus reais benefícios. Para afastar estas incertezas
e reforçar os aspectos positivos da automação residencial, empresas
brasileiras e profissionais têm se empenhado num trabalho de esclarecimento,
divulgação e inovação, trazendo benefícios para este emergente mercado.
16 | P á g i n a
4.
FUNDAMENTAÇÃO TEÓRICA
4.1.
Microcontroladores
Os microcontroladores são circuitos integrados de baixo custo que contém em
sua
síntese:
memória
programável
somente
para
leitura,
que
armazena
permanentemente as instruções programadas; memória RAM, que trabalha
armazenando “variáveis” utilizadas pelo programa; CPU, que interpreta e executa
comandos desse programa. Existem também dispositivos de entradas e saídas, que
tem a finalidade de controle de dispositivos externos ou de receber sinais pulsados de
chaves e sensores. Possui temporizadores, contadores e canais de comunicação
serial. Esse sistema diferencia os sistemas baseados em microcontroladores
daqueles baseados em microprocessadores, onde normalmente se utilizam vários
componentes para implementar essas funções. Em contrapartida, as CPUs dos
microcontroladores
são,
em
geral,
menos
poderosas
do
que
a
dos
microprocessadores. A figura 1 mostra a comunicação do microcontrolador 80C51
com os dispositivos externos. Seu clock é mais baixo e o espaço de memória
endereçável costuma ser bem menor. Com isso vê-se que a área de aplicação dos
dois é um pouco distinta, o microcontrolador será usado em sistemas de menor
complexidade e menor custo do que um sistema que exija a capacidade de
processamento de um microprocessador.
A programação dos microcontroladores é, em geral, mais simples do que a dos
microprocessadores, ao menos no que diz respeito às exigências de conhecimento
dos componentes periféricos. Isto acontece porque os periféricos on-chip dos
microcontroladores são acessados de uma forma padronizada e integrada na própria
linguagem de programação.
Conforme o engenheiro GIANN BRAUNE REIS (2006, p. 8):
Nos dias atuais os microcontroladores são elementos eletrônicos básicos para todos os
engenheiros eletricistas, isso em função do seu grande número de aplicações. Com o avanço da
tecnologia e a utilização da eletrônica digital por grande parte das empresas, o emprego dos
microcontroladores vêm sendo muito requisitado para um melhor desenvolvimento da produção,
diminuindo os custos e trazendo benefícios para as empresas que utilizam esse sistema.
17 | P á g i n a
Figura 1: Modelo de comunicação externa do microcontrolador 8051.
Considerando a relação custo/benefício, o uso dos microcontroladores não fica
restrito somente às empresas de grande/médio porte, eles podem ser usados também
em projetos eletrônicos, na substituição de vários componentes digitais, obtendo-se
assim no final do projeto um melhor acabamento, pois o microcontrolador ocuparia um
menor espaço físico, além de uma maior eficiência e praticidade.
Alguns exemplos de sistemas onde os microcontroladores são aplicados são:
• Controle de semáforos;
• Balanças eletrônicas;
• Controle de acesso;
• Telefones públicos;
• Controle de carregadores de baterias;
• Inversores;
• Taxímetros;
• Eletrodomésticos em geral.
Segundo Sousa (2001), O primeiro microcontrolador foi lançado pela Texas
Instruments em 1972, o TMS 1000 de 4 bits, que inclui RAM, ROM e suporte a I/O em
um único chip, permitindo o uso sem qualquer outro chip externo. Em 1977 a Intel
lançou o microcontrolador 8048, que possuía memória de programa externa (ROM), e
memória de dados interna de 256 kbytes (RAM).
18 | P á g i n a
4.1.1. A família de Microcontroladores 8051
Existem no mercado muitos tipos de microcontroladores sendo o 8051 o mais
popular, o seu sucesso se dá devido a vários motivos, como:
• Baixo custo;
• Facilidade de uso e versatilidade;
• Amplo suporte;
• Rápido e eficaz;
• Vários fabricantes;
• Aperfeiçoamento constante;
• Entre outros.
Porém a sua maior vantagem é o fato do CI 8051 possuir um conjunto de
dispositivos que compartilha os mesmos elementos básicos, tendo também um
conjunto de instruções básicas. A figura 2 mostra a distribuição dos pinos da maioria
dos chips da família 8051.
Figura 2 - Arquitetura básica do chip 8051.
19 | P á g i n a
Diversos fabricantes produzem microcontroladores da família 8051 (Intel, AMD,
Atmel, Dallas, OKI, Matra, Philips, Siemens, SMC, SSI). A Intel iniciou a produção do
8051 em 1981. Em 1982 foram produzidos 2 milhões de unidades, em 1985 foram 18
milhões e em 1993, 126 milhões. A tendência atual é uma participação crescente dos
microprocessadores de 8 bits e uma diminuição da fatia de mercado dos
microcontroladores de 4 bits.
Além do 8051 propriamente dito, existem variantes como o 8031 (sem memória
ROM interna e com apenas 128 bytes de memória RAM), o 8751 (4 kB de memória
EPROM) e o 8052 (8 kB de memória ROM, um terceiro timer e 256 bytes de memória
RAM). Com exceção dessas diferenças, os modelos citados são idênticos. Em
destaque as suas principais características:
• Freqüência de clock de 12 MHz, com algumas versões que alcançam os 40
MHz;
• Memória de dados externa podendo alcançar até 64 kB;
• Memória RAM interna de 128 bytes;
• Memória de programa configurável de duas formas mutuamente excludentes.
Sendo 4 kB internos (ROM no 8051 e EPROM no 8751) e mais 60 kB externos;
• Possui 4 (quatro) portas bidirecionais de I/O, cada uma com 8 bits
individualmente endereçáveis; duas dessas portas (P0 e P2) e parte de uma
terceira (P3) ficam comprometidas no caso de se utilizar qualquer tipo de
memória externa;
• Possui 2 (dois) temporizadores /contadores de 16 bits;
• Contém um canal de comunicação serial, utilizando comunicação RS232.
• O chip é equipado com cinco fontes de interrupção (dois timers, dois pinos
externos e o canal de comunicação serial) com dois níveis de prioridade
selecionáveis por software;
• Ele opera com oscilador de clock interno.
As características citadas são básicas e formam o núcleo da família 8051, que
pode ser acrescido de uma ou mais das características especiais.
20 | P á g i n a
4.1.2. A Comunicação serial da família 8051
A interface serial do microcontrolador 8051 conta com dois registradores de
dados, um deles utilizado na transmissão e outro na recepção. O conjunto de
instruções, contudo, referencia ambos pelo nome SBUF. A distinção entre eles é feita
de acordo com a natureza da operação, escrita ou leitura. Desta forma, escrever
SBUF implica no envio do byte escrito através da interface serial; analogamente, a
leitura desse registrador retorna o último byte recebido.
O controle do canal serial é feito pelo registrador SCON e pelo bit SMOD do
registrador PCON. Os bits SM0 e SM1 do registrador SCON selecionam o modo de
funcionamento, de acordo com a Tabela 1.
Tabela 1 - Modos de funcionamento do canal serial.
Fonte: Adaptado de Mays (apud GREENHALG), 1997.
A - Modo 0 (SM0 = 0 e SM1 = 0)
Este modo aciona a comunicação síncrona de palavras de 8 bits. As palavras
são transmitidas e recebidas através do pino RxD, o que significa que, neste modo,
apenas a comunicação half-duplex (HD, transmissão nos dois sentidos, mas não
simultânea) é possível. O sinal de clock necessário para o sincronismo é enviado pelo
pino TxD. A taxa de transmissão é fixa e igual a 1/12 da freqüência do clock do
sistema.
21 | P á g i n a
Nos demais modos, os dados são enviados através do pino TxD e recebidos
através do pino RxD. Assim, esses modos permitem comunicação full-duplex (FD,
transmissão simultânea nos dois sentidos).
B - Modo 1 (SM0 = 0 e SM1 = 1)
A palavra transmitida é composta por 10 bits: um start bit (nível lógico 0), oito
bits de dados, e um stop bit (nível lógico 1). A taxa de transmissão é dada pela
equação:
Tx =
(1)
Onde SMOD é o bit 7 do registrador PCON e TH1 é o registrador mais
significativo da contagem do timer 1.
C - Modo 2 (SM0 = 1 e SM1 = 0)
Cada palavra de dados é composta de 11 bits. O bit adicional enviado é o bit
TB8 de SCON. Na recepção, é este bit que se lê em RB8. A taxa de transmissão
pode ser escolhida entre 1/64 (SMOD = 0) ou 1/32 (SMOD = 1) da freqüência de clock
do sistema.
D - Modo 3 (SM0 = 1 e SM1 = 1)
Igual ao modo 2, exceto pela taxa de transmissão, dada também pela equação
(1). O bit SM2 do registrador SCON tem diferentes interpretações, dependendo do
modo de operação selecionado. O modo “0”, não tem qualquer efeito, devendo
permanecer em zero, e o modo 1 inibe (SM2 = 1) ou habilita a geração de um pedido
de interrupção da porta serial no caso da recepção de um stop bit inválido. Por fim, os
modos 2 e 3, permitem habilitar a comunicação entre vários 8051.
REN (Reception ENable) habilita a recepção. Quando está em 1, o primeiro start
bit em RxD implica recepção de um dado em SBUF.
22 | P á g i n a
TI é o bit de requisição de interrupção da transmissão. É setado pelo hardware
após a transmissão do oitavo bit de dados quando no modo 0, e no início da
transmissão do stop bit nos outros modos.
O bit RI é o bit de requisição de interrupção na recepção. É setado pelo
hardware no momento da recepção do oitavo bit de dados no modo 0, ou durante a
recepção de um stop bit nos outros modos. TI e RI devem ser reinicializados pelas
rotinas de tratamento das respectivas interrupções de modo a habilitar novas
interrupções. A figura 3, mostra os tipos de conexões de cabos para comunicação
serial do tipo RS com o microcontrolador da família 8051.
Figura 3 - Comunicação serial tipo RS232.
23 | P á g i n a
5.
MATERIAIS E MÉTODOS
5.1.
Interfaces entre Sistema e Usuário
Para que exista uma interação entre o usuário foi desenvolvido um programa
com uma interface visual e estética e de fácil operação. A plataforma usada na
criação desta interface foi o Elipse E3. O programa foi arquitetado para que o usuário
opere o sistema facilmente, usando o mouse ou o teclado do computador com
simples clique nos botões virtuais na tela de apresentação. Poderá ser escolhido pelo
usuário os modos de operação manual, automático 1 e automático 2.
No modo
manual o operador acionará os dispositivos diretamente conforme decisão de sua
conveniência, podendo acionar qualquer um dos dispositivos, sejam eles os
dispositivos de iluminação, climatização e abertura da janela blindex. No modo
automático 1 o programa opera considerando as condições climáticas de um dia
quente. Desta forma, quando o sensor de presença da entrada detectar a chegada de
cliente, ele aciona o fechamento da janela blindex, ligando a iluminação da entrada,
sala de espera e lâmpadas decorativas dicróicas que iluminam quadros e espaços
decorativos deste ambiente. Semelhante ao modo 1, o modo automático 2 aciona
estes dispositivos considerando um dia com clima normal ou frio. Assim ele aciona as
lâmpadas, abre ou mantém a janela aberta e não aciona os equipamentos de
climatização. São enviados os bytes que serão interpretados como instruções pela
plataforma de controle. Estas instruções são enviadas via USB/serial ou via
serial/serial ao sistema de controle.
O controle implementado utiliza um microcontrolador da família 8051. Esse
controle consiste na recepção das instruções vindas da plataforma de interação, via
comunicação serial RS232. Os bytes recebidos são interpretados como instruções
pelo microcontrolador conforme os seguintes critérios:
O número hexadecimal “41h”, correspondente ao caractere ASCII “A”, que
determina o modo de operação automático 1 para ser escolhido pelo usuário
em
dias quentes conforme sua conveniência. Neste modo, o programa
aguarda o sensor de presença detectar alguma movimentação na entrada do
consultório, esta informação chega via cabeamento ao pino P0.3 do
24 | P á g i n a
microcontrolador. O microcontrolador aciona o grupo de lâmpadas controladas
pelos relés 1, 2, 3. A janela blindex deverá ser fechada e a climatização ligada.
O número hexadecimal “42h”, que correspondente ao caractere ASCII “B”,
determina o modo de operação automático 2 para ser acionado pelo usuario
em dias normais ou frios. Neste modo o programa aguarda o sensor de
presença detectar alguma movimentação na entrada do consultório. Esta
informação chega via cabeamento ao pino P0.3 do microcontrolador. O
microcontrolador aciona o grupo de lâmpadas usando os relés 1, 2 e 3. A
janela blindex deverá ser aberta e a climatização deverá se manter desligada.
Caso não se tenha optado por uma das duas configurações do modo
automático, o programa seguirá no modo manual, conforme a seguir.
O número hexadecimal “43h”, correspondente ao caractere ASCII “C” que será
enviado via comunicação serial para o programa Elipse avisando que a última
instrução principal, que envolve a abertura e fechamento da janela, já foi
executada e que poderá ser enviada uma nova instrução para o
microcontrolador. Esta restrição visa evitar que alguma instrução enviada pelo
computador via programa Elipse seja ignorada no momento da execução de
outro procedimento.
O número hexadecimal “44h” correspondente ao caractere ASCII “D” e cancela
o modo automático e retorna o programa para o início, podendo novamente
optar pelo modo manual e escolher entre as duas possibilidades do modo
automático.
O número hexadecimal “45h”, que correspondente ao caractere ASCII “E”,
aciona a lâmpada da entrada da recepção do consultório e o número
hexadecimal “4BH”, caractere ASCII “L” desliga a mesma.
O número hexadecimal “46h”, que correspondente ao caractere ASCII “F”, liga
a lâmpada da sala, e o número hexadecimal “4CH”, correspondente ao
caractere ASCII “M”, desliga esta lâmpada.
25 | P á g i n a
O número hexadecimal “47h”, correspondente ao caractere ASCII “G”, liga as
lâmpadas dicroicas decorativas e o número hexadecimal “4DH”, caractere
ASCII “N”, desliga as lâmpadas.
O número hexadecimal “48H”, caractere ASCII “H”, liga o climatizador e o
número hexadecimal “4EH”, caractere ASCII “O”, desliga o equipamento.
O número hexadecimal “49H”, caractere ASCII “I”, liga o motor no modo de
rotação direta (abre janela) e o hexadecimal “4AH”, caractere ASCII “J”, desliga
o motor com rotação invertida (fecha janela).
O número hexadecimal “50H”, caractere ASCII “P”, será enviado para o
programa elipse via comunicação serial quando o sensor de presença detectar
a presença de alguém na entrada do consultório.
No modo manual, a
subrotina de envio do caractere será acionada pela interrupção externa INT0
que está conectada ao sensor de presença. Operando em modo automático, o
procedimento será realizado via monitoramento do pino P0.3, que está
conectado ao sensor de presença, e enviado via serial.
O número hexadecimal “51h”, caractere ASCII “Q”, desliga todos os
dispositivos.
A Tabela 2 resume estas informações:
26 | P á g i n a
CARACTERE
CÓDIGO ASCII
FUNÇÃO
A
41H
Modo automático 1
B
42H
Modo automático 2
C
43H
Avisa ao software que já
pode enviar outra instrução
D
44H
Cancela o modo automático e
volta para o inicio
E
45H
Liga lâmpada entrada da
recepção
F
46H
Liga lâmpada da Sala
G
47H
Liga lâmpadas de decoração
H
48H
Liga o Ar condicionado
I
49H
Abre janela blindex
J
4AH
Fecha janela blindex
L
4CH
Desliga lâmpada da entrada
da recepção
M
4DH
Desliga lâmpada da Sala
N
4EH
Desliga as lâmpadas de
decoração
O
4FH
Desliga o Ar condicionado
P
50H
Avisa ao software sobre
chegada de alguém na
entrada
Q
51H
Desliga todos os dispositivos
Tabela 2 - Tabela de funções da plataforma
5.2.
O Sistema de Supervisão e o Elipse E3
A interface de monitoramento foi construída utilizando o programa Elipse E3,
desenvolvido pela Elipse Software. Como um dos softwares mais populares e
utilizados no ramo de automação, principalmente industrial (onde o número de
processos monitorados exige uma rede complexa de parâmetros de controle), o
Elipse E3 é baseado na plataforma VBScript da Microsoft, uma plataforma confiável e
versátil.
A grande vantagem da utilização do Elipse E3 é sua flexibilidade frente às novas
tecnologias de controladores. Hoje, qualquer driver de comunicação, específico de
27 | P á g i n a
qualquer equipamento, é disponibilizado pela própria Elipse Software, mediante o
cadastro do CNPJ da empresa envolvida, que deve passar por um processo prévio de
aprovação.
O Elipse E3 não é um software gratuito. O preço de sua licença está
intimamente ligado ao número de Tags que se quer monitorar em um processo. Até
20 Tags e um tempo máximo de comunicação com o equipamento de aquisição de 10
minutos, a Elipse Software disponibiliza o software gratuitamente para aprendizado e
desenvolvimentos de pequeno porte.
Tags são links entre as camadas hierárquicas do próprio programa Elipse E3.
Essas Tags podem ou não significar uma variável específica do processo em questão.
Neste projeto, poucas vezes as Tags foram utilizadas única e exclusivamente para
reter valores de variáveis externas.
As definições de Tags e hierarquia no Elipse E3 serão melhor explicados nos
tópicos que seguem.
5.2.1. A Hierarquia no Elipse E3
Para trabalhar com scripts para a criação de uma interface de monitoramento,
é necessário entender a separação que existe entre os objetos que são executados
no servidor e os objetos que são executados no E3Viewer (interface gráfica). Por
definição, objetos que são executados no servidor podem ser manipulados a partir de
objetos executados no E3Viewer, porém o contrário não pode acontecer sem a
criação de eventos envolvendo variáveis (Tags) que estão localizadas no próprio
servidor de dados.
Eventos são ocorrências relacionadas a um objeto. Essas ocorrências
disparam ações programadas pelo usuário. Por exemplo: Assim que o valor de uma
Tag muda, então um comando associado é executado. A mudança do valor da Tag é
um evento, e assim que ele ocorre uma ação é disparada.
Outra manipulação que pode acontecer é entre objetos da mesma camada, ou
seja, objetos executados no E3Viewer podem ser manipulados por objetos do mesmo
E3Viewer, e objetos executados no servidor de dados podem ser manipulados por
objetos do próprio servidor de dados. A figura 4 mostra um exemplo ilustrativo do
conceito de Hierarquia no Elipse E3:
28 | P á g i n a
Figura 4 – Hierarquia no Elipse E3.
A propriedade “Visible” (Visibilidade) do retângulo está diretamente relacionada
com o valor que é recebido de algum equipamento pelo Tag de comunicação
“TagTeste”. Se o valor recebido por esse Tag é o caractere “A” então o retângulo
estará visível, caso contrário ele estará invisível. Porém a Tag não pode acessar o
objeto Retângulo nem suas propriedades, justamente por causa da hierarquia que o
programa obedece. Para isso então é necessário fazer um link entre a “TagTeste”,
que é um objeto do servidor, e a propriedade “Visible” do retângulo, que é um objeto
E3Viewer. Uma solução seria criar uma Tag do tipo “TagInterna” cuja propriedade
“Value” dependeria do valor recebido pela “TagTeste”. Sendo assim a propriedade
“Visible” do retângulo estaria associada a essa propriedade “Value” da “TagInterna”.
À medida que a interface de monitoramento se torna mais complexa e os
eventos se entrelaçam para gerar outros eventos de usuário, é normal que o número
de scripts aumente drasticamente.
Neste projeto foram utilizados scripts de tamanhos diversos, mas semelhantes
quanto a comandos de decisão.
29 | P á g i n a
Nos scripts escritos envolvidos neste projeto, a grande maioria dos comandos de
decisão utilizados foram do tipo “If-Else”. São comandos que tornam o programa mais
lento dependendo da quantidade de vezes que é utilizado. Por isso, sempre que
possível foi utilizado também o comando de decisão do tipo “Select-Case” que torna o
programa mais otimizado e de fácil compreensão.
As figuras a seguir ilustram bem a utilização desses dois comandos de decisão.
Figura 5 - Exemplo da utilização do comando de decisão “If-Else”.
A Figura 5 mostra
um script relacionado ao acionamento do botão virtual
responsável pelo funcionamento do Driver de comunicação ASCII. Ao mudar o estado
do botão (“Change”), o próprio valor é comparado. Se o botão foi pressionado, então
seu valor será “True” e ele executará o comando que conectará o Driver de
comunicação e levará para “True” o valor da propriedade “Value” da Tag
“EstadoDriver”. Caso contrário, conclui-se que o botão já estava previamente
pressionado e agora foi liberado, então será executado o comando de desconexão do
Driver de comunicação e a propriedade “Value” da Tag “EstadoDriver” será levada
para “False”.
30 | P á g i n a
Figura 6 – Exemplo da utilização do comando de decisão “Select Case”.
A Figura 6 mostra a mudança das propriedades de algumas Tags, de acordo
com o valor que é recebido pela Tag de Comunicação “SensorPresen”. O caso que
estará sob comparação é a propriedade “Value” da própria Tag de comunicação. Para
o caso em que a propriedade “Value” reter um caractere “P” então é executada a
subrotina que; envia o caractere “A” se a Tag “Tempo” estiver setada como “True” ou
envia o caractere “B” se a Tag “Tempo” estiver setada como “False”. Para o caso em
que nada é retido pela propriedade “Value” (“ “) então um comando diferente é
executado.
5.2.2. Comunicação com o Controlador
Para que haja comunicação entre duas pessoas, elas devem falar a mesma
linguagem e estarem no mesmo canal de transmissão, caso contrário é provável que
não haja troca precisa de informações entre elas. O mesmo acontece na
comunicação entre dois dispositivos. Caso os dois não estejam usando o mesmo
protocolo de comunicação e utilizem a mesma “linguagem”, então não haverá tráfego
algum de informação.
Para a comunicação do Software de supervisão e o controlador 8051 foi
escolhido o protocolo (ou meio físico) RS-232 de comunicação.
31 | P á g i n a
Se dois dispositivos não falam a mesma “linguagem” então é necessário um
pacote de informações que “ensine” um deles a falar uma linguagem comum. Esse
pacote de informações é chamado de Driver de comunicação no formato .dll, que
nesse projeto foi usado o ASCII.dll, fornecido também pela Elipse Software. O
ASCII.dll é um driver genérico criado pela Elipse Software devido à grande variedade
de dispositivos que utilizam essa codificação de caracteres.
Nesse projeto foi necessária a utilização de duas Tags de comunicação
diferentes. Uma chamada de “Envia” e outra chamada de “SensorPresen”. A primeira
serviu somente como envio de caracteres relacionados às ações do usuário, ou seja,
sempre que um botão específico é pressionado, é executado um comando de escrita
na propriedade “Value” dessa Tag que envia imediatamente esse valor via serial para
o dispositivo. Não há necessidade de resposta para o programa. A segunda serviu
para recebimento de dados. Também não havia necessidade de resposta para o
dispositivo, mas diferentemente da Tag “Envia” o Elipse E3 precisava saber que
formato de dado é enviado para o software. A Figura 7 mostra as duas Tags criadas.
Figura 7 - Tags “envia” e “SensorPresen”.
Cada Tag de Comunicação possui 4 parâmetros (N1,N2,N3,N4) cujos
preenchimentos variam de acordo com cada Driver de comunicação, sendo portanto
de extrema importância a consulta do Manual do Driver para o preenchimento correto
dos mesmos.
Os únicos 2 parâmetros que foram necessários para a configuração das duas
Tags utilizadas foram os parâmetros N1 e N2. O parâmetro N1 é um número de 0 à 7
onde cada número representa um modo de operação da Tag, que pode ser:
0 = Envia e recebe comando
1 = Lê ou escreve valores de TX antes de enviar o comando
2 = Lê valores dos campos variáveis de RX
3 = Recebe comando
32 | P á g i n a
4 = Envia Comando
5 = Envia Valor da Tag
6 = Envia Comando com Recepção em Lista
7 = Recebe Comando com Recepção em Lista
O parâmetro N2 de todas as Tags de comunicação refere-se ao número ID da
lista de comandos, cujos formatos de recebimento ou envio de dados são escolhidos
nos campos TX e RX, mostrados na Figura 8.
O preenchimento dos campos RX e TX segue uma regra específica para cada
formato de dados com o qual se deseja trabalhar. A regra é “%Nt” onde:
a) - % - Símbolo identificador de campo variável
b) - N - Número de elementos a serem recebidos
c) - t - Tipo de dado (d = decimal ; u = decimal sem sinal; x = hexadecimal ; f= número
real ; b = binário; s = string ; t = texto ; n = interpreta o valor decimal no formato BCD)
Nesse projeto, se tratando do envio de caracteres em hexadecimal, foi
escolhido o tipo de dado ‘s’ (String).
O
IOkit é um recurso compartilhado do Elipse E3 que proporciona as
configurações devidas do Driver de comunicação. Com ele é possível escolher o
formato em que serão enviados ou recebidos os dados, e o número de bits envolvidos
nessa comunicação. Assim como a porta de comunicação, baudrate, stopbits,
paridade e databits, como é detalhado na Figura 9.
Figura 8 - Tela de definições do IOkit – ASCII.
33 | P á g i n a
Figura 9 - Tela de definições do IOkit – Comunicação.
5.2.3. Funcionamento do software de monitoramento
Assim que o projeto do software é finalizado, o Elipse E3 gera um arquivo de
extensão .exe na mesma pasta onde o projeto foi salvo inicialmente.
É importante ter em mente que esse programa só será executado em
computadores onde o Elipse E3 foi previamente instalado.
Os parâmetros de comunicação foram escolhidos com os padrões mostrados
na Figura 9 já que o programa não poderá ser usado em outro microcontrolador, a
não ser que a lógica de programação seja idêntica à lógica que foi usada neste
projeto com o 8051.
O funcionamento do programa é bastante simples. Na tela inicial, como
mostrado na Figura 10, é possível visitar a página inicial da Universidade Federal de
Goiás, ou a Escola de Engenharia Elétrica e Computação, sendo necessário o acesso
à internet.
Inicialmente o Status do Driver ASCII será Desconectado. Isso por que foi
padronizado no próprio IOkit que o programa iniciasse no modo Offline. Seu status
muda assim que o botão no canto inferior esquerdo da tela é acionado, e ele entra em
modo Online e está pronto para o monitoramento do microcontrolador. Na tela em
branco à direita são apresentados todos os dados de comunicação que já foram
previamente configurados e problemas na conexão quando são detectados, somente
para efeito de consulta.
34 | P á g i n a
Figura 10 - Tela inicial no monitoramento.
No canto superior esquerdo existem dois botões de opções. Em um deles, o
botão Opções, mostrado na Figura 11, pode-se também mudar os Status do Driver,
além de encontrar informações sobre o programa Elipse E3 e sobre os envolvidos
neste projeto.
Figura 11 - Tela de funções “Opções”.
Já no botão Exibir, como mostra a Figura 12, é possível, além de retornar à tela
inicial, abrir a tela de monitoramento e a janela de definições do modo de operação.
35 | P á g i n a
Figura 12 - Tela de funções “Exibir”.
Na janela de definições do modo de operação, conforme mostra a figura 13, é
possível escolher entre o modo manual ou automático. No modo manual o usuário
tem completo controle sobre os status das variáveis controladas. Já no modo
automático, que pode ser escolhida como “Tempo Quente” ou “Tempo Frio”, os status
dessas variáveis ficam à mercê da detecção ou não de presença pelo detector. Assim
que ele detecta a chegada de alguém, a campainha é acionada e os status são
mudados de acordo com a opção escolhida. No “Tempo Quente” todas as luzes
estarão ligadas, a janela do escritório será fechada e o ar condicionado será ligado.
No caso de “Tempo Frio” as luzes também estarão ligadas, porém a janela do
escritório será aberta e o ar condicionado desligado. Não importa qual seja o status
prévio dessas variáveis, elas sempre serão alteradas para responder ao comando
automático quando esse estiver ativado. A janela de definições do modo de operação
é mostrada na Figura 13.
Figura 13 – Janela de definições do modo de operação.
Os status das variáveis de controle podem ser monitorados na tela de
monitoramento, mostrada na Figura 14. No canto inferior esquerdo, ao lado do botão
de conexão, existem dois outros botões. Um deles é o de parada emergencial. Esse
botão desliga todas as variáveis para seus estados iniciais, e volta o programa para o
36 | P á g i n a
modo de operação manual. O outro botão é de funcionamento da campainha. Sempre
que houver a detecção pelo detector de presença, uma campainha será tocada. Caso
o usuário não queira que a campainha toque sempre que isso acontecer, ele pode
desligar o som a qualquer instante a partir dessa tecla.
Figura 14 – Tela de Monitoramento.
Outro detalhe importante são as animações que independem do usuário e sim
dos status das variáveis de controle. Sempre que houver a detecção pelo detector de
presença, além da campainha tocar, a animação de uma pessoa aparecerá no
desenho e desaparecerá sutilmente após alguns segundos. Da mesma forma, quando
a janela for aberta ou fechada e o ar condicionado for ligado ou desligado, eles serão
animados também no desenho.
Sempre que a janela é fechada ou aberta, o programa envia ao
microcontrolador um caractere específico. O status da janela não é alterado
imediatamente, pois a janela demora alguns segundos para abrir ou fechar. Durante
esse tempo nenhum outro comando poderá ser executado pelo microcontrolador pois
o sistema pode falhar sendo necessário reiniciá-lo. Para resolver esse problema, o
programa sempre esperará o caractere “C” quando a janela terminar de abrir ou
fechar. Enquanto esse caractere não for recebido, todas as outras teclas estarão
37 | P á g i n a
desabilitadas. Foi uma boa saída para proteger o programa e evitar travamentos no
microcontrolador.
5.3.
Módulo de controle
O modulo controlador é composto por uma placa principal, contendo os
componentes de controle, incluindo o microcontrolador AT80S52, fonte de
alimentação com saída 5V com 3A e uma fonte de 12V com 1A. A figura 15 mostra a
modelagem da placa principal. Nesta placa o microcontrolador se comunica via saída
serial tipo RS232, com terminal do computador, podendo ser este serial ou USB. Esta
comunicação faz com que o operador tenha total controle dos dispositivos utilizando a
interface criada no programa Elipse.
Ao receber a instrução, o microcontrolador se comunica com os demais
dispositivos por meio de suas 4 portas de comunicação. Os pinos P0.0 e P0.1, da
porta P0, recebem informações das chaves externas responsáveis pelo controle de
abertura e fechamento da janela blindex.
O pino P0.2, recebe via porta lógica
inversora do C.I. 7404, ilustrado na figura 15, um sinal externo do sensor de presença.
Este mesmo sinal é entregue ao pino P3.2 que aciona a interrupção externa INT0. A
porta P2 aciona os relés e P1 aciona os led’s de comunicação visual externo, de
forma que o usuário pode verificar os dispositivos que se encontram ativos. Esta
mesma porta pode ser usada para ampliar o número de dispositivos controlados, por
meio de uma placa auxiliar externa ampliando o sistema em seis saídas.
38 | P á g i n a
Figura 15 - Modelo da placa de controle.
5.3.1. Relés de Acionamento
Os relés realizam um papel fundamental no funcionamento do sistema, uma vez
que eles acionam os dispositivos externos do sistema de controle.
Neste projeto foram utilizados 6 relés como os mostrados na figura 16, que
trabalham com 5V de tensão em sua bobina de acionamento e operam tensões de
220V AC ou 32V, com corrente máxima de 7A. Suas funções incluem acionar o
sistema de iluminação, climatização e controle de abertura e fechamento da janela
blindex. O circuito de acionamento recebe o comando do microcontrolador via circuito
integrado. Os reforçadores de corrente ULN2003 e CI 74HC573 chip tipo latcher de
oito saídas são mostrados nas Figuras 20 e 22 . Os reforçadores de corrente
ULN2003 também são usados para a saída de portas P1, seja para uso de Leds de
sinalização ou saídas para ampliação do sistema.
39 | P á g i n a
Figura 16 – Relés de Acionamento.
5.3.2. Fonte de Alimentação
Para acionar o sistema, foi construída uma fonte chaveada com capacidade de
corrente de 3A. O circuito integrado responsável pelo chaveamento é o LM2576,
mostrado na figura18. Este regulador é capaz de fornecer 5V com eficiência e pode
ser facilmente manuseado. A figura 17 mostra o modelo de circuito utilizando este CI.
Figura 17 – Fonte chaveada de 5V.
40 | P á g i n a
Figura 18 – Circuito integrado LM 2576.
Para a fonte de 12V, foi necessário o CI regulador 7812, série de reguladores de
precisão com capacidade de fornecimento de corrente de 1A. Seu circuito é bem
simples, usando apenas um capacitor eletrolítico como filtro. O transformador usado
foi do tipo saída ±12 e 3A. Este circuito completo é mostrado na figura 19.
Figura 19 - Fonte alimentação de 12V.
41 | P á g i n a
5.4.
Outros dispositivos utilizados
5.4.1. Circuito Integrado 74HC573
Uma das dificuldades encontradas na implementação do circuito foi devido ao
estado inicial das portas do microcontrolador 8051. Elas são ativas em nível baixo,
portando a suas quatro portas na inicialização ou reset estarão nível alto. Com o
objetivo de evitar que esta característica proporcione o acionamento indesejado dos
dispositivos, foi utilizado o CI 74HC573. Este CI possui 8 Latchs tipo D com 2 pinos de
controle e são usados para determinar o instante em que os dados das portas
deverão ser transferidos para o buffer de corrente ULN2003. A Figura 20 ilustra a
pinagem do latch.
Figura 20 – Pinagem e Diagrama do CI 74HC573.
42 | P á g i n a
5.4.2. Circuito Integrado 7404
Esse CI, mostrado na Figura 21, possui quatro portas NOR. Foram utilizados 3
chips neste projeto. A função da NOR, no projeto, é enviar um sinal nível alto ao
microcontrolador, através do pino 12, sempre que for detectada a presença de alguém
pelo sensor infravermelho. Ela também é usada para inversão do nível lógico das
saídas de acionamentos das portas P1 e P2.
Figura 21 – Pinagem do CI 7404, chip de portas inversoras .
5.4.3. Circuito Integrado ULN2003
As saídas do microcontrolador possuem baixa capacidade de corrente, sendo
por isso necessário um driver de corrente para que seja possível o controle dos
dispositivos externos.
O CI ULN2003 funciona como driver de corrente com sete saídas de
capacidade de corrente de 600mA. Neste projeto foram usados 2 chips com a função
de fornecer corrente suficiente para acionar os relés e led’s do sistema de controle. A
Figura 22 ilustra a pinagem deste dispositivo.
43 | P á g i n a
Figura 22 – Pinagem do CI driver ULN2003.
5.4.4. Circuito integrado MAX232
Este CI, mostrado na Figura 23, é um driver conversor de nível de tensão para
comunicação serial. Ele possui duas entradas nas quais ele converte a tensão de
nível lógico TTL/CMOS de 5V para níveis do protocolo RS232, para ser transmitido
via cabo serial para o terminal do computador.
44 | P á g i n a
Figura 23 – Diagrama e pinagem do CI MAX232.
5.4.5. Sensor de presença
Para detecção de presença utilizou-se sensores infravermelhos passivos. Optouse por estes sensores devido a sua grande confiabilidade em ambientes fechados,
possuindo duplo elemento para minimizar erros de detecção e ajuste de sensibilidade
para que possa ser feita uma adaptação fina ao ambiente de instalação. Os sensores
são alimentados com 12 VCC e funcionam como uma chave normalmente fechada
que ao ser estimulado, abre o contato de seu relé interno. A Figura 24 mostra o
modelo do sensor usado.
Figura 24 – Sensor de presença.
45 | P á g i n a
5.4.6 Proteus, software de simulação.
O Proteus Design Suite é uma ferramenta computacional que reúne um
ambiente de simulação de circuitos eletrônicos e uma plataforma para desenho de
circuitos impressos. O mesmo foi escolhido como simulador padrão neste projeto. Ele
combina captura esquemática, simulação Spice de circuitos e desenho de PCB para
executar o projeto completo de sistemas de eletrônica. Possui capacidade de simular
diversos microcontroladores entre eles a família 8051. Seu ambiente de simulação
permite o uso do firmware atualizado. Este conjunto de funções permite a simulação
completa do circuito eletrônico proposto. Todas estas funcionalidades permitem uma
redução significativa no tempo gasto no desenvolvimento do projeto.O Proteus se
divide em dois componentes funcionais :
O ISIS é um ambiente de simulação semelhante ao Eagle e ao o Spice, mas
com a funcionalidade de permitir a simulação de CI’s programáveis, como os
chips de microcontroladores. A figura 25 mostra o modelo para simulação do
circuito.
O ARES Permite a criação de layouts de PCB importado do ISIS. A figura 27
mostra o modelo do ISIS usado para confeccionar a placa. O Proteus Ares, faz
o roteamento de pontos elétricos, dimensionamentos e distribuição dos
componentes.
Além dos benefícios citados, o pacote do programa oferece uma interface
totalmente didática e de fácil operação e o desenvolvedor oferece suporte técnico de
fácil acesso on-line. Todo o circuito de controle foi desenvolvido e simulado no
ambiente desse programa. As etapas de simulação possibilitaram melhorias na
programação e adequações dos componentes eletrônicos.
O ambiente Proteus Ares possui ferramentas para confecção do PCB
,permitindo que seja realizada a rota manualmente ou automaticamente. A Figura 26
mostra o PCB da placa do projeto no ambiente Ares.
46 | P á g i n a
Figura 25 - Ambiente de simulação ISIS do software Proteus 7.6.
Uma das dificuldades encontradas nesta fase de confecção do desenho da
placa foi ausência do PCB de alguns componentes usados no esquema elétrico do
ISIS. Esta dificuldade pode ser corrigida, escolhendo o PCB de outro dispositivo com
configuração semelhante. Logo o esquema elétrico do Isis, usado na confecção da
placa, possui algumas diferenças do modelo de simulação como mostrado na figura
27.
47 | P á g i n a
Figura 26 – Ambiente de criação do PCB no software Proteus Ares.
Figura 27 – Modelo do ISIS usado para confeccionar a placa no Ares.
48 | P á g i n a
6.
RESULTADOS E DISCUSSÕES
O microcontrolador 80S52 centraliza todas as ações realizadas na plataforma.
Após receber os dados na entrada serial, ele executa as instruções, conforme a
programação gravada. Dessa maneira, todos os comandos dos dispositivos, são
determinados
pelo
programa
gravado
no
microcontrolador.
No
projeto
foi
desenvolvido um programa em linguagem Assembly que fará a rotina de
procedimentos do microcontrolador. São apresentados a seguir os métodos utilizados
para alcançar os objetivos. Eles estão de acordo com o código Assembly que está
apresentado integralmente em anexo.
6.1.
Inicializações do sistema
Na inicialização o programa carrega os registradores com os bytes necessários
para comunicação serial e interrupção serial e externa. Nestes registradores é
habilitado a comunicação serial assíncrona modo 1, com taxa de transmissão de 4800
bits/s. Seu contador interno foi programado para recarga automática com o valor de
FAh. Foi usado um cristal de oscilação para o microcontrolador com frequência de
11,059MHz. Com estas configurações, o programa aguarda as instruções do
computador via entrada serial. Uma vez concluído este processo, o sistema estará
pronto para operar, entrando no modo de espera, de onde sairá apenas quando
houver interrupção serial ou externa.
6.2.
Interrupção Externa
O projeto habilita a interrupção externa int0, que inicia uma rotina avisando que
o sensor de presença mudou seu estado. O sinal chega ao pino 12 do chip 8051,
correspondente a porta três, pino P3.2. Ele passa pelo circuito inversor do CI 7404
antes de chegar ao microcontrolador. Ao perceber este sinal, o microcontrolador
carrega o registrador SBUF com o número hexadecimal 51h, que transmite via canal
serial ao programa elipse, no computador de interface.
49 | P á g i n a
6.3.
Controle do motor da janela
Este sistema foi projetado para ser usado com um motor de corrente continua
para funcionamento da janela. Dois relés do sistema farão o acionamento deste
dispositivo. O relé cinco liga a corrente no sentido positivo ou de abertura e o relé
seis, inverte esta corrente mudando seu sentido rotação fechando a janela. Dois
micros switches são usados para informar ao sistema o estado final da janela aberta
ou fechada. A cada rotina de abertura e fechamento o microcontrolador executa uma
sub-rotina que envia via canal serial o número 43h, avisando o programa elipse que o
processo foi concluído.
Esta rotina é acionada assim que os micro switches de
abertura e fechamento enviam esta informação ao microcontrolador nos pinos um e
dois da porta P0. Durante esta rotina o microcontrolador desabilita a interrupção
externa.
6.4.
Simulações utilizando os softwares Proteus e PEQui
Todas estas etapas foram simuladas no ambiente do Proteus, usando um
recurso do hyperteminal virtual para verificação dos dados de saída e entrada serial.
Os resultados da simulação foram bastante satisfatórios.
O programa em Assembly criado foi desenvolvido usando o compilado PEQui. O
mesmo permitiu também a simulação de funcionamento do programa. Em sua tela de
apresentação é possível mudar os valores dos registradores e verificar a saídas das
portas. O código gerado foi carregado no software Proteus para o ambiente de
simulação.
6.5.
As placas de circuito
Para a Implementação do circuito foram confeccionadas uma placa principal de
comando e uma placa menor com circuito da fonte regulada de 12V e 5V e correntes
máximas de 1A e 3A respectivamente.
Na placa principal estão o microcontrolador 80S52 e seus componentes
periféricos de acionamento do sistema. A figura 28 mostra a placa de comando
50 | P á g i n a
principal em sua montagem final. Nesta placa estão o 80S52, os circuitos integrados:
74HC573, 7404, ULN2003, MAX232. Acompanhando estes dispositivos temos
componentes do circuito: Relés, conectores de entrada e saída, resistores, redes
resistivas e led’s de informação.
A fonte de alimentação é composta por uma placa menor que contém os
componentes de regulação. Temos os circuitos integrados LM2576 e 7812
acompanhados dos demais componentes do circuito: resistores, capacitores
eletrolíticos, diodos retificadores, ponte retificadora, bobinas e um potenciômetro. Ela
fornece tensões regulada de 5V que alimenta todo o circuito da placa principal e uma
tensão regulada de 12V que alimenta o sensor de presença. A Figura 29 mostra esta
placa em sua montagem final e a Figura 30 ilustra sua placa de circuito impresso.
Figura 28 – Placa de comando.
51 | P á g i n a
Figura 29 – Montagem final da placa da fonte.
Figura 30 – Placa de circuito impresso da fonte.
52 | P á g i n a
6.6.
Testes realizados com o Elipse E3
Para realizar testes de comunicação eficazes com o programa de supervisão,
sem a necessidade de conectá-lo ao hardware sempre que uma nova linha de
programação foi modificada, foi utilizado um programa chamado com0com. Ele é um
software gratuito e de funcionamento muito simples. Usando este programa é possível
criar portas de comunicação virtuais para testes de comunicação no próprio
computador. São criadas duas portas “irmãs”, uma que faz a simulação de um
terminal de dados e a outra de um comunicador de dados. O programa de supervisão
foi associado a uma das portas, e a outra
foi associada ao Hyperterminal do
Windows. Assim foi possível testar todas as características do programa, envio e
recebimentos de dados e o disparo de ações.
A Figura 31 ilustra a utilização do Hyperterminal para a comunicação com o
programa de supervisão.
Figura 31 – Testes com o Hyperterminal do Windows XP.
Assim que o programa é conectado, seu status muda e imediatamente os
parâmetros de comunicação são dispostos no display à direita, para simples
conferência. Na tela de monitoramento também é possível acompanhar o status da
comunicação. As teclas de controle estão liberadas para alteração manual e cada
tecla é responsável pelo envio de um caractere específico, que é assimilado pelo
53 | P á g i n a
microcontrolador como uma subrotina a ser realizada. À medida que os botões são
apertados, os caracteres podem ser visualizados no Hyperterminal do Windows XP.
Quando o botão responsável pela abertura ou fechamento da janela é apertado,
torna-se necessário o envio do caractere “C”, que corresponde ao “43h”, do
microcontrolador para o programa de supervisão, como forma de notificação de que o
motor terminou o processo de abertura ou fechamento da janela. Essa situação é
ilustrada na Figura 30.
Figura 32 – Testes com o Hyperterminal do Windows XP – Modo Manual.
Quando o modo automático “Tempo Quente” é escolhido, por exemplo, esperase a presença de alguém seja detectada pelo sensor. Dessa forma, o caractere “P” é
enviado do microcontrolador para o programa de supervisão, e os status são
mudados de acordo com a configuração do modo. Imediatamente o programa envia o
número hexadecimal 41h, correspondente ao caractere “A” de volta para o
microcontrolador, que então executa todas as tarefas que correspondem ao modo
escolhido. A Figura 33 mostra o envio do caractere “A” para o Hyperterminal assim
que o caractere “P” é enviado para o software de supervisão.
54 | P á g i n a
Figura 33 - Testes com o Hyperterminal do Windows XP – Modo Automático.
Observa-se que as animações respondem como esperado. Tanto a animação
de presença quando a do status da janela (alterna entre aberta e fechada até que seja
enviado o caractere “C” e ela finalmente fique completamente fechada ou aberta).
Estes testes foram essenciais para realização dos testes finais com a placa de
comando.
6.7.
Teste Final
O teste final foi à instalação do sistema em laboratório. Nesta etapa, o sistema
de automação foi conectado ao computador pela entrada serial via conector DB9. Foi
acionado o sistema de monitoramentos da interface criado do Elipse E3. Em seguida
foram conectados a placa de controle o sensor de presença e os micro- switches de
controle da janela. Depois de alguns ajustes de atraso de tempo as informações
necessárias foram enviadas. Realizadas as adequações finais ao programa Assembly
de controle do microcontrolador e alguns ajustes na comunicação do programa Elipse,
o sistema funcionou como planejado.
Para demonstração do funcionamento do projeto, foi construída uma maquete
do ambiente a ser automatizado. Ela ilustra e simula o ambiente de um consultório
odontológico. Nela foram instalados os dispositivos a serem controlados:
Iluminação da entrada, demonstrada com o uso de led’s de alto brilho
Iluminação da sala de espera feitas também com led’s de alto brilho.
55 | P á g i n a
Iluminação decorativas usando lâmpadas de lanternas automotivas.
Climatização, feita com uso de Ventiladores tipo cooler usados em
computadores com tensões de 12 e 24V.
Janela blindex, construída em alumínio, madeira e acrílico, automatizadas com
o uso de um motor de Corrente continua com tensão de funcionamento em
12V.
A figura 34, 35 e 36, ilustram a maquete já totalmente construída.
Figura 34 – Maquete de apresentação – Visão frontal.
56 | P á g i n a
Figura 35 – Maquete de apresentação - Sala de Espera.
Figura 36 - Maquete de Apresentação - Entrada.
57 | P á g i n a
7.
CONCLUSÕES
Os resultados apresentados pelo projeto atingiram os objetivos propostos tanto
na simulação quanto na implementação física final. No inicio das simulações com o
código Assembly criado, o programa funcionava apenas no ambiente do software
PEQui. Quando o mesmo era levado ao simulador Proteus, ele não funcionava
adequadamente porque a taxa de transmissão estava incorreta. Isso se apresentou
por que o cristal escolhido possuía freqüência incompatível com os cálculos. Ao se
substituir o cristal por um de freqüência 11,059MHz, o sistema passou a funcionar no
ambiente de simulação ISIS do Proteus.
Após a confecção e montagem das placas, o sistema funcionou correntemente
com o hyperterminal. Nos testes com o programa Elipse, todas a situações propostas
funcionaram e responderam satisfatoriamente depois de alguns ajustes na
programação do software de supervisão.
Este trabalho nos proporcionou grande aprendizado. Ele mostrou que é possível
desenvolver uma interface didática de fácil comunicação entre um programa externo e
o microcontrolador. O programa Elipse E3, facilitou a implementação e controle de
sistemas de automação residencial em diversos tipos de situações
Este projeto mostrou que é possível aplicar a automação em consultórios
odontológicos, médicos e residenciais, com custo reduzido e atraente. Demonstrou
que um sistema simples como aqui apresentado, pode resolver dificuldades diversas
em consultórios, residências ou outros ambientes semelhantes, como havia sido
proposto.
Mais do que trazer comodidade, a automação residencial se mostrou um
importante fator de otimização de processos diversos. Ela pode trazer soluções
simples e de baixo custo e com vastas opções de aplicações.
58 | P á g i n a
8.
REFERÊNCIAS BIBLIOGRÁFICAS
[1] ASCII, Manual do Driver, Disponível em:
http://www.elipse.com.br/drivers.aspx?fltr1=1&fltr2=0&index=16&idioma=1
[2] E3, Manual de Referências de Scripts do E3, Disponível em:
http://www.elipse.com.br/downloads.aspx?id_produto=1&versao=3.5&doc=true&idiom
a=1
[3] E3, Manual do Usuário, Disponível em:
http://www.elipse.com.br/downloads.aspx?id_produto=1&versao=3.5&doc=true&idiom
a=1
[4] SEDRA, A.S., SMITH, K.C. Microeletrônica. 4ª edição, Makron Books, 2000.
[5] Nicolosi, Denys E. C.; Microcontrolador 8051 Detalhado. 6º edição, editora Érica,
2000.
[6] NERYS, J. W; Notas de Aula Microprocessadores e Microcontroladores, EEEC –
UFG, 2011.
[7] Sena, D.C.S, Automação Residencial, UFES, 2005
[8] Marques, R, “Conceitos de Automação residencial”, AURESIDE, Associação
Brasileira de Automação Residencial, 2011. Disponível em:
http://www.aureside.org.br/imprensa/default.asp?file=10.asp
http://www.aureside.org.br/temastec/default.asp?file=protocolos09.asp
59 | P á g i n a
9.
ANEXOS
9.1.
Código em linguagem Assembly do programa projetado
;____________________________________________________________________________________
;
PROGRAMA DE AUTOMAÇÃO RESIDENCIAL
;_____________________________________________________________________________
;Criado por Charles de Souza Siqueira e Pablo Pinheiro Batista Villas Boas
;[email protected]
;-------------------------------------------------------------------------------------------------------------------------------$mod51
;ESTE PROGRAMA FARÁ A LEITURA DA ENTRADA SERIAL E COMPARARÁ A ENTRADA COM OS
;CARACTERES ASCII CORRESPONDENTES AO ALFABERTO DA LETRA "A" ATÉ A LETRA "P".
;SENDO ASSIM DESCRITO: "A" = MODO DE OPERAÇÃO AUTOMÁTICO 1 PARA DIAS QUENTES. O
;CARACTERE "B" = MODO DE OPERAÇÃO
;AUTOMATICO 2 PARA DIAS NORMAIS OU FRIOS
;O CARACTERE "C" É ENVIADO VIA SERIAL PARA O PROGRAMA ELIPSE AVISANDO QUE PODE ENVIAR
;OUTRA INSTRUÇÃO
;O CARACTERE "D", CANCELA O MODO AUTOMÁTICO
;O CARACTERE "E" LIGA A LAMPADA DA ENTRADA E "L" DESLIGA ESTA LAMPADA.
;O CARACTERE "F" LIGA A LAMPADA DA SALA E "M" DESLIGA ESTA LAMPADA.
;O CARACTERE "G" LIGA A LAMPADAS DICRÓICAS DECORATIVAS E "N" DESLIGA ESTAS LAMPADAS.
;O CARACTERE "H" LIGA O AR CONDICIONADO E "O" DESLIGA ESTA LAMPADA.
;O CARACTERE "I" LIGA O MOTOR NO MODO ABRE JANELA E "J" LIGA O MOTOR COM ROTAÇÃO
;INVERTIDA NO MODO FECHA JANELA.
;NO MODO AUTOMATICO 1 O PROGRAMA AGUARDA O SENSOR D E PRESENÇA AVISAR QUE CHEGOU
;ALGUEM VIA PINO P0.3 E EM SEGUIDA LIGA AS
;LAMPADAS
;FECHA A JANELA E LIGA O AR CONDICIONADO
;NO MODO AUTOMÁTICO 2 O PROGRAMA AGUARDA O SENSOR D E PRESENÇA AVISAR QUE CHEGOU
;ALGUEM VIA PINO P0.3 E EM SEGUIDA LIGA AS LAMPADAS
;ABRE A JANELA E MANTEM O AR CONDICIONADO DESLIGADO
; O CARACTERE "P" É ENVIADO PARA O ELIPSE TODA VEZ QUE O SENSOR DE PRESENÇA AVISAR QUE
;CHEGOU. ALGUEM EM MODO NORMAL É ACIONADO
;VIA INTERRUPÇÃO INT0 E AUTOMATICO VIA MONITORIZAÇÃO DO PINO P0.3 E ENVIADO VIA
;PROGRAMAÇÃO
ORG 00H
LJMP INICIO
ORG 03H
LJMP INTSENSOR
ORG 30H
INICIO: MOV SP,#2FH
;INTERUPÇÃO DE LEITURA DO SENSOR DE PRESENÇA.
;APONTADOR DE PILHA
60 | P á g i n a
MOV SCON,#40H ;MODO SERIAL ASSINCRONO
MOV TMOD,#20H ;TEMPORIZADOR MODO 2 RECARGA AUTOMÁTICA
MOV TH1,#0FAH ;RECARGA TEMPORIZADOR PARA TAXA DE 4800
MOV TL1,#0FAH ;RECARGA TEMPORIZADOR PARA TAXA DE 4800
MOV IE,#80H
;HABILITA A INTERUPÇÃO EXTERNA INT 0
VOLTA: MOV TCON,#01H ;INT0 POR TRASIÇÃO DE 1 PARA 0
SETB REN
;HABILITA A RECEPCAO
CLR RI
;LIMPA A FLAG DE RECEPCAO
SETB TR1
LER:
JNB RI,$
;AGUARDA A PROXIMA INSTRUÇÃO DO ELIPSE
MOV R1,SBUF
MOV IE,#81H
;CLR RI
CJNE R1,#41H,V1
;COMPARA E VE SE É LETRA "A" SE FOR, PASSA P/ MOD
;
AUTOMATICO 1.
LJMP MODOAUTO1
V1:
CJNE R1,#42H,L0 ;VERIFICA SE A ENTRADA É O CARACTERE "B", SE FOR PASSA
;
MOD AUTOMATICO 2
LJMP MODOAUTO2
L0:
CJNE R1,#45H,L1
;COMPARA E VE SE É LETRA "E" LIGA LAMPADA DA ENTRADA
;
VARANDA.
ANL P1,#7EH
ANL P2,#0FEH
;LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO
CLR RI
SJMP VOLTA
L1:
CJNE R1,#46H,L2 ; LETRA "F" LIGA LAMPADA PRINCIPAL DA SALA.
ANL P1,#7DH
ANL P2,#0FDH
;LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO
CLR RI
SJMP VOLTA
L2:
CJNE R1,#47H,L3 ; LETRA "G" LIGA LAMPADA DECORATIVAS DICRÓICAS.
ANL P1,#7BH
ANL P2,#0FBH
;LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO
CLR RI
LJMP VOLTA
L3:
CJNE R1,#48H,L4 ; LETRA "H" LIGA A VENTILAÇÃO .
ANL P1,#77H
ANL P2,#0F7H
;LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO
CLR RI
LJMP VOLTA
61 | P á g i n a
L4:
CJNE R1,#49H,L5 ; LETRA "I" LIGA O MOTOR QUE ABRE JANELA.
CLR P1.4
CLR P2.4
CLR P1.7
JB P0.0,$
SETB P2.4
;DESLIGA MOTOR NA POSIÇÃO ABRIR
SETB P1.5
;DESLIGA O LED DE PORTA FECHADA
CLR P1.7
;HABILITA A LATCH
LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO
CLR RI
MOV IE,#81H
LJMP VOLTA
L5:
CJNE R1,#4AH,D1 ; LETRA "J" LIGA O MOTOR INVERTIDO E FECHA A JANELA.
CLR P1.5
CLR P2.5
CLR P1.7
JB P0.1,$
SETB P1.4
;DESLIGA O LED DE PORTA ABERTA
SETB P2.5
;DESLIGA O MOTOR POIS JA FECHOU A JANELA
CLR P1.7
;HABILITA A LATCH
LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO
CLR RI
MOV IE,#81H
LJMP VOLTA
D1:
CJNE R1,#4CH,D2 ; LETRA "L" DESLIGA LAMPADA DA ENTRADA VARANDA.
ORL P1,#01H
ORL P2,#01H
;LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO
CLR RI
LJMP VOLTA
D2:
CJNE R1,#4DH,D3 ; LETRA "M" DESLIGA LAMPADA PRINCIPAL DA SALA.
ORL P1,#02H
ORL P2,#02H
;LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO
CLR RI
LJMP VOLTA
CJNE R1,#4EH,D4 ;LETRA "N" DESLIGA LAMPADA DECORATIVAS DICRÓICAS.
ORL P1,#04H
ORL P2,#04H
;LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO
CLR RI
LJMP VOLTA
D3:
D4:
CJNE R1,#4FH,D5 ;LETRA "O" DESLIGA A VENTILAÇÃO.
ORL P1,#08H
ORL P2,#08H
;LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO
CLR RI
62 | P á g i n a
LJMP VOLTA
D5:
CJNE R1,#51H,D6 ;LETRA "Q" DESLIGA TODOS OS DISPOSITIVOS
CLR P1.5
CLR P2.5
CLR P1.7
JB P0.1,$
SETB P1.4
;DESLIGA O LED DE PORTA ABERTA
SETB P2.5
;DESLIGA O MOTOR POIS JA FECHOU A JANELA
CLR P1.7
;HABILITA A LATCH
;LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO
CLR RI
MOV IE,#81H
ORL P1,#0FFH
ORL P2,#0FFH
LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO
CLR RI
LJMP VOLTA
TRANSMITE:
MOV IE,#80H
LCALL ATRASO
MOV A,#43H
MOV SBUF,A
;
JNB TI,$
CLR TI
MOV IE,#81H
RET
; MOVE O CARACTERE "C" PARA SAIDA AVISANDO QUE O ELIPSE
PODE ENVIAR OUTRA INSTRUÇÃO.
INTSENSOR:
;INTERUPÇÃO 0 DE LEITURA DO SENSOR DE PRESENÇA.
MOV IE,#00H
MOV A,#50H
;ENVIA O CARACTERE "P" PARA A SAIDA SERIAL AVISANDO AO
;
ELIPSE QUE CHEGOU ALGUÉM.
MOV SBUF,A
JNB TI,$
CLR TI
LCALL ATRASO
MOV IE,#81H
;HABILITA A INT0 NOVAMENTE
RETI
MODOAUTO1:
; MODO AUTOMÁTICO 1, DIAS QUENTES COM AR LIGADO
MOV SP,#2FH
;APONTADOR DE PILHA
MOV SCON,#40H ;MODO SERIAL ASSINCRONO
MOV TMOD,#20H ;TEMPORIZADOR MODO 2 RECARGA AUTOMÁTICA
MOV TH1,#0FAH ;RECARGA TEMPORIZADOR PARA TAXA DE 4800
MOV TL1,#0FAH ;RECARGA TEMPORIZADOR PARA TAXA DE 4800
MOV IE,#00H
;DESABILITA A INTERUPÇÃO SERIA E DESABILITA EXT0
SETB REN
;HABILITA A RECEPCAO
CLR RI
;LIMPA A FLAG DE RECEPCAO
SETB TR1
63 | P á g i n a
AUT1:
A1:
JB P0.2,$
MOV A,#50H
;ENVIA O CARACTERE "P" PARA A SAIDA SERIAL AVISANDO
;
AO ELIPSE QUE CHEGOU ALGUÉM.
MOV SBUF,A
JNB TI,$
CLR TI
CLR RI
MOV A,#10H
;MODO1 A JANELA FECHADA, AR LIGADO, LAMPADAS ACESAS.
MOV P2,A
MOV P1,A
JB P0.1,$
;AGUARDA O MICRO SWITCH AVISAR QUEA JANELA FECHOU
SETB P1.4
;DESLIGA O LED DE PORTA ABERTA
SETB P2.5
;DESLIGA O MOTOR POIS JA FECHOU A JANELA
CLR P1.7
;HABILITA A LATCH
MOV IE,#81H
;HABILITA A INTERUPÇÃO EXTERNA INT0
LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO
MOV IE,#81H
JNB RI,$
;AGUARDA A PROXIMA INSTRUÇÃO DO ELIPSE
MOV R1,SBUF
CJNE R1,#44H,A1 ;COMPARA E VE SE É LETRA "D" DESFAZ MOD AUTOMATICO.
CLR RI
LJMP LER
MODOAUTO2:
; AUTOMÁTICO 2, DIAS FRIOS OU NORMAIS COM AR DESLIGADO
MOV SP,#2FH
;APONTADOR DE PILHA
MOV SCON,#40H ;MODO SERIAL ASSINCRONO
MOV TMOD,#20H ;TEMPORIZADOR MODO 2 RECARGA AUTOMÁTICA
MOV TH1,#0FAH ;RECARGA TEMPORIZADOR PARA TAXA DE 4800
MOV TL1,#0FAH ;RECARGA TEMPORIZADOR PARA TAXA DE 4800
MOV IE,#00H
;HABILITA A INTERUPÇÃO SERIAL.
SETB REN
;HABILITA A RECEPCAO
CLR RI
;LIMPA A FLAG DE RECEPCAO
SETB TR1
AUT2:
JB P0.2,$
MOV A,#50H
;ENVIA O CARACTERE "P" PARA A SAIDA SERIAL AVISANDO AO ELIPSE QUE
;
CHEGOU ALGUÉM.
MOV SBUF,A
JNB TI,$
CLR TI
MOV A,#28H
;MODO1 A JANELA ABERTA, AR DESLIGADO E LAMPADAS ACESAS
MOV P2,A
MOV P1,A
JB P0.0,$
;AGUARDA O MICRO SWITCH 2 AVISAR QUE JANELA ABRIU
SETB P2.4
;DESLIGA MOTOR NA POSIÇÃO ABRIR
64 | P á g i n a
A2:
SETB P1.5
;DESLIGA O LED DE JANELA FECHADA
CLR P1.7
;HABILITA A LATCH
MOV IE,#81H
;HABILITA A INTERUPÇÃO EXTERNA INT0
CLR RI
LCALL TRANSMITE ;AVISA O ELIPSE QUE PODE MANDAR MAIS INSTRUÇÃO
MOV IE,#81H
JNB RI,$
;AGUARDA A PROXIMA INSTRUÇÃO DO ELIPSE
MOV R1,SBUF
CJNE R1,#44H,A2
;COMPARA E VE SE É LETRA "D" DESFAZ MOD AUTOMATICO.
CLR RI
LJMP LER
ATRASO: MOV R7,#200
V5:
MOV R6,#200
DJNZ R6,$
DJNZ R7,V5
RET
LJMP INICIO
END
65 | P á g i n a

Documentos relacionados