Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: onertan - 15 Nisan 2021, 23:13:16

Başlık: 38kHz sinyal
Gönderen: onertan - 15 Nisan 2021, 23:13:16
Merhaba arkadaşlar,
IR sinyal iletici devre üzerine çalışıyorum. Nec protokolüyle IR sinyali, 38kHz taşıyıcı üzerinde iletilir deniyor. Bununla ilgili birçok örnek te var ama kafamı karıştıran bir nokta;  bu 38kHz i 20mHz kristal kullanırsam hangi hesaplama ile oluşturabilirim. 20Mhz kristal kullanırsam nasıl bir hesap yapmalıyım, 8Mhz kristal kullanırsam nasıl bir hesaplama yapmalıyım? Bu konuda kafam çok karıştı. Yardımcı olursanız sevinirim. 
Teşekkür ederim
Başlık: Ynt: 38kHz sinyal
Gönderen: z - 17 Nisan 2021, 11:00:46
20x10^6 / 38 x 10^3 = 526  20x10^6/526 = 38023Hz

Demekki 20 Mhz toplamda 526'ya bolunecek.

526 pis bir sayi (2nin tam kati degil) 512 ye bolersen 20x10^6/512=39062 Hz

8 Mhz icin

8x10^6/38x10^3=210

8x10^6/210=38095Hz

210 sayisi tumden kotu en yakin 256 bolucu kullansan

8x10^6/256=31250Hz.

Ya bunlara razi olacaksin ya da hesaplanan bolme degerinde bolucu tasarlayacaksin.


Başlık: Ynt: 38kHz sinyal
Gönderen: Sozuak - 17 Nisan 2021, 13:17:52
Alıcı ile vericinin taşıyıcısı eşit olsun yeter neden ille 38khz şart mı. Genel maksatlı uyumlu olması gerekiyorsa tamam ama alıcı verici kendine özgü ise gerek yok.
Başlık: Ynt: 38kHz sinyal
Gönderen: OG - 17 Nisan 2021, 16:45:53
TSOP tarzı alıcılar bazı frekanslarda (38, 40, 42 gibi) standartlaşmış,
bunlar kullanılacaksa frekansa uymak zorundasınız,
aksi taktirde alış hassasiyeti çok düşer veya sıfırlanır.

Bu alıcıları kullanmak zorundamıyız?
birçok filtre, amplifikasyon vs tek kılıfda ucuza sunulmuş
(TSOPxxx nispeten pahalı, ucuz olan uzakdoğu ürünler var)
Başlık: Ynt: 38kHz sinyal
Gönderen: fide - 17 Nisan 2021, 17:22:26
mcp2120 yi araştırın
Başlık: Ynt: 38kHz sinyal
Gönderen: ete - 17 Nisan 2021, 18:30:03
Bu sinyali nasıl üreteceğiniz önemli. 20Mhz kristali bir işlemciyi çalıştırmak için kullanacak iseniz işiniz kolay olabilir. İşlemciniz bir Pic işlemci ise HPWM pininden bu sinyali çıkartmanız mümkün.
Mesajınızda fazla detay yok. Bu sinyali HPWM sinyali üreterek de bir pic pininden çıkartabilirsiniz.
Bunun için T2CON= %00000100 , PR2=131 ve Duty değeri olarak da 264 verdinizmi ayarlamanız tamamdır.
Ayrıca CCP1CON=%00001100 değerini verin. Böylece CCP1 çıkış pininden %50 duty değerine sahip 38Khz lik çıkışı alabilirsiniz. Çıkış almak yetmeyecek buna data sinyalini bir AND kapısı kullanarak ayrıca bindirmeniz gerekecektir. İşin temelinde IR lede gönderilen sinyal de HIGH süresi kadar 38Khz lik sinyal ve LOW siresi kadar GND verilmesi gerekir. Bu işide and kapısı size sağlar.

Ete

Başlık: Ynt: 38kHz sinyal
Gönderen: OG - 17 Nisan 2021, 20:41:07
Alıntı YapÇıkış almak yetmeyecek buna data sinyalini bir AND kapısı kullanarak ayrıca bindirmeniz gerekecektir.

bu AND işlemini alttaki gibi yapıyorum,
2 komut süresine maloluyor

PORTB.6 = 0

TRISB.6 = 0  ' port çıkış
PORTB.6 = 0  ' port 0, ( AND işleminin 0 çıkış hali)

IR gitsin istediğim anda
TRISB.6 = 1  ' port giriş (IR led göndermeye başladı, AND işleminin IR ye yani hpwm'e tabi olduğu durum )

PORTB.6 bir örnektir, başka bir port da olabilir.



(https://i.ibb.co/G5kFyWg/IR.jpg) (https://ibb.co/vjmDp32)
Başlık: Ynt: 38kHz sinyal
Gönderen: mr.engineer - 17 Nisan 2021, 21:04:21
Bu devreyi zamanında biz de yapmıştık. Burada zor olan alıcı taraftı. Günlerce transimpedance devresini kuramaya çalışmıştık:) Doğru opampı seçemeyince zor olmuştu:)
Başlık: Ynt: 38kHz sinyal
Gönderen: z - 17 Nisan 2021, 21:39:59
Alıntı yapılan: OG - 17 Nisan 2021, 20:41:07bu AND işlemini alttaki gibi yapıyorum,
2 komut süresine maloluyor

