ESP32 Geliştirme Kartlarında Pil Voltajını Okuma

Dahili batarya girişi bulunan ESP tabanlı geliştirme kartlarında, kullanılan li-ion pilin voltaj değerini okuyabilir, bu sayede pilin dolu mu, boş mu olduğunu voltaj değerinden anlayabilirsiniz. Tabii ki bunun için kartın bu işlem için ayrılmış bir pimi olmalı. Birçok üretici voltaj değerini okuyabilmeniz için bir analog pine dahili olarak gerilim bölücü direnç ekleyip, bu iş için hazır hale getirir. Bu durumda yapmanız gereken sadece bu pindeki analog veriyi okumaktır. Bu pin hakkında, kullandığınız geliştirme kartının bilgi sayfasında detaylı bilgi olması gerekir. Eğer kartınızda bu iş için ayrılmış bir pin yoksa, dirençle bir gerilim bölücü oluşturup kendiniz bunu yapabilirsiniz. Örneğin arduino kartlarda bu işi kendiniz yapmanız gerekecektir. İnternette bu konuda çok fazla kaynak olduğundan ayrıca burada değinmeyeceğim.

 

 

Lolin D32 ve benzer ESP tabanlı kartlarda pilin voltaj değeri nasıl okunur?

ESP32 mikrokontrolcü bulunan Lolin D32 geliştirme kartında, üretici 35 numaralı pini batarya voltajını ölçmek için ayırmış. Bu pinin dışarıya çıkışı yok. Ek işlem yapmadan, kodlamayla bu pin üzerinden pil voltaj değerini okuyabilirsiniz. Aşağıdaki fonksiyon, size pil değerini voltaj olarak geri döndürecektir;

float ReadBatteryVoltage(){
return analogRead(35)/4096.0*7.2;
}

Burada çarpan kısmındaki değerle oynayarak hata payını minimuma indirebilirsiniz. ESP tabanlı çeşitli geliştirme kartları çinde üretiliyor, uygun fiyata aliexpress gibi sitelerde satışa sunuluyor. Voltaj okuma pini, kart modeline göre değişebiliyor. Fonksiyonu örnek bir kod ile kullanalım;

Aşağıdaki kod, voltaj değerini belirli aralıklarla bluetooth üzerinden gönderecektir. Telefonunuz üzerinden cihazınızın voltajını anlık takip edebilirsiniz. Telefon kısmında, veriyi almak için bu ücretsiz uygulama işinizi görecektir: Serial Bluetooth Terminal

float BatteryVoltage;

#include "BluetoothSerial.h"

#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
#endif

BluetoothSerial SerialBT;

void setup() {

Serial.begin(115200);
SerialBT.begin("cihaz_adi");

}

void loop() {

SerialBT.println(ReadBatteryVoltage());
delay(1000);

}


float ReadBatteryVoltage(){
return analogRead(35)/4096.0*7.2;
}

Standart bir li-ion batarya 4.20 volt değerinde tam şarj olmuştur, bu noktanın üzerinde şarj durdurulur. Cihazınız bunu otomatik olarak yapacaktır. Değer, 3.70 volta düştüğünde pilde yaklaşık %30 enerji kalmıştır. Bu noktada pilin şarj edilmesi pil sağlığı açısından faydalı olacaktır. Bu değerlerin altında da pil çalışmaya devam edecektir, fakat voltajın aşırı düşmesi şarj esnasında direnci artıracak ve pilinizin kimyasal yapısı zarar görecektir. Bu durum pilinizin ömrünü kısaltacaktır. Modern pillerde, aşırı şarj ve deşarj durumunu önlemek için koruma devresi bulunmaktadır.

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir