avatar_Mucit23

Pic16F88 RA3 ile kendine reset atıyor.

Başlatan Mucit23, 05 Kasım 2011, 17:02:36

Mucit23

Merhaba arkadaşlar
Daha önce 16F628 ile yaptığım ayarlı termometre devresinde RA3,RA4 ve RA5 pinlerinde ayar için kullandığım butonlardan RA3 e bağlı olana bastığımda pic kendi kendine reset atıyor. Yanlız herzaman olmuyor. Bazen oluyor. Öyeki normal çalışma modunda bile bastığım zaman pic kendine reset atabiliyor.  Butonun bağlandığı pini pull-up yapmışım ve butona paralel 100nF kondansatör var.
Şimdi 16F88 ile yazılımı biraz geliştirip denedim aynı sorun 16F88 dede oluyor. 16F628 de pek fazla olmuyordu. ama 16F88 de dahada kendini belli etmeye başladı. Ayarları yapmakta zorlanıyorum.

Sigorta ayarlarından kaynaklanabileceğini düşündüm.
16F88 için sigorta ayarlarım aşağıdaki gibi
@ DEVICE pic16F88                     'işlemci 16F88                             
@ DEVICE pic16F88, WDT_OFF              'Watch Dog timer Kapatıldı.
@ DEVICE pic16F88, PWRT_ON             'Power on timer açık
@ DEVICE pic16F88, PROTECT_OFF         'Kod Protek kapalı
@ DEVICE pic16F88, MCLR_off            'MCLR pini kullanılmıyor.
@ DEVICE pic16F88, INTRC_OSC_NOCLKOUT  'Dahili osilatör kullanılacak 

Sorun neden kaynaklanabilir acaba.  Bi fikri olan varmı
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

pwm.c

#1
bunun RA4 ile alakalı olma olasılığı çok düşük. eğer EEPROM yazması kullanıyorsan bu sırada PIC kendini resetliyor. 5v beslemeye 100uf veya daha üzeri elektrolit bir kondansatör ekle.
dahası, besleme kaynağında bir sorun varsa buda PIC i etkiler. displeylerin harcadığı akım 7805 üzerinden aktığı için bu entegreyi bazen zorlayabilir. giriş gerilimini çok yüksek vermemeye çalış.
yazılımla alakalı bir sorun varsa onu bulmak biraz zor. çünkü ayrıntılı incelemek gerekiyor. güzden kaçan mantık hataları kolay kolay farkedilmiyor. bunu kendin yazdığın için senin tesbit etmen daha kolay olur.
eğer aklıma başka şeylerde gelirse buraya yazarım. şimdi senin sorun yaşadığın devre tam hangisi onu göster. yayınladığın devreleri biliyorum ama yinede emin olmak istedim.
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

Mucit23

#2
Sorun RA4 de değil RA3 de
Bahsettiğim devre buradaki. http://320volt.com/ayarlanabilir-termometre-devresi-16f628-ds18b20-picbasic-pro/
Benden başka yapanlarda böyle bir sorun olmuşmu bilmiyorum. Ya herzaman vardı farketmediler. Yada onlarda benim gibi önemsemediler. Şimdi Buradaki devreyi birazdaha geliştirdim ek özellikler ekledim. Bu sorunu çözersem yayınlayacağım. Yeni devrede hafıza yetmediğim için 16F88 kullandım. Açıkçası 16F628 ile aynı sorunu 16F88 yaşıyorum. Ama burada sanki biraz daha sık oluşuyor.
Set değerleri ve diğer değerleri kaydetmek için picin eepromunu kullanıyorum. Değerler eepromda saklanıyor
Aslında WDT den kaynaklandığını düşünüp WDT yi kapatmıştım. Daha önce WDT bana farklı sorunlarda çıkarmıştı. Sonuç olarak WDT yi kapatmak sorunu çözmedi.

Devreyi pil ile besliyorum. Yaklaşık 10-11v civarı bir besleme gelirimi veriyorum. 7805 çıkışı yaklaşık 5.01-5.02 arası değişiyor. Yani besleme temiz. 7805 dede hiç ısınma yok. Devrede kullandığım kondansatörlerinde yeterli olduğunu düşünüyorum açıkçası. Zaten kartı değiştirmediğim için pek fazla değişiklik yapma imkanım yok malesef. Reset sorunu dışında herşey mükemmele yakın çalışıyor diyebilirim.  Görünürde başka hiçbir sorun yok gibi.

Başka önerisi olan varmı ?
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

Mucit23

