Elektrik Kesintisini Enerjisi Kesilen PIC ile Algılama

MAIN_LOOP

Onursal Üye
Onursal Üye
Katılım
28 Ara 2011
Mesajlar
2,213
Puanları
935
Yaş
44
Konum
ANKARA
arkadaşlar bir microwave motion dedktör yaptım.bu dedktörde şöyle bir istek var müşteriden

dedektör enerjisi anahtardan,yada sigortadan 10sn içerisinde üç kez aç kapa yapılınca pic bunu algılayacak.sorun şuki enerji kesilince pic enerjiside kesiliyor.devrenin enerjisi 220v u trafosuz olarak 560nf kondansatör,zener,78L05 ile çalıştırıyorum.birde şebekeden 1Mohmluk direnç ile pic e giriş var. ilk olarak 78L05 5v çıkışındaki kondansatör deşarj olana kadar pic e işlem yaptırıp enerji kesintisini eeproma yazdırmaya çalıştım fakat devrede röle çekili olduğundan kond. çok çabuk deşarj oluyor. benim isteğim pil yada kondansatör elemanlarını kullanmadan 10sn içinde aç kapa algılamak,yazılıma dayalı çözüm üretecek varsa sevinirim,donanımla ilgili birşey önermemenizi rica ediyorum
 
Yazılımın nasıl bir şey?
Yani neler yapıyor?
Ne gibi işlemler gerçekleştiriyor?
 
EEprom un yazma silme sayısı hayli yüksek, 500ms de bir kayıt yapsanız 10sn de 20 kayıt yapar. 10milyon defa yazma silmeye dayanıklı ise sistemi en az 500bin defa açma kapama yapabilirsiniz. Anladığım kadarıyla tam olarak istediğiniz bu.

Eğer 3 defa üst üste 10sn boyunca elektrik stabil olup olmamasını algılamaya yönelik birşey işinize yararsa, onun için de; pic içine bir sayıcı konacak ve 10sn sonrasında eepromdaki bi adrese 4 verisini kaydedecek ve pic her açılışında bu sayıyı 1 azaltacak. Eğer 1 azalttığında sonuç 0 ise 3 defa üst üste; pic açılışından itibaren 10sn çalışamamış demektir. Bunda power on reset i aktif ederseniz mantıklı olur bence.

DipNot: Ben tekin126 nın oğluyum..
 
EEprom un yazma silme sayısı hayli yüksek, 500ms de bir kayıt yapsanız 10sn de 20 kayıt yapar. 10milyon defa yazma silmeye dayanıklı ise sistemi en az 500bin defa açma kapama yapabilirsiniz. Anladığım kadarıyla tam olarak istediğiniz bu.

Eğer 3 defa üst üste 10sn boyunca elektrik stabil olup olmamasını algılamaya yönelik birşey işinize yararsa, onun için de; pic içine bir sayıcı konacak ve 10sn sonrasında eepromdaki bi adrese 4 verisini kaydedecek ve pic her açılışında bu sayıyı 1 azaltacak. Eğer 1 azalttığında sonuç 0 ise 3 defa üst üste; pic açılışından itibaren 10sn çalışamamış demektir. Bunda power on reset i aktif ederseniz mantıklı olur bence.

DipNot: Ben tekin126 nın oğluyum..

Demek istediklerime yakın bir şey söylediğin için teşekkürler...
 
devre şuanda çalışıyor. tek sorunum portb.0 girişindeki 220v sinyali 10sn içinde 3 kez kesilip verilince bunu algılamak. tabi bu kesintiler sırasında pic te enerjisiz kalıyor.
 
Devrede picin besleme gerilmini sömürebilecek sadece pic çıkışındaki optocoupler var.. Bir de gece-gündüz kontrolü var.. Elektrik kesildi sayacı taştığında optocupler i kapatırsan bi miktar enerji tasarruf edersin, kondansatördeki enerji ile eeproma yazacak kadar zaman kazanırsın. Bi de elektrik kesildi sayacının taşma değeri uzunsa kısaltmayı deneyebilirsin.. Ve de brown out reset açıksa pic i anında resetleyecektir. Onu da kapatmanı tavsiye ederim..

DipNot: Ben tekin126'nın oğlu.. :)
 
Devrede picin besleme gerilmini sömürebilecek sadece pic çıkışındaki optocoupler var.. Bir de gece-gündüz kontrolü var.. Elektrik kesildi sayacı taştığında optocupler i kapatırsan bi miktar enerji tasarruf edersin, kondansatördeki enerji ile eeproma yazacak kadar zaman kazanırsın. Bi de elektrik kesildi sayacının taşma değeri uzunsa kısaltmayı deneyebilirsin.. Ve de brown out reset açıksa pic i anında resetleyecektir. Onu da kapatmanı tavsiye ederim..

DipNot: Ben tekin126'nın oğlu.. :)

mw dedektör 5v a bağlı ve 30mA akım çekiyor.enerji kesildiğilnde pic eeproma yazması için süre yok. 1 byte eeproma yazma süresi 5ms.
 
Eepromun maksimum yazma süresi 10ms diye biliyorum.. Neyse elektrik kesintisinde zaman yoksa, çalışma anındaki ilk 10sn yi değerlendireceksin demektir. Yukarıda yazdığım 2 yöntemden başka yapabileceğin birşey yok sanırım..
 
Eepromun maksimum yazma süresi 10ms diye biliyorum.. Neyse elektrik kesintisinde zaman yoksa, çalışma anındaki ilk 10sn yi değerlendireceksin demektir. Yukarıda yazdığım 2 yöntemden başka yapabileceğin birşey yok sanırım..

ilk söylediğin yöntem mantıklı gibi biraz ayrıntılı anlatırmısın
 
Öncelikle eepromda kolaylık olması için 2 baytlık alan ayrılmalı, 20(zaman sayacı) ve 3(deneme sayacı) değerleri ile programlanmalı.
10sn/500ms = 20 kayıt
O yüzden zaman sayacı 20.. Daha sık veya daha uzun/kısa elektrik kesintisi durumuna göre değiştirilebilir. Ayrıca elektrik kesintisinde zaman kalmadığından bu 2 baytlık ramde yapılan değişiklikler anında eeproma aktarılmalı.. Ya da direk eeprom üzerinde işlem yapılmalı.

Elektrik geldiğinde deneme sayacı bir eksiltilecek.. Eğer 0 ise eepromdaki zaman ve deneme sayaçlarına en baştaki 20 ve 3 değerleri yüklenecek ve bu kaydın olduğu program bloğuna da 10sn içinde 3 defa elektrik kesildiğinde yapılacak olan işlemler koyulmalı.. Eğer deneme sayacı 0 değilse eksiltilmiş hali kaydedilecek.. Özetle 3 değeri yazılan alan 0 olduğunda 10sn içinde 3 kere elektrik kesilmiş demektir.

Ardından her 500ms de bir zaman sayacı bir azaltılacak ve eeproma kaydedilecek. Eğer 0 olursa 10sn içinde 3 defa elektrik kesilmemiş demektir. Bu değer 0 olduğunda zaman ve deneme sayaçları alanına 20 ve 3 değerlerinin tekrar kaydedilmesi gerekir.

En kötü ihtimalle 10sn lik süre 11,5 sn olur, 1,5 sn sapar.. Umarım doğru düşünmüşümdür sistemi.. Kolay gelsin..
 

Forum istatistikleri

Konular
127,950
Mesajlar
913,849
Kullanıcılar
449,596
Son üye
anilhikmet

Yeni konular

Geri
Üst