17 Aralık 2012 Pazartesi

RF Alıcı / Verici modüllerle çalışmak


 RF Alıcı/Vericiler
Kısa mesafeli ve düşük hızlı kablosuz kontrollerde DORJI'nin modülleri oldukça kullanışlı.
Alıcı-verici modülleri sürmenin birkaç yolu var.

HT12E ve HT12D entegreleri ile 8 bit adreslenebilir verici-Alıcı yapabilirsiniz. HT12 dökümanlarında, uygulama örnekleri mevcut. Bu entegre doğrudan RF modüllere bağlanabilir ve fazla bir devre elemanı da gerektirmez.


Bu entegreleri kullanmak istemezseniz, herhangi bir PIC de kullanabilirsiniz.

Modüllerin PIC ile kullanımına ait basit bir 
örnek yapmak istersek;




Ben DORJI'nin modüllerini kullandım, benzer modüller piyasada kolaylıkla bulunabiliyor.
(Elimde daha önce almış olduğum Laipac firmasının TLP serisi modülleri, mesafe olarak dorji'nin modüllerinden 2-3 kat daha uzağa gidiyor.) genel olarak kodlama mantığı aynı. 

(Örnekler MicroPascal içindir)


Verici devresi:
Verici modülü PIC'in bir portuna bağlayın. (soft uart kullanıyoruz) Bu portu aşağıdaki şekilde tanımlayın.

Soft_Uart_Init(PORTA, 0, 1, 1200, 1); //PORTA.0 Rx (kullanılmıyor)
                                      //PORTA.1 Tx

                                      //1200 baud 
//eşzamanlama bilgisi
Soft_Uart_Write($AA); //10101010
Soft_Uart_Write($AA);
Soft_Uart_Write($AA);
Soft_Uart_Write($AA);
Soft_Uart_Write($AA);
Soft_Uart_Write($FF); //11111111
Soft_Uart_Write($FF);
Soft_Uart_Write($FF);
Soft_Uart_Write($FF);
Soft_Uart_Write($FF);
//data
Soft_Uart_Write(84);   //ascii T
Soft_Uart_Write(88);   //ascii X
Soft_Uart_Write(84);   //ascii T

Soft_Uart_Write(69);   //ascii E
Soft_Uart_Write(83);   //ascii S
Soft_Uart_Write(84);   //ascii T

Datadan önce eşleme bilgisini göndermek gerekiyor, sonra istediğiniz uzunlukta
data gönderebilirsiniz. Tek yönlü haberleşmede "data alındı" bilgisi alamayacağınızdan, periyodik olarak dataları göndermek daha iyi. Paketlerden biri kaybolsa da, diğeri ulaşacaktır. Paket gönderme arasındaki süreyi de deneyerek en aza indirebilirsiniz.

Preamble/senkron kullanımı konusunda nette detaylı bilgi bulabilirsiniz.
(bu konuda UDEA firmasının dökümanlarından da faydalanabilirsiniz. bakınız)

Alıcı devresi:
Alıcı modülü PIC'in bir portuna bağlayın.

Soft_Uart_Init(PORTA, 0, 1, 1200, 1); //PORTA.0 Rx

kontrol_byte1 := Soft_Uart_Read(err);
kontrol_byte2 := Soft_Uart_Read(err);


//T ve X dataları ard arda alınmışsa, 4 byte data al
if (kontrol_byte1 = 84) and (kontrol_byte2 = 88) then begin
   for i:=0 to 3 do    

      data[i] := Soft_Uart_Read(err);
end;


Ben kablosuz sıcaklık sensörü için bu şekilde kullanıyorum.
Verici modülde dikkat edilmesi gereken; anten devreye çok yakın ise, PIC'in RF sinyalinden etkilenmesi mümkün olabiliyor. Devreyi metal bir kutuya koyarak veya PIC'e ekranlama yaparak bunun önüne geçilebilir.

Modüllerin dökümanlarına, alttaki linklerden ulaşabilirsiniz.


http://www.dorji.com/docs/data/DRA887TX.pdf
http://www.dorji.com/docs/data/DRA887RX.pdf

Hiç yorum yok:

Yorum Gönder