Ete hocam sizin bu konuda bi öneriniz varmıdır. Sorun neden kaynaklanabilir.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

est32

donanımsaldır diye düşünüyorum,kartı iyice incelemek lazım.

Mucit23

Acaba butona paralel kondansatörlerin böyle bir sorun yaratma ihtimali varmıdır.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ete


F®T

#7
Alıntı yapılan: Mucit23 - 05 Kasım 2011, 22:34:52
Acaba butona paralel kondansatörlerin böyle bir sorun yaratma ihtimali varmıdır.

bunu anlamak çok basit.kondansatörleri söküp tecrübe edebilirsin.

@ DEVICE pic16F88, BOD_ON              'Brow Out Detect açık. OFF  olarak denermisin.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

Mucit23

Alıntı yapılan: ferittt - 05 Kasım 2011, 23:05:16
bunu anlamak çok basit.kondansatörleri söküp tecrübe edebilirsin.

Aslında bende tam olarak öyle yaptım. Sorun kondansatördeymiş. 
İlk başta yazılımsal bir sorun olup olmadığını anlamak için RA3 e başka bir butonu tanımladım. Bu sefer tanımladığım butonda aynı sorunu yaptı. Daha sonra Ra3 deki butona paralel kondansatörü sökünce düzeldi. Şimdilik Resetlenmiyor. Kondansatörün buton parazitine faydalı olabilceğini düşünmüştüm. Büyük ihtimal kondansatör arızalı olduğu için bu sorunu yapıyordur.

Yardımcı olan arkadaşlara Teşekkürler.

Yeni bir konu açmak istemiyorum bu yüzden burada size matematiksel bir soru sormak isterim. Daha önceki ayarlanabilir termometre devresinde set değerini ve tolerans değerini 0.1 derece hassasiyetinde ayarlanabiliyordu. Şimdide ayarlanabiliyor. Fakat şöyle bir olasılık geldi aklıma. Sorun olabilecek bir olasılık. Ben daha önce bunu hiç düşünmemiştim.

Daha iyi anlaşılması açısından çalışan birkaç örnek vereyim.

   Diyelimki Set değerini 25,3 dereceye ayarladık. Tolerans değeride 4,2 derece olsun. Böyle olunca rölenin devreye girmesi gereken değer (253-42=211) 21,1 derece olacaktır. Bu değerlerde sorun yok. Ama şöyle bir durum var.

Diyelimki Set değerini 3,6 dereceye ayarladık. Tolerans değerimizde 4,2 derece olsun. Hal böyle olunca rölenin çalışması gereken değer negatiflere iniyor. Yani -0,6 derecede röle devreye girmesi lazım. İşte bu kısım benim kafamı çok karıştırdı.

Kontrol kısmında benim bu değeri işleyebilmem için bana lazım olanlar (3,6)-(4,2)= -(0,6) değeri ve sıcaklığın negatif olduğunu bilmem gerekiyor. PBP de bu tür sonucu negatif olan işlemler nasıl yapılır.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ete

Genelde gerçek devrelerde butonlara paralel 100 nf kullanırım. Bu kondansatör bir çok olumsuz etkiyi ortadan kaldırır.
Senin devrende nasıl oluyorda resete sebeb oluyor anlamadım.  Sonuçta bütün işi zaten basılınca kısa devre olan butonun iki ucuna bağlı olmak. Burada bir yanlışlık var. Tasarımıda görmek lazım bana kalırsa.  Pic in reset olabilmesi için mutlaka besleme uçlarının kısa devre olması gerekir. Halbuki buton sisteminde kısa devreyi önleyecek pullup yada pull down direnci vardır. Bu direnç direk kısa devre oluşmasını önler. Kondansatör yapsa yapasa bir müddet kısa devre olurki bunu zaten buton da yapıyor. Devamlı kısa devre olsa butona sürekli basılıyoröuş imajını verir. O halde nedir bunu yaratan şey düşünmek lazım. Daha fazla açıklama olması gerek. Bilmediğimiz bir sebep var ise bulmamız lazımki ileride bu tür olaylardan sakınalım. Bu şekilde bir arıza şimdiye kadar hiç duymadım ve görmedim.

Ete

Mucit23

Hocam Kondansatörün picin resetlenmesinde ne gibi bir yol açayır gerçekten bende bilmek isterim. Osiloskobum olsaydı eğer butona paralel kondansatörleri yine bağlayıp ne gibi zıplamalar oluyor öğrenirdim. Ama bilmiyorum. Kondansatörü sökünce düzeldi. Şimdi hiç öyle bir sorun yaratmıyor.

