Raspberry pi elektrik kesildiğini algılama

Başlatan trgtylcnky, 26 Ekim 2017, 14:06:01

trgtylcnky

Merhaba,
Raspberry Pi 3'ü 220V -> 5V adaptörle besliyorum. Elektrik kesildiğinde hemen algılayıp kondansatörlerdeki enerjiyle geride kalan birkaç milisaniye içinde bazı önemli verileri SD karta kaydetmek istiyorum. Daha önce böyle bir şey yaptınız mı? Aklıma gelen sorunlardan birisi, SD karta linux ile yazma işlemi yaparım fakat tahminimce önce önbelleğe yazıp esas kalıcı belleğe geçirmeyecek. Bunun için yazdıktan hemen sonra unmount yapmam gerekecek sanırım.


muhendisbey

Denediğiniz şey SD kartta bozulmaya yol açabilir. Kapasitör yerine şarjlı batarya daha uygun olabilir. Bir powerbank kullanımına bakar.
Zulmü alkışlayamam, zalimi asla sevemem; Gelenin keyfi için geçmişe kalkıp sövemem.

trgtylcnky

Biraz yanlış anlaşılma olmuş. Kapasitör derken güç kaynağının kendi içindeki kalan enerjiden bahsediyorum. Hani fişten çekince içinde kalan enerjiyle bir yarım saniye filan daha çalışırsa diye. Ek bir güç kaynağı kullanmadan halletmeye çalışıyorum. Bu şekilde yapamazsam batarya kullanmayı deneyeceğim tabii.

muhendisbey

Yok anladım ben onu da o şekilde olmaz. SD kartta yazma yaparken süre kısa gelirse SD kart üzerindeki veri eksik kalır. Bu da dosya sistemine zarar verir. Zaten bu yarım saniye dediğin süre akım çekildiğinde ya da adaptör kısa süreli fişte kaldığında daha da kısalır.


Mümkün mertebe istenen: dosyalar SD karta yazılacak, sistem güvenli kapatılacak şeklinde olursa daha sağlıklı olur.


Adaptör powerbank ve diyot elemanları (mosfetli devreleri tercih edersen daha sağlıklı olabilir), enerji kesintisini anlamak için de direnç ile gerilim bölücü işlem tamam. Ya da hazır modüller var, Çin'liler bir sektöre de el attırmıyor :)
Zulmü alkışlayamam, zalimi asla sevemem; Gelenin keyfi için geçmişe kalkıp sövemem.

foseydon

Güç kaynağı dediğin 5V duvar adaptörü sanırım. bu durumda güç kaynağının kapasitörlerinde kalan enerji ile yarım saniye çalışman imkansız. Zaten 1RC sürede voltaj %60ına düşüyor, ki buraya düşmeden zaten senin devre çalışmayı bırakır. Ufak bir hesap yaparsan, sana yetecek süreyi sağlayacak kapasitörlerin o adaptörden daha büyük ebatta olduğunu görürsün. En temizi, elinde scope var ise, adaptörün çıkışına bir direnç takıp elektriği kes ve adaptör çıkışındaki voltajın ne kadar sürede düştüğünü gör. Güç kaynağı dediğin adaptör değilde daha kuvvetli birşey ise, dediklerin kadük olur elbette.

ikinci kısma gelirsek, yazacağın veri bu kadar kritikse(yani normal çalışma bozulduğunda kaydetmek isteyeceğin kadar önemli ise) bu dediğin riske girilmez. Ufak bir pil takılır ve etrafına basit bir sarj devresi tasarlanır. Hatta bu iş için hazı entegreler bile var.

DEno_12


krian

1. 3V düğme pilin artı ucunu bir shotkky diyot ile Raspery 3v3 ucuna lehimle.  Eksi uç kartın GND sine.
2. 5V adaptör  ucuna  2k2-3k3 gerilim bölücü bağla.  elde ettiğin 3V'u bir dijital girişe uygula.
3. Dijital girişte 3V olmadığı anda kesinti gerçekleşmiştir.

Enerji varken pilden akım çekilmez. Kesinti gerçekleştiğinde,  pil diyot üzerinden elde ettiğimiz 2.7V işini görür. Pilin uzun süre gitmesi için, kayıt işlemi bitince devreyi kısa sürede dijital olarak kapatmalısın.