pic'i resette tutmak (soru)

Başlatan papsukkal, 21 Mayıs 2009, 14:45:01

papsukkal

basit bir devre yaptım. sadece geceleri çalışiacak. pic in reset ucunu ldr ile gündüz sıfırda tutuyotum gece olunca resetten kurtullup çalışmaya başlıyor. bir süre hareketsiz kalınca sleep devreye giriyor.

1. PİC'i resette tutmanın PİC açısından zararı var mıdır?
2. reset durumunda çekilen akım nedir? (ben sağlıklı ölçüm yapamadığım için buradan soruyorum)
3. 6 V ile çalıştırma sakıncalımıdır?

vereceğiniz cevaplar için teşekkürler.

Maxim

Alıntı yapılan: "papsukkal"basit bir devre yaptım. sadece geceleri çalışiacak. pic in reset ucunu ldr ile gündüz sıfırda tutuyotum gece olunca resetten kurtullup çalışmaya başlıyor. bir süre hareketsiz kalınca sleep devreye giriyor.

1. PİC'i resette tutmanın PİC açısından zararı var mıdır?
2. reset durumunda çekilen akım nedir? (ben sağlıklı ölçüm yapamadığım için buradan soruyorum)
3. 6 V ile çalıştırma sakıncalımıdır?

vereceğiniz cevaplar için teşekkürler.

1- bence resette tutmanın zararı yoktur ama o iş için daha farklı yöntem kullanıyorlar ,interrupt girişi ile speep modda kalmak gibi falan

2- çekilen akımı şimdi ölçtüm ,
16F628A internal osc ,4 mhz ,basit bir sayma işlemi programı var ,
reset durumunda ve çalışırkenki çekilen akımlar arasında fark göremedim ben, 1.4 mA ile 1.6 mA arasında bir akım çekiyor

3- dataseheet te en yüksek çalışma voltajı için 5.5 volt denmiş .

ferdem

PIC i LDR yardımıyla resette bekletmektense yine LDR yardımıyla uyutup, uyandırmayı deneyebilirsiniz.

LDR li bir gerilim bölücü yapalım, girişi pin b0 a verelim. Gece olunca gerilim bölücü çıkışı 5V a çıksın(yaklaşsın) gündüz 0V a insin(yaklaşsın). B0 girişi "schmitt trigger" girişli zaten, gerilim bölücü çıkışı 1V u veya 4V u bir kere geçsin yeter. LDR yi 10k ile seri bağlasak işimizi görecek gerilim bölücü olur heralde, benim elime geçen LDR dirençleri 50-100 ohm ile 300k-400k arasında değişiyordu.

B0 kesmesi PIC i uyandırabiliyor. Biz her gelen kesmede son gelen "high_to_low" ise artık "low_to_high" ı bekle şeklinde option registerindeki ilgili biti "toggle" edeceğiz (pulse genişliği ölçer gibi). Aynı şekilde eğer gelen kesme sırası "high_to_low" da ise PIC i "sleep" moda göndereceğiz veya "low_to_high" ise işine göndereceğiz, zaten uyanmış olacak.

628A nın kataloğunda 137. sayfada VDD-VSS farkının en fazla 6.5V olabileceği söylenmiş.

Maxiboost un dediği 5.5V çalışabileceği en yüksek değer olarak verilmiş, 6.5V ise bozulma sınırı olsa gerek.

6V beslemenin önüne bir tane diyot bağlarsanız PIC beslemesini en azından 5.3V a indirmiş olursunuz.

İyi çalışmalar, saygılar.

Düzenleme: 5.5V değeriyle ilgili katalog bilgisi eklendi.

papsukkal

ilgi ve önerileriniz için teşekkür ederim. benim de sonradan aklıma geldi ldr ile kesme ucunu pasifleştirmeyi deniyeceğim

eozkantar

pot komutunu kullanarak ta yapabilrsiniz  ldr nin direncine gore yazarsınız programı
pic uyur belli zaman aralığıda uyanıp dirence bakıp ne yapacağına karar verir

papsukkal

aslında zor değilmiş. mclr pini için yaptığım devreyi int pinine kaydırdım. şimdi PIC, int sinyali gelse bile gündüz deyil gece uyanıyor.

önerilerinizden dolayı herkese teşekkür ederim..