pic neden bozulur

Başlatan vatandas30, 21 Kasım 2005, 12:14:48

vatandas30

arkadaşlar
bir devre yaptım. devrede 16f 84 kullandım. programladım ve devreyi çalıştırdım. buraya kadar herşey normal. devre iki gün problemsiz çalıştı.
sonra devrenin kutusunda değişiklik yaptım. tekrar topladım. 3 saat sonra pic öldü. herşeyi kontrol ettim. başka hiçbir problem yok. yeni bir pic programladım ve devreyi çalıştırdım. yine yaklaşık 3-4 saat sonra ikinci pic de gitti. hala araştırıyorum . sebebini bulamadım. beslemede 100nf kondansatörde kullandım. devrede ısınan hiç bir eleman yok.
acaba programda bir hata varda ondan dolayı pic bozulmuş olabilir mi. programı picbasic te yazdım.
yardımlarınızı bekliyorum.

ete

Bu kadar az bilgi ile sana olumlu bir yanıt vermek çok zor. Pic durduk yerde hiç bozulmaz. İkinci pic'i de aynı şekilde bozduğuna göre mutlaka devrende bir sorun vardır.
Pic aşağıdaki sebeplerden bozulur;
1. Besleme 5,5V un üzerine çıkıyorsa
2. Port pinlerine bağlı elemanlar 20-25 ma den fazla akım çekiyorsa. Örneğin bir port pinine 2 adet led bağlamış isen pic bozulacaktır.
3. Devrede 5 Volt'un üzerinde kontrol voltajı var ise ve bu voltaj pic portlarından birine giriyor ise.
Bunları kontrol et. SOrun yok diyor isen devre şemanı burada yayınla ki daha iyi fikir yürütebilelim.
ETE
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

cozturk

Alıntı yapılan: "ete"2. Port pinlerine bağlı elemanlar 20-25 ma den fazla akım çekiyorsa. Örneğin bir port pinine 2 adet led bağlamış isen pic bozulacaktır. ETE
ben denemedim gerçekten bozuluyor mu? Çünkü bunlarda da diğer cmos ICler gibi akım sınırlaması vardır.

vatandas30

ilgilendiğiniz için teşekkür ederim. buraya resim nasıl ekleniyor bilmiyorum. o yüzden devreyi ekleyemedim.
yaptığım devre bir numaratör devresi. devrede 8 tane buton var. bir adet 74164 ve bir de display var. basılan buton kaç numaralı ise displayde o rakam yazıyor ve zil çalıyor. belli bir süre sonra sönüyor.
ayrıca butonlardan birisi de reset. yani resete basınca da rakam sönüyor. kısacası okullarda kullanılan numaratörün elektronik olanı.
beslemeyi 7805 ile yaptım. ayrıca pic in çıkışlarına direkt olarak displayler de bağlı değil. devrede ısınan hiç bir eleman yok. 7805 de sağlam. beslemeye 470 Mf. lık kondansatör haricinde 100 nf. lık kondansatör de bağladım.
programda yapılan bir mantık hatasından dolayı pic bozulabilir mi.

ete

Mantık hatasından pic bozulmaz.

ETE
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

vatandas30


ete

Devrene baktım.
Pic'i bozacak bir şeye rastlamadım.
Mutlaka kartında bir şeyler vardır. Dikkatlice incele derim. Başka diyecek bir şeyim yok.
ETE
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

vatandas30

ilgilendiğiniz için çok teşekkür ederim.bir gelişme olursa size de duyururum

CaFFeiNe

devrende problem gözükmüyor zaten kutuya koymadan problemle karşılaşmamışsın onun için yaptığın kutuya odaklan herhangi bir kısa devre gibi birşey olmasın metal kutumu?
bende öyle birşeyle karşılaştımki imkansız gibi birşey 2 kart arasına boşluk oluşturmak için muslukların içinde kullanılan ortası delik siyah lastik contalardan koymuştum ve haliyle bu contalarda kart üzerindeki bakır yollara değiyordu ve kart üzerindeki bazı malzemeler birkaç günde bir bozuluyordu tam tırlatmak üzereydimki ölçü aleti ile bir ölçtüm oda ne? contaların direnci sıkıştıkça birkaç kOhm a kadar düşüyordu (artık nedendir bilemiyorum contaların içinde iletken bir kimyasalmı vardır nedir) imkansız gibi birşey ama bunu yaşadım isteyen muslukçulardan alıp ölçebilir :)
yani yaptığın kutuyu güzelce bir incele derim ben

mhk

Sevgili vatandas30... Olası hatalar ve bazı tecrübelerimi yazmaya çalışacağım
* Hat topraksız ise faz kaçağı, butonlar vasıtası ile pic'e kadar gelip yakabilir. ( Bir otomasyon projesinde günde 2-3 adet max485 i bu yüzden değiştirmek zorunda kalmıştım. )

* Aslında mümkün olduğunda giriş ve çıkışları optik izole etmekte fayda var. ( Ani oluşan pik gerilimlerde picin uçlarına geleceği için yanabilir. Veya giriş uçlarına şase ile arasına 10-100 nF kondansatör bağlarsan bu etkiyi azaltabilirsin,hatta kondansatör ile paralel 5v1 zener diyotta fena sayılmaz :) Bu abartı sayılabilir. Projede kullanılan gerilim büyüklüğü bu güvenlik tedbirlerini almaya zorlayabilir.)

