Hazır Elciğe Alıcısı Yapma!

Başlatan emayer, 21 Eylül 2013, 20:40:21

emayer

Arkadaşlar öncelikle herkeze kolay gelsin diyorum ve sorunumu anlatmaya başlıyorum.

http://www.direnc.net/4-KANAL-RF-ELCIK-KUMANDAMETAL-433MHZ,PR-13216.html
Linkteki elciği aldım ve buna uygun alıcı devresi yapmak istiyorum. Öncelikle kendi bilgilerime dayanaraktan içini açtım ve entegresine baktım. İçinde LX2260-R4 entegresi var. Daha sonra datasheetini indirdim (ekte var). Buradan okuduğum bilgilere göre PT2272-m4 ve l4 entegrelerini aldım devrelerini kurdum fakat bir sonuç alamadım. Verici devrede takip ettim ve OSC pininde 12M luk bir direnç var alıcı kısmında ben buna karşılık hangi direnci seçmeliyim ? Çünkü sorun bundan kaynaklanıyor gibime geldi. Not: A0..-A7 ayaklarıda boşta olduğu için alıcıda da boşta bıratım.

ete

Elcik için bir alıcı yapmak için önce 433 Mhz lik bir alıcı alman gerekecek.
http://www.direnc.net/STANDART-RF-SENSORLER,LA_216-2.html#labels=216-2
Daha sonra  PT2272 alman gerekecek ama yapacağın alıcının önce tipine karar vermen gerekiyor.
Elcikte butona basınca alıcıda bir çıkışın butona bastığın süre aktif olup butonu bırakınca kapanmasını istiyorsan PT2272-M4 entegresini alman gerekiyor.
Elcik butonuna bir kere basınca karşılık gelen  çıkışın aktif olması ve butonu bıraksan bile aktif olmaya devam etmesini butona tekrar basıp bırakınca çıkışın kapanmasını (toggle çalışma) istiyorsan PT2272-L4 entegresini alman gerekiyor.
Elcikte muhtemelen PT2260 yada 62 olması gerek. Bu entegreyi bulup osc bacağında hangi direncin takılı olduğuna bakacaksın. Sonra o direnç değerine karşılık PT2272 osc bacağında hangi direncin olması gerektiğini datasheet den öğrenip uygun direnci entegreye bağlayacaksın.
Elcik şifre ve adres bacaklarının kombinasyonuna bakacaksın. Aynı kombinasyonu 2272 yede vereceksin. Yalnızca elcikte butonlara karşılık gelen uçları çıkış olarak kullanarak sistemini kuracaksın.
Kabaca anlattım ama gerçek şemayı pt entegresi data sheetlerinde bulabilirsin.
Takıldığın yerde sorarsın yeniden.
Ete

emayer

Hocam 433MHz'lik alıcılardan elimde birkaçtane var. Ben devreyi sizin derslerinizde ki şemaya göre kurudm. Elimde PT2272-M4 var. ona kurdum. Sonra vericide ki adres bacaklarının hepsi boşta - ve + ya bağlanmak üzere yer yağılmış ama lehimleme olmamış o yüzden bende uğraşmamak için kurduğum alıcı devresinde boş bıraktım. Vericide takip ettim ve OSC pininde 12M luk bir direnç var fakat datasheet te malesef  öyle bir OSC direnç karşılığı yok ekte vermiştim zahmet olmazsa bi inceleyebilirmisiniz acaba benim atladığım biryer mi var ?

ete

Öncelikle elciğe mutlaka şifre verin. Bacakların boşta kalmış olası iyi bir şey değil.
Aynı şifreyi PT2272 ye de verin. Madem elcikte 12 M direnç var o zaman  pt2272 ye 1M8 veya 2M2 bağlayarak deneyin. Tutmuyor ise 1M5 deneyin birisi tutacaktır mutlaka.
Ete

emayer

Tamam hocam dediğiniz dirençleri yarın temin edip deniyecem sonucu bildiririm hayırlı geçeler.

ete

