PBP 12LF1501 Hakkında

Başlatan oguztkn, 30 Ekim 2020, 23:07:51

oguztkn

Merhaba,

 PBP nin yeni versiyonlarında bu entegre var ama onlarda aktivasyon istemekte. Böyle yeni nesil pic'ler için bir çözüm var mı acaba pbp de bu entegreyi nasıl kullanabilirim ?

Şimdiden Teşekküler....

ete

Denedim aktivasyon istemiyor.
Aşağıdaki linktekini bir dene istersen.
https://we.tl/t-K3JbnYQwM6

Ete

oguztkn

Alıntı yapılan: ete - 31 Ekim 2020, 11:47:41Denedim aktivasyon istemiyor.
Aşağıdaki linktekini bir dene istersen.
https://we.tl/t-K3JbnYQwM6

Ete


Cevabınız için teşekkür ederim hocam, yalnız dosya şifreli

ete

Dosya adı nı şifre olarak kullan C ile başlıyordu sanırım. Zip yada rar dosyası adı.
Ete

oguztkn

Evet hocam dosyanın adı imiş şifre. Teşekkür ederim tekrar çalışmakta.

oguztkn

Tekrar Merhaba,

Konu aynı işlemci olduğunda yeni konu açmak istemedim.


  #CONFIG
        __config _CONFIG1, _FOSC_INTOSC & _WDTE_ON & _PWRTE_OFF & _MCLRE_OFF & _CP_ON & _BOREN_OFF & _CLKOUTEN_OFF 
        __config _CONFIG2, _WRT_OFF & _STVREN_OFF & _BORV_LO & _LPBOR_OFF & _LVP_OFF
  #ENDCONFIG

Define OSC 4

SYMBOL CIKIS=PORTA.5
ver var byte

    OSCCON=%01101011
    WDTCON=%00011001
    
    DACCON0.7=0
    CM1CON0.7=0
    CWG1CON0.7=0
    CLC1CON.7=0
    NCO1CON.7=0
    NCO1CON.6=0
    WPUA=%00000001 
    FVRCON.7=0
    ADCON0.0=0
    PWM1CON.7=0

    OPTION_REG.7=0
    
    INTCON=%00000000
    
    PIE1=%00000000
    PIE2=%00000000
    PIE3=%00000000
    PIR1=%00000000
    PIR2=%00000000
    PIR3=%00000000
   
    TRISA=%00000001
    ANSELA=%00000000
    PORTA=%00000000


ver=100
  
Basla
      if PORTA.0=0 THEN 
        while PORTA.0=0:wend
          toggle PORTA.1
           PORTA.5=1
           SEROUT2 CIKIS,813,["E","T","E",ver]
           pauseus 20
           PORTA.5=0
     asm
        sleep
     endasm
endif
      
GOTO BASLA

END


RFM110 433 mhz verici ile bu işlemciyi kullanmaya çalışıyorum. Besleme Cr2032 pil olacak. Tekk buton ile bir komut gönderecek ve tekrar uyumasını sağlamaya çalışıyorum. Yalnız yukarıdaki şekli ile test ettiğimde normalde uykuya dalıp uyanmaması gerekir. Ama işlemci uyumuyor. Sanırım WTDCON register'i ile ilgili ,bu register biraz karışık geldi bana sanırım ondan kaynaklı. 

 Devamında butonu interrupt on change ile uykudan uyandıracak şekilde programı düzenleyeceğim.

Birde RFM110 uykuya dalması için data bacağı high yada low yapılmalı diye anladım. Acaba doğrumu yapıyorum.

RFM datasheet : https://cdn.ozdisan.com/ETicaret_Dosya/582156_5009292.PDF


Şimdiden Teşekkürler...

ete

Öncelikle RFM nin data sheet'ine baktım Sleep moduna girme şekli açıklanmamış. Bu durumda muhtemelen Data bacağının satbil şekilde belirli bir konumda kalması modülü sleep moduna sokacaktır. LOW vererek denemeye çalışırsın.

