PİC SORUNU

Başlatan Kefran, 22 Mayıs 2015, 18:59:43

Kefran

iyi günler herkese

kullanıdığım pic 16f628a amacım ise pt2272den çıkan 5 voltu pice vermek alıcı vericide sorunum yok fakat programda giriş yaptığım pine elime dokundurduğum gibi çalışıyor normal birşeymi yoksa anormalmi diğer pinlere dokununca böyle bir şey olmuyor yüzde yüz programda şüphem var ama sizlerede bir sorayım dedim.

ete hocama sordum fakat yoğun birisi bilgilendiriseniz sevinirim
saygılar.
Kef to Easy A.K.A

zeus48

Giriş yaptığın pine elini dokunduğunda çalışması normal. senden statik elektirik alıyor. 1k dfirençle şasele bakalım giriş yaptığın pini aynışeyi yapacakmı

Kefran

2272 den gelen data kablosunu dokunduruyorum 0 volt olmasına rağmen yine çalışıyor
Kef to Easy A.K.A

ete

Bu sorun ancak programını. devre şemanı ve baskılı devre şemasını buraya koyarsan incelenebilir.
Bunların dışında tek öneri pic besleme bacaklarına 100nf bağla demekten başka elimizdenbir şey gelmez maalesef.
Elini dokunduğun zaman osilasyon yapıyor ve pic çalışmaya başlıyor. Bunun anlamı pic osilatörün çalışmıyor büyük ihtimalle.
Kristal, rezonatör vs bağlantılarına MCLR bağlantısına bakman gerekiyor.

Ete

Kefran

hocam osilatörün çalışmaması imkansız başka bir programla gayette iyi çalışıyor baskı devreleri yarın atarım büyük ihtimalle teşekkürler.
Kef to Easy A.K.A

Kefran

http://www.devreyapimi.com/wp-content/uploads/2011/12/led_cerceve_animasyon.jpg

animasyon devrem bu

http://www.fatiherdem.net/wp-content/yuklenenler/pt2262_pt2272_devre_sema1.gif

buda rf haberleşmesi devresi

son olarak program

@ __CONFIG _INTRC_OSC_NOCLKOUT & _WDT_ON & _PWRTE_ON & _MCLRE_OFF  & _LVP_OFF & _CP_OFF
CMCON=7
trisb=0
trisa=%00000001

symbol alici = portb
symbol D1 = portb.0
symbol D2 = portb.1
symbol D3 = portb.2
symbol D4 = portb.3

s1 var word
s2 var word
s3 var word
s4 var word
s5 var word
i var byte

s1 = 80
s2 = 80
s3 = 80
s4 = 150
s5 = 120

basla:
    if porta.0=1  then
    GOSUB ani1 : gosub ani2 : gosub ani3 : gosub ani4 : gosub ani5
    ELSE
    low alici
    endif
   
goto basla

ani1:
    for i = 0 to 5
    IF PORTA.0=0 THEN
    LOW ALICI
    RETURN
    ENDIF                                       
        high D1 : pause s1 : low D1
        high D2 : pause s1 : low D2
        high D3 : pause s1 : low D3
        high D4 : pause s1 : low D4
    next i
return

ani2:
    for i = 0 to 5
    IF PORTA.0=0 THEN
    LOW ALICI
    RETURN
    ENDIF
        high D4 : pause s2 : low D4
        high D3 : pause s2 : low D3
        high D2 : pause s2 : low D2
        high D1 : pause s2 : low D1
    next i
return

ani3:
    for i = 0 to 2
    IF PORTA.0=0 THEN
    LOW ALICI
    RETURN
    ENDIF
        high D1 : high D2 : high D3 : high D4 : pause s3
        low D1  : low D2  : low D3  : low D4  : pause s3
    next i
return

ani4:
while Porta.0=1
    high D1 : pause s4 : high D2 : pause s4 : high D3 : pause s4 : high D4 : pause s4
    low D1  : pause s4 : LOW D2  : pause s4 : LOW D3  : pause s4 : LOW D4  : pause s4
return
wend
alici=0
return

ani5:
    for i = 0 to 3
    IF PORTA.0=0 THEN
    LOW ALICI
    RETURN
    ENDIF
        high D1 : high D2 : pause s5 : low D1
        high D2 : high D3 : pause s5 : low D2
        high D3 : high D4 : pause s5 : low D3
        high D4 : high D1 : pause s5 : low D4
    next i
return


pt2272 çıkışından gelen 5 volt, animasyon devre pici'nin porta.0 yani 17 numaralı pine giriyor programda giriş olarak yapıldı.
devreler ayrı halde sorunsuz çalışmakta %90 program sıkıntım var. mantık ise pt2262 den butona bastığımda pic animasyon devremi çalıştıracak
teşekkürler.