Hiç PT2272 kullanmadan bir Pic ile elcikten yollanan şifreli sinyalin yada buton komutlarının alınabileceğini unutma.
Bir 16F628 işlemci aynen bir PT2272 gibi davranabilir. Bütün mesele gelen sinyalleri algılayıp ayıklamaktır.
Bunu yapabilmek için öncelikle Pic'e şifre öğretilmeli yada değişmeyecek ise bir kereliğine programa şifre bilgisi girilmelidir.
Böylece 16F628 in istenilen bacakları çıkış yapılarak elcikten basılan buton karşılığında istenilen çıkış aktif edilebilir.
Bütün bunları böyle bir sistemi yaptığım için söyleyebiliyorum.  Hemen nasıl olabilirki dediğini duyar gibi oluyorum.
İzah etmeye çalışayım.
Öncelikle elcikte yer alan PT serisi entegre şifre bilgisini nasıl yolluyor ona bir göz atalım.
OSC bacağına bağlanan direnç çalışma frekansını belirliyor. Bu frekansta oluşan bir puls (bir HIGH ve bir LOW birlikte bir puls ediyor) süresi yollanan sinyalde etkin rol oynuyor. Bu süreye "Tick" diyelim. Şimdi sinyallere bakalım.
LOW sinyali  4 adet tick HIGH + 12 Tick LOW + 4 Tick HIGH +12 Tick LOW sinyali bir adet LOW bilgisini oluşturuyor.
BU ne demek. Şifre bacaklarından birini GND ye bağlamış isen onun bilgisi yukarıda anlattığım LOW bilgisi olarak yollanıyor.
HIGH Sinyali ise 12 Tick HIGH + 4 Tick LOW + 12 Tick HIGH + 4 Tick LOW sinyalinden oluşuyor bunada HIGH bilgisi diyoruz. Buda şifre bacakların danbirisi +12V ta bağlanmış ise buna ait bilgi HIGH bilgisi olarak yollanıyor.
Birde boşta bırakılan bacaklar varki bunların bilgisi "Z" olarak adlandırılıyor. Bir Z bilgisi;LOW bilgisinin yarısı ile HIGH bilgisinin bir yarısı toplanarak Z bilgisini oluşturuyor.
Elcikte butona basılınca ne oluyor ona bakalım.
Öncelikle entegre hemen bir senron sinyali oluşturuyor. Bu, 4 tick uzunluğunda HIGH ve peşinde 127 tick uzunluğunda LOW sinyali şeklinde veriliyor. Sonra bunun peşine şifre datalarını ekliyor. Şifre datası dediğimiz şey ise;
8 adet adress (şifre bitleri) + 4 adet data (buton konumları) şeklinde oluşturuluyor. Buton konumları tarafı HIGH Byte tarafı oluyor. High byte dan başlamak üzere senkronun peşinde bu bilgileri ekleyip yukarıda açıklanan sinyal şekli ile vericiden dışarı yollanıyor bu bilgi.

Şimdi geçelim alıcı tarafına alıcı bunları alıyor ve PT2272 ye iletiyor. O senkron frekansta çalıştırğı için gelen bilgiyi süzüp şifre bilgisi ile data bilgisini ayırıyor ve şifre kendi bacaklarındaki şifre bilgisi ile karşılaştırıyor ve tutuyor ise Data bilgisini kendi data bacaklarına aynen veriyor. Böylece HIGH olan data bacakları dışarı HIGH olarak yansıyor. Olay budur.
Şimdi Pic ile bu nasıl okunur onu izah edeyim.
Sinyal okumalarında temel kriter senkron sinyalinin yakalanmasıdır. Önce bu sinyali (kısa bir HIGH ve Uzun bir LOW) yakalayıp ardından gelenlerin okunması gerekir. Ardından gelenlerin ise hepsini okumak gerekmiyor. Dikkat ederseniz LOW - HIGH bilgileri bir birinin ikizi 2 şer bit den oluşuyor. O halde biz yalnızca birine bakmalıyız. Burada da etkin rol oynayacak bit ikinci sıradaki bit oluyor. LOW bilgisinde bu 12 Tick uzunluğunda LOW , HIGH bilgisinde bu  4 tick uzunluğunda LOW olarak karşımıza çıkıyor.  "Z"  bilgisi olmasa yalnızca bu ikinci bite bakarak bu işi çözebilirdik. Ancak dikkat edilirse LOW ile Z bilgisine ait 2. bitler bir birinin aynısıdır. Tek fark ikinci bölümdeki 2. bitlerdir. LOW da bu yine uzun bir LOW Z de ise Kısa bir LOW dur.
O halde ikinci parçadaki ikinci bitleride okumak gerekiyor.
Şİimdi işin bir şifre öğrenme safhası olması gerektiğini söylemiş idik. BU safhada elcikten gelen sinyallarin hepsi alınarak yaklaşık 1 sn lik süre içinde gelen ne kadar LOW sinyali var ise hepsi süre olarak okunup eproma kayıt edilir. Kayıt edilmeden önce sıraya sokulmaları gerekir. Önce en uzun olanı (senkron biti) sonra orta uzunlukta olanı (12 Tick) ve sonunda kısa olanı (4 Tic) uzunluğundaki sinyaller eproma kayıt edilir.
Bu işlemden sonra gelen şifre bilgisi aşağıdaki sıra ile alınıp değerlendirilir.
- Önce low sinyali beklenir yakalanırsa Senkron uzunluğundamı bakılır. Değilse bir sonraki alınır. Senkron ise bir sonraki aşamaya geçilir.
- Yenidenbir LOW beklenir (ilk bit daima HIGH olduğu için ikinci bit LOW olduğundan low bekliyoruz) süre bazında alınıp kayıt edilir. Kayıt işlemlerinde dizi değişkeni kullanılırsa kısa bir döngü ile bu iş kolaylıkla halledilir.
- Sonra yeniden bir LOW beklenir ve BU beklenen de sinyalin ikinci parçasındaki LOW olacaktır. Buda süre bazında kayıt edilir.
Şimdi şöyle bir bakar isek, Her bir bit için 2 kayıt aldık. gelecek 12 tane bit olduğu için topğlamda 24 kayıt almış olmamız gerekir.
Şimdi bu kayıtları değerlendirerek şifre ve data bitlerini tespit edeceğiz.
Kayıt-0 ve kayıt-1 süre olarak eşitler ise (bir iki sayılık farklar göz ardı edilmelidir) ve süre olarak 12tick boyuna uyuyor ise bu bit LOW dur.
İki süre eşit ve 4 tick boyuna uyuyor ise bu bit HIGH dır. İki kayıt eşit değil ise bu bit Z bitidir.

