pic ne kadar guvenli

Başlatan selvi, 06 Mart 2011, 19:33:29

selvi

16f628a pic entegresini pbp ile programladim.porta.4 pinini pull up yaptim.bu pin sifir oldugunda led yaniyor.3 ay once program yuklemistim.iyi calisiyordu.bir sure sonra pic kendi kendine calisiyordu.kontrol ettim porta.4 surekli lojik 1 olmasina ragmen kendi  kendine led yanip sonuyor.tekrardan farkli bir 16f628a entegresine ayni programi yazdim.denedim.saglikli calisiyor.
   bir suredir bazi devrelerde farkli bicimlerde pic ler zamanla bozuluyor.pic leribni degistirdigimde sorun ortadan kalkiyor.bunun sebebi ne olabilir?genel oyle bir durum normal mi?yoksa pic in kalitesinden kaynakli bir durum mu?oyle ise kaliteli olup olmadigini nasil anlayacagiz?
Yaşam anlamlandırıldıkça kutsaldır....

Mucit23

kullandığınız şema donanımı ve programı eklerseniz daha sağlıklı ve net cevaplar verebiliriz. Bunun belkide yüzlerce sebebi olabilir. Çevre faktörü picin çalışmasını yerine göre çok büyük oranlarda etkiler. Pice direk enerji vererek çalıştırmak çok büyük hatadır. Ayrıca yazılımıda incelemek gerek.

t2

Peki bozulan pici yeniden programladığınızda sorun yine devam ediyor  mu? Belki de programda bir hata vardır. Zamanla eproma bir şeyler yazmış sonrada yapılan işlerde anlamsızlık ortaya çıkmıştır.

Alıntı yapılan: mucit23 - 06 Mart 2011, 19:40:14Pice direk enerji vererek çalıştırmak çok büyük hatadır.
Pice direk enerji vermek nedir? Bu hatayı yapmamak için beslemeyi nasıl vereceğiz? taksit taksit mi? Yoksa ledi  dirençsiz sürmek mi demek istediniz?

Mucit23

Demek istediğim Pic'in güvenli çalışması için gerekli ek donanımlardan kaçınılmamalı. Özellikle besleme bacaklarına 100nF kondansatör takılması gerektiğini herkes bilir. Bunu demek istiyorum. Yazılımdada hata olabilir.

selvi

#4
pic i yeniden yukledim sorun devam ediyor.beslemeye en yakin noktada 104nf bagli.3 ay kadar calisti.normal calisiyordu.porta.4 pull up yaptim.ledin yanmasi icin IF PORTA.4=0 THEN LED=1 kosulunu saglanmasi gerekiyor.led yandigi zaman osiloskopla kontrol ettim.porta.4 surekli lojik 1 de kaliyor.fakat led yaniyor. kullandigim pic '16f628A -I/P' 4MHz kullandim.
Yaşam anlamlandırıldıkça kutsaldır....

Andromeda

porta.4   1 e dönse bile led yanabilir, söndür komutu gelmez ise.tabi programı bilemiyoruz.
parazit kaynaklı bir durum var gibi..
" Tanrı, iradesini hakim kılmak için yeryüzündeki iyi insanları kullanır, yeryüzündeki kötü insanlar ise kendi iradelerini hakim kılmak için Tanrı'yı kullanırlar." ..." Tanrı'dan mesaj gelmiyor, biz Tanrı'ya mesaj gönderiyoruz"

t2

#6
Diyelim led, portb.1 e bağlı olsun. Bu pinden  toprağa doğru direnç ile led bağlı olsun. sadece
portb.1 =1 demekle ledi yakamıyoruz. yani bu pinin çıkış olmaıs gerek.

high  led diyerek veya tris registerlarından ayarlayarak portb.1 =1 diyerek  kere ledi yaktık.  daha sonra söndürdük yaktık. aradan 2-3 hafta geçti veya 1 dakika geçti. Bu arada harici veya dahili bir şarta bağlı olarak veya yanlışlıkla  portun çıkış özelliği iptal olduysa portb.1 =1  desek de led yanmaz.
Yani programa da bağlı. 3 ay çalışması önemli değil eğer o meçhul çevresel şartlar hemen oluştuysa sorun hemen ortaya çıkar led yine yanmaz.

gerçek bir devrede
IF PORTA.4=0 THEN LED=1

demek çok sakıncalı. yoksa titreme yapar.


şöyle yapılması uygundur:

IF PORTA.4=0 THEN
      delayms 1000
      IF PORTA.4=0 THEN  LED=1  " hala  PORTA.4=0 ise
endif


ya da

IF PORTA.4=0 THEN
      delayms 1000
      LED= ~PORTA.4
endif



selvi

