18f25k80 MCLR reset problemi

Başlatan sdonmez, 20 Eylül 2018, 18:14:31

sdonmez

#15
Alıntı yapılan: Maxim - 21 Eylül 2018, 08:26:23yukarıda yazılanları tekrarlıyorum
D2 diyotunu kaldırp deneyin
mlcr ucunu pasif yapıp deneyin

ama bence bunlardan hiç biri değil
manyetik alandan etkileniyordur muhtemelen
yakınlarda bir yerde kontaktör falan vardır

Etrafta kontaktör vs yok. Ev ortamında çalışıyor.

Sabah deneme için #FUSES MCLR satırını kapattım, yükledim. Yine aynı durum oluşmuş. Şimdi aklıma düştü acaba satırı kapatmak yerine #FUSES NOMCLR mi yazmalıydım acaba? Akşam fuse listesinde tekrar bakacağım..

D2 diyodunu, ISCP'den programlama yaparken diğer komponentlere Vpp voltajı ulaşmasın diye eklemiştim. Bu udurmlar için diyot uygun değil mi?

sdonmez

Alıntı yapılan: miyago - 21 Eylül 2018, 08:59:10sdonmez

MCLR_FROM_RUNNING bilgisini nereden ve nasıl aldınız acaba?

CCS hiç kullanmadım. O derleyiciye ait bir özellik mi bu? Belki de sorun burada olabilir. Bu maksatla soruyorum.

CCS'de restart_cause() fonksiyonu var. Buradan 15 dönüyor. Anlamı MCLR_FROM_RUNNING...

Sabah yabancı forumlara baktım. Örnek https://westmountainradio.com/forum/viewtopic.php?p=200992

Yazılım kaynaklı underflow, overflow olabilir denmiş

miyago


sdonmez

"Yazılım kaynaklı underflow, overflow olabilir denmiş" Buradaki underflow ve overflow acaba stack sınırlarını aştığınız anlamına gelebilir mi? Stack sınırı aşıldığında yeniden başlat seçeneği sizin OPTION_REG ayarlarınızda açık olabilir mi? Belki faydası olabilir bu fikrin.

sdonmez

#18
Alıntı yapılan: miyago - 21 Eylül 2018, 10:57:14sdonmez

"Yazılım kaynaklı underflow, overflow olabilir denmiş" Buradaki underflow ve overflow acaba stack sınırlarını aştığınız anlamına gelebilir mi? Stack sınırı aşıldığında yeniden başlat seçeneği sizin OPTION_REG ayarlarınızda açık olabilir mi? Belki faydası olabilir bu fikrin.

Evet, forum Stack sınırından bahsetmişler. Ancak ben CCS'in ürettiği .lst dosyasından bakıyorum. Stack değerleri anormal değildi. Ayrıca sorun Stack hatası ise compiler niye MCLR_FROM_RUNNING bilgisi üretiyor? Mikrodenetleyicinin .h deosyasında Reset nedenleri arasında Stack durumlarını hiç yazmamışlar. Belki Stack sorununda da  MCLR_FROM_RUNNING geliyordur. Bilemiyorum...

PIC18f25k80 datasheeti:
6.1.3.4 Stack Full and Underflow Resets
Device Resets on stack overflow and stack underflow
conditions are enabled by setting the STVREN bit
(CONFIG4L<0>). When STVREN is set, a full or underflow
condition will set the appropriate STKFUL or
STKUNF bit and then cause a device Reset. When
STVREN is cleared, a full or underflow condition will set
the appropriate STKFUL or STKUNF bit, but not cause
a device Reset. The STKFUL or STKUNF bits are
cleared by the user software or a Power-on Reset.

Akşam buna bakacağım

yas

PIC18F252 ile  enteresans bir resetlenme olayı yaşamıştım. Rastgele zamanlarda mcu resetleniyordu. Hatta parmağımı mcu nun orta noktasına yaklaştırdığımda yada değdirince mcu reset alıyordu. Mcu nun patates olduğunu düşünmüştüm. Sonradan denemelerimde sorunun "LVP ON" olduğunda ortaya çıktığını fark ettim. "LVP OFF" olunca sorun ortadan kalkmıştı. Buna da  bir bak istersen.

kudretuzuner

#20
Merhaba,
D2 diyodunu kaldırın yerine 1K direnç koyun.18F gurubu MCLR pinine direnç bağlayın.
Bknz:sayfa 28
http://ww1.microchip.com/downloads/en/DeviceDoc/39564c.pdf
Amatör

kudretuzuner

Amatör

aliveli

gizli bir şey değilse baskı devreyi paylaşın

mustafa_cmbz

Alıntı yapılan: sdonmez - 21 Eylül 2018, 00:48:07LM2576'nın çıkışına demek istediniz sanırım

girişe koyman daha mantıklı bana kalırsa çıkışa da koyarsan daha da temiz olur kanısındayım.

mesela ben kart üzerinde röle vs. varsa girişe bobin atıyorum pi tipi besleme yani röle beslemesini bobinin yani direk karta giriş beslemesinden alıyorum ki parazit falan yaparsa o parazit bobinin öncesinde kalsın..



sdonmez

Alıntı yapılan: yas - 21 Eylül 2018, 16:25:24PIC18F252 ile  enteresans bir resetlenme olayı yaşamıştım. Rastgele zamanlarda mcu resetleniyordu. Hatta parmağımı mcu nun orta noktasına yaklaştırdığımda yada değdirince mcu reset alıyordu. Mcu nun patates olduğunu düşünmüştüm. Sonradan denemelerimde sorunun "LVP ON" olduğunda ortaya çıktığını fark ettim. "LVP OFF" olunca sorun ortadan kalkmıştı. Buna da  bir bak istersen.

PIC18F25K0 sigorta ayarlarında LVP ayarı görülmüyor

kudretuzuner

Amatör

sdonmez


kudretuzuner

Merhaba,
D2 diyodunu kaldırıp yerine 1K lık direnç ile denediniz mi?
Amatör

tekosis

probleminizin kaynağını tam tespit etmek adına mclr'yi 1k ile pullup yapıp bir de 100nf mclr'yi şaselemenizi tavsiye ederim. Basit bir yapı ile sorun çözülürse esas nedeni bulmanız daha kolay olur.
İlim ilim bilmektir, ilim kendin bilmektir, sen kendin bilmezsin, bu nice okumaktır.

RaMu

Öncelikle sorun donanımda mı yazılımda mı ayırmak işi kolaylaştırır.
1-Devreyi pil ile besleyip reset olacak mı dene.
2-Yazılımı led yak söndür ile değiştirip şu anki beslemesi ne ise öyle besleyip dene.

Yazılımdan çıkarsa;
yazılımın belirli bölümlerini iptal edip
problemin nereden kaynaklandığını köşeye sıkıştır.

Aslında RCON register ının değerini her açılışta sırayla eeproma yazıp
bunuda donanımda varsa lcd de vs. gösterebilsen,
son ve daha önceki reset kaynaklarının neler olduğuna bakabilirsin.
Hatta bunu yapıp RCON register ının aldığı değerleri buraya yaz bizde bakalım.
Birde aynı şekilde STKPTR registınada bakmak lazım
stack overflow var mı yok mu anlamak için.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html