PWM pinini yeni bastan tanimlayarak output yapip low ile surersen ya da pini input tanimlarsan extra pine de ihtiyac duyulmaz.
Başlık: Ynt: 38kHz sinyal
Gönderen: OG - 17 Nisan 2021, 22:03:29
Alıntı YapPWM pinini yeni bastan tanimlayarak output yapip low ile surersen ya da pini input tanimlarsan extra pine de ihtiyac duyulmaz.
üstteki bahsettiğim yöntemi başka işlerde de kullanıyordum
IR için ilk uğraşımda gerekli timingi yakaldıktan sonra başka bir arayışa girmedim.

Alıntı YapBurada zor olan alıcı taraftı. Günlerce transimpedance devresini kuramaya çalışmıştık:) Doğru opampı seçemeyince zor olmuştu:)
BRM-4040 ucuz idi, uğraşmayıp onunla çalıştım, gayet başarılı tsop'ları aratmıyor.
Başlık: Ynt: 38kHz sinyal
Gönderen: ACM - 19 Nisan 2021, 23:22:22
   Burada  (https://www.ersinelektronik.com/urun/38-000-khz-kristal)38 Khz kristal var , bunu kullansa olmazmı ?

  Kristalin osc pinleriyle değilde mesela Portb.0 ve Portb.1 pinleriyle nasıl çalıştırılabileceğini bende çok merak ediyorum. Şemalarda hep osc pinlerine bağlanmış kristaller. Küçük bir tarif veya şema çok makbule geçerdi.
Başlık: Ynt: 38kHz sinyal
Gönderen: selimkoc - 20 Nisan 2021, 01:04:20
https://elektrokod.wordpress.com/2013/03/16/engel-algilama-devresi/ (https://elektrokod.wordpress.com/2013/03/16/engel-algilama-devresi/)
Başlık: Ynt: 38kHz sinyal
Gönderen: onertan - 02 Ağustos 2021, 15:36:32
Alıntı yapılan: ete - 17 Nisan 2021, 18:30:03Bu sinyali nasıl üreteceğiniz önemli. 20Mhz kristali bir işlemciyi çalıştırmak için kullanacak iseniz işiniz kolay olabilir. İşlemciniz bir Pic işlemci ise HPWM pininden bu sinyali çıkartmanız mümkün.
Mesajınızda fazla detay yok. Bu sinyali HPWM sinyali üreterek de bir pic pininden çıkartabilirsiniz.
Bunun için T2CON= %00000100 , PR2=131 ve Duty değeri olarak da 264 verdinizmi ayarlamanız tamamdır.
Ayrıca CCP1CON=%00001100 değerini verin. Böylece CCP1 çıkış pininden %50 duty değerine sahip 38Khz lik çıkışı alabilirsiniz. Çıkış almak yetmeyecek buna data sinyalini bir AND kapısı kullanarak ayrıca bindirmeniz gerekecektir. İşin temelinde IR lede gönderilen sinyal de HIGH süresi kadar 38Khz lik sinyal ve LOW siresi kadar GND verilmesi gerekir. Bu işide and kapısı size sağlar.

Ete




Merhaba. Hazırladığım kod şu şekilde.
Ama çalıştıramadım. Söylediğiniz değerleri nasıl koduma entegre edebilirim?

#include <18F4525.h>
#device ADC=16

#FUSES NOWDT                    //
#FUSES WDT128                  //
#FUSES NOBROWNOUT              //
#FUSES NOLVP                    //
#FUSES NOXINST                  //


#use delay(crystal=20000000)
//#use fast_io(C)
#use pwm (PWM1, output=pin_c2, FREQUENCY = 38KHz, DUTY = 25) 


void send_signal(unsigned int32 number)
{
  int8 i;
  pwm_on();
  delay_ms(9);  //9ms başlangıç sinyali
  pwm_off();
  delay_us(4500); // 4,5 ms bekleme sinyali
  for(i=0; i<32; i++)
  {
      if(bit_test(number, 31 - i))
      {
        pwm_on();
        delay_us(560);
        pwm_off();
        delay_us(1680);
      }
      else{
        pwm_on();
        delay_us(560);
        pwm_off();
        delay_ms(560);
      }
  }
}


void main()
{

 
  while(TRUE)
  {
      if(input(pin_a2))
      {
        send_signal(0x20DF10EF);  //LG TV On/Off kodu
        output_high(pin_a3);
        delay_ms(100);
        output_low(pin_a3);
        delay_ms(500);
       
      }
     
  }

}
Başlık: Ynt: 38kHz sinyal
Gönderen: ete - 02 Ağustos 2021, 20:32:10
CCS den anlamam. Aslında verdiğim yanlızca register ayarlamadan başka bir şey değil.
Kullandığınız derleyicide register ayarı nasıl yapılır onu araştırın.

Ete
Başlık: Ynt: 38kHz sinyal
Gönderen: rree - 03 Ağustos 2021, 08:11:31
Bulabilirsen işlemciyi 38Khz 2li katlarında olan  kristal kullan.  xtal= 4.864mhz   yada 9.728 Mhz