* Kutuyu yeniden topladıktan sonra pic'in yanması , muhtemel sonuçlar dışında, pinler arasında kısadevre olduğu yorumunu çıkarabilir. ( Bunun için devreye enerji vermeden önce pic üzerindeyken avometre ile tüm uç olasılıklarını deneyip kısadevre olup olmadığını, ayrıca enerji verdikten sonra besleme ve diğer uçlara +5 ve 0 volt dışında gerilim gelmediğini kontrol etmelisin. Ben tasarımlarımı bitirdikten sonra , mikroişlemciyi takmadan önce kısadevre ve enerji kontrollerini mutlaka yaparım. Tecrübelerle sabittir. Yaktığım onlarca mikroişlemciden sonra bunu alışkanlık haline getirdim.)
"Ya olduğun gibi görün, Ya da göründüğün gibi ol..." Mevlana

vatandas30

cevaplarınız için teşekkür ederim.
dün öğlen devreyi tekrar söktüm. besleme kısmındaki kondansatörleri 10M ve 470M kondansatörleri kontrol ettim. 10M olan zannedersem bozuk. bir de lehimleri kontrol ettim üzerlerinden bir daha lehim yaptım. ve yeni pici taktım. şu ana kadar bir problem yok.  
(bu arada kutu tahtadan.ağaç işleri sağolsun  :D  )

vatandas30

işin ilginç tarafı son bozulan pic te sadece b portunun 5. ucu entegrenin - beslemesi ile kısa devre. ama tekrar program yazılabiliyor. tam olarak gitmemiş yani. bunu görünce hemen pici söküp devreyi kontrol ettim. devrede herhangi bir kısa devre yok.

CaFFeiNe

programını bilmediğim için emin değilim ama şöyle birşey aklıma geldi 5. ucu önce giriş olarak tanımlayıp sonra isteğin dışında bir programlama hatası vs ile çıkış olması gibi bir durum mesela böyle bir olay oluyorsa butona basarken 5.ucu kısa devre edersin

vatandas30

program bu. kaç numaralı butona basılırsa displayde onu gösteriyor. eğer başka bir botona basılırsa son iki rakam yanıp sönüyor. reset butonu ise displayi sıfırlıyor. her iki halde de resete basılmazsa belli bir süre sonra sıfırlanıyor. tabi siz üstadlarıma benim acemice programım komik gelebilir. fikirlerinizi de bekliyorum. ama program çalışıyor.
option_reg.7=0
trisa=%00000
trisb=%11111111
veri var byte
a var byte
b var byte
k var byte
sayac1 var word
sayac2 var byte
sayac3 var byte
RES var portb.0
b1 var portb.1
b2 var portb.2
b3 var portb.3
b4 var portb.4
b5 var portb.5
b6 var portb.6
b7 var portb.7
role var porta.2
a=0
b=0
k=0
veri=0

start:
sayac1=sayac1+1
if sayac1=60000 then
sayac2=sayac2+1
endif
if res=0 or sayac2=20 then reset
if b1=0 then veri=%00000110
if b2=0 then veri=%01011011
if b3=0 then veri=%01001111
if b4=0 then veri=%01100110
if b5=0 then veri=%01101101
if b6=0 then veri=%01111101
if b7=0 then veri=%00000111
if b1=0 or b2=0 or b3=0 or b4=0 or b5=0 or b6=0 or b7=0 then  karar
goto start

karar:
sayac1=0
sayac2=0
sayac3=0
role=1
pause 100
role=0
if a=0 and b=0 then hatirla1
if a<>0 and b=0 then hatirla2
if a<>0 and b<>0 then hatirla3

return

hatirla1:
b=0
a=veri
k=veri
gosub goster
goto start

hatirla2:
b=veri
if a=b then hatirla1
goto yak_sondur

hatirla3:
a=b
b=veri
goto yak_sondur

yak_sondur:
sayac3=sayac3+1
if sayac3=250 then reset
k=a
gosub goster
pause 500
if b1=0 or b2=0 or b3=0 or b4=0 or b5=0 or b6=0 or b7=0 or res=0 then  start
k=b
gosub goster
pause 500
if b1=0 or b2=0 or b3=0 or b4=0 or b5=0 or b6=0 or b7=0 or res=0 then  start
goto yak_sondur

reset:
sayac1=0
sayac2=0
sayac3=0
veri=0
k=0
a=0
b=0
gosub goster
goto start


goster:
porta.0=k.7
pulsout porta.1, 1
porta.0=k.6
pulsout porta.1, 1
porta.0=k.5
pulsout porta.1, 1
porta.0=k.4
pulsout porta.1, 1
porta.0=k.3
pulsout porta.1, 1
porta.0=k.2
pulsout porta.1, 1
porta.0=k.1
pulsout porta.1, 1
porta.0=k.0
pulsout porta.1, 1
low porta.1
return

vatandas30

sevgili arkadaşlar.devremi yerine bağladım. geçen haftadan beri pic bozulmadı. ama bu defada odalardaki lambaları yakıp söndürünce sanki butonlardan birine basılmış gibi numara düşüyor. buton uçlarına 100nf. lık kondansatör bağladım ama sorun çözülmedi.
lütfen acele yardım. aklıma başka bir çözüm gelmiyor