comunicaÇÃo de dados via transmissÃo …educatec.eng.br/engenharia/monografia de...
TRANSCRIPT
1
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO S UL
FACULDADE DE ENGENHARIA
CURSO DE ENGENHARIA ELÉTRICA
DISCIPLINA DE TRABALHO DE INTEGRAÇÃO
COMUNICAÇÃO DE DADOS VIA
TRANSMISSÃO INFRAVERMELHO
FABIANO DALL PIZZOL
PROFESSOR ORIENTADOR:
JÚLIO CÉSAR MARQUES DE LIMA
PORTO ALEGRE, 1° SEMESTRE DE 2005.
2
3
Dedicatória
Este trabalho dedico a meus pais, Flávio Antônio e Lucia Inês, por terem me apoiado nesta minha jornada, que me deram muitas alegrias nas horas de tristeza. Amo vocês do
fundo do meu coração.
4
Agradecimentos
O meu sincero agradecimento a todos os Mestres pelo ensino recebido.
5
Resumo
Este trabalho consiste na implementação de um sistema de comunicação sem fio
entre elementos eletrônicos, para transferência de dados e ou controle de periféricos.
Onde foi necessário à utilização de integrados específicos para permitir a utilização deste
mecanismo. Na verdade, trata-se de um caso de comunicação em que se substitui o cabo
serial por um sistema de comunicação infravermelho.
O projeto tem um veículo que se move para as mesmas direções e sentidos que
um carro comum: para frente , para trás, para a direita e para a esquerda, porém somente
quando o modelo estiver operando em estado manual, isto é, quando os comandos para
realizar os movimentos do modelo forem acionados manualmente, nos teclados do PC.
Os movimentos realizados pelo veículo em modo manual são controlados pela interface
construída, infravermelho, do PC ao veículo e os movimentos autônomos são programas
já pré estabelecidos e inseridos no microcontrolador do veículo que só é executado
quando determinado.
Este projeto aborda conceitos nas áreas de engenharia eletrônica e de
computação, destacando arquitetura de hardware com microcontroladores, comunicação
de dados serial RS232, comunicação infravermelho e integração das linguagens de
programação.
6
Sumário
1. Introdução............................................................................................8
2. Linguagem de programação...............................................................10
2.1. ASCII......................................................................................12
3. Comunicação serial.............................................................................12
3.1. UART .3.................................................................................13
4. Esquemático do circuito eletrônico ................................................14
5. Transmissão infravermelho ............................................................18
5.1. IRDA ....................................................................................18
6. Protótipo.. ....................................................................................24
7. Programa fonte………………………..….....………….…….......….28
7.1 Programa que controlam a velocidade dos motores.............. 28
7.2 Programa de interface infravermelha......................................30
7.2.1 Programa mestre........................................................31
7.2.2 Programa escravo......................................................32
8. Conclusão...............................................................................................33
9. Bibliografia.............................................................................................34
7
Lista de Figura
Figura 1.0.1 - Diagrama resumido do projeto .........................................................9 Figura 2.0.1 - Área de trabalho do assemblador.. .........................................................11 Figura 4.0.1 - Esquemático do circuito usado. .............................................................14 Figura 4.0.2 - Esquemático do circuito usado ..............................................................15 Figura 4.0.3 - Placa de Laboratório de Processadores...................................................16 Figura 4.0.4 - Esquemático do circuito de infravermelho….……………...............…17 Figura 4.0.5 - Circuito elétrico infravermelho ...................………………...............…17 Figura 5.1.1 - Possíveis projetos ………………………....….…….........................…19 Figura 5.1.2 - Relação entre o frame R232 e IRDA.......................................................20 Figura 5.1.3 - Transmissor /Receptor infravermelho TFDU4100..................................21 Figura 5.1.4 - Diagrama em Blocos do TFDU 4100......................................................22 Figura 5.1.5 – Codificador e decodificador TIR1000....................................................22 Figura 5.1.6 – Diagrama funcional em bloco do TIR1000............................................23 Figura 5.1.7 - Diagrama de sincronismo........................................................................23 Figura 5.1.8 - Diagrama de sincronismo........................................................................24 Figura 6.0.1 – Drives dos motores..................................................................................25 Figura 6.0.2 – Formas de ondas dos drivers dos 2 motores.............................................26 Figura 6.0.3 – Formas de ondas dos drivers dos 2 motores.............................................26 Figura 6.0.4 – Veículo com 2 motores DC e baterias ....................................................27 Figura 6.0.5 – Veículo com a placa do microcontrolador...............................................27
8
ANTEPROJETO DE ENGENHARIA
1. Introdução
O projeto tem como objetivo a implementação de um veículo para navegação
assistida, que possa realizar uma determinada tarefa, com a possibilidade de no decorrer
de um determinado percurso, receber ou enviar dados, via transmissão sem fio.
As informações que são transmitidas do PC ao veículo são : direção do veículo ,
solicitação de temperatura e comando para liberar o veículo para realizar um
determinado percurso pré estabelecido. As informações que são transmitidas do veículo
ao PC são : a resposta de recebimento de comando e a temperatura onde o veículo de
encontra.
9
O sistema proposto neste trabalho visa demonstrar a integração de funcionalidades
dos computadores pessoais com um veiculo autônomo através de uma comunicação
infravermelho. Este sistema integra a utilização de diversos conceitos nas áreas de
conhecimento da eletrônica e de computação, destacando-se arquitetura de hardware com
microcontroladores, comunicação de dados serial RS232, comunicação infravermelho e
integração das linguagens de programação. Visa também demonstrar uma nova
tecnologia de placa trabalhada na disciplina de Laboratório de Processadores, que possui
vários periféricos, que será mencionado a seguir.
Inicialmente serão apresentados os conceitos teóricos mais relevantes, tais como a
linguagem de programação utilizada, comunicação de dados via infravermelho, a
arquitetura de hardware com informações sobre os circuitos e o microcontrolador,
drivers de potência e o motores que compõem o veículo.
O projeto esta descrito numa forma de diagrama de blocos o qual está
representado na figura 1.0.1, onde pode-se observar os principais blocos do sistema .
Figura 1.0.1 – Diagrama resumido do projeto
10
2. Linguagem de programação
A linguagem de máquina é um nível mais baixo de programação, em que as
instruções e dados são trabalhados em binários. É, na realidade á única linguagem que o
microcontrolador aceita. Como a linguagem de máquina é ininteligível para o ser
humano, pois ele “se perde” ao ler grupos de valores binários, ao interpretá-los como
instrução ou dados, foi utilizada a linguagem de programação, Assembly.
A linguagem de programação consiste num conjunto de instruções que depois de
compilada, a máquina pode executar. A linguagem Assembly é composta por
mnemônicas(acrônimos) que são de fácil compreensão para o ser humano ler, decorar e
operar. O assemblador, é um programa de computador que traduz (compila) a linguagem
assembly um programa em linguagem de máquina, a qual pode ser executada pelo
dispositivo.
A primeira razão que foi optado para trabalhar com o assembly neste trabalho foi
a oportunidade de ter adquirido o conhecimento em aulas de Processadores e Laboratório
de Processadores, na PUCRS, o que permite o desenvolvimento de programas de forma
mais consistente e que pode ter um controle sobre o PC e o os periféricos nele acoplados.
Uma outra razão é que programas assembly são mais rápidos, mais simples e menores do
que os criados com outras linguagens.
11
O assemblador (montador) permite uma otimização ideal ao fazer a montagem de
nossos programas fonte em Linguagem Assembly, seja ao beneficiar o tamanho ou as
execuções dos programas. Usaremos um assemblador, que consiste em um programa que
converte o *.asm (o programa descrito em assembler do 8051) para *.hex (arquivo que é
gravado no microprocessador), sua área de trabalho aparece na figura 2.0.1
Fig. 2.0.1- Área de trabalho do assemblador.
12
2.1. ASCII
Os códigos usados para declarar variáveis nos programas em assembler são
adotados do código ASCII, que significa “American Standard Code for Information
Interchange “. É um esquema de codificação desenvolvido em 1986 que atribui valores
numéricos a no máximo 256 caracteres (0 a 255), incluindo letras, sinais de pontuação,
algarismos, caracteres de controle e símbolos diversos. Um arquivo ASCII é um
documento que usa esse código apenas, sem qualquer informação relativa à formatação
do texto.
3. COMUNICAÇÃO SERIAL
Na comunicação serial o dado é enviado bit por bit. O cabo que conecta os
dispositivos, que neste projeto será do PC a um microcontrolador, e podem ser de até
alguns metros de acordo com as características especiais do sinal que é transmitido.
Diversos protocolos de comunicação operam sobre comunicação serial: redes de
campo, comunicação com modens, etc...
Existem dois modos de comunicação serial: Síncrono e Assíncrona. A
Comunicação Serial Síncrona é que modo de comunicação o transmissor e o receptor
devem ser sincronizados para a troca de comunicação de dados. Geralmente uma palavra
de SINCRONISMO é utilizada para que ambos ajustem o relógio interno. Após a
sincronização os bits são enviados seqüencialmente, até uma quantidade pré-combinada
entre os dispositivos.
13
A Comunicação Serial Assíncrona, que é a forma mais usual de transmissão de
dados, que vai ser trabalhada neste projeto. Não existe a necessidade de sincronização
entre os dispositivos, uma vez que os caracteres são transmitidos individualmente e não
em blocos como na comunicação síncrona. A transmissão de cada caractere é precedida
de um bit de start e terminada por 1 (1/2 ou 2) bit(s) de stop.
3.1. UART
UARTs (Transmissor e Receptor Assíncrono Universal ou Universal
Asynchronous Receiver Transmitter) são chips localizados na placa serial do PC (caso se
utilize uma) ou na placa mãe. A função da UART pode ser executada também por chips
que executam outras funções. O propósito da UART é converte dados paralelos em dados
seriais, enviá-los pela linha serial e reconstruir os dados novamente na outra extremidade
da linha. UARTs lidam com dados divididos em pedaços de bytes de tamanho de 5, 6, 7 e
8 bits.
O porto série que se encontra em todos os µCs da família 51 permite
comunicações série síncronas e assíncronas, utilizando uma UART. No caso das
comunicações assíncronas, estas podem ser feitas em modo full-duplex.
Neste projeto tem um terminal conectado ao PC, que ao se digitar um caractere no
PC este envia um byte em uma linha serial, um bit de cada vez, em uma velocidade
específica onde o terminal recebe o caracter fazendo as devidas rotinas pré definidas. No
terminal conectado ao PC, a UART receptora recebe todos os bits, recompondo o byte e o
disponibilizando em um buffer.
14
4. Esquemático do circuito eletrônico As figuras 4.0.1 e 4.0.2 apresentam o circuito da placa de controle utilizada no projeto. Esta placa é baseada em um microcontrolador MSC1211.
Figura 4.0.1 – Esquemático do circuito usado
15
Figura 4.0.2 – Esquemático do circuito usado
16
Nos esquemáticos mostrados nas figuras 4.0.1 e 4.0.2 estão também alguns
periféricos que o microcontrolador 8051 possui. A placa que já foi projetada na cadeira
de Laboratório de Processadores, fig 4.0.3 , vai ser usada neste projeto para comandar a
recepção e transmissão de dados, infravermelho via computador / veículo, como também
ser responsável pelo acionamento de motores implementados no veículo autônomo e
dentre outras utilidades que podem dentro desta plataforma serem aplicadas.
Fig. 4.0.3 – Placa de Laboratório de Processadores
O avanço na área de física do estado sólido proporcionou a fabricação de
semicondutores de altíssima qualidade para óptica eletrônica permitindo o
desenvolvimento de LED’s e Lasers . Além disso destaca-se que este avanço tornou-se
extremamente importante para implementação de técnicas de espectroscopia. O circuito
da placa que contém o integrado responsável pela comunicação infravermelho, não está
17
representado no esquema elétrico da figura 4.0.1 e 4.0.2, pois o mesmo foi implementado
separadamente, apenas para este projeto, o qual está mostrado na figura 4.0.4 e na
figura 4.0.5.
Figura 4.0.4 – Esquemático do circuito de infravermelho
Figura 4.0.5 – Circuito elétrico infravermelho
18
5. Transmissão infravermelha
A radiação infravermelha é uma radiação eletromagnética cujo espectro começa
num dos limites do espectro da luz (o vermelho). É caracterizada por um comprimento de
onda compreendido entre cerca de 800nm e 105nm. Como comprimento de onda é muito
pequeno, a transmissão tem que ser por visibilidade, ou seja, o transmissor tem que estar
direcionada, ou seja, sem a presença de objetos que obstruam o sinal de modo a não
acarretar interferência na transmissão.
Em comparação com a tradicional troca de dados através de fios, a transferência
de dados digitais por meio de radiação IV ( infravermelho) apresenta algumas vantagens.
E esta afirmação é verdadeira, tanto para PC`s e Laptops como para placas de
microprocessador.
Hoje em dia, é mais fácil estabelecer comunicação por infra vermelho como por
computador de bolso (PDA) do que através de uma interface RS232. Algumas máquinas
novas, como por exemplo o Palm Zire, possuem uma porta USB para comunicar-se com
computadores PC e uma porta IrDA, para comunicar-se com outros PDA`s, com
telefones portáteis e com outros aparelhos eletrônicos. Portanto, não parece má idéia
dotar um sistema de microprocessador com uma interface IrDA.
5.1. IRDA
As comunicações utilizando infravermelho são baseadas na tecnologia que é
similar aos dispositivos de controle remoto tais como a tevê e os controles remotos. Nos
dias de hoje, a transmissão infravermelho se apresenta como uma forma conveniente,
barata e de confiança, que permite conectar um computador e dispositivos periféricos
19
sem o uso dos cabos. A conectividade do IrDA está sendo incorporada na maioria de
PC’s de hoje .
IrDA corresponde a sigla de “Infrared Data Association” ,uma organização sem
fim lucrativos, que se encarrega de estabelecer o formato IrDA standard, o qual permite
efetuar comunicações, sem fio, por meio de raios infravermelhos.
As redes wireless (sem fio) constituem-se em uma alternativa às redes
convencionais com fio, fornecendo as mesmas funcionalidades, mas de forma mais
flexível, de fácil configuração e com boa conectividade em áreas prediais ou de campos.
A figura 5.1.1 mostra uma possível implementação destes conceito. Dependendo da
tecnologia utilizada, rádio freqüência ou infravermelho, as rede wireless podem atingir
distâncias de até 18 metros.
Fig. 5.1.1- Possíveis projetos
A interface IrDA pode parecer complicada a primeira vista, uma vez que o padrão
IRDA deve a vários níveis de softwares, mas no nível mais baixo (transferência dos
dados), sua implementação realmente é simples. No final, utiliza-se uma comunicação
serial normal com breves pulsos ópticos ao invés dos pulsos elétricos das comunicações
RS232. Para o bit inicial e para cada zero de corrente de dados é transmitido um pulso
luminoso, isto é, nas posições é transmitido um nível lógico alto.
20
Os pulsos luminosos possuem uma duração bem definida. Com fluxos de dados
até 115200bps, devem durar pelo menos 1,6us e a duração máxima não deve ultrapassar
3/16 da duração de um bit RS232, como mostra a figura 5.1.2. Nos Palm`s é sempre
utilizada a duração mínima (1,6 us), para economizar energia. Além disso, pulos breves
mas potentes garantem uma comunicação mais confiável a maiores distâncias, uma vez
que o receptor IV pode distingui-los da luz ambiente, onde geralmente não existem
pulsos curtos.
Fig. 5.1.2- Relação entre o frame R232 e IRDA.
A transmissão de dados por IV (infravermelho) já se tornou uma prática
conhecida. Não só os televisores são comandados a distância por essa forma de energia
como também já existem mouses, teclados, impressoras, carrinhos de brinquedo e outros
periféricos em que não é necessária qualquer ligação física com o computador para
poderem funcionar.
21
Neste projeto, foi desenvolvido um processo de transmissão de sinais à um
dispositivo, seguindo padrões internacionais da IEEE e IrDA para transmissão de sinais
no espetro do infra vermelho. O sistema apresenta alta imunidade a interferência externa,
não necessitando de uma banda do espectro regularizada pela ANATEL para
funcionamento visto que esta transmissão esta fora das faixas pré-estabelecidas .
Um transmissor IrDA simples tem de converter os bits dos dados em breves
pulsos elétricos. Existem circuitos integrados apropriados para esta finalidade. Nos
computadores de bolso Palm, esta função já está integrada no processador e os sinais
IrDA são gerados utilizando o circuito IRDA interno. Como nos uP`s 8051 não esta
disponível este modo de funcionamento , temos de implementar em hardware os sinais
para o IRDA.
Existem vários integrados emissor / receptor especiais a recepção de sinais IV no
mercado, mas o integrado que foi utilizado é o TFDU4100, fabricado pela Vishay. É um
transceptores infravermelho que se enquadra nos padrões da IrDA. Este integrado é
adequado para as aplicações exigidas e é mostrado na figura 5.1.3.
Fig. 5.1.3.Transmissor /Receptor Infravermelho TFDU4100
O TFDU4100 suporta velocidades de IrDA até 115,2 kbit/s. Seu diagrama em
blocos está representado na figura 5.1.4
22
Figura 5.1.4 Diagrama em Blocos do TFDU 4100
Como o TFDU4100 fornece apenas sinais com especificações IrDA, breves
pulsos, o qual o microcontrolador não consegue destinguir , fora necessário o
acoplamento do TIR1000, na figura 5.1.5 mostra o componente e na figura 5.1.6 mostra
seu diagrama em bloco . Codificador e decodificador infravermelhos serial, o Tir1000 é
um dispositivo que codifica e descodifica dados do bocado com as especificação IrDA
em dados para a UART.
Figura 5.1.5 - Codificador e decodificador TIR1000
23
Figura 5.1.6 – Diagrama funciona em bloco do TIR1000
Onde o 16XCLK, significa o sinal do pulso de disparo. 16XCLK que deve ser
ajustado a 16 vezes a taxa de baud rate do sistema. O baud rate mais elevada para IrDA
é 115,2 kbps isso na freqüência de pulso de disparo, tem que ser igual a 1,843 MHz, este
terminal tem que estar amarrado a de um UART. O IR_RXD, são os dados
infravermelhos do receptor que é uma entrada IrDA modulada de receptor do dispositivo
optoelectronico cujo os pulsos da entrada devam ser 3/16 do período da taxa de baud. O
IR_TXD é a saída de dados do transmissor infravermelho, é uma saída IrDA modulada
do transceptor do optoeletronico. O U_RXD, dados do receptor na UART, são dados
descodificados de IR_RXD de acordo com a especificação de IrDA, e o U_TXD, dados
do transmissor da UART e que (modulados) codificados na saída do transmissor
infravermelho.
A função do codificador IrDA mais especificamente é o de tratar os dados serial
de um UART , que são codificados para transmitir dados ao optoelectrônicos. Quando há
entrada de dados neste bloco (U_TXD) for alta, a saída (IR_TXD) é sempre baixa, e o
contador usado forma um pulso em IR_TXD que é cancelado continuamente. Após
restaurações de U_TXD a 0, IR_TXD levanta-se na borda, mostrado na figura 5.1.7.
Figura 5.1.7 – Diagrama de sincronismo
24
A função do decodificador de IrDA, visto na figura 5.1.8, é o de tratar os dados
recebidos pelo transmissor infra vermelho e envia-los na serial de um UART . Mostra
que quando uma borda de descida é detectada em IR_RXD, U_RXD cai a nível baixo. O
U_RXD permanece baixo para 16 ciclos (16XCLK) e retorna então à elevação como
necessário pela especificação de IrDA.
Figura 5.1.8 – Diagrama de sincronismo
6. O Protótipo
O protótipo consiste de um veículo autônomo que tem como objetivo o de
receber e transmitir as informações já pré determinadas. O veículo será equipado com um
microcontrolador, drives, motores , baterias e um transmissor e receptor infra vermelho.
Todos os comandos do “mestre” (PC) são realizados via transmissão sem fio,
portanto não existem botões na interface, somente um receptor e transmissor de dados
infravermelho.
O veículo foi montado utilizando motores DC( motores de corrente contínua) os
quais podem mover-se resposta a pulsos digitais(PWM) aplicados em driver a partir do
25
controlador digital, neste caso, o microcontrolador. O número de pulsos e a cadência com
que estes pulsos são aplicados controlam a posição e a velocidade do motor,
respectivamente.
O driver que controla os motores , figura 6.0.1, tem como o integrado PCF8574,
que fornece uma expansão I/O para a maioria de famílias do microcontrolador e que
comunica-se através de um protocolo de comunicação I2C, e que conectado ao
SN754410, onde este recebe os dados de controle e, envia sinas amplificados para a
saída, na entrada dos motores.
Figura 6.0.1 – Drive do motor
Será uma modulação tipo PWM, modulação por largura de pulso, que utiliza
apenas 1 bit , que controla a forma de onda, quadrada, onde o ciclo de carga e descarga
definem a velocidade do sistema (tempo em que a forma de onda permanece em "1") .
Nas figuras 6.0.2 e 6.0.3, mostra claramente os períodos de níveis de tensão. Onde
estas formas de onda foram tiradas pelo osciloscópio das duas saídas dos drives que
controlam os motores DC do veículo.
26
Como pode ser visto nas figuras 6.0.2 e 6.0.3 , diferença entre as figuras mostra
na prática a diferença de velocidade, onde a figura 6.0.2 , com um tempo maior de nível
de tensão , compreende a maior velocidade.
Fig. 6.0.2 – Formas de ondas dos drives dos 2 motores
Fig. 6.0.3 – Formas de ondas dos drives dos 2 motores
27
O modelo utilizado para o protótipo foi um carrinho movido por esteiras, o qual
será operado por comando infravermelho. Foram necessárias adaptações para que o
modelo pudesse ser utilizado neste projeto. Nas figuras 6.0.4 e 6.0.5, mostram a
montagem do veículo.
Fig. 6.0.4 – Veículo com 2 motores DC e baterias
Fig. 6.0.5 – Veículo com a placa do microcontrolador
28
A fonte de alimentação utilizada para a placa microcontrolada é obtida com a
utilização de baterias de 1,2V e 1100mA/H. Para os motores foi necessário usar baterias
de 1,2V separadamente.
7. PROGRAMAS FONTE
Os programas serão apresentados em partes, pois ficará mais fácil para descrever
o funcionamento de cada um deles.
7.1 - Programa que controlam a velocidade dos motores
Programa que controla a velocidade dos motores é feito utilizando um PWM, o
qual será controlado por timer numa freqüência de 10KHz, onde a cada estouro do timer0
sinal do PWM é ajustado.
ORG 0000H LJMP INICIO ORG 000BH ; TIMER0 LCALL TIMER0 RETI INICIO: LCALL PROGTIMER SETB EA SETB ET0 MOV DUTY, #5 MOV DUR, #5 MOV PER,#9 SETB TR0 CLR 20H
29
SETB 20H.0 TESTMOTOR: LCALL MOTOR1 LCALL MOTOR2 LJMP TESTMOTOR PROGTIMER: MOV TMOD, #22H ; MODO 2 - 10KHz MOV TH0, #164 MOV TL0, #164 RET WRITI2C: MOV R7,#8 LOOPWRI2C: LCALL DELAY_2P5US RLC A MOV SDA,C LCALL DELAY_2P5US SETB SCL LCALL DELAY_2P5US CLR SCL LCALL DELAY_5US CLR SCL LCALL DELAY_2P5US DJNZ R7, LOOPWRI2C LCALL ACK RET ACK: NOP SETB SDA LCALL DELAY_2P5US SETB SCL LCALL DELAY_2P5US MOV A, SDA CJNE A,#0 ,STARTI2C LCALL DELAY_2P5US CLR SCL LCALL DELAY_2P5US RET STARTI2C: SETB SCL SETB SDA LCALL DELAY_5US CLR SDA LCALL DELAY_5US CLR SCL RET STOP: LCALL DELAY_2P5US SETB SCL LCALL DELAY_2P5US SETB SDA LCALL DELAY_5US RET MOTOR1: LCALL STARTI2C MOV A,#01001110b; ENDEREÇO-> 0111A2A1A0 R LCALL WRITI2C MOV A,20H
30
LCALL WRITI2C LCALL STOP RET MOTOR2: LCALL STARTI2C MOV A,#01110000b; ENDEREÇO-> 0111A2A1A0 R LCALL WRITI2C MOV A,20H LCALL WRITI2C LCALL STOP RET TIMER0: MOV A,PER CJNE A,#0,DECPER MOV PER,#9 MOV DUR,DUTY SETB 20H.0 LCALL MOTOR1 LCALL MOTOR2 RET DECPER: DEC PER MOV A,DUR CJNE A,#0,DECDUR CLR 20H.0 LCALL MOTOR1 LCALL MOTOR2 RET DECDUR: SETB 20H.0 LCALL MOTOR1 LCALL MOTOR2 DEC DUR RET DELAY_5US: MOV R0,#5 NOP LOOP3: DJNZ R0,LOOP3 RET DELAY_2P5US: MOV R1,#2 LOOP7: DJNZ R1,LOOP7 RET END
7.2. Programa de interface
Neste tópico serão explicados os programas de interface serial entre o PC e a
placa, que será denominado de o mestre, e entre o mestre, com interface infravermelho, e
o veículo, este denominado de escravo.
31
7.2.1. Programa mestre.
Programa que monitora o teclado para mandar um caracter via RS232 para a placa do mestre o qual este por sua vez envia este caracter para o terminal escravo.
ORG 0000H LJMP INICIO ORG 0023H LJMP RSERIAL INICIO: LCALL CONFIG_LCD MOV IE,#00000000B MOV 0C0H,#50h CLR 0C0H.0 MOV TCON,#00H MOV TMOD,#22H MOV TH1,#-3 MOV TL1,#-3 MOV PCON,#00H MOV SCON,#50H MOV R3,#80H LJMP RSERIAL RSERIAL: SETB TR1 LOOP0: JNB RI,LOOP0 MOV A,SBUF CLR RI MOV R5,A LCALL WRSERIAL LCALL ESCREV1 LCALL RDSERIAL LCALL ESCREVE LJMP RSERIAL WRSERIAL: MOV 0C1H,A JNB 0C0H.1,$ CLR 0C0H.1 RET RDSERIAL: JNB 0C0H.0,RDSERIAL CLR 0C0H.0 MOV A,0C1H RET POSICAO: CLR RS CLR EN MOV DADO,R3 SETB EN LCALL DELAY_5US CLR EN CLR RS LCALL DELAY_5MS RET ESCREV1: SETB RS MOV DADO,A SETB EN LCALL DELAY_5US CLR EN
32
CLR RS LCALL DELAY_5MS INC R3 MOV IE,10011000B CLR RI RET
END
7.2.2. Pro grama escravo.
Programa que monitora o recebimento de comando via infra vermelho e escreve no display e retorna um caracter para confirmar a comunicação .
INICIO: LCALL CONFIG_LCD MOV 0C0H,#50h MOV TMOD,#22h MOV PCON,#80h MOV TH1,#-3 MOV TL1,#-3 CLR 0C0H.0 SETB TR1 VOLTA: LCALL RDSERIAL LCALL ESCREVE LCALL VOLTA WRSERIAL: MOV 0C1H,A JNB 0C0H.1,$ CLR 0C0H.1 RET RDSERIAL: JNB 0C0H.0,RDSERIAL CLR 0C0H.0 MOV A,0C1H RET ESCREVE: SETB RS MOV DADO, A SETB EN LCALL DELAY_5US CLR EN CLR RS LCALL DELAY_5MS RET
Com os programas mencionados, pode-se fazer uma infinidade de atribuições ao
sistema de mestre (placa ligada ao PC ) ao escravo (placa acoplada ao veículo) tudo por
comunicação infravermelho.
33
8. CONCLUSÃO
O projeto desenvolvido apontou para uma nova tendência em sistemas de
comunicação de dados, onde aliado a versatilidade de aplicações na plataforma dos
microcontroladores , integrados optoelectrônicos e um conhecimento na área de
programação pode-se construir um sistema que possibilita maior agilidade e flexibilidade
na transmissão de informações.
As informações que são comandos manuais enviados pelo PC ao veículo foram
bem satisfatórios, pois nas direções : para frente , para trás, para direita e para esquerda,
onde pode-se controlar o veículo para que não sai do ângulo de incidência dos raios
infravermelhos, não houve problema algum, responderam aos comandos
instantaneamente. Porem na hora da execução da trajetória pré definida, onde o veículo
faz varias curvas , saindo varias vezes da visibilidade do transmissor, é necessário
determinar o tempo certo para transmitir um sinal pois pode ser que o veículo não capture
a informação.
No caso onde o veículo retira seu sensor optoeletrônco da visibilidade do sensor
do PC pode-se instalar um sistema que possa mover o sensor do veículo sempre quando
houver uma mudança na direção, ficando sempre direcionado ao sensor do PC.
Este sistema de comunicação infravermelha pode ser implementado em qualquer
chão de fabrica tranqüilamente para fazer um determinado serviço.
Mas é necessário tomar um cuidado maior na hora de implementação destes
dispositivos infravermelhos, pois como estão chegando no mercado agora ainda faltam
algumas informações da utilização do mesmo, por isso é extremamente necessário
pesquisar matérias que comentem a respeito do mesmo.
Pela várias pesquisas feitas no mundo da comunicação sem fio, viu-se que num
futuro próximo, serão raros os mecanismos eletrônicos interligados por algum tipo de fio.
34
9. BIBLIOGRAFIA
1 - Ferreira & Bento Ltda, Comando à distância RC5 personalizado, Elector
Eletrônica, Mais de 100 montagens e idéias, Artigo 60. Nº 151/152, Julho/Agosto de
1997
2 - Ferreira & Bento Ltda, Telecomando pó IV para PCs, Elector Eletrônica,
Nº 168, Dezembro de 1998
3 - Antonio Bredo de Alleluia, Optoeletrônica Aplicados a Sistemas de
Comunicação sem fio. Universidade do Estado do Rio de Janeiro, Faculdade de
Engenharia Elétrica.
4 - Kyle Conway, Kenneth Fazel, Walter Steverson and Joe Thompson, Infrared
Solutions Final Project Documentation, Mississippi State University, Department of
Electrical and Computer Engineering
5 - Páginas na Web:
- http://www.rnp.br/newsgen/9805/wireless.html#ng-ieee
- www.vishay .com/
- www.ieee.org.br/
- www.irda .org/