#7
farkli farkli cevaplar geliyor. ilk defa oyle bir sorula karsilassaydim.programi verirdim.fakat 3-4 kere oyle bir durumla karsilastigim icin oyle bir soru sordum.yasanan sorun o anda olsa insan anlam verebiliyor.o sorun ortaya ciktiktan sonra surekli devam ediyor.donanim olarak porta.4=0 olmadigi halde sanki bu kosul gerceklesmis gibi davraniyor.pic in zamanla bozulmasi olabilir mi.kisa surede bu sekilde sonuc vermesinin nedeni ne olabilir.pic kalitesinden kaynakli bir durum olabilir mi.birde futurlec.com sitesinde 16f628-I/P 2$ iken 16f628-04 4$ bu fiyat farki neden?kaliteden kaynakli bir durum mu?programin bir kismi:
IF RB=0 THEN BIRAK 'bu kosul gerceklesmedigi surece led yanmiyor
IF PORTA.4=0 THEN 'program buraya girdiginde porta.4 donanim olarak sifir olmadigi halde bu kosul gerceklesmis kabul ediyor.
SAYIM=SAYIM+1
IF SAYAC<>0 AND SAYAC=SAYIM  THEN 'vericiden gonderilen sayac degeri ile sinyal kesilme adedi esit ise islem yap 
PORTB.4=1:PAUSE 500:PORTB.4=0 'LED YANSIN
SAYIM=0:SAYAC=0
ENDIF 
BIRAK:
.......
END
Yaşam anlamlandırıldıkça kutsaldır....

Maxim

piyasada patates pic (sahte) olduğuna dair söylentiler hep dolaşır
ama ne kadar gerçektir bilinmez, genelde tasarım veya program hatasından çıkar sorun .


o verdiğin 2 örnekte 2 farklı özellikte olan 16F628 var o yüzden fiyatları farklı
neler farklı datasheetin son sayfalarında açıklanmıştır.
belki bir tanesi artık üretilmiyor o yüzden daha pahalı ?? o bile olabilir
zaten 04 ile biten eski 4mhz çalışan 16f628 pic

Maxim

ayrıca şema ve programı incelemeden birşey söylenmez.

bazen tuhaf tuhaf şeyler olabiliyor
pice cin giriyor.
benim geçen başıma geldi, saatlerce uğraştım , analog girişinde 5 volt vardı (12F675)
meğer pic bozulmuş bir şekilde, analog girişi seçili olmasına rağmen, internal pull-up dirençleri kapalı olmasına rağmen, girişteki pull-up direnci aktif kalıyordu, kapanmıyordu.

selvi

#10
donanim olarak porta.4 pull up yaptim.yazilim olarak porta.4=0 oldugunda led yaniyor.porta.4=0 olmasi  donanim tarafindan mi yoksa pic in bozulma veya farkli bir durumdan kaynakli oldugunu ayirt edebilirmiyiz.biraz tuhaf gelebilir soru?birde sunu belirteyim.ayni pic farkli islemleri yapiyor.ama porta.4 pinine birsey olmus.acaba porta.4 pinin ozgunluklerden kaynakli bir durum olabilir mi?fet ozelligi gibi...porta.4 cikis olarak yonlendirildiginde open drain ozelligini gosterdigini biliyorum.
Yaşam anlamlandırıldıkça kutsaldır....

fahri-

porta.4  open drain çıkış dır. Farkındasınız değil mi?

My75

Kullandığınız editör veya programlayıcıdanda kaynaklanabilir.Bir ara yanılmıyorsam  bende protonda sorun yaşamıştım ama aynı kodu pbp ile oluşturduğumda sorun kalkmıştı.Aynı şey klon Pickit2 ilede oldu,tuhaf çalışıyordu.Farklı programlayıcı ile düzeliyordu..
Tomurcuk için çaba göstermeyen dal,odun kalmaya mahkumdur...

ipek

bundan bir kaç yıl evvel ETE hoca metereolojik monitor diye bir cihaz yayınladı SHT11 ve PCF8583 ile çalışıyordu bu projeyi ticari amaçlı yapıldığı için açık kaynak kodu veremiyordu zaten versede basic'ten zerre anlamıyorduk neyse devreyi yaptık ama tık yok. ya dedik ETE hoca hex'i verdiyse kesin çalışıyordur, piclerde hata vardır A'sı vardır comparatorü vardır nafile 3 tip 877 denedik yine tık yok sonunda lcd grafik displeyli çok daha evvel yapılmış saat vardı ve bundan sıkılmıştım onu silip hex'i içine atınca meterolojik monitor çalıştı buna taktığım 877'leri DigiKey'den getirtmiştim evet Maxim hocam bu durumda çin geyiğine inanmak zorunda kalmıştım.... :D

Ruzgarbey

yaklaşık bir ay kadar önce dükkanda reklam olsun diye 40 sutün kayan yazı yapıp astım. bir ay felan düzgün çalıştı. bugün sabah geldim birde baktım benim ledlerin hepsi yanıyor. elektriği söküp taktım düzelmedi. pici çıkarıp yeniden prograladım düzelmedi. acaba sorun nerde diye baktım, 16f628 in benim shift registerlere giden data ucu olarak kullandığım PORTA.1 pini devamlı  logic 1 de kalıyor. başka bir 16f628 e yazılımı yükleyip yerine taktım şu anda sorunsuz çalışıyor. durduk yere nasıl pin bozuluyor anlamışım değilim. hadi pin giriş olsa fazla gerilim felan geldi desek. ama pin çıkış olarak kullanılıyor.bende anlam veremedim selvi üstad. demekki zamanla bozuluyor bu picler :)
Hayatta En Hakiki Mürşid İlimdir. M.K. ATATÜRK