rf araba haberleşme sorunu

Başlatan Emre MERMİ, 11 Aralık 2014, 02:43:32

Emre MERMİ

merhaba arkadaşlar,

bir tane rf araba yapmaya çalışıyorum birkaç gündür uğraşmama rağmen çalıştıramadım. yaptığım aşamaları sizlere anlatacağım.  sorunun nerede olabileceği hakkında tahminlerinizi paylaşırsanız sevinirim.

ilk olarak devre simülasyonda sorunsuz çalışıyor. kodları ve çizim linki;

http://s3.dosya.tc/server29/E3qiCi/program.rar.html


yaptığım baskıların giriş ve çıkışlarını kontrol etmek için yazdığım programlar ;

http://s3.dosya.tc/server29/gpnX3t/Desktop.rar.html

bu programla yaptığım baskıları kontrol ediyorum PIC ler çalışıyor. motorları otomatik olarak kontrol ediyor veya butonlardan gelen bilgilere göre çıkış verebiliyor. Ama devrelere ilk verdiğim linkteki programları yükleyince hiçbir şekilde bir işlem yaptıramıyorum. rf modüller yerine devreler arası direk kablo atıp denedim yine olmadı. haberleşmede sorun yaşıyorum ama acaba sıkıntı nerede olabilir ?

bu hata hakkındaki değerli fikirlerinizi paylaşırsanız çok sevinirim.

Kabil ATICI

#1
Kesme içinde fazla yüklü işlem yaptırma  üstelik birde 5ms gecikme koyuyorsun.
Kesme içine girdin ve kesme iptal ettin, peki sen kesme içinde işlem yaparken bir kesme daha gelirse ne olur, sonuç veri kaybı. (programın kesme içine daha neler eklediğini bilmiyoruz).

Bunun için gönderici programda gönderdiğin değerler arasına biraz gecikme ekle.
kesme bölümünü kısa tut en fazla bir bayrak ekle ve kesme için ana döngün içine taşı.

Alıcıda değerlendirme bölümünde

e=getch();
if(e=='X')
 
{
bayrak1=1;
}


