| Yazar | Mesaj |
roberto | | Tarih: 08.11.2006, 21:18 Mesaj konusu: 433 MHz alıcı verici | |
| Merhaba arkadaşlar benim öğrenmek istediğim bir şey var seri porttan pic16F84 ü kontrol ediyorum şimdilik 3 adet led açma kapama yapıyor A1 ve A0 komutlarıyla.
elimde 1 adet alıcı ve verici 433 MHz devre var . Comporttan gelen datayı vericiye girip alıcıdaki data out ucunuda pic e bağladım fakat kablosuz olarak çalıştıramadım .Alıcı ve verici Devreler çalışıyor yeni aldım mesafede çok yakın masa üzerinde çalışıyorum 1 metre civarında .Sorun ne olabilir acaba?
-----------------------------------------------------
|
|
roberto | | Tarih: 12.11.2006, 23:33 Mesaj konusu: | |
| arkadaşlar bu konuda çalışması olan yokmu? :(
|
|
scream | | Tarih: 12.11.2006, 23:53 Mesaj konusu: | |
| Slm,
433MHz alıcı-verici çiftini senin dediğin gibi kullandım. Sanırım udea'dan aldın ürünleri. Datasheet'leri ve
örnekleri incelediysen senkronizasyon bilgisi ve kontrol bilgisi gibi veriler göndermen gerekiyor.
Bunları yaptın mı acaba!
|
|
roberto | | Tarih: 13.11.2006, 00:13 Mesaj konusu: | |
| scream yazmış: Slm,
433MHz alıcı-verici çiftini senin dediğin gibi kullandım. Sanırım udea'dan aldın ürünleri. Datasheet'leri ve
örnekleri incelediysen senkronizasyon bilgisi ve kontrol bilgisi gibi veriler göndermen gerekiyor.
Bunları yaptın mı acaba!
Merhaba öncelikle konuya ilginizden ötürü teşekkürler.
Ben sadece verici kısmına PC den gelen RS 232 TX data ucunu bağladım alıcının data out ucunada PİC gönderdiğim data yı bağladım sonuç olumsuz. Fakat Alıcı devredeki data out kısmına bir adet led lamba bağladım PC den her data gönderdiğimde alıcı uçtaki led lamba işaret veriyor yani alıcı verici çalışıyor. Galiba araya kontrol bilgisi içeren yazılım veya devre lazım veya encoder decoder gibi bu konuda hiç bilgim yok bana yardımcı olabilirmisiniz.... teşekkürler
|
|
scream | | Tarih: 13.11.2006, 11:47 Mesaj konusu: örnek | |
| verici kısmı gönderme algoritması
void gon(int s)
{
for(i=0;i<5;i++)putc(0x55);
for(i=0;i<5;i++)putc(0x00); putc()---> komutu seri porta ilgili bilgiyi gönderiyor
for(i=0;i<5;i++)putc(0xff);
putc(s);
delay_ms(200); gecikme, yapılmayadabilir
return;
}
------------------------------------------
alıcı kısmı
for(;;)
{
senk=0;
while(senk<5)
{
if(gelen==0x00)senk++;
}
senk=0;
while(senk<5)
{
if(gelen==0xff)senk++;
}
delay_ms(30);
kon=gelen;
switch(kon)
{
case 0xaa:don(180);break;
case 0xac:don(-180);break;
case 0xca:don(90);break;
case 0x66:output_d(0x03);break;
case 0x6a:output_d(0x0c);break;
case 0xa6:output_d(0x0a);break;
}
}
|
|
ibrsel | | Tarih: 13.11.2006, 13:36 Mesaj konusu: | |
| C den anlamıyorum fakat,Seri iletişim yaparken dikkat etmen gereken bir kaç önemli husus var..
1) Bilgisayardan gönderdiğin bilginin baud hızı ile pic li devrendeki alıcının baud hızı eşit olmalı.
2) 4MHz kristal kullanıyor isen 9600 bauddan fazla baud hızı kullanma
3) Alıcı devrenin programında seri iletişim için gerekli olan inc. dosyaları eklemeyi unutma..
4) Gelen bilgiyi C de seribilgiyi okumak için gerekli komutu kullanmalısın.. Önce seri bilgiyi alıp sonra if ile kontrol etmelisin..
...
|
|
patan_mustafa | | Tarih: 15.11.2006, 22:55 Mesaj konusu: | |
| @ scream
Teşekkürler scream.....
|
|
Bin_Hazad | | Tarih: 03.03.2008, 06:59 Mesaj konusu: | |
| ibrsel yazmış: C den anlamıyorum fakat,Seri iletişim yaparken dikkat etmen gereken bir kaç önemli husus var..
1) Bilgisayardan gönderdiğin bilginin baud hızı ile pic li devrendeki alıcının baud hızı eşit olmalı.
2) 4MHz kristal kullanıyor isen 9600 bauddan fazla baud hızı kullanma
3) Alıcı devrenin programında seri iletişim için gerekli olan inc. dosyaları eklemeyi unutma..
4) Gelen bilgiyi C de seribilgiyi okumak için gerekli komutu kullanmalısın.. Önce seri bilgiyi alıp sonra if ile kontrol etmelisin..
...
Selam arkadasım.
verdıgın bılgıler ısıgında sana bırkac soru sormak sıtıyorum.
band genıslıklerı aynı olması gerekıyor bunu bılıyorum fakat neden 4 mhz bır osilatorde 9.6 mhz bır alıcı frekansı kullanıyorsun yanı esıt olması gereklı ama soledıge gore esıt deıl, bu aslında bellı aralıklar ıcın mı gecerlı?
|
|
TigerX | | Tarih: 05.03.2008, 18:40 Mesaj konusu: | |
| Sanırım burada bir yanlış anlama var...
Arkadaşımız 4 Mhz. Osilatör derken PIC için pulse kaynağından bahsediyor ve 9600 derken (siz sorunuzda 9.6 mhz. yazmışsınız, bu olamaz) de seri iletişim için kullanılan bit/sec oranından bahsediyor. Yani her bit başına geçen zaman.
9600 baud = 9600 bits/sec demek olduğuna göre;
1 bit = 104 microsaniye kadar zamana karşılık gelir.
Bundan bağımsız olarak ben 434 Alıcı verilerle ilgili olarak şunu söyleyebilirim.
Zaten datasheet 'dede 2400 baud 'dan fazlasını kullanmayın diyor. Ortalama 300 veya 600 baud oranları iyi netice vermektedirler. Ben kendi denemelrimde 2400 baud 'a kadar bilgi göndermeyi test ettim ama en yüksek ve doğru neticeyi 1200 baud oranında buldum. Baud arttıkça hatalı bilgi alımı oluyor.
300 Baud ile yaklaşık 150 mt. kapalı alanda doğru haberleşme yaptım. Gönderilen veri uzunluğu 5-6 byte kadardı. Anten 20 cm kadar. Besleme voltajı 5 volt ama bu arttırılabiliyor ve bu şekilde mesafa de artacaktır. Fakat ben denemedim.
UDEA 'nın yolladığı dökümandaki programı yazınca, ben çalıştıramadım. Ben CCS C kullanıyorum, onlar sanırım PIC-C kullanmışlar. Önce 1-1 ccs c ye çevirdim yine olmadı. Bu nedenle ben de kendi kodlarımı yazdım ve çok güzel netice aldım. Hazır olan her zaman iyi netice vermiyor.
İlgilenen olursa deneme devresini ve kodları buradan yayınlayabiirm.
Selamlar...
|
|
seko1001 | | Tarih: 05.03.2008, 18:46 Mesaj konusu: | |
| TigerX yazmış:
UDEA 'nın yolladığı dökümandaki programı yazınca, ben çalıştıramadım. Ben CCS C kullanıyorum, onlar sanırım PIC-C kullanmışlar. Önce 1-1 ccs c ye çevirdim yine olmadı. Bu nedenle ben de kendi kodlarımı yazdım ve çok güzel netice aldım. Hazır olan her zaman iyi netice vermiyor.
İlgilenen olursa deneme devresini ve kodları buradan yayınlayabiirm.
Selamlar...
bende CCS C kullanıyorum genelde.
eklersen memnun olurum.
teşekkürler.
kolay gelsin. :)
|
|
|