Protótipo para transmissão de dados via RF
Transcrição
Protótipo para transmissão de dados via RF
Protótipo para transmissão de dados via RF Luis Augusto Spranger [email protected]; [email protected] 1. Introdução Em determinadas situações faz-se necessária a transmissão de dados entre dois dispositivos em um meio que não utilize contato físico (fios), para isso podemos utilizar várias outras técnicas, como o infravermelho ou ainda ondas de rádio. Existem no mercado módulos prontos que fazem a comunicação via rádio. Estes módulos podem ser adquiridos com freqüências de trabalho pré-definidas como: 315 Mhz, 418 Mhz e 433 Mhz (outros módulos podem trabalhar com freqüências diferentes). A sua modulação é AM (modulação de amplitude). Para estabelecer uma comunicação, é necessário um módulo de transmissão (TX) e ou de recepção (RX). 2.0 Módulos de TX e RX O módulo de transmissão é composto geralmente dos pinos de alimentação, entrada de dados e antena (figura 1). Figura 1 – Módulo de Transmissão (TX) O módulo de recepção geralmente dos pinos de alimentação, antena e duas saídas de dados uma digital e outra analógica, neste artigo será usada a saída digital (figura 2). Figura 2 – Módulo de recepção (RX) Por padrão a alimentação destes módulos é feita com 5V, mais detalhes também podem ser encontrados nas especificações dos módulos. 3.0 Principio de funcionamento Estes módulos não fazem a transmissão de dados diretamente na forma serial. Para uma grande quantidade de bits 0 ou 1 seguidos o os módulos perdem a comunicação. Para isso foi utilizada a modulação PWM, onde constantemente o módulo de transmissão esta transmitindo e o módulo de recepção recebe o sinal, com isso os módulos não perdem a comunicação. Por exemplo, para transmitir o byte 00101100 é colocado o seguinte sinal na entrada do módulo de TX (figura 3). Figura 3 – Sinal da transmissão do byte 00101100 O sinal alto com duração maior representa o início da transmissão de um byte, logo após são transmitidos os bits, o bit 0 tem um tempo de sinal alto menor que o bit 1, após cada bit transmitido e após o sinal de inicio de byte, existe um tempo t onde o sinal fica baixo. Na figura 4 os tempos dos três sinais podem ser comparados. Config Portd = Output $crystal = 4000000 $baud = 9600 Config Serialin = Buffered , Size = 32 Dim A As Byte Dim Batual As Byte Dim Conta As Integer L: Portd.6 = 1 A = Inkey() If A <> 0 Then Print Chr(a); For Conta = 0 To 1500 Next For Batual = 7 To 0 Step - 1 Portd.6 = 0 For Conta = 0 To 700 Next Portd.6 = 1 For Conta = 0 To 500 Next If A.batual = 0 Then Portd.6 = 0 End If For Conta = 0 To 500 Next Next Portd.6 = 0 For Conta = 0 To 700 Next Goto L Figura 4 – Comparação entre o tempo dos sinais. Programa para a recepção dos dados: Config Portb = Output Config Portd = Output 4. Implementação Para implementar o protótipo foram utilizados o microcontrolador 90S2313 da Atmel, e o software foi desenvolvido com a ferramenta BASCOM. O circuito elétrico do transmissor esta na figura 5, o do receptor na figura 6. Abaixo o programa que faz a transmissão dos dados: Config Portb = Output Config Pind.2 = Input $crystal = 4000000 $baud = 9600 Config Int0 = Rising On Int0 Int0_int Dim A As Byte Dim Batual As Byte Dim Conta As Integer A = 0 Batual = 7 Enable Interrupts Enable Int0 End If L: Volta1: Goto L Int0_int: If Batual = 0 Then If A <> 0 Then Print Chr(a); Goto Voltamarcainicio End If For Conta = 0 To 550 Next Batual = Batual - 1 If Pind.2 = 0 Then A.batual = 0 Goto Volta1 End If For Conta = 0 To 550 Next Return Voltamarcainicio: A = 0 Batual = 7 Return If Pind.2 = 0 Then A.batual = 1 Goto Volta1 End If For Conta = 0 To 450 Next If Pind.2 = 0 Then 5. Referencias bibliográficas Atmel – www.atmel.com BASCOM – www.mcselec.com Goto Voltamarcainicio Figura 5 - Esquema elétrico do transmissor Figura 6 - Esquema elétrico do receptor