Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

Yazılımsal Reset

Başlatan elektroombank, 17 Aralık 2005, 21:48:27

elektroombank

Slmler

PIC'e yazılımsa olarakl reset attırmak istiyorum.

alında bundaki amacım şu.PIC16f877 ve LCd ile kurduğum sistemde
devreye elektrik kesintisinide 2 sn boyunca ek güç gerektiğinden 7805 önündeki kondansatorleri 3300µF ve 2200µF koydum.

  Fakat bu kondansatorler uzun süre PIC'i beslediği için.Eletrikler geldiğinde LCd aptallaşıyor.PIC aptallaşıyor.MClr ucundan PIC'e reset attırdımmı sorun duzeliyor.o yüzden PIC'e işlemler sonunda hep yazışımsal olarak reset attırmak istiyorum.Bununla ilgili devreler var.
POR, PWRT  gibi.Tam ayarlarında deneyemedim ama kullanmak pek işime gelimyor.Çünkü benim kondansotler voltajı 4V seviyesinde tutuyor.
Buda cihazın kapanmaması demek herhale.Bu yüzden güç gelse dahi reset atcağını zannetmiyorum.Ama yinede boyle bir çalışmayı deneyeniniz varsa merakla yardımlarınızı bekliyorum.

Erol YILMAZ

Basic tarafinda illa ki reset icin bazi komutlar vardir.
Donanimsal saglam bir reset istersen 1k ile +5V a cekilmis MCLR ucunu baska bir pinle saseye cekebilirsin.

arslan74

LCD ile PIC'in Beslemesini aynı yerden yaparsan. İkiside aynı zamanda devrede olurlar. O zaman Reset atma ihtiyacında olmaz. Yanlız Backlight aydınlatmalıysa onun aydınlatma beslemesini ayrır. Cünkü backlight elektrik gelmemesi o kadar önemli değil ve hiç bir sorun olmaz.

elektroombank

Hayır amacım bu değil.Benim devrem otomatik bir sistem.yani başında hiçbir insanoğlu bulunmadan aylarca çalışabilmeli.Ki elektrik kesilse dahi kaldığı değişkenleri kaydedip elektrik geldiğinde tekrar cihaz açılıp oomatik olarak işlemlerine kaldığı yerden devam eden bir sistem.Yalnız bu gibi işlemleri yapması için besleme devresindeki 7805 in önüne ve arkasına yüklü kondansatorler koyduk ki elektrikler kesildğinde bu enerji bir kaç saniye kullabilsin.Burya kadar herşey guzel.Ancak mesela elektrikler kesildi.ve arkasında hemen elektrikler ( 1sn sonra) geldi.Bu durumda PIc aptallaşıyor.Çünkü LCd tam olarak kapanmamıştı.Çünkü azda olsa kondasatorler bitmemiş PIC'i ve LCd yi besliyordu.devredeki voltaj 3v seviyesinde diyelim.Bu durumda tekrar elektrik gelince devre aptallaşıyor.fakat açılışın hemen ardından mclr den reset yaptımmı herşey normale donuyor.O yüzden pıc e her açılışta illaki bir reset qattırmak zordundaıım.Brown out gibi devreler var ama tam sonuç alamadım.Herhalde değerleri tutturamadım.Yardımlarınızı bekliyorum..

Petek

Aynı konuda iki farklı yerde başlık açmak moda oldu galiba... :)

Hocam başında kimse bulunmayacaksa, aylarca yalnız başına çalışacaksa, devrene bir buton ekle, günün birinde birisi lcd den bir şey okumak isterse butona bassın, sen de LCD_INIT işlemlerini yap ve ekran açılsın. Bir süre sonra ekran kendiliğinden kapansın.

Jal derleyicisini geliştiren Wouter birisine LCD yi işlemcinin bir bacağından beslemesini  tavsiye etmişti. İstersen öyle yapabilirsin. Kimse yokken LCD nin güç çekmesini de önlemiş olursun.
“Önyargıları yıkmak atomu parçalamaktan zordur” A.Einstein

arslan74

Burda senin LCD bağlantın cok önemli. Bende benzer yerler aynı şekilde LCD kullandım. LCD'yi nin ilk acılışta ki süreyi iyi ayarlamalısın. Devreni kontrol et. Eğer sistem çalışırken kendin MCLR ucunu kullanacak reset atiyorsan ve LCD bazen sapıtıyorsa o zaman sen LCD acılış süre ayarlarını tam ayarlayamadın demektir. Sorun senin LCD'yi sürmeden kaynaklaniyor o zaman. Sorunu aza indirgemek için 8bit data gönderme modunu sec. Cünkü LCD acılışta 8bit olarak devreye giriyor. Ama sen 4 bit moda gecime olayını düzgün yapamassan ekran sapıtır. Böyle durumlarda 8bit data göndermeyi ve LCD sürelerini uzatman senin işini cözecektir.

Yok eğer ben PIC'e reset atmak istiyorum diyorsan. O zaman bunu yazılımla atmanı pek mümkün değil, Belki "Goto 0x00" diyebilirsin ancak Stackta bilgi var ise o orda kalır buda daha sonra sistemin calışmasında hata verir özellikle 16F877 için. Ama 18F serisinde bu işlemi yapan özel bir komut var. 16F877 de brownout Reset olayı var, yani Voltaj Belli bir değerin altına veya üstüne ciktımı otomatık reset atiyor. Burda sadece Brownout Reset sigortasını aktif hale getirmen yeterlidir. Ama Voltaj kademesini ayarlayamiyosun. Ama 18F serisinde Brownout Reset olayında reset Voltajınıda ayarlayabiliyorsun. O senin için daha sağlıklı görüküyor.

elektroombank

Porıgrammımı f877 ye göre yaptım.Bunda sonra 18f e geçmek baaya zaman alır.Benim istediğim şu.PIC 4.10 v (misal) un altına ve ya üstüne
tercihen altına düştüğünde PIC reset durumunda kalsın istiyorum.Bunu yaparsam benim sorunum çözülüyor.Brown out devresi benim işimi görüyormuş.Fakat örneklerde hiç değer hesabı filan yok.O yüzden benim amacım 4.80 volta ayarlamak ise ne kadarlık direnç ve zener koymalıyım.Birde brown out ile ilgili bir kaç şema var.Bunlardan hangisi bana yarıyor acaba.

  Herhalde amacımı anlatabildim.Bu söylediklerime uygun bir brown out olabilirmi.varsa rica etsem şema vs atabilirmisiniz.

Saygılar

arslan74

Bahs ettiğin şey zaten 877 de var. Yapman gereken tek şey "BODEN" sigortasını on yapmak.
__CONFIG _CP_ALL & _WDT_OFF & _HS_OSC & _LVP_OFF & _BODEN_ON & _PWRTE_ON & _DEBUG_OFF


örnekteki gibi PIC'in sigortasını ayarlarsan senin işini görür.