Kef to Easy A.K.A

F®T

WDT_ON bu neden açık?
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

Kefran

dog timer sigorta değilmi işlemci takılırsa eğer?
Kef to Easy A.K.A

ete

#8
WDT bir sigorta ayarıdır. Aktif edilirse , program herhangi bir yerde beklenenden fazla kalırsa hemen işlemciyi resetler.
Programın kontrolü sizde değil ise bunu aktif edin. Değilse kapalı tutmak lazım aksi halde işlemci sürekli reset alır.
Programda ipin ucunu kaçırmış iseniz veya özellikle bazı yerlerden WDT reseti ile çıkmanız gerekiyor ise aktive edin.

Önce devre şemana (PIC) baktım. Programda PORTA.0 dan giriş yapılıyor ve bu pin HIGH olursa program bir şeyler yapıyor. Sen elini bu pine dokununca sistem çalıştığına göre PT2272 o pini yeterince bir lojik seviyede tutamıyor demektir.
Ayrıca PORTA.0 pinini PT2272 nin hangi pinine bağladın?  10-11-12-13 nolu pinlerden birine bağladın ise sorun yok. Ancak o pinlerde bağlı olan ledler PORTA.0 ın lojik seviyesini etkileyebilir. İşin doğrusu 10-11-12-13 nolu pinlerin Pull-Down dirençleri ile LOW da beklemeleri ve buna bağlı olarak da PORTA.0 pinide LOW da beklemelidir. Vericide tuşa bastığınde çıkış pinlerinden birisi HIGH olarak konum değiştirmeli ona bağlı olarakda PORTA.0 konum değiştirerek üzerine düşeni yapmalıdır. Senin bağladığın şekilde float denilen karasız konumda kalıyor o pin.
Bu şekilde kalan bir pin bazen high olur bazen low olur elini yaklaştırırsan high olur çekersen low olur programda ona göre işlem yapar.
Yine devre şemana bakınca ledler için bir akım sınırlama direnci kullanmamışsın. Her bir led direk 5V ta bağlı gözüküyor. Üstelik beslemede 5V dan verilmiş. Bu noktada PCB yide görmek gerekirdi bu tür nedenlerden dolayı PCB görüntüsünüde görmek isterim işte ama ne yazıkki koymamışsın. Hal böyle olunca her bir led neredeyse bütün akıma asılır ve pic de bu esnada reset atar bir türlü çalışamaz. Ledlerde akım sınırlama direnci olmalıdır.
PT entegrelerinde A0-A7 pinleri adres bacaklarıdır. Yani şifreleme bacakları. Bu pinlerin farklı şekilde bağlanmaları daha iyi çalışmalarını sağlar. Hepsine GND vermek sistemi yanlış çalışmaya zorlar. %0100Z010  gibi bir bağlantı çok daha uygun olurdu. Z burada ilgli pinin boş bırakılması anlamına geliyor. Zira bu pinler 3 konumda olabiliyor 1-0 ve Z

Ete


Kefran

PORTA.0 pinini pt2272'de 13. pine bağladım.yani siz 10-11-12-13 pinlerine Pull-Down atılmalı yine aynı olarak programda değişiklik yapmam mı gerekli? Hocam her ledin önünde 330 ohm dirençlerim var ayrıyetten 5  volt beslemelerde 100nf kondansatörlerim var dediğim gibi devrelerde sıkıntı yok sizin ilk seçeneginiz mantıklı gibi ne dersiniz_?
Kef to Easy A.K.A

F®T

Şunu yap porta.0 girişi ile şase arasına 10 kohm direnç bağla ve alıcıdan gelen ucu porta.o ucuna bağla den.progda zaten demişinki porta.0 eğer 1 olursa çalış.Yani porta.0 portu na 5 volt gelirse çalışsın.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

Kefran

deneyeceğim teşekkürler.
Kef to Easy A.K.A

Kefran

dediğiniz gibi 10k da denedim 1k da sorun gidiyor fakat bu sefer program aktif olmuyor yani animasyon çalışmıyor.
Kef to Easy A.K.A

Kefran

hocam şurdaki ilk şekle bakabilirmisiniz demek istediğiniz bu heralde

http://etepic.com/index.php?topic=811.30
Kef to Easy A.K.A

F®T

http://etepic.com/index.php?action=dlattach;topic=2451.0;attach=3980;image


Burda pic girişleri direnç ile şaseye çekilmiş.Bunun gibi olacak porta.0 girişin.Fakat senin programla ilgili eksiklerin var sanki.Programını iyi incele.xtal kaç mesela tanımlımı?
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

Powered by EzPortal