Reset butonuna paralel kapasite

Başlatan furkanyx, 07 Şubat 2017, 22:32:54

furkanyx

Stm32F103 çipi için reset butonna paralel bağladığım kapsite 100nF olunca butona bastığımda sistem sürekli resette kalıyor. İşlmeciyi değiştirdim fark etmedi. Ve paralel kapasiteyi 22pF yapınca düzeldi veya hiç kapasite koymayınca da düzgün iş yapıyor. Sıkıntı sizce 100nF da mı yoksa gözden kaçırdığım şeyler mi var?
Not: şema stm32 disco kitindeki bağlantı şekliyle birebir aynı ve daha önce başka pcblerimde de aynı şekilde bağladım sorunsuz çalışıyorlar.

ilyas KAYA

Benzer sorunu 6 sene çalışmış sensör  girişi olan bir devrede yaşamıştım. Kontak verince sürekli sinyal veriyor ama elektriği kesip açınca sorunsuz çalışmaya devam ederken biranda rastgele bir zamanda yine devre kontak alıyordu.
Ara tara ölç derken 100nf in direnc haline geldiğini buldum. Değiştirdim herşey düzeldi. Bence kondansator de sorun.

muhendisbey

Zulmü alkışlayamam, zalimi asla sevemem; Gelenin keyfi için geçmişe kalkıp sövemem.

furkanyx

100K direnci yerleştirmedim. Ve şema bu şekilde:


makine_terbiyecisi

Reset butonuna paralel kandansatörün görevi: Reset butonuna basıldığında t=R*C zaman sabiti boyunca mikrodenetleyiciyi resette tutar.

Senin duruma gelecek olursak bence mclr ucuna bağladığın direnci kondansatöre paralel değil de seri bağlamışsın. böylece kondansatörün deşarj süresi uzamıştır.
# ÖĞRENELİM, ÖĞRETELİM #

F.T

Alıntı yapılan: makine_terbiyecisi - 08 Şubat 2017, 00:15:20
Reset butonuna paralel kandansatörün görevi: Reset butonuna basıldığında t=R*C zaman sabiti boyunca mikrodenetleyiciyi resette tutar.

Senin duruma gelecek olursak bence mclr ucuna bağladığın direnci kondansatöre paralel değil de seri bağlamışsın. böylece kondansatörün deşarj süresi uzamıştır.

Reset butonuna batığında zaman oluşmaz.İlk enerji verince kapasite şarj olana kadar mclr ucunu ekside tutar şarj bitince mclr ucu artı olacağı için işlemcinin normal çalışması lazım.resete basıncada mclr ucunu tekrar eksiye çekersin işlemci resetler aynı zamanda kapasite boşalmış olur.Daha sonraa reset butonu bırakılınca kapasite dolana kadar işlemci resette kalır.kKapasite şarj olunca işlemci çalışmaya başlar.fakat artıdan mclr ucuna bir direnç üzerinden bağlantıda olması lazım.Bu işlem ne kadar sağlıklıdır tartışılır.
Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

makine_terbiyecisi

#6
Alıntı yapılan: F.T - 08 Şubat 2017, 00:25:56
Reset butonuna batığında zaman oluşmaz.İlk enerji verince kapasite şarj olana kadar mclr ucunu ekside tutar şarj bitince mclr ucu artı olacağı için işlemcinin normal çalışması lazım.resete basıncada mclr ucunu tekrar eksiye çekersin işlemci resetler aynı zamanda kapasite boşalmış olur.Daha sonraa reset butonu bırakılınca kapasite dolana kadar işlemci resette kalır.kKapasite şarj olunca işlemci çalışmaya başlar.fakat artıdan mclr ucuna bir direnç üzerinden bağlantıda olması lazım.Bu işlem ne kadar sağlıklıdır tartışılır.

hocam aynı şeyleri diyoruz sanki. Senin o dediğin bekleme süresi zaman sabitesi değil de nedir?

t= 100K*100nF  --> t=10ms
Yani butona bastıktan 10ms sonra mikrodenetleyici aktifleşir.
# ÖĞRENELİM, ÖĞRETELİM #

