çoklu rf iletişim

Başlatan styx75, 12 Nisan 2014, 08:58:51

styx75

selam..
sevgili arkadaşlar ve ete hocam,rf çoklu haberleşme ile master-slave ilişkisinin mantıgını anladım,benim aklıma gelen bir yöntem var acaba pratik bir uygulama olabilirmi..örnegin 4 noktadan sıcaklık bilgisini okuyup 4 farklı selonaid vana kumanda edecegiz,burda her bir verici sensör devresinin yazılımında random komutu ile bir değişkenin içine örnekolarak "sensörackapa" rastgele degerler atayıp,bu değişkenide "pause" cinsinden  rf vericinin aktif-pasif durumunda kullansak tabi bu sürekli bir döngü içerisinde olacak sizce olabilirmi.yani 4 sensöründe random değerleri sürekli değişiklik arz edeceginden çakışmalar çok azalacaktır ve sensörlerden gelecek bilgilerin hassas bir süreye ihtiyacı olmayacak yani yatkodasının bilgisinin 10 sn de gelmesi ile 3 dakikada gelmesi çok önemli değil en fazla selonaidler 3 dakika geç kapanır yada açılır.değerli görüşlerinizi bekliyorum
saygılar

ete

Ortada bir gerçek varki oda senin random komutunu hiç kullanmamış olman. Bu komut her 100 çalışmada en azından 20 kere aynı sayıyı yakalar. Random komutunun ellerine bırakılabilirmi bu iş kesinlikle çalışmaz.
Zaten asıl sorun aynı anda birden fazla vericinin açık olma ihtimalidir. İki verici aynı anda açık  ve bir şeyler vermeye çalışıyorsa hiç kimse bir şey almayacaktır. Sistemin tam emniyetle çalışabilmesi için kesinlikle bir yönetici protokolü uygulanması gerekir.
Yönetici sıra belirler ve o sıra dahilinde her kes işini yapar kimse kimse ile çakışmaz. Başka ve özellikle tesadüflere bırakılmış çözümler aramaya gerek varmı?
Bence yok. Var diyorsan yapıp denemelisin.  Zaten bir müddet sonra sende bu iş böyle olmaz diyeceksin.

Ete

styx75

evet hocam randomu hiç kullanmadım .budurum aklıma takıldı ondan dolayı size sordum tecrübe önemli  :)

styx75

hocam bir sorum daha olacak dahili eeproma yazma ve okumanın bir sınırı varmı bir forumda sanki belirli bir yazma sayısından sonra eeprom kullanılamz diye okumuştum

ete

Okumada sınır yok ama yazma sınırı 1.000.000 kere deniliyor. Gerçekte bu değerden daha aşağılarda epromun bozulduğunu gördüm.
Sen onu 800.000 kabul et.
Çokmuş  gibi  geliyor. Bazı acemiler normal program döngüsü içine kontrolsüz olarak eproma yazma emri koyuyorlar.
Arada sadece 10ms lik bir gecikme koyulduğu zaman program, Bir saniyede
1000/10= 100  defa eproma kayıt alıyor demektir.
1 dakikada yapılan yazma işlem adedi ise 100 x 60 = 6000 kayıt oluyor. 10 dakika sonra bu 60.000 kayıta ulaşıyor ve yaklaşık 140 dakika sonra yani 2 saat 10 dakika sonra eprom ölüyor maalesef.

Ete

styx75

evet hocam tam kanayan noktaya parmak bastınız gene  :) ..bende yazmayla ilgili bir sınır var ise program döngüsünün dışında tutulmalı diye düşünüyordumki sizin cevabınız geldi ..iyi ki varsınız
saygılar..

İlyas KAYA

Ek olarak; Eğer sürekli yazma ve silme işlemi yapacaksanız SD MMC kart modülü kullanabilirsiniz.
İnternette çok sayıda PIC ile SD MMC kart okuma yazma uygulamaları mevcud.

Hem hafıza sorununa da çözüm bulmuş olursunuz.
Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

styx75

cevaplar için teşekkür ederim
bugün breadbroad üzerinde  hafızası tamamen boş ol 16f628a nın çektiği akımı ölçtüm 24ma gösteriyor boşta çalışan bir pic bukadar akım çekermi..

ete

çekmez.
Muhtemelen mefta olmuştur.

Ete

styx75

ete hocam bu eeproma yazma netleşti ,,ama aklıma takılan birde bu kesmelerde yada diğer register tanımlarında sınır varmı örnegin kesme den sonra o kesmeye ait bayrak bitini tekrar kurmak gibi

ete

Sorduklarından bir şey anlamadım.
Ete

styx75

 :) pardon hocam evet çok karmaşık olmuş..sormak istdigim dahili epproma kaç defa veri yazılır diye sormuştum sizde 1.000.000 defa sen onu 800.000 gibi kabul et demiştiniz..aynı sınır kesme oldugu zaman kesmeden çıkarken örnek olarak  RBIF=0 yapıp çıkıyoruz kesme oldugunda  tekrar rbıf=1 oluyor sonuçda buda bir registere yazma ve tekrar silme bununla ilgili sınır varmı diye sormuştum..yada sormaya çalıştım  :D
ayrıca hocam şu kodlara bir göz atarmısınız ,sleep modundan işlemci çıkmıyor..
@ DEVICE PIC16F628A                                                      
@ DEVICE PIC16F628A, WDT_OFF       
@ DEVICE PIC16F628A, PWRT_ON             
@ DEVICE PIC16F628A, PROTECT_OFF         
@ DEVICE PIC16F628A, MCLR_OFF             
@ DEVICE PIC16F628A, INTRC_OSC_NOCLKOUT

OPTION_REG.7 = 1
CMCON=7   
TRISA=%00000000
TRISB=%00000000 
PORTB=0
BASLA:
pause 200   
HIGH PORTB.0
pause 200
LOW PORTB.0
sleep 2
GOTO BASLA
END

tamamen alıştırma içindir hocam

ete

#12
İşlemciyi Sleep modundan çıkaran eleman WDT dır. O nedenle Sigorta ayarlarında WDT_ON yapmalısın.
Yazma sınırlaması tamamen Flash tipi (bir kere yazıldımı enerjisi kesilse bile içeriği değişmeyen ) hafızalar için geçerlidir.
Diğerleri zaten voltaj ile bilgiyi tuttukları için onlarda sınır yoktur. Enerji kesilince hepsi sıfırlanıyor zaten.

Ete

Powered by EzPortal