Bu sorgulama şekli ile 24 kayıt sorgulanarak şifre ve data bitleri tespit edilip şifre bilgisi eproma kayıt edilir.
Bu işlem 4 ayrı buton için ayrı ayrı yapılmalıdır.

Sonra çalışma modunda gelen bilgi alınıp hafızadaki şifre bilgileri ile karşılaştırılır uyan var ise yada hangisi uyuyor ise ona ait çıkış aktive edilir.

ELbette burada işin prensibini anlattım. Biraz programlama bilgisi olan birisi bunları uygulayıp şifreleri pic'e okutturabilir.
KOlay bir iş değil ama imkansız da değil. BU akılları biri bana daha önce verse idi ben işi 10 dakikada çözerdim.Bunları yapabilmek için günlerce uğraştığımı söyleyebilirim.

KOlay Gelsin
Ete



emayer

Hocam dediğiniz gibi vericideki A0-A7 arasını komple HIGH ladım ve vericide de aynı şekilde konumlandırdım. Dediğiniz direnç değerlerinide denedim fakat malesef sonuç alamadım. Şimdi bide Pot ile ayarlıyarak deniyeceğim sonuç alırsam ne ala alamazsam mecburen Pic ile yapmaya çalışacağım.

hasanb

ETE Hocam'a
öncelikle en içten dileklerimle kurban bayramınızı kutlarım.
hocam cevapınız için cok teşşekkür ederim ama benim pek fazla pic programlama bilgim yok.sizin  14 dersin 10 yada 12 sini tek başıma sizin sayenizde  kodlarını yazarak yapabilirim.Diğerleri biraz daha professiyonele giriyor.şimdi anllatılan konuyu 2 kez okudum biraz bir şeyler anlaya bildim, sanırım anlamama nedenim diğer konulara fazlaca hakim olamamak olsa gerek. bunu yapmaya calışacağım ancak bazı eksiklikler var sanırım konuları bastan kontrol ederek birdaha gözden geçireceğim.

emayer hocam
kurban bayramınız kutlu olsun.

benim bilgiğim piyasada çok yaygın olarak kullanılan 2 tip kumanda var.bunların pt2272-m4 alıcısına kullanılan osc direnci
1. 180k ile 270k arası ,tavsiyem 270k
2. 720k ile 870k arası .tavsiyem 820k veya 870k
kullanırsanız pt2262-m4 ile pt2272-m4 büyük ihtimal haberleşecektir.
başarılar.

emayer