if bayrak==1)
{
if(e=='A')

{

output_high(pin_b0);
output_low(pin_b1);
output_high(pin_b2);
output_low(pin_b3);

}
...


şeklinde yaparsan daha iyi olur. Bu işi gecikme ile halletmeye çalışmışın verdiğin gecikmede  2. veri gelmesi yetişmeyebilir.
ambar7

tekosis

#2
uzaktan kumandalı araba için bu modüllerle sayısal haberleşme yerine şöyle bir sistem yapılsa sistem daha kararlı olur mu ne dersiniz?
1- hız ve ileri/geri bilgisi için sinyalin frekansı işlensin ki şöyle;
     a- 100hz 900hz arası frekanslar için ileri yönde %0 - %100 arasında hızlanma (100hz ve altı %0'a , 900hz %100 hıza denk gelsin)
     b- 1000hz 1900hz arası frekanslar için geri yönde %0 - %100 arasında hızlanma (1000hz %0'a , 1900hz %100 hıza denk gelsin)

2- sağ sol yön bilgisi için sinyalin görev / peryot oranı işlensin ;
    %50 düz gidecek
    %25 tam sol
    %75 tam sağ

farkındayım sayısal bilgiyi işlemek daha kolay ama bu sistemle uzaktan kumandalı arabalarda veri kaybı olmadan daha uzak mesafelerde haberleşme sanırım sağlıklı olarak yapılabilir.
İlim ilim bilmektir, ilim kendin bilmektir, sen kendin bilmezsin, bu nice okumaktır.

RaMu

Aynı ortamda birden çok kumandalı cihaz varsa ne olacak?
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

tekosis

işe yaramaz. ben fikir olarak diyorum bir de tek kullanıcı olduğu zaman mesafe artışına etkisi olur mu diye düşünüyorum.
İlim ilim bilmektir, ilim kendin bilmektir, sen kendin bilmezsin, bu nice okumaktır.

RaMu

Direk belli bir frekansda sinyal göndererek haberleşme imkansız denebilir,
ortamda o sinyal mevcut olabilir ki
bu çağda kesin mevcuttur.
Misal bahsettiğine benzer bir sistem ir led verici, tk19 alıcı sensör kullanarak
ir kumandalarda yaygın kullanılıyor
38kHz sinyal var yok esasına dayalı ama
oradada yine dijital haberleşme var
38kHz nin örneğin 500us var 750us yok durumu lojik1
250us var 1000us yok olması lojik0 ve start ve stop bit sürelemesi gibi bir protokol belirleniyor.

Analog haberleşmeden pek anlamam ama oradada
yine bir sinyal üzerine bindirilen bir bilgi oluyor
sinyalin frekansı veya genliği modüle ediliyor,
misal 100MHz de yayın yapan fm radyo vericisi
+0.25 ve -0.25 MHz de sinyalini frekans modülasyonuna tabi tutarak gönderiyor
alıcıda bunu demodüle ediyor(bu kısımdaki bilgim net değil)

Mesafe ortam koşulları sinyalin gücü ve frekansa bağlı başka değerlerde olabilir,
bir frekans havada x metre yol alabilirken,
aynı frekans suda y metre yol alabilir.

Birde şu kriter önemli
kullandığın band genişliği ve aktardığın veri miktarı orantısı,
gsm bandında ufak bir bandgenişliği için savaş bile çıkabilir :)

Belki arasan düşündüğüne yakın veya aynı şekilde bir haberleşme metodu uygulanmışda olabilir,
çok geniş bir alan ve benim ilgimi pek çekmiyor.

Tekrar belirteyim haberleşme konusunda
bilgim net değil, akılda birşeyler canlandırmak adına
hatırladığım kadarını yazdım, düzeltme gerekebilir.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

Emre MERMİ

çok teşekkür ediyorum hocam  değerli yanıtlarınız için. önerilerinizi ve verdiğiniz kodları deneyemedim cumartesi 2 sınavım olduğu için, en yakın zamanda deneyip sonuçlarını yazacağım.

bu arada kodları internetten bulmuştum rf araba deneyimim olmadığı için. eleman kodları çalıştırmış video çekmiş yaptığı arabayla .

Emre MERMİ

Alıntı yapılan: ambar7 - 11 Aralık 2014, 09:00:41
Kesme içinde fazla yüklü işlem yaptırma  üstelik birde 5ms gecikme koyuyorsun.
Kesme içine girdin ve kesme iptal ettin, peki sen kesme içinde işlem yaparken bir kesme daha gelirse ne olur, sonuç veri kaybı. (programın kesme içine daha neler eklediğini bilmiyoruz).

Bunun için gönderici programda gönderdiğin değerler arasına biraz gecikme ekle.
kesme bölümünü kısa tut en fazla bir bayrak ekle ve kesme için ana döngün içine taşı.

Alıcıda değerlendirme bölümünde

e=getch();
if(e=='X')
 
{
bayrak1=1;
}


if bayrak==1)
{
if(e=='A')

{

output_high(pin_b0);
output_low(pin_b1);
output_high(pin_b2);
output_low(pin_b3);

}
...


şeklinde yaparsan daha iyi olur. Bu işi gecikme ile halletmeye çalışmışın verdiğin gecikmede  2. veri gelmesi yetişmeyebilir.


hocam gönderdiğiniz kodları yakın düzenledim tüm kodları. kesme içinde sadece bayrak tanımladım main fonksiyonunda işlemleri yaptırdım bu sayede çalıştı devrem. arada hata veriyor kararsız durumlar ortaya çıkıyor biraz daha üzerinde oynayıp daha kararlı birşey elde etmeye çalışacağım. yardımınız için çok teşekkür ediyorum