furkanyx

İlk başta bende öyle düşündüm ve yerleştridiğim direnci söktüm ama sorun direncin varlığında değil kapasitenin büyüklüğünde. 22pF da sorunsuz çalışırken 100nF ta sürekli resette kalmasını anlamıyorum. Fakat st nin hardware design sheetinde de yaptığımın aynısını gösteriyor.


ankyra

Kondansatörün görevi, butondan elimizi çekerken oluşabilecek (butonun kontaklarında) parazitleri sönümlemektir. Tetikleme butonlarında oldukça önemli bir olay. Fazladan tetiklemeye yol açabilir. Ancak reset butonunda kullanılmasa da olabilir sanki.

Başka bir seriden 100 nf denediniz mi acaba? yukarıda bahsedildiği gibi kondansatörden olması muhtemel.

furkanyx

Bundan önce 4-5 tane daha aynı işlemciyi kullanan kart tasarladım ve çekirdek şema hepsinde aynı kaldı(reset,boot,stlinkpinleri vs.) ama ilk defa böyle bir sorunla karşılaştım. Zaten şema da çok bir değişiklik yok eklediğim şeyler genel itibariyle pin header yani yeni eklediğim bir entegrede yok. Ayrıca zaman ayıran ilgilenen herkese teşekkürler :)

F.T

Verdiğin şemada görünen dahili direnci aktif yapmanız lazım.VDD ye bağlı Vpu direnci.Yapmıyorsanız hariçten VDD den bağlı direnç ile mclr ucuna bağlantı yapmanız lazım.
Hakk şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

quarko

Alıntı yapılan: furkanyx - 08 Şubat 2017, 00:11:53
100K direnci yerleştirmedim. Ve şema bu şekilde:


Devre enerjilendiğinde 100nF kondansatör, 100K üzerinden 3V3 e sarj olur. Böylece normal çalışma durumunda NRST pini lojik 1 de kalmış olur. Butona bastığınızda ise 100nF üzerindeki gerilim buton üzerinden gnd ye boşalır. Dolayısıyla NRST pini lojik 0 a düşer. Olması gereken bu şekildedir. Butonu bıraktığınızda ise , pull-up direncini takmadığınız için kapasite tekrar sarj olamaz. Dolayısıyla NRST tekrar lojik 1 e çıkamaz. Ve mcu çalışmaz, sürekli resette kalır. 
"Aslanlar kendi hikayelerini yazmadıkça, avcıların kahramanlık hikayelerini dinlemek zorundayız."

mcankaya

Durenci koymadigin icin kapasite sarj olamaz surekli kapali devredir ve islenci resettedir
aquila non captat muscas!

furkanyx

Buton kapasite ve direnç olmadan mcu ya enerji verdiğimde nrst pininin voltajı 3.3V oluyor. Ardından nrst butonunu kapasitesini yerleştirip avomere ile ölçüm aldığımda normal durumda 3.3V, butona basınca 0v ve butondan elimi çektiğimde tekrar 3.3V oluyor. Herşey gayet doğruyken böyle yapmasının sebebini artık alixpressten almış olmama bağlıyorum. Kapasiteyi 1nF çevirdim artık ve sorunsuz çalışıyor. Sadece 100nF ve üzerinde böyle bir sorun yaratmasını da hiçbir sebebe bağlayamıyorum. (Mcu yu iki kere değiştirdim hepsinde aynı sonucu aldım)

muhendisbey

Bence kullandığınız 100nF'ı kontrol edin, sanki büyük olmasından kaynaklı gibi.

Şöyle bir doğrulama isteyeceğim.
Butona basın, reset alsın, enerjisini 1sn altında kesip hemen geri verin. Eğer halen reset almış duruyorsa kapasite büyüktür.

Bir de harici pull up direnci kullanmanıza gerek yok. MCU içerisinde mevcut. Bunun sebebi reset herhangi bir pad'e bağlı olmadığında da çalışabilmesi için.
Zulmü alkışlayamam, zalimi asla sevemem; Gelenin keyfi için geçmişe kalkıp sövemem.