İşlemcinin SLEEP moduna girmesi durumu ise data sheet 72 ci sayfada 8.ci bölümde POWER DOWN MODE (SLEEP) olarak açıklanmış. Normalde girmesi gerekir ama muhtemelen WDT onu sleep modundan çıkartıyordur. Önce WDT_OFF olarak bir dene . Boşta kalan pinlerin var ise onları GND ye bağla.

Ete

oguztkn

  #CONFIG
        __config _CONFIG1, _FOSC_INTOSC & _WDTE_ON & _PWRTE_OFF & _MCLRE_OFF & _CP_ON & _BOREN_OFF & _CLKOUTEN_OFF 
        __config _CONFIG2, _WRT_OFF & _STVREN_OFF & _BORV_LO & _LPBOR_OFF & _LVP_OFF
  #ENDCONFIG

Define OSC 4

kilit VAR BYTE
SYMBOL gonder=PORTA.5
veri var byte
id1 var byte
id2 var byte
yetki var byte

    OSCCON=%01101011
    WDTCON=%00001011
    
    TRISA=%00000001
    PORTA=%00000000
    ANSELA=%00000000
    
    
    DACCON0.7=0
    CM1CON0.7=0
    CWG1CON0.7=0
    CLC1CON.7=0
    NCO1CON.7=0
    NCO1CON.6=0
    WPUA=%00000001;00000000
    FVRCON.7=0
    ADCON0.0=0
    PWM1CON.7=0

    OPTION_REG.7=0
    
    INTCON=%11001000
    IOCAN=%00000001 
    PIE1=%00000000
    PIE2=%00000000
    PIE3=%00000000
    PIR1=%00000000
    PIR2=%00000000
    PIR3=%00000000
    
    pause 300
    
on interrupt goto kesme

veri=145
id1=10
id2=10
yetki=100
kilit=0    
Basla:
  
     kilit=0
     asm
        sleep
     endasm

GOTO BASLA


Disable
Kesme:
    if PORTA.0=0 and kilit=0 THEN 
        kilit=1:PORTA.1=1:PORTA.5=1
        SEROUT2 gonder,813,[REP$AA\5,REP$00\5,REP$FF\5]
        PORTA.1=0
        SEROUT2 gonder,813,["TKN",dec3 id1,dec3 id2,dec3 yetki,dec3 veri]
        PORTA.5=0
        while PORTA.0=0:wend
    IOCAF.0=0
    INTCON.0=0
    endif
resume 
enable
END

Programın bu hali ile butona basıyorum gönderim yapıyorum alıcıda izliyorum. Sonra uykuya dalıyor. Dediğiniz gibi boş pinleri gnd ye çektim. Akımı ölçü aleti ile izliyorum 0.4 mikroamper gözüküyor uykuda iken .Butona bastığımda uyanıp veri göndermesi sırasında 7 miliampere çıkıp hemen tekrar 0.4 mikroampere düşüyor. Ölçü aletim Uni-T 139C ölçülen bu değer pil ile çalışacağından iyi bir rakam ama doğruluğu hakkında şüphe etmelimiyim acaba ? (Pili CR2032 olacak, işlemcide verici de 1.8v a kadar çalışabilmekte)

Bir de baud rate'in enerji tüketiminde bir etkisi olur mu ? Yada çekim mesafesinde kullandığım bu değer uygunmudur

Şimdiden Teşekkürler...

ete

Bana göre sistemin doğru çalışıyor. Baud rate'in enerji tüketimine etkisi olacağını sanmıyorum. Hatta hızlı transfer (yüksek Baud) daha kısa sürede veri transferi yapacağı iin daha göreceli olarak daha az enerji tüketir diye düşünüyorum. Ama sonuca etkisi olurmu dersen olmaz derim.
Sistem sleep konumunda uzun süre kalacak ise o anda aktif olan çıkış pinlerinide kapatman yani pasif yapman tüketim açısından önemlidir. Yanlızca işlemcinin çektiği akımı düşürmek enerji tasarrufu için yeterli olmuyor. Çevresel birimlerinde akım tüketmesini engellemek gerekir.