Hocam tekrardan merhabalar. Yeni boşa çıktım ve bugün okula gidip elimde ki elciğin çıkışını osilaskoba bağlayıp ürettiği sinyali gözlemleyip resimlerini çektim. Aynı zamanda frekansına falan baktım. Aşağıda da koydum fakat biraz kafam karıştı neden derseniz sinyalin başında 14 adet HİGH var fakat 8 adet adres biti var ve ben bunların hepsini High lamıştım. Sonra aradaki full low kısım var bu nereden çıktı? anlattıklarınıza göre burayı yorumlıyamadım. Eğer yanlış anlamadıysam şimdi bir pic ile alıcı yapmaya kalksam RB0 a giriş versem ve kesmeyi açsam.Sonra bu resimlere göre 2.56ms'de bir örnek alsam kaçtane örnek almam lazım ki tam olarak doğru bir dizi elde edeyim ve karşılaştırma yapayım ?

İlyas KAYA

#9
Sayın Emayer ; Hemen hemen her hazır kumanda da farklı değerler alabilirsiniz. Örnekleme süresi olarak ele almanız yanlış olur. Kumanda içerisindeki PT2260 veya PT2262 entegresinin OSC direncine göre bu süreler değişiyor.

Sizin 2.56 olarak gördüğünüz aralık pil zayıfladıkca yada OSC direnci değiştikce farklı olacaktır.

Bunun yerine önce 38 ms lik Senkron 'u yakalayıp gelen tüm bitleri bir değişkene atamalısınız.
Her bit için 2 tane pals göreceksiniz.

Yani 8 bit adress ve 4 bit data var ise toplam 16+8 = 24 pals yakalamanız gerekir.
Daha sonra aşağıdaki tablodaki gibi bu palslerin low veya high olmasına göre yorumlamalısınız.



Bir tane PULSIN komutu ile bu işi çözebilirsiniz.

İlk senkron bitini yakalayacak örnek kodu vereyim.


DEFINE PULSIN_MAX 1500 '4 MHZ OSİLATÖRE GÖRE PALS 1500


Tekrar:


PULSIN port,0,deger


IF deger=0 THEN      'pals yoksa

ADRESS=0
GOTO TEKRAR      ' Tekrar bak
    ENDIF


    IF  DEGER < 280 THEN       'senkron pulsi normalde 38ms. Fakat biraz daha düşük yaparsak daha rahat okuyor
    ADRESS=0
    GOTO TEKRAR
    ENDIF

'Bu satırdan sonra artık datalar gelecektir.
Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

emayer

Sayın İlyas KAYA yorumunuz için çok teşekkürler. elimdeki elciğin osc direnci 120mohm olması zaten bi enteresan geldi. O yüzden bu kumandaya has bi değer o fakat dediğinizi anladım. En kısa zamanda dediğiniz şekilde denemeye çalışacağım. Kolay Gelsin.

efehurkan

#11
Merhaba, resimlerini eklemiş olduğum 433MHZ alıcılardan yeşil renkte olanı PT2272-M4 ile çalıştıramadım bir türlü, fakat sarı renkli olan alıcı çalışıyor, tecrübesi olan arkadaşlardan yardımlarını rica ederim. Verici olarak hazır elcik kumanda (PT2260) kullanmaktayım

İlyas KAYA

Sayın hurcan ; Eğer modülün birinde çalışıpta diğerinde çalışmıyorsa 3 seçenek var.

1- Modül 'ün frekansı 433 değil 433.92 yani 434 'e ayarlıdır.
2- Bazı alıcılarda 2 data çıkışı oluyor siz yanlış data çıkışına bağlamış olabilirsiniz.
3- Modül arızalıdır. (denemek için data çıkışına osilaskop bağlayın yada ölçü aleti ile kumandaya basıkken ve basmadan önceki voltajı okuyun)
Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

efehurkan

Teşekkürler İLYAS bey, hatam yazdığınız 2. maddede yazmış olduğunuz gibi 433MHZ alıcı modülün 2 data çıkışı varmış, ben iki data çıkışınıda PT 2272-M4 de bağlantı yapmıştım, 3 nolu pini (Linear Out)  çıkışı boşta bıraktım ve normal çalışmaya başladı.

efehurkan

Resmini eklediğim alıcıya hazır elcikler tanıtılabiliyor (PT2260), pic12f629 ile yapılmış, alıcının üzerindeki butona 3 sn basınca öğrenme moduna geçiyor, 6sn basılı tutunca öğrenmiş olduğu kumandaları siliniyor, PT2272 kullanılmadan nasıl yapılabiliyor, bilgisi olan arkasların yardımlarını rica ederim.

Powered by EzPortal