PCB nin bir resmini bırakayım.

jpeg image hosting

Arızanın asıl sebebini bulmak için her türlü sorulara açığım.


Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ete

PCB de bir kusur görünmüyor. Buton normalde kondansatörü kısa devre ederek boşaltıyor. Tuşu bıraktığın an ise yeniden şarj olmaı gerek. İşte bu anda k,l,tlenme oluyor ise kondansatörün bir sorunu var demektir değilse anlamsız bir sorun bu ve sebebini bulmak gerçekten zor.

Ete

Mucit23

  Hocam Şuanda Benim elimde bu sorunu ayrıntılı olarak incemek için gerekli ekipman yok malesef.  Dediğiniz gibi Kondansatörde arıza olsa pic üzerinde devamlı butona basılıyormuş izlenimi bırakır. Böyle birşey olmadığına göre tam olarak bozuk diyemiyorum. Sağlam hiç diyemiyorum çünkü 3 kondansatör arasından Sadece RA3 e paralel bağlı kondansatör böyle bir sorun yaratıyor. Asıl ilginç ve anlamsız olan kısım kondansatörün sağlam veya bozuk olması değil, Kondansatörün arızalı olmasının pic üzerine niçin ve nasıl bir etki ile pici resetlemek zorunda bırakıyor. Belkide RA3 ün diğer pinlere göre daha hassas bir yapısı vardır. Picin yapısını çok iyi bilmek lazım.

   Konuyu fazla eşelemiyelim derim ben.  Bu benim için yine yeni bir tecrübe oldu. Şu 100nF kondansatörün gerçekten sihirli birşey olduğuna inanmaya başladım. :D

  Hocam Bir önceki mesajda yazmıştım. Sanırım Gözden kaçtı. Bu iş içi yeni bir konu açmaya gerek duymuyorum. O yüzden buraya yazayım dedim. 

PBP de Sonucu negatif olan işlemler nasıl yapılır. Bunu sormamın sebebi şudur. Ayarlı oda termometresi devresinde ayarladığım ısı değişkenini tutan ikideğer vardı.Birincisi Set değeri Diğeri İse tolerans Değeriyidi.

Devrenin çalışmasın anlaşılması açısından bir-iki örnek vereyim.
Röle kontrol mantığı şöyledir.
Diyelimki SET değerini 27,2 dereceye ayarladık. Tolerans değerimizide 2,8 derece olsun. Bu şekilde kaydettiğimizde Rölenin çalışması gereken Değer (272-28=244) 24,4 derecedir. Sıcaklık bu değere ulaşınca röle çeker. 27,2 de bırakır.
Fakat şöyle bir olasılık var. Gerçekten düne kadar hiç aklıma gelmemişti.
Diyelimki Set değerini 3,1 dereceye ayarladık  Tolerans değerimizde Set değerinden büyük bir değer 4.6 olsun. Hal böyle olunca Rölenin devreye girmesi gereken değer (31-46= -15) - 1,5 derecedir.
İş burada karışıyor. Anlaşıldığı üzere sonucu negatif olan işlemlerin PBP ile nasıl yapacağımı bilmiyorum. Aslında Benim -1,5'i işleme sokamabilmem için 3,1-4,6 işleminin sonucunu ve işlem sonucunun negatif olduğunu bimem yetiyor. Bu şekilde değerlendirebilirim.
Sizin bu konuda öneriniz varmıdır. 
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ete

Negatif sayıları kullanman gerekmihyor. Biliyorsun DS serisi sensörlerle yapılan ölçmelerde sıcaklık eksi ise onu yine pozitif değer olarak hesaplıyor ancak SIGN değerini negatif yapıyorduk. Buradan yola çıkarak bir mantık kurabilirsin.
Kuramaz isen bildir ben yapmaya çalışayım.

Ete

Mucit23

Hocam o benim için farketmiyor. Isı değer her halukarda poztifi bir sayı. Sadece o anlık sıcaklığın negatif olduğunu bildiren Ham.11 idi.

Benim asıl istediğim şey ayarladığım set değerinin tam olarak bulabilmem. SET değeri Tolarans değerinden büyük ise sorun yok. Zaten Set değeri  pozitif çıkar. Ama tolerans değeri set değerinden büyük ise sorun çıkyor. (Set max=99 Derece, Tolerans max. değeri 5 derece)
Bu sefer sonuçlar negatif çıkıyor. Tam olarak sizin ne demek istediğinizi anlayamadım. Siz nasıl düşünmüştünüz ?
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

Powered by EzPortal