Ete

elektro77

#9
Alıntı yapılan: oguztkn - 02 Kasım 2020, 22:29:08
  #CONFIG
        __config _CONFIG1, _FOSC_INTOSC & _WDTE_ON & _PWRTE_OFF & _MCLRE_OFF & _CP_ON & _BOREN_OFF & _CLKOUTEN_OFF 
        __config _CONFIG2, _WRT_OFF & _STVREN_OFF & _BORV_LO & _LPBOR_OFF & _LVP_OFF
  #ENDCONFIG

Define OSC 4

kilit VAR BYTE
SYMBOL gonder=PORTA.5
veri var byte
id1 var byte
id2 var byte
yetki var byte

    OSCCON=%01101011
    WDTCON=%00001011
    
    TRISA=%00000001
    PORTA=%00000000
    ANSELA=%00000000
    
    
    DACCON0.7=0
    CM1CON0.7=0
    CWG1CON0.7=0
    CLC1CON.7=0
    NCO1CON.7=0
    NCO1CON.6=0
    WPUA=%00000001;00000000
    FVRCON.7=0
    ADCON0.0=0
    PWM1CON.7=0

    OPTION_REG.7=0
    
    INTCON=%11001000
    IOCAN=%00000001 
    PIE1=%00000000
    PIE2=%00000000
    PIE3=%00000000
    PIR1=%00000000
    PIR2=%00000000
    PIR3=%00000000
    
    pause 300
    
on interrupt goto kesme

veri=145
id1=10
id2=10
yetki=100
kilit=0    
Basla:
  
    kilit=0
    asm
        sleep
    endasm

GOTO BASLA


Disable
Kesme:
    if PORTA.0=0 and kilit=0 THEN 
        kilit=1:PORTA.1=1:PORTA.5=1
        SEROUT2 gonder,813,[REP$AA\5,REP$00\5,REP$FF\5]
        PORTA.1=0
        SEROUT2 gonder,813,["TKN",dec3 id1,dec3 id2,dec3 yetki,dec3 veri]
        PORTA.5=0
        while PORTA.0=0:wend
    IOCAF.0=0
    INTCON.0=0
    endif
resume 
enable
END

Programın bu hali ile butona basıyorum gönderim yapıyorum alıcıda izliyorum. Sonra uykuya dalıyor. Dediğiniz gibi boş pinleri gnd ye çektim. Akımı ölçü aleti ile izliyorum 0.4 mikroamper gözüküyor uykuda iken .Butona bastığımda uyanıp veri göndermesi sırasında 7 miliampere çıkıp hemen tekrar 0.4 mikroampere düşüyor. Ölçü aletim Uni-T 139C ölçülen bu değer pil ile çalışacağından iyi bir rakam ama doğruluğu hakkında şüphe etmelimiyim acaba ? (Pili CR2032 olacak, işlemcide verici de 1.8v a kadar çalışabilmekte)

Bir de baud rate'in enerji tüketiminde bir etkisi olur mu ? Yada çekim mesafesinde kullandığım bu değer uygunmudur

Şimdiden Teşekkürler...

Programlama diliniz başarılı. Ümit vaad ediyor. Tebrik ederim.
Benim de bir ricam olacak:  12LF1501 benim PBP listemde  yok. Ete hocamın gönderdiği link ise süreli olduğu için indirilemiyor artık. Bu pici listeme ekleyip projenizi kütüphaneme eklemek isterim eğer izin verirseniz.Bu konuda  yardımcı olursanız sevinirim.

