pic\'te program kilitlenmelrinin sebebi nedir?

Başlatan engin.763, 17 Ekim 2012, 04:02:44

engin.763

Bugün areste çizmiş olduğum bir 7 segment sayıcı devresini PCB üzerine bastım,devrede LM7805 REGÜLATÖRÜ kullandım,ancak devre ilk başta ne yaptıysam çalışmadı.En son ne hikmetse aklıma 7805 entegresinin +5 - GND arasına bir led bağlamak geldi,ledi iki bacağa lehimlediğim an program çalışmaya başladı.1 dk çalıştı sonra program durdu,tekrar gücü kesip açtım tekrar çalışmaya başladı ara ara programda kilitlenmeler oldu en son hiç çalılmadı,sizce bunun sebebi nedir çok merak ediyorum...
 >:( >:(
NOT: DEVRENİN ARES ÇİZİMİ EKTEDİR
Bir insan iyi bir mühendis olabilir,yada iyi bir doktor,çok iyi bir yöneticide olabilir ,ama ne olursa olsun insan iyi yumruk atmayı ve iyi nişan almayı mutlaka bilmeli....

RaMu

Bende ares 7.6 yüklü o yüzden çizimi açamadım, bağlantılarda problem varmı bilemiyorum, aslında programınızda hata olabileceği düşüncesindeyim, ben asm kullanıyorum asmde yazdıysanız yardımcı olurum. Birde konfigurasyon bitlerini doğru kurduğunuzdan, mclr ı +5 v bağladığınızdan, osilator kullanımına dikkat ettiğinizden emin olun. Çizimi resim olarak eklerseniz onada bakabilirim.

pwm.c

devrenin yazılımını verseydin bunuda incelerdik. o nedenle donanımla ilgili hata olasılıklarını söyleyebileceğim.
1- MCLR bacağına bağlı direnç boşta duruyor. bunu +5v beslemeye bağla yada yazılımdan MCLR_OFF olarak ayarla. ozaman dirence gerek kalmaz.
2- baskıdevrede soğuk lehim yada temassızlık olabilir.
3- besleme kaynağında sorun olabilir. kaliteli bir adaptör kullan yada akü bağla.
4- 7805 bozuk olabilir.

şimdilik aklıma gelenler bunlar. belki başka detaylarda olabilir.
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

engin.763

#3
ARES çiziminin resmini eke attım ordan bakınız.Devrenin yazılımında en küçük hata olmadığından eminim.Çünkü tüm yazılımlarımı önce exp-kits geliştirme kartımda deniyorum ondan sonra PCB denememe takıyorum.Yazılımda sorun yok ondan eminim.Adaptörde sorun olmadığındanda eminim ondada sorun yok.LM7805 in iki çıkış bacağını dikkatlice ölçtüm ondada sorun yok eminim.Bacak başlantılarını tek tek multimetreyle kontrol ettim hiçbirinde temas sorunu yok gayet düzgün temas ediyorlar.MCLRE baacağını 10k üzerinden +5V a bağladım resimde görülüyor atlamanın olduğu kısımDAN +5v a bağlandı.

Asıl merak ettiğim şey ise şu:devre ilk başta enerji verince çalışmadı sonradan LM7805 entegresinin GND - +5V  bacaklarının arasına bir led bağlayınca çalışmaya başladı benim anlamadığım nokta bu,ledde keramet mi varki LM7805 in iki bacağının arasına gelince devre çalışmaya başladı

Bir insan iyi bir mühendis olabilir,yada iyi bir doktor,çok iyi bir yöneticide olabilir ,ama ne olursa olsun insan iyi yumruk atmayı ve iyi nişan almayı mutlaka bilmeli....

engin.763

Bir insan iyi bir mühendis olabilir,yada iyi bir doktor,çok iyi bir yöneticide olabilir ,ama ne olursa olsun insan iyi yumruk atmayı ve iyi nişan almayı mutlaka bilmeli....

F.T


RaMu

Kitte herşey düşünülmüştür, belki boşdaki pinlerin durumundan bile hata alabilirsiniz, kitte çalıştı diye yazılımda problem yok demek değildir bu. Ledin durumu şudur bence, konfigürasyonda brownoutdetect- bor açık ayarlandıysa, led bağlanınca sağlanan kaynak gerilimini düşürür buda bor dan ötürü picin kendini resetlemesine sebep olur, picin mclr ile harici resetlenmesi ile devreniz çalışmaya başlıyorsa, ledde aynı işi yapmış olur.  Boşdaki pinleri direk toprağa bağlamakta sakıncaklı olabilir, eğer pinleri çıkış yapıp direk toprağa bağladıysanız ve bu pinlerden birini programda set ederseniz o portu yakabilirsiniz, bir pinden maksimum 25 mA alınabilir ama direk toprağa bağlı çıkış pini set edilirse daha fazla akım talep etmiş olursunuz buda pini-portu yakar. Fotoda iki tane atlama yeri var mclr yi + olanına bağladığınızdan emin olun. Piten 7 seg giderken dirençlerden sonra 8 tane kondansatör bağlı bunlar ne için, burada kondansatör bağlıysa bu devrenin zaten çalışmaması lazım. Bağlantı şekline göre kullanılan display ortak katodlu, ıstedığin ledin yanması iççin 1 göndermeniz lazım böylemi yapıyorsunnuz, ve bağladığınız display ortak katodlumu kontrol edin.

pwm.c

#7
ilk gönderdiğin baskıdevre ile ikincisi arasında farklar var. bize bastığın çizimi göstermelisin.
dahası, yaptığın baskıda osilatör bacaklarını kısadevre etmişin. verdiğin C yazılımda ise osilatör HS olarak ayarlı. bu şekilde asla çalışmaz. senin dahili osilatörü kullanman gerekir yada baskıdaki kısadevreyi kaldır.
yine verdiğin yazılımda 2 ayrı dosya var. sen hangisini kullandın? C dosyasında her segment değişiminde 50ms gecikme verilmiş. bu süre çok kısa. o halde asm dosyasını derleyip yüklemiş olmalısın. orada dahili osilatör kullanılmış. bu durumda kristal bağlamana gerek yoktu. ozaman sen neden kristal kullanıp kısadevre yaptın?
baskıdevren hatalı. bence yeniden çiz. ayrıca A portlarını direk şaseye kısadevre yapma. eğer yapacaksan 10k direnç ile pull-up et yada kullanmayacaksan boş bırak gitsin.
_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

engin.763

#8
Nazmi abi HS osilatör kullanılırken iki adet 22pf kondansatör üzerinden toprağa bağlanmaz mı?Gördüğüm tüm örneklerde böyle yazıyordu,yada onlar HS değillermiydi acaba?Birde boştaki bacakları 10K üzerinden toprağa bağlayın demişsiniz, bu bacakların çıkış yada giriş olarak yönlendirilmesi gerekiyormu 10K üzerinden toprağa bağlanırken...

RAMU cevap için çok sağol ustam,bu işin ince teferruatlarını bilmiyorum sadece sağdan soldan gördüğüm örneklere bakarak yapıyorum bişeyler,onlar led condansatör değil....Nazmi abini değindiği konu bayadır merak ettiğim şeyler.Boştaki bacaklar bazen entegreyi çok ısıtıyor nasıl engelleneceğini hiçbiyerde bulamamıştım

Not: devrenin bastığım hali aşağıdaki ektedir ilkini yanlışlıkla koymuşum kusura  bakmayın onu değiştirmiştim sonradan,.. :-X
Bir insan iyi bir mühendis olabilir,yada iyi bir doktor,çok iyi bir yöneticide olabilir ,ama ne olursa olsun insan iyi yumruk atmayı ve iyi nişan almayı mutlaka bilmeli....

RaMu

Kısa devre olan yer burası, kestinmi osilatör bağlantısının geri kalını doğru, yani 15 16 osilatör bacaklarıysa bunları birbirine bağlamaman gerekiyor.       Ben programa henüz bakmadım ama arkadaşlar epey hata bulmuş onlarada dikkat etmeli. Boşdaki pinler pulldown ile giriş olarak kurulabilir, bende tam bilmiyorum ama mantıken problem yok, birde üniversitede hoca öyle demişti gibi hatırlıyorum, ben şimdiye kadar boşdaki pinleri boşta bıraktım bir problem çıkmadı.  birde ledleri niye kullandınız? Led artı 7 seg birde arada direnç üzerindeki gerilim düşümü, hiçbirşey gözükmemesine veya sönük yanmasına sebep olabilir, ledler beyaz mı?

engin.763

RAMU ustam dediğin doğru devrenin o kısmında yanlışlık var, :o :o çok bariz bir hata,aslında bunu devreyi tamamladıktan sonra farkettim ve hemen tornavida ile  kazıdım...Ledler mavi led,arada 220 ohm luk direçler var ledlerin patlamamsından emin olmak için attım onları.HS osilatör bağlantısında sence sıkıntı varmı benim anlamaya çalıştığım nokta orası,NAZMİ ustam HS oslatör kullanacaksan toprağa bağlantı yapmayacaksın dedi ama gördüğüm çoğu kristal bağlantısı böyle,22 pf lık 2 kondansatör üzerinden toprağa çekilyordu.Birde elinde RA0-RA1-RA2-RA3-RA4-RA5-RA6-RA7 bacaklarını nasıl giriş (button olarak) kullanabileceğime dair bir çizim varmı?Ben button girişi eklemek istedim ancak pic i yakmaktan çekindim... :o :o
Bir insan iyi bir mühendis olabilir,yada iyi bir doktor,çok iyi bir yöneticide olabilir ,ama ne olursa olsun insan iyi yumruk atmayı ve iyi nişan almayı mutlaka bilmeli....

pwm.c

#11
Arakadaşım, yazdıklarımızı tam anlamamışın. Ben sana A portlarını şaseye direk bağlama demiştim osilatörü değil. kullanmadığın A portlarını pull-up yada pull-down yap olmadı boş bırak. osilatör bağlantın doğru ancak 15. ve 16. bacakları kısadevre yapıp şaseye çekmişin. bunların ikisinide şaseden ayırman gerekir dikkat et.

devrede kristal kullanmak için osilatörü XT yada HS olarak ayarlamalısın. INTRC olarak ayarladıysan oradaki kristal iş görmez. PIC kendi içindeki dahili 4Mhz osilatör ile çalışır.

_/\/\/\_ -[ı- -ı>|- -|ı|ı|ı- -ı< -||- -l[]l-

engin.763

Bir insan iyi bir mühendis olabilir,yada iyi bir doktor,çok iyi bir yöneticide olabilir ,ama ne olursa olsun insan iyi yumruk atmayı ve iyi nişan almayı mutlaka bilmeli....

RaMu

Nazmi bey teşekkür ederim, evet benim yukarıda kes yazdığım foto eksik-yanlış, nazmi bey gerekli düzeltmeyi yapmış. 2 yıldır pic programlıyorum, bir defa olsun hiçbir devremi ilk seferinde çalıştıramadım, epey dikkatsizlik var bende.

engin.763

Ramu o dediğin bendede var bende yaklaşık 2 yıl oldu bu işe başlayalı,bugün kurduğum devre ertesi gün çalışmıyor.Deneme kitim exp-kits te deniyorum saat gibi çalışıyor. ama kendi kurduğum board üzerindekini 50 defa kontrol ediyorum sorun nerde diye yinede çalışmıyor.Bu devredeki hata çok bariz iyi kötü bulunacak türden ama bazen öyle oluyorki elektroniğinede picinede dediğim şeyler oluyor.İşin en zevkli kısmı program yazmak,hatanın ne olduğunu anlayabiliyorsun ve yazdığın şeylerin karşılığı elle tutulur bişeye dönüşüyor bu çok heyecan verici.Ben yöntemimi değiştirdim.Şimdi daha önce denenmiş hazır projeleri denemeden direk PCB üzerine basacağım çünki denemeye gerek yok zaten daha önce yapılmış,teorik bilgi eksikliğim olduğu için neyin nereye neden geleceğini bilmiyorum ama orda orda olması gerektiğini bazen kestirebiliyorum ki buda bana yeter heralde.Model uçaklarla uğraşıyorum 3 yıldır, amacım tam otomat  GPS kontrollü bir auto pilot yapabilmek.Biraz uçuk bir hayal ama yapamazsamda oraya kadar çok şey öğrenirim heralde.. :o :o :o :o :o :o
Bir insan iyi bir mühendis olabilir,yada iyi bir doktor,çok iyi bir yöneticide olabilir ,ama ne olursa olsun insan iyi yumruk atmayı ve iyi nişan almayı mutlaka bilmeli....

RaMu

Ben içinde mekanik olan projeleri sevmiyorum, mekanik kısmı yapacak beceride yok bende. Bahsettiğiniz uçuk birşey değil çabalarsanız olur, yazın başında sd kart okumaya çalışıyordum şimdi programı yazdım sayılır asm kullandığım için her satırı bana ait bir kod oldu, daha çok işi var ama şimdilik hiçyoktan dosyaları açıp klasör klasör içinde ne var görebiliyorum, birde txt okuyabiliyorum ama hatalar var tabiki orada burada takılıyor hayırlısı bakalım çalışmalar devam ediyor.

engin.763

#16
Bu işe zaten nekadar vakit ayırırısan okadar çok şey öğreniyorsun,benim derslerimi çok etkilemeye başladı ara vereyim diyorum ama veremiyorum çok kötü bağımlılık yaptı bende,7 yaşımdan beridir elektronikle uğraşmak için bi kapı arıyordum 2 yıl önce mikrodenetleyicilerle tanıştım dünyaya bakışım değişti diebilirim,yapabileceğin şeylerin sınırsız olduğunu bilmek insanda sahiden bağımlılık yapıyor,keşke makine yerine elktronik yada mekatronik okusaymışım,bölümümün kingi olurdum heralde... :o :o :o :o :o
Bir insan iyi bir mühendis olabilir,yada iyi bir doktor,çok iyi bir yöneticide olabilir ,ama ne olursa olsun insan iyi yumruk atmayı ve iyi nişan almayı mutlaka bilmeli....

Hızlı Yanıt

Not: Bu konu bir moderatör tarafından onaylanmadan görüntülenmeyecektir.

Adı:
E-Posta:
Doğrulama:
Lütfen bu kutuyu boş bırakın:
IRFP250 Nedir:
kısayollar: göndermek için alt+s veya önizleme yapmak için alt+p'ye basın