Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Microchip PIC => Konuyu başlatan: sdonmez - 20 Eylül 2018, 18:14:31

Başlık: 18f25k80 MCLR reset problemi
Gönderen: sdonmez - 20 Eylül 2018, 18:14:31
Merhaba,

18f25k80 kullandığım bir çalışmada sistem 24 saat içinde 3-4 kez MCLR_FROM_RUNNING ile resetleniyor. Nadiren olduğu için MCLR girişini osiloskop ile izleyerek denk getiremedim.
Sistemde ICSP de mevcut. Devre şemasının ilgili kısmı aşağıdaki linkten görülebilir. Besleme gerilimi de gayet stabil.

(https://thumb.ibb.co/fqzyPz/mmclr.jpg) (https://ibb.co/fqzyPz)

Sebebini anlayamadım. MCLR Reset'in tek kaynağı bu girişteki lojik seviye midir? Ya da bu girişi bir şekilde etkileyen gürültü vs midir? Yazılım kaynaklı bir nedeni de olabilir mi?

Teşekkürler

Sadan
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: ladybird - 20 Eylül 2018, 18:29:16
Hocam çok küçük bir ihtimal de olsa buton bozulmuş olabilir.Ben bir defa karşılaştım, butona basılmasa da kısa devre oluyor.
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: EGE - 20 Eylül 2018, 18:41:28
Alıntı yapılan: sdonmez - 20 Eylül 2018, 18:14:31Merhaba,

18f25k80 kullandığım bir çalışmada sistem 24 saat içinde 3-4 kez MCLR_FROM_RUNNING ile resetleniyor. Nadiren olduğu için MCLR girişini osiloskop ile izleyerek denk getiremedim.
Sistemde ICSP de mevcut. Devre şemasının ilgili kısmı aşağıdaki linkten görülebilir. Besleme gerilimi de gayet stabil.

(https://thumb.ibb.co/fqzyPz/mmclr.jpg) (https://ibb.co/fqzyPz)

Sebebini anlayamadım. MCLR Reset'in tek kaynağı bu girişteki lojik seviye midir? Ya da bu girişi bir şekilde etkileyen gürültü vs midir? Yazılım kaynaklı bir nedeni de olabilir mi?

Teşekkürler

Sadan

Selenoid-Kontaktör-Role vs.vs çalıştırıyorsanız ve önlemini almadıysanız reset atabilir.
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: G-Kocak - 20 Eylül 2018, 19:04:13
Alıntı yapılan: sdonmez - 20 Eylül 2018, 18:14:31Merhaba,

18f25k80 kullandığım bir çalışmada sistem 24 saat içinde 3-4 kez MCLR_FROM_RUNNING ile resetleniyor. Nadiren olduğu için MCLR girişini osiloskop ile izleyerek denk getiremedim.
Sistemde ICSP de mevcut. Devre şemasının ilgili kısmı aşağıdaki linkten görülebilir. Besleme gerilimi de gayet stabil.

(https://thumb.ibb.co/fqzyPz/mmclr.jpg) (https://ibb.co/fqzyPz)

Sebebini anlayamadım. MCLR Reset'in tek kaynağı bu girişteki lojik seviye midir? Ya da bu girişi bir şekilde etkileyen gürültü vs midir? Yazılım kaynaklı bir nedeni de olabilir mi?

Teşekkürler

Sadan

Merhaba

D2 diyodundan kaynaklı bir sorun olma ihtimali yüksek. MCLR pini çok çok küçük akımlar çektiğinden dolayı diyot sorun yaratıyor olabilir. Sorunlu bir cihazda D2 diyodunu söküp deneyebilirsiniz. Hatta iki diyodu birden çıkartsanız bile sorun olacağını sanmıyorum.
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: sadogan - 20 Eylül 2018, 20:47:55
Mcrl den butona giden hat uzunsa böyle sorunlar yaratabilir.
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: serdararikan - 20 Eylül 2018, 21:08:47
10K yerine 4.7k bağlayın
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: mustafa_cmbz - 20 Eylül 2018, 23:02:52
Çevre etkenler ?

Mesela yıllar önce basit bir kart yapmıştım adam sabaha karşı aşakasız bir şekilde devreye girdiğini söylüyordu.

Bi sabah mutfağa gidiyor dolabın kapağını açıyor su almak için dolabın motoru devreye girdiği anda bizim devre de aktf olunca çaktık köfteyi..

Besleme katında ne var ?
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: Okan AKÇA - 20 Eylül 2018, 23:46:15
Mclr pasif yapın o şekilde deneyin.
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: sdonmez - 21 Eylül 2018, 00:06:28
Alıntı yapılan: mustafa_cmbz - 20 Eylül 2018, 23:02:52Besleme katında ne var ?

LM2576S-Adj + 100uH 2.5A bobin + 2x470uF Kapasitör
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: sdonmez - 21 Eylül 2018, 00:07:47
Alıntı yapılan: Okan AKÇA - 20 Eylül 2018, 23:46:15Mclr pasif yapın o şekilde deneyin.

Böyle yaparak neyi amaçlıyoruz? Reset butonunu kaldırmak istemiyorum.
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: mustafa_cmbz - 21 Eylül 2018, 00:33:02
Alıntı yapılan: sdonmez - 21 Eylül 2018, 00:06:28LM2576S-Adj + 100uH 2.5A bobin + 2x470uF Kapasitör

Lm2576 nın önüne pi tipi filitre ekle hocam.. Yüzde doksan beslemeden kaynaklı senin iş..

Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: sdonmez - 21 Eylül 2018, 00:48:07
Alıntı yapılan: mustafa_cmbz - 21 Eylül 2018, 00:33:02Lm2576 nın önüne pi tipi filitre ekle hocam.. Yüzde doksan beslemeden kaynaklı senin iş..


LM2576'nın çıkışına demek istediniz sanırım
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: baran123 - 21 Eylül 2018, 02:06:00
evet regülatör çıkışına ekle
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: Maxim - 21 Eylül 2018, 08:26:23
yukarı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
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: miyago - 21 Eylül 2018, 08:59:10
sdonmez

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.
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: sdonmez - 21 Eylül 2018, 10:43:19
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?
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: sdonmez - 21 Eylül 2018, 10:50:21
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 (https://westmountainradio.com/forum/viewtopic.php?p=200992)

Yazılım kaynaklı underflow, overflow olabilir denmiş
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: miyago - 21 Eylül 2018, 10:57:14

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.
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: sdonmez - 21 Eylül 2018, 11:07:12
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
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: yas - 21 Eylül 2018, 16:25:24
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.
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: kudretuzuner - 21 Eylül 2018, 21:42: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
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: kudretuzuner - 21 Eylül 2018, 21:44:01
.
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: aliveli - 22 Eylül 2018, 02:44:40
gizli bir şey değilse baskı devreyi paylaşın
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: mustafa_cmbz - 22 Eylül 2018, 11:15:36
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..

(http://i.hizliresim.com/oVM5Em.png) (http://hizliresim.com/oVM5Em)
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: sdonmez - 22 Eylül 2018, 22:21:04
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
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: kudretuzuner - 22 Eylül 2018, 22:34:11
Merhaba,
Bu bilgi işinize yarar mı?
http://microchipdeveloper.com/8bit:lvp
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: sdonmez - 22 Eylül 2018, 22:40:02
pic1
Alıntı yapılan: kudretuzuner - 22 Eylül 2018, 22:34:11Merhaba,
Bu bilgi işinize yarar mı?
http://microchipdeveloper.com/8bit:lvp
pic18f25k80 datasheetnde
(http://ww1.microchip.com/downloads/en/DeviceDoc/PIC18F66K80%20FAMILY%20Enhanced%20Flash%20MCU%20with%20ECAN%20XLP%20Technology%2030009977G.pdf)
LVP'ye ilişkin bilgi yok
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: kudretuzuner - 22 Eylül 2018, 22:56:51
Merhaba,
D2 diyodunu kaldırıp yerine 1K lık direnç ile denediniz mi?
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: tekosis - 23 Eylül 2018, 01:25:22
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.
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: RaMu - 23 Eylül 2018, 01:39:26
Ö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.
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: yas - 23 Eylül 2018, 15:24:30
Alıntı yapılan: sdonmez - 22 Eylül 2018, 22:40:02pic1pic18f25k80 datasheetnde
(http://ww1.microchip.com/downloads/en/DeviceDoc/PIC18F66K80%20FAMILY%20Enhanced%20Flash%20MCU%20with%20ECAN%20XLP%20Technology%2030009977G.pdf)
LVP'ye ilişkin bilgi yok

Donanım kaynaklı olmadığına eminsen, RETEN ve STVREN bunlardan kaynaklı da olabilir yada wacthdog açıksa ve yazılım içerisinde sıfırlanmıyorsa bundan da olabilir.
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: sdonmez - 04 Ekim 2018, 23:28:57
Merhaba,

Konu hakkında ilginç bir tespitim oldu. Sanırım MCLR reset ile ilgili bir sorunum yok. Asıl sorun mikroişlemcinin RESTART_CAUSE fonksiyonuna verdiği yanlış cevap. Çünkü WDT reset yediğinde bana 15 gönderiyor.

PIC18F25K80.h dosyasında aşağıdaki gibi tanımlar var.  Gördüğünüz gibi MCLR_FROM_RUN için 15 verilmiş.
// Constants returned from RESTART_CAUSE() are:
#define WDT_TIMEOUT       7   
#define MCLR_FROM_SLEEP  11   
#define MCLR_FROM_RUN    15   
#define NORMAL_POWER_UP  12   
#define BROWNOUT_RESTART 14   
#define WDT_FROM_SLEEP    3   
#define RESET_INSTRUCTION 0

Ben 7 beklerken 15 geldiği için şaşırıyorum sanırım. Fakat MCLR 'ye bağlı reset butonu ile resetlediğimde de aynı 15 değeri dönüyor. Bu daha da ilginç geldi bana...
Nasıl düzeltebiliriz? Doğru değerler hangisidir?

Sadan
Başlık: Ynt: 18f25k80 MCLR reset problemi
Gönderen: sdonmez - 04 Ekim 2018, 23:39:35
Alıntı yapılan: sdonmez - 04 Ekim 2018, 23:28:57Merhaba,

Konu hakkında ilginç bir tespitim oldu. Sanırım MCLR reset ile ilgili bir sorunum yok. Asıl sorun mikroişlemcinin RESTART_CAUSE fonksiyonuna verdiği yanlış cevap. Çünkü WDT reset yediğinde bana 15 gönderiyor.

PIC18F25K80.h dosyasında aşağıdaki gibi tanımlar var.  Gördüğünüz gibi MCLR_FROM_RUN için 15 verilmiş.
// Constants returned from RESTART_CAUSE() are:
#define WDT_TIMEOUT       7   
#define MCLR_FROM_SLEEP  11   
#define MCLR_FROM_RUN    15   
#define NORMAL_POWER_UP  12   
#define BROWNOUT_RESTART 14   
#define WDT_FROM_SLEEP    3   
#define RESET_INSTRUCTION 0

Ben 7 beklerken 15 geldiği için şaşırıyorum sanırım. Fakat MCLR 'ye bağlı reset butonu ile resetlediğimde de aynı 15 değeri dönüyor. Bu daha da ilginç geldi bana...
Nasıl düzeltebiliriz? Doğru değerler hangisidir?

Sadan

7 yerine 15 gelme problemi çözüldü. https://www.ccsinfo.com/forum/viewtopic.php?t=47354 (https://www.ccsinfo.com/forum/viewtopic.php?t=47354) sayfasındaki 2 tavsiye üzerine komutu biraz yukarı taşıdığımda düzgün cevap alabildim.