Benden bir yazıma istinaden özel mesajla istediğiniz 12 volt pil ile verici yapma bilgisini aşağıya bırakıyorum. Yıllar önce çizmiş olduğum şemada, günde yaklaşık 20 kere tuşuna basılan  12volt 23A pilli bu vericinin pili yaklaşık 1 sene kullanılabiliyordu. Devrenizi aşağıdaki devre mantığı ile kurarsanız tuşa basılmadığı sürece sıfır akım tüketir.
Devredeki MC33761 i bulamazsanız, yerine NCP600 serisi de kullanılabilir.
İyi çalışmalar.


"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

oguztkn

Alıntı yapılan: elektro77 - 03 Kasım 2020, 10:36:42Programlama diliniz başarılı. Ümit vaad ediyor. Tebrik ederim.
Benim de bir ricam olacak:  12LF1501 benim PBP listemde  yok. Ete hocamın gönderdiği link ise süreli olduğu için indirilemiyor artık. Bu pici listeme ekleyip projenizi kütüphaneme eklemek isterim eğer izin verirseniz.Bu konuda  yardımcı olursanız sevinirim.
Benden bir yazıma istinaden özel mesajla istediğiniz 12 volt pil ile verici yapma bilgisini aşağıya bırakıyorum. Yıllar önce çizmiş olduğum şemada, günde yaklaşık 20 kere tuşuna basılan  12volt 23A pilli bu vericinin pili yaklaşık 1 sene kullanılabiliyordu. Devrenizi aşağıdaki devre mantığı ile kurarsanız tuşa basılmadığı sürece sıfır akım tüketir.
Devredeki MC33761 i bulamazsanız, yerine NCP600 serisi de kullanılabilir.
İyi çalışmalar.




Cevabınız için teşekkür ederim. Link i drive'a yükledim. Aynı şekilde zip şifresi dosyanın adı.

https://drive.google.com/file/d/1bIm59YhViN5M0BjnRZc0NzWwo90X5N0F/view?usp=sharing

Projemi eklemek istemişsiniz tabiki de istediğiniz şekilde kullanabilirsiniz hatta sevinirim. Sonuçta burası bir paylaşım platformu. ( Sadece simulasyon dosyam yok direk reel de deniyorum devreyi.Zaten kodlardan da anlaşılıyor. Bir buton bir led ve bir rfm110 mevcut)

MC33761
NCP600

bu ikisi de yerli satıcılarda yok sanırım. Özdisan da gözüküyor ama onlarda da stok mevcut değil.Biraz araştıracağım. Son olarak sizin projenizde çekim mesafesi ne düzeyde idi acaba ?

Oğuz Tekin
oguztkn@hotmail.com

elektro77

Alıntı YapSon olarak sizin projenizde çekim mesafesi ne düzeyde idi acaba ?
Açık alanda 50 metre falandı yanlış hatırlamıyorsam.
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

oguztkn

Alıntı yapılan: elektro77 - 03 Kasım 2020, 13:46:26Açık alanda 50 metre falandı yanlış hatırlamıyorsam.

Birde anten olarak ne kullandınız acaba ? Elcik diye adlandırılan kumandalardan kullanacağım Pcb ye bakir yol seklinde anten başarılı oluyor mu bilginiz var mi acaba ?

elektro77

#13
Alıntı yapılan: oguztkn - 03 Kasım 2020, 14:09:29Birde anten olarak ne kullandınız acaba ? Elcik diye adlandırılan kumandalardan kullanacağım Pcb ye bakir yol seklinde anten başarılı oluyor mu bilginiz var mi acaba ?
Gönderdiğim şemadaki bobinde bakır yol olarak yapılmış bir bobindir.
Anten olarak bildiğiniz fm anteni kullanılabilir. O antenlerin 433mhz uyumlu olanları var. Bakır yolda olabilir. Bir kaleme 10-15  tur sarılıp sökülerek  spiral bir form elde edilmiş yalıtkanlı 0.50mm bakır telde olabilir.
Fakat yüksek frekans işleri biraz karmaşık ve meşekkatlidir. Çok ta anlamam açıkcası.
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

Powered by EzPortal