30 Ağustos 2010 Pazartesi

PIC Resetlenme Sorunu

Şu yazıda anlattığım robot kol projesinde karşılaştığım bir sorunu bu;
Üzerinde PIC 16F877 bulunan kontrol devresinde servo motorlara hareket sinyali verildikten sonra PIC sürekli resetleniyordu ve program tutarsız bir şekilde çalışıyordu. Proteus ortamında yaptığım simulasyonlarda ise bir sorun görünmüyordu. Bunun üzerine biraz araştırma yaptım ve sorunun "Brown Out Reset" isimli ayardan kaynaklandığını öğrendim.
Brown Out Reset aktif iken, mikrodenetleyicinin besleme gerilimi düştüğü zaman, işlemci resetlenerek program yeniden başlatılıyor.
Benim projede de tam olarak olan şey buydu servolar çalışmaya başladığında mikrodenetleyici besleme geriliminde düşüşe yol açıyorlardı bu da işlemciyi resetliyordu. Bu durumu önlemek için Brown Out Reset'i pasifleştirmek gerekiyor. PIC programlayıcının ayarlarından yapılabileceği gibi kaynak kodda config bölümünden de yapılabilir.

Örneğin Hi Tech PIC C için;
 __CONFIG( diger ayarlar .... &BORDIS );



Hiç yorum yok:

Yorum Gönder