Arduino Akü Pil Kapasite ve İç Direnç Test Cihazı

Arduino Akü Pil Kapasite ve İç Direnç Test Cihazı

Arduino Nano ile Pil ve Akü Kapasite ve İç Direnç Test Cihazı. Bir okurumuzun isteği üzerine başladığım bir proje. Li- ion piller ile benimde işlerim oluyor ilgili projeleri de seviyorum. Pilin iç direnç ölçümünden bu projeye kadar ilerledim.

Uygulalan Arduino projesi, 18650 Li-ion pillerden küçük kurşun asit akülere kadar farklı batarya türlerinde kapasite, Wh, iç direnç ve sabit akım yük testi yapabilen bir pil analizör cihazıdır.

Devrenin temel fikri ATmega328P tabanlı eski bir akü analizör projesinden alındı, kaynak kodlar Arduino Nano ile kullanılabilecek hale getirildi ve atölye testlerinde karşılaşılan hatalara göre bazı iyileştirmeler yapıldı.

Projede amaç sadece bir pili boşaltıp mAh değerini görmek değil. Aynı zamanda pilin yük altında ne kadar çöktüğünü, iç direncinin yaklaşık olarak hangi seviyede olduğunu, sabit akım yük modunda pilin, akünün veya güç kaynağının nasıl davrandığını ve test sonunda pil için Wh değerinin nasıl oluştuğunu da görebilmekdir.

Ben bu uygulamayı özellikle tek hücre 18650 Li-ion piller için hazırladım. Ancak devrenin orijinal çalışma aralığı yaklaşık 0.8 V ile 20 V arasındadır. Kodu ihtiyacınıza göre düzenleyebilirsiniz nasıl yapılacağı açıklamaya eklendi

Bu nedenle uygun sonlandırma voltajı ve akım değeri seçilirse farklı pil ve akü türlerinde de kullanılabilir.

18650 piller hakkında temel bilgi için daha önce yayınlanan 18650 pil nedir yazısına da bakılabilir.

Projenin Temel Özellikleri

İçerik

ÖzellikDeğer / Açıklama
MikrodenetleyiciArduino Nano üzerindeki ATmega328P
Çalışma modlarıMeasure capacity, Constant current, Measure internal R
Batarya voltaj aralığıYaklaşık 0.8 V * – 20 V
Voltaj ölçüm adımıYaklaşık 0.01 V
Deşarj akımı0.01 A – 2.50 A aralığında yazılımsal seçim
Ölçülen değerlerV, A, mAh, mWh, süre, iç direnç
Ekran20×4 karakter LCD, HD44780 uyumlu
Yük elemanıLineer bölgede çalışan güçlü N kanal MOSFET
Akım algılamaParalel bağlı 3×0.33 ohm şönt dirençler
Op-amp beslemesi9 V
Logic besleme5 V

Arduino Nano ile pil ve akü kapasite test cihazı blok şeması

block diagram battery and accumulator capacity and internal resistance tester

Projenin Çıkış Noktası ve Arduino Nano’ya Uyarlama

Orijinal yazılım @F. Stefanec tarafından AVR C diliyle yazılmış. Kaynak sayfa: tefatronix.g6.cz/display.php?page=batmeter

Geliştirme ortamı olarak Code::Blocks, derleyici olarak AVR-GCC ve yükleme tarafında avrdude ile USBasp kullanılmış.

Orijinal devrede de ATmega328P kullanıldığı için Arduino Nano’ya uyarlama daha iyi oldu. Çünkü Arduino Nano da aynı mikrodenetleyici ailesini kullanıyor.

Kod tarafında yapılan işlem, projeyi sıfırdan Arduino kütüphaneleriyle yeniden yazmak değil, orijinal AVR C kodunun mantığını koruyarak Arduino IDE altında derlenebilir ve Arduino Nano bootloader üzerinden yüklenebilir hale getirmektir.

Bu nedenle kodun birçok yerinde doğrudan port register kullanımı korundu.

Orijinal ProjeArduino Nano Uyarlaması
ATmega328PArduino Nano üzerindeki ATmega328P
Code::BlocksArduino IDE
AVR-GCCArduino IDE’nin AVR-GCC altyapısı
USBasp ile yüklemeUSB bootloader üzerinden yükleme
main() döngüsüsetup() ve loop() yapısı
AVR register kullanımıBüyük oranda korunmuştur

Devrenin Genel Çalışma Mantığı

Arduino Nano ile pil ve akü kapasite test cihazı devre şeması

schematic-arduino-battery-capacity-internal-resistance-tester-rev2

Devre iki ana bölümden oluşur: kontrol bölümü ve yük bölümü. Kontrol bölümü Arduino Nano, LCD, tuşlar, buzzer, fan çıkışı, LM35, voltaj ölçüm girişi ve ayar elemanlarını içerir. Yük bölümü ise PWM filtresi, LM358 op-amp, IRFP260 MOSFET, şönt dirençler ve batarya bağlantısından oluşur.

Arduino Nano, PWM çıkışından bir sinyal üretir. Bu PWM sinyali RC filtre ile analog seviyeye yakın bir gerilime dönüştürülür.

Op-amp bu referans gerilim ile şönt dirençler üzerindeki gerilimi karşılaştırır.

Şönt direnç üzerindeki gerilim hedef seviyeye ulaşana kadar MOSFET gate sürülür. Böylece bataryadan sabit akım çekilmeye çalışılır.

Bu yapı klasik bir lineer elektronik yük mantığıdır. MOSFET anahtarlamalı çalışmaz; lineer bölgede çalışarak fazla enerjiyi ısıya çevirir.

Bu nedenle uzun süreli ve yüksek akımlı testlerde MOSFET için büyük soğutucu ve fan kullanmak zorunludur.

Kullanılan Ana Bölümler

Arduino Nano ve Kontrol Bölümü

Arduino Nano, cihazın tüm menü yapısını, LCD yazılarını, tuş okumalarını, ADC ölçümlerini, EEPROM kayıtlarını, PWM kontrolünü ve test sürelerini yönetir.

Orijinal devrede doğrudan ATmega328P kullanılırken bu uyarlamada aynı işlemci Arduino Nano kartı üzerinde kullanılmıştır.

  • LCD veri ve kontrol pinleri Arduino Nano dijital pinlerine bağlanır.
  • Butonlar GND’ye çekecek şekilde bağlanır.
  • Batarya voltajı dirençler üzerinden ADC girişine uygulanır.
  • PWM çıkışı yük kartındaki RC filtreye gider.
  • Fan ve buzzer çıkışları transistör üzerinden sürülür.
  • EEPROM içinde ses ve ADC offset ayarı saklanır.

LCD 20×4 Ekran (LCD2004)

Projede 20×4 karakter LCD kullanılmıştır. LCD Ekranda ana menü, kapasite testi, sabit akım yük modu, iç direnç ölçümü ve ayarlar gösterilir.

20×4 ekran kullanılması büyük avantaj sağlar; çünkü aynı anda voltaj, akım, süre, mAh, mWh ve test durumu görülebilir.

Arduino Nano pil test cihazı LCD menü ekranı

1 menu arduino nano battery test measurement analyzer

MOSFET ve Elektronik Yük Bölümü

Yük bölümünde güçlü bir N kanal IRFP260 MOSFET lineer bölgede çalıştırılır. Burada dikkat edilmesi gereken konu MOSFET’in sadece akımı açıp kapatan bir anahtar gibi çalışmamasıdır. MOSFET üzerinde ciddi güç harcanır.

Örneğin 4.2V dolu bir 18650 pil 1A ile test edildiğinde yük tarafında yaklaşık 4W civarında güç harcanır.

Fakat 20V seviyesinde 2.5A gibi yüksek bir testte bu güç 50W seviyesine yaklaşabilir. Bu nedenle ısı tasarımı bu devrede yazılım kadar önemlidir.

Test KoşuluYaklaşık GüçTavsiye
4.2V, 1A4.2W18650 testleri için makul
12V, 1A12Wİyi soğutma gerekir
12V, 2A24WFan zorunlu
20V, 2.5A50WMOSFET, soğutucu ve dirençler dikkatle seçilmeli

MOSFET Seçimi: 18650 Pil Testi ve Yüksek Güç Kullanımı

Bu devrede MOSFET, sabit akım elektronik yük elemanı olarak çalışır. Yani MOSFET anahtarlama elemanı gibi tamamen açık veya tamamen kapalı çalışmaz; lineer bölgede çalışarak pil üzerinden istenen akımın çekilmesini sağlar.

Bu nedenle MOSFET seçerken sadece akım değerine değil, aynı zamanda soğutma, gövde tipi ve üzerinde harcanacak güce de dikkat edilmelidir.

Tek hücre 18650 pil testlerinde 1A veya 1.5A gibi akımlar kullanılıyorsa MOSFET üzerindeki güç genellikle birkaç watt seviyesindedir.

Örneğin tam dolu bir 18650 pilde 4.2V ve 1.5A test akımı için MOSFET üzerinde yaklaşık 6W civarında güç oluşabilir. Bu durumda iyi soğutulan bir TO-220 MOSFET çoğu uygulama için yeterli olur.

Ancak cihaz 12V akü, daha yüksek voltajlı pil grupları veya 2A üzeri uzun süreli yük testleri için kullanılacaksa IRFP260N gibi daha büyük gövdeli ve daha güçlü MOSFET tercih edilmelidir.

IRFP260N Yerine Kullanılabilecek Güçlü MOSFET Önerileri

MOSFETGövdeYaklaşık SınıfÖnerilen KullanımYorum
IRFP260NTO-247200V / 50A / 300WGenel amaçlı güçlü seçenekOrijinal devreye yakın, yüksek güç ve uzun süreli testler için uygun
IRFP250NTO-247200V / 30A / 214WIRFP260N alternatifiIRFP260N kadar güçlü değildir ama birçok batarya test uygulaması için yeterlidir
IRFP264 / IRFP264NTO-247250V / 38A / 280WDaha yüksek voltaj ve güçlü yük testleri12V akü ve daha yüksek güç uygulamalarında tercih edilebilir

18650 Pil ve 1A – 1.5A Test İçin TO-220 MOSFET Önerileri

MOSFETGövdeYaklaşık SınıfÖnerilen KullanımYorum
IRFZ44NTO-22055V / 49A18650 pil, 1A – 1.5A testKolay bulunur, düşük voltajlı pil testleri için iyi seçimdir.
IRF540NTO-220100V / 33A18650 pil ve orta seviye yük testleri55V MOSFET’e göre daha yüksek voltaj dayanımı vardır.
IRF3205TO-22055V / 110A / 200WDüşük voltaj, yüksek akım uygulamaları18650 için fazlasıyla yeterlidir; düşük voltajlı güçlü yüklerde kullanılabilir.

Hangi MOSFET Hangi Kullanım İçin Daha Mantıklı?

Kullanım SenaryosuÖnerilen MOSFETAçıklama
Sadece tek hücre 18650, 1A testIRFZ44NKüçük soğutucu ile yeterli olur
Tek hücre 18650, 1.5A testIRFZ44N veya IRF540NMutlaka küçük/orta boy soğutucu kullanılmalıdır.
18650 dışında farklı piller de test edilecekseIRF540N100V dayanımı sayesinde daha esnek bir seçimdir.
12V akü veya yüksek güç testiIRFP260NDaha büyük gövde ve daha iyi ısı dağıtımı sağlar.
Uzun süreli yüksek akım testiIRFP260N veya IRFP264Büyük soğutucu ve fan ile kullanılmalıdır

Sadece 18650 pil testi yapılacaksa IRFP260N kullanmak şart değildir. IRFZ44N, IRF540N veya IRF3205 gibi TO-220 gövdeli MOSFET’ler 1A – 1.5A seviyelerinde yeterli olabilir.

Fakat MOSFET mutlaka soğutucuya bağlanmalıdır. Devre lineer elektronik yük olarak çalıştığı için MOSFET üzerinde oluşan ısı doğrudan test akımı ve pil voltajı ile ilişkilidir.

IRFP260N gibi büyük gövdeli MOSFET’ler daha çok cihazın genel amaçlı kalması, 12V akü testleri yapılması veya daha yüksek akımlarda uzun süreli çalışması istenen durumlarda tercih edilmelidir.

Şönt Dirençler

Akım ölçümü ve regülasyonu için MOSFET source tarafında şönt dirençler kullanılır.

Üç adet 0.33 ohm direnç paralel bağlanmıştır. Bu durumda eşdeğer direnç yaklaşık 0.11 ohm olur.

Orjinal uygulamada şönt dirençlerin gücü 1W ben daha güvenilir olması için 2W kullandım. Yüksek voltaj ve akımlar da çalışacaksanız 2W uygun hatta 3W kullanılabilir

AkımŞönt Üzerindeki Beklenen Gerilim
0.25 AYaklaşık 27.5 mV
0.50 AYaklaşık 55 mV
1.00 AYaklaşık 110 mV
2.00 AYaklaşık 220 mV
2.50 AYaklaşık 275 mV

Bu tablo aynı zamanda kalibrasyon için de kullanılabilir. Sabit akım modunda 1 A seçildiğinde şönt uçlarında yaklaşık 110 mV görülmelidir.

Bu değer çok farklıysa akım ayarı, şönt direnç değeri, op-amp bölümü veya PWM filtre tarafı kontrol edilmelidir.

LM358 ve Op-Amp Seçimi

Orijinal devrede LM358 kullanılmıştır. LM358 tek beslemeyle çalışabilen, kolay bulunan ve ucuz bir op-amp olduğu için bu tip devrelerde sık kullanılır.

Fakat bu projede op-amp, küçük şönt gerilimlerini karşılaştırdığı için offset hatası doğrudan akım hatasına dönüşür.

Yazar bunu sayfasında belirtmiş, daha iyi ölçüm için kaliteli opamp önermiş.

Amacınız iyi kötü pil ayrımı yapmak çok hassas ölçümler gerekmiyorsa LM358 işinizi görecektir.

Özellikle düşük akımlarda LM358’in offset değeri önemli hale gelir. Şönt eşdeğeri yaklaşık 0.11 ohm olduğunda sadece 3 mV offset bile yaklaşık 27 mA akım hatası oluşturabilir.

250 mA gibi düşük bir test akımında bu hata göz ardı edilemeyecek seviyeye gelir.

Bu nedenle daha kaliteli op-amp kullanmak cihazın düşük akım performansını iyileştirebilir. Fakat burada çok önemli bir ayrıntı var: Devrede op-amp beslemesi 9 V seviyesindedir. Bu yüzden maksimum besleme gerilimi 5.5 V olan MCP6022, MCP6V02 veya OPA2333 gibi op-amplar doğrudan kullanılamaz.

why does the lm358 offset cause errors at low current

LM358 Yerine Kullanılabilecek Op-Amp Seçenekleri

Op-Amp9 V Beslemeye UygunlukAvantajNot
OPA2188UygunÇok düşük offset, zero-drift yapıSMD paket yaygın, DIP için adaptör gerekebilir.
OPA2197UygunDüşük offset, geniş besleme aralığı, iyi genel performansKaliteli yükseltme seçeneği
OPA2991UygunGeniş besleme aralığı, fiyat/performans dengesi iyiLM358’e göre belirgin iyileşme sağlar.
TLV9152Uygun9 V ile çalışabilir, RRIO yapıdaEkonomik ve modern alternatif
LT1013UygunDIP-8 bulunma ihtimali daha yüksekDüşük offsetli klasik alternatif
TLC2272UygunDIP-8 bulunabilir, tek beslemeye uygunLM358’e göre iyileşme sağlar fakat en hassas seçenek değildir

Op-amp değiştirilecekse pin dizilimi mutlaka kontrol edilmelidir. LM358 çift op-amp standart 8 pin yapısını kullanır.

Seçilecek op-amp da aynı pin dizilimine sahip olmalı, tek beslemede 9 V ile çalışabilmeli ve giriş common-mode aralığı GND seviyesine kadar inebilmelidir.

LM35, LM358 ve fan kontrol devreleriyle ilgilenenler için sitedeki LM35 LM358 sıcaklığa göre fan kontrol devresi yazısı da bu bölümle ilişkili bir örnektir.

LM35 Sıcaklık Sensörü ve Fan Kontrolü

Orijinal projede LM35 sıcaklık sensörü desteği vardır. Sensör kullanıldığında sıcaklığa göre fan kontrolü yapılabilir.

Örneğin belirli sıcaklık üzerinde fan açılır, daha düşük sıcaklıkta kapanır ve aşırı sıcaklıkta cihaz testi durdurabilir.

Ben fanı sürekli açık kullanacağım için LM35 eklemedim ayrıca config.h dosyasında bu özelliği kapattım (satır 47: //#define LM35_INSTALLED) .

Özellikle MOSFET lineer bölgede çalıştığı için yük testi sırasında ısınma kaçınılmazdır.

Bu nedenle Arduino Nano kodunda LM35 desteği varsayılan olarak kapatıldı ve fan yük altında sürekli çalışacak şekilde daha basit hale getirildi.

SeçenekAvantajDezavantaj
LM35 ile otomatik fan kontrolüDaha sessiz çalışma, sıcaklığa göre kontrolSensör bağlantısı ve yazılım ayarı gerekir
Fanı sürekli çalıştırmakDaha basit, daha güvenli, daha az yazılım riskiFan sürekli ses yapar

Arduino Nano Pin Bağlantıları

Arduino Nano portunda orijinal ATmega328P pin yapısı mümkün olduğunca korunmuştur.

Bu sayede orijinal yazılımın port, timer ve ADC mantığı fazla bozulmadan çalıştırılabildi.

FonksiyonArduino Nano PiniAçıklama
LCD RSD2LCD kontrol pini
LCD ED3LCD enable pini
LCD D4-D7D4-D74 bit LCD veri hattı
OK butonuD8Menü onay / sol
DOWN butonuD9Değer azaltma
UP butonuD10Değer artırma
PWMD11Yük akımı kontrol PWM çıkışı
ESC butonuD12Çıkış / sağ
BuzzerD13Sesli uyarı çıkışı
VFBA0Batarya voltaj geri bildirimi
VPWRA1Besleme voltajı ölçümü
INHA2Yük kapatma / inhibit hattı
TFBA3LM35 sıcaklık girişi, kullanılmayabilir
FANA4Fan kontrol çıkışı
PWLEDA5Power LED kontrolü

Yazılımın Arduino Nano’ya Uyarlanması

Orijinal yazılım C dilinde yazılmıştı. Arduino Nano sürümünde temel ölçüm mantığı korunarak proje Arduino IDE altında derlenebilir hale getirildi.

Bu işlemde Arduino’nun klasik digitalWrite, analogRead ve analogWrite yapısına tamamen geçilmedi.

Çünkü bu proje zamanlama, PWM ve ADC açısından doğrudan register kontrolüne daha uygundur.

Yapılan Başlıca Yazılım Değişiklikleri

  • Orijinal main yapısı Arduino setup ve loop yapısına taşındı.
  • AVR register kullanımı büyük ölçüde korundu.
  • Timer0, Timer1 ve Timer2 ayarları Arduino Nano 16 MHz çalışma yapısına göre düzenlendi.
  • Arduino delay ve millis kullanımı kritik bölümlerde tercih edilmedi.
  • ADC oversampling ve ortalama alma mantığı korundu.
  • EEPROM ile ses ve ADC offset ayarlarının saklanması korundu.
  • LM35 desteği varsayılan olarak kapatıldı.
  • Kapasite testi sonlandırma voltajı Li-ion için daha güvenli hale getirildi.
  • İç direnç sonucu ohm yerine mΩ formatında gösterilecek şekilde güncellendi.

Çalışma Modları

Measure Capacity

2 measuring the capacity of an 18650 battery arduino

Bu modda cihaz pili seçilen sabit akımla boşaltır. Test, batarya voltajı ayarlanan sonlandırma voltajına (Term. V) düşünce işlem biter.

Yazılım geçen süre ve akım değerinden mAh hesabı yapar. Ayrıca voltaj ve akım bilgisinden mWh değeri de hesaplanabilir.

18650 Li-ion hücrelerde kapasite testi için 1 A akım ve 3.00 V sonlandırma voltajı iyi bir başlangıç değeridir.

Eğer test edilen pil hücresinin datasheet bilgisi biliniyorsa sonlandırma voltajı datasheet değerine göre seçilmelidir.

Korumasız, eski veya durumu bilinmeyen Li-ion hücrelerde 2.50 V altına inilmemelidir. Bunun için yazılım min. 2.50V olarak ayarlandı.

Pil TürüÖnerilen Test AkımıÖnerilen Sonlandırma Voltajı
Tek hücre 18650 Li-ion0.5 A – 1 A3.00 V
Yüksek akım 186501 A – 2 A2.80 V – 3.00 V
Küçük Li-ion hücreler0.1 A – 0.5 A3.00 V
Kurşun asit aküAkü kapasitesine göre seçilmeliHücre sayısına göre belirlenmeli

Bu proje ile benzer mantıkta çalışan farklı uygulamalara örnek olarak Li-ion ve Li-pol pil kapasite ölçer STM32 projesi de incelenebilir.

Constant Current

3 arduino battery constant current measurement

Constant current modu, cihazı ayarlanabilir elektronik yük gibi kullanmayı sağlar. Bu modda bir güç kaynağı, adaptör, pil veya akü seçilen sabit akımla yüklenir. Ekranda voltaj, akım ve güç değeri görülebilir.

Bu mod özellikle akım kalibrasyonu için çok kullanışlıdır. Örneğin 1 A seçildiğinde şönt üzerinde yaklaşık 110 mV görülmelidir.

Aynı anda harici bir multimetre ile batarya voltajı ve şönt gerilimi kontrol edilirse cihazın doğru çalışıp çalışmadığı hızlıca anlaşılır.

Measure Internal R

4 measuring internal resistance 18650 battery arduino

Measure internal R modu, pilin veya akünün iç direncini yaklaşık olarak ölçmek için kullanılır. Yazılım iki farklı akım noktası seçer.

Önce düşük akımda veya yüksüz durumda batarya voltajı ölçülür. Sonra daha yüksek akımda ikinci voltaj ölçülür.

İki voltaj arasındaki fark, iki akım arasındaki farka bölünerek iç direnç hesaplanır.

SeçimI1I2Yorum
Varsayılan0.00 A0.25 AHafif test, düşük gerilim farkı nedeniyle daha oynak olabilir
18650 için pratik0.00 A1.00 ADaha anlaşılır sonuç verir
Daha güçlü hücreler0.00 A2.00 ASoğutma ve pil güvenliği kontrol edilmelidir

İç direnç sonucu artık mΩ olarak gösterilecek şekilde düzenlendi. Örneğin eski ekranda görülen 00.17 ohm değeri yeni gösterimde 170 mΩ olarak okunur. Bu ifade pil için daha anlaşılırdır.

İç Direnç Ölçümünde Seçilebilir I1 / I2 Akım Değerleri

SeçimI1 İlk Ölçüm AkımıI2 İkinci Ölçüm AkımıYorum
00.00A0.25ADüşük akım testi, varsayılan başlangıç seçimi
10.25A0.50ADüşük akım aralığında karşılaştırma
20.00A0.50AYüksüz ölçümden 0.50A yüke geçiş
30.50A1.00AOrta akım aralığında karşılaştırma
40.00A1.00A18650 pil için pratik ve anlaşılır seçim
51.00A2.00ADaha yüksek akım aralığında karşılaştırma
61.50A2.50AYüksek akım testi, pil ve soğutma dikkatle izlenmeli
70.00A2.00AYüksüz ölçümden 2A yüke geçiş
80.50A2.50AYüksek akım farkı ile karşılaştırma
90.00A2.50AEn yüksek yüksüz-yüklü ölçüm farkı

I1 ve I2 Akımlarının İç Direnç Hesabına Etkisi

  • İç direnç ölçümünde cihaz önce I1 akımında V1 voltajını, ardından I2 akımında V2 voltajını ölçer.
  • Hesaplama temel olarak R = (V1 – V2) / (I2 – I1) mantığıyla yapılır.
  • 18650 pil ölçümünde en anlaşılır yöntem genellikle I1 = 0.00A ve I2 = 1.00A seçimidir.
  • İlk ölçümün 0A olması, pilin yaklaşık yüksüz voltajını referans almayı sağlar. İkinci ölçümde 1A yük uygulanınca oluşan voltaj düşümü doğrudan iç direnç hesabında kullanılır.
  • Örneğin V1 = 4.05V, V2 = 3.88V, I1 = 0.00A ve I2 = 1.00A ise sonuç yaklaşık 0.17Ω = 170mΩ olur.
  • I1 akımının da seçilebilir bırakılması, farklı test senaryoları için faydalıdır. Örneğin bazı akülerde veya güç kaynaklarında 0A yerine iki farklı yüklü çalışma noktası arasında karşılaştırma yapılabilir.
  • Ancak tek hücre 18650 piller için pratik kullanımda ideal olan genellikle ilk ölçümü yüksüz veya 0A’da almak, ikinci ölçümü ise 1A gibi yeterli voltaj düşümü oluşturacak bir akımda yapmaktır.
  • Bu özellik özellikle farklı pil, akü veya güç kaynağı ölçüm çalışmaları için korunmuştur; sadece 18650 piller düşünülerek sabitlenmemiştir.

İç Direnç Ölçümünde Dikkat Edilmesi Gerekenler

Bu devrede iç direnç ölçümü hızlı karşılaştırma için yeterlidir, fakat profesyonel dört telli Kelvin ölçüm cihazı gibi düşünülmemelidir.

Çünkü bağlantı kabloları, pil tutucu, kontak direnci, sigorta, PCB yolları iç dirençleri ölçüme dahil olabilir.

Örneğin ticari bir pil test cihazı aynı pili 90 mΩ gösterebilirken bu Arduino Nano devresi 160 mΩ – 170 mΩ civarında gösterebilir.

Bu farkın tamamı pilin gerçek iç direnci olmayabilir. İki telli ölçüm yapıldığı için bağlantı dirençleri de sonuç üzerinde etkili olur.

Fark Oluşturabilecek NoktaEtkisi
Pil tutucu / yaylı kontakmΩ seviyesinde ek direnç oluşturabilir
Krokodil veya klemensTemas kalitesine göre sonucu yükseltebilir
Kablo direnciKısa ve kalın kabloda düşük, ince kabloda yüksek olur
PCB yollarıAkım yoluna göre ölçüme karışabilir
Ölçüm süresiUzun yük süresi pilde kimyasal voltaj çökmesini artırabilir
Test akımıDüşük akımda voltaj farkı az olduğu için hata artar

İç Direnç Değeri Nasıl Yorumlanmalı?

İç direnç düşükse pil yük altında daha az voltaj düşürür, daha az ısınır ve yüksek akımı daha rahat verir.

Yani genel kural olarak iç direnç ne kadar düşükse pil o kadar iyidir. Ancak kapasite değeri de mutlaka birlikte değerlendirilmelidir.

Yaklaşık İç DirençYorum
100 mΩ altıİyi veya yüksek akıma daha uygun pil
100 mΩ – 180 mΩBu cihazda normal / kullanılabilir aralık
180 mΩ – 250 mΩYaşlanmış veya orta kalite pil
250 mΩ üstüYük altında zayıf davranabilir

Bu nedenle bu cihazı mutlak laboratuvar referansı gibi değil, aynı yöntemle iyi ve kötü pilleri ayıran pratik bir analizör gibi kullanmak daha doğrudur.

Aynı cihaz, aynı kablo, aynı pil yatağı ve aynı test akımı kullanılırsa karşılaştırma sonuçları oldukça işe yarar.

Settings Menüsü Ne İşe Yarar?

5 arduino battery capacity internal resistance tester settings

Settings bölümünde ses ayarı, ADC offset compensation ve EEPROM’a kaydetme seçenekleri bulunur.

Bu menü doğrudan test modlarından biri değildir, fakat ölçüm doğruluğunu ve kullanım konforunu etkiler.

AyarGörevi
SoundBuzzer sesini açar veya kapatır
AD offset comp.ADC ölçümüne küçük sabit düzeltme ekler veya çıkarır
Save to EEPROMSes ve offset ayarlarını kalıcı hafızaya kaydeder
Back to menuAna menüye geri döner

AD offset compensation rastgele değiştirilmemelidir. Önce VFB trimpotu ile voltaj doğru hale getirilmelidir.

Offset ayarı yalnızca küçük sabit sapmaları düzeltmek için kullanılmalıdır.

Measure Capacity Modunda Yapılan Yazılım Düzeltmeleri

Arduino Nano portu sırasında en önemli sorunlardan biri kapasite ölçümünde geçen sürenin hızlı ilerlemesiydi.

Bu hata Timer1 ayarından kaynaklanıyordu. Timer1 yeniden düzenlenerek Arduino Nano’nun 16 MHz saat frekansına göre 1 saniyelik zaman tabanı doğru hale getirildi.

Bu düzeltmeden sonra gerçek 60 saniyelik testte cihaz ekranında da yaklaşık 1 dakika ilerleme görülmelidir.

1 A akımla 60 saniye süren testte yaklaşık 16.7 mAh civarında kapasite artışı beklenir.

Bir diğer düzeltme sonlandırma voltajı tarafında yapıldı. İlk sürümde terminated voltajı 0.80 V gibi Li-ion hücreler için tehlikeli bir değerden başlıyordu.

Yeni yazılımda 18650 testleri için varsayılan sonlandırma voltajı 3.00 V olarak ayarlandı ve kullanıcı hatasını azaltmak için daha güvenli sınırlar tercih edildi.

0.8V – 20V Aralığı ve Yazılımdaki Güvenli Sonlandırma Sınırı

Orijinal projede cihazın batarya ölçüm aralığı yaklaşık 0.8V – 20V olarak verilmiştir.

Bu değer, devrenin donanımsal ölçüm aralığını ifade eder. Yani VFB ölçüm hattı ve ADC kalibrasyonu doğru yapıldığında cihaz farklı gerilim seviyelerindeki pil ve aküleri ölçebilecek yapıdadır.

Ancak bu Arduino Nano uyarlamasında Measure capacity bölümündeki sonlandırma voltajı özellikle Li-ion piller için daha güvenli hale getirildi.

İlk denemelerde sonlandırma voltajı 0.80V gibi çok düşük bir değerden başlayabiliyordu. Bu değer Li-ion ve 18650 hücreler için uygun değildir; hücreyi aşırı deşarja götürebilir.

Bu nedenle yazılımda kapasite testi için sonlandırma voltajı varsayılan olarak 3.00V yapıldı ve ayarlanabilir alt sınır 2.50V seviyesinde tutuldu.

Böylece kullanıcı hatasıyla 18650 gibi Li-ion pillerin çok düşük voltaja kadar boşaltılması engellenmiş oldu.

BölümDeğerAçıklama
Orijinal donanım ölçüm aralığı0.8V – 20VDevrenin genel voltaj ölçüm kapasitesini ifade eder
Arduino Nano yazılımında varsayılan sonlandırma3.00V18650 Li-ion kapasite testi için güvenli başlangıç değeri
Arduino Nano yazılımında minimum sonlandırma2.50VLi-ion pillerde aşırı deşarj riskini azaltmak için alt sınır

Bu sınırlama donanımın 0.8V seviyesini ölçemeyeceği anlamına gelmez. Sadece Measure capacity modunda testin otomatik bitiş voltajı, Li-ion piller düşünülerek daha güvenli sınırlara çekilmiştir.

Farklı kimyadaki piller veya özel testler için daha düşük sonlandırma voltajı gerekiyorsa, yazılımdaki minimum sınır bilinçli olarak değiştirilmelidir.

Kalibrasyon

Devrenin doğru sonuç vermesi için iki temel kalibrasyon gerekir: voltaj kalibrasyonu ve akım kalibrasyonu.

Voltaj kalibrasyonu yapılmadan kapasite testi ve sonlandırma voltajı güvenilir olmaz. Akım kalibrasyonu yapılmadan mAh ve Wh sonucu doğru beklenmemelidir.

Voltaj Kalibrasyonu

Batarya voltajı VFB hattından Arduino ADC girişine gelir. Bu hatta direnç bölücü ve trimpot bulunur.

Harici multimetre ile pil uçlarındaki gerçek voltaj ölçülür, LCD’deki değerle karşılaştırılır. Gerekirse VFB trimpotu ayarlanır.

  • Pil uçlarındaki voltaj multimetre ile ölçülür.
  • LCD’deki voltaj değeri okunur.
  • Aradaki fark VFB trimpotu ayarlanır.
  • Küçük sabit farklar için settings menüsündeki AD offset compensation kullanılabilir.
  • Kalibrasyon sonrası ayarlar EEPROM’a kaydedilir.

Ölçüm tarafında kullanılan multimetrenin doğruluğu da önemlidir. Multimetre kullanımı konusunda temel hataları azaltmak için multimetre nasıl doğru kullanılır yazısı faydalı olabilir.

İlk testlerde VFB ayarı yapmam gerekti ama büyük farklar yoktu mV seviyesinde hata vardı trimptu ayarlayarak ölçü aletine göre sabitledim.

Akım Kalibrasyonu

Akım kalibrasyonu için en pratik yöntem şönt gerilimini ölçmektir. Üç adet 0.33 ohm direnç paralel olduğunda eşdeğer direnç yaklaşık 0.11 ohm olur. 1 A akımda şönt üzerinde yaklaşık 110 mV görülmelidir.

Seçilen AkımBeklenen Şönt GerilimiKontrol
0.10 A11 mVDüşük akımda op-amp offset etkisi görülebilir
0.50 A55 mVOrta seviye kontrol
1.00 A110 mV18650 testleri için ana kontrol noktası
2.00 A220 mVSoğutma dikkatle izlenmeli

Constant Current moduna girin akımı belirleyin ve amper metre ile pilden çekilen akımı ölçün LCD ekranda farklı değer görürseniz PWM traimpotu ile ayarlama yapın

Kodda Yapılabilecek Kişiselleştirme Ayarları

Arduino Nano sürümünde bazı değerler güvenli kullanım için bilinçli olarak sınırlandırılmıştır.

Özellikle 18650 Li-ion pil testlerinde aşırı deşarjı önlemek amacıyla kapasite testi sonlandırma voltajı 2.50V altına düşmeyecek şekilde ayarlanmıştır.

Ancak farklı pil türleri, aküler veya özel testler için bu sınırlar kaynak koddan değiştirilebilir.

1. Kapasite Testi Sonlandırma Voltajını Değiştirme

Bu ayarlar global_defines.h dosyasında bulunur.

Mevcut güvenli Li-ion ayarı şu şekildedir:

#define DEFAULT_TERM_VOLTAGE 300
#define MIN_TERM_VOLTAGE     250
#define MAX_TERM_VOLTAGE     420

Buradaki değerler 0.01V birimindedir. Yani:

  • 300 = 3.00V
  • 250 = 2.50V
  • 420 = 4.20V

18650 Li-ion pil için bu ayar güvenlidir. Cihaz açıldığında kapasite testi sonlandırma voltajı 3.00V olur ve kullanıcı 2.50V altına inemez.

Orijinal 0.8V – 20V Aralığına Geri Dönmek

Orijinal donanım aralığına benzer şekilde kapasite testi sonlandırma voltajını 0.80V – 20.00V arasına açmak isteyen kullanıcılar aynı bölümü şu şekilde değiştirebilir:

#define DEFAULT_TERM_VOLTAGE 80
#define MIN_TERM_VOLTAGE     80
#define MAX_TERM_VOLTAGE     2000

Bu durumda:

  • 80 = 0.80V
  • 2000 = 20.00V

Ancak bu ayar Li-ion ve 18650 piller için dikkatli kullanılmalıdır. Çünkü kullanıcı yanlışlıkla 0.80V gibi çok düşük bir sonlandırma voltajı seçerse Li-ion hücre aşırı deşarj olabilir ve zarar görebilir.

Daha Mantıklı Genel Kullanım Ayarı

Cihazı hem 18650 hem de daha yüksek voltajlı aküler için kullanmak isteyenler için daha dengeli bir ayar şu olabilir:

#define DEFAULT_TERM_VOLTAGE 300
#define MIN_TERM_VOLTAGE     250
#define MAX_TERM_VOLTAGE     2000

Bu ayarda cihaz 3.00V ile başlar, 2.50V altına inmez; fakat kullanıcı isterse 20.00V seviyesine kadar daha yüksek sonlandırma voltajı seçebilir. Bu, 12V akü gibi uygulamalar için daha esnek bir seçenektir.

2. Varsayılan Deşarj Akımını Değiştirme

Varsayılan deşarj akımı batmeter_nano.ino dosyasında şu satırla belirlenir:

uint8_t pwm_current = 1;

Buradaki değer de 0.01A birimindedir.

  • 1 = 0.01A
  • 25 = 0.25A
  • 50 = 0.50A
  • 100 = 1.00A
  • 200 = 2.00A

Örneğin cihazın kapasite testi veya sabit akım yük menüsünde başlangıç akımının 1.00A olmasını isteyen kullanıcı şu şekilde değiştirebilir:

uint8_t pwm_current = 100;

Güvenlik açısından ilk denemelerde düşük değerle başlamak daha iyidir. Bu nedenle yeni kurulumlarda 0.01A veya 0.10A gibi düşük başlangıç akımı tercih edilebilir.

3. İç Direnç Ölçümünde Varsayılan I1 / I2 Akımını Değiştirme

İç direnç ölçümünde kullanılan akım seçenekleri batmeter_nano.ino dosyasında şu satırlardadır:

uint8_t rin_current_choice = 0;

const uint8_t rin_current1[10] PROGMEM = {0,  25,   0,  50,   0, 100, 150,   0,  50,   0};
const uint8_t rin_current2[10] PROGMEM = {25, 50,  50, 100, 100, 200, 250, 200, 250, 250};

Buradaki değerler de 0.01A birimindedir.

  • 25 = 0.25A
  • 50 = 0.50A
  • 100 = 1.00A
  • 250 = 2.50A

Varsayılan seçim şu satırla belirlenir:

uint8_t rin_current_choice = 0;

Bu durumda ilk açılışta iç direnç ölçümü 0.00A – 0.25A aralığıyla başlar.

18650 piller için daha pratik bir başlangıç istenirse varsayılan seçim 4 yapılabilir:

uint8_t rin_current_choice = 4;

Bu durumda iç direnç ölçümü varsayılan olarak şu şekilde başlar:

  • I1 = 0.00A
  • I2 = 1.00A

Bu seçim, tek hücre 18650 pillerde daha belirgin voltaj düşümü oluşturduğu için pratik karşılaştırma açısından daha anlaşılır sonuç verir.

4. İç Direnç Akım Seçeneklerini Değiştirme

Kullanıcı isterse iç direnç ölçüm seçeneklerini tamamen değiştirebilir. Örneğin sadece 18650 için daha sade bir liste istenirse akım dizileri şu şekilde düzenlenebilir:

const uint8_t rin_current1[10] PROGMEM = {0, 0, 0, 0, 0,  25,  50,  50, 100, 100};
const uint8_t rin_current2[10] PROGMEM = {25, 50, 75, 100, 150, 100, 100, 150, 150, 200};

Bu örnek listede daha çok 0A’dan başlayan ve 0.25A – 2.00A aralığına çıkan ölçüm seçenekleri vardır. Ancak bu değerler değiştirilirken MOSFET, şönt dirençler, pil güvenliği ve soğutma mutlaka dikkate alınmalıdır.

5. LM35 Sıcaklık Sensörünü Açma veya Kapatma

LM35 sıcaklık sensörü ayarı config.h dosyasında bulunur.

Mevcut durumda LM35 kapalıysa satır şu şekildedir:

//#define LM35_INSTALLED

LM35 sensörü kullanılacaksa satırın başındaki // kaldırılır:

#define LM35_INSTALLED

LM35 açık olduğunda fan sıcaklığa göre kontrol edilir ve aşırı sıcaklıkta cihaz testi durdurabilir. Sensör takılı değilken bu satır aktif edilmemelidir. Aksi halde ADC girişi boştan okuma yapabilir ve hatalı sıcaklık davranışı oluşabilir.

6. Fan Açma / Kapama Sıcaklıklarını Değiştirme

LM35 aktif kullanılıyorsa fan eşikleri config.h dosyasında şu satırlardan değiştirilir:

#define TEMP_AD_FAN_START  512
#define TEMP_AD_FAN_STOP   446
#define TEMP_AD_FAULT      725

Yaklaşık karşılıkları şöyledir:

  • TEMP_AD_FAN_START 512 ≈ 55°C civarında fan açma
  • TEMP_AD_FAN_STOP 446 ≈ 48°C civarında fan kapama
  • TEMP_AD_FAULT 725 ≈ 78°C civarında acil durdurma

Fan daha erken açılsın istenirse TEMP_AD_FAN_START değeri düşürülebilir. Aşırı sıcaklık koruması daha hassas olsun istenirse TEMP_AD_FAULT değeri düşürülebilir.

7. ADC Ortalama Alma Sayısını Değiştirme

Ölçümlerin daha kararlı veya daha hızlı tepki vermesi için ADC ortalama alma değerleri config.h dosyasında değiştirilebilir:

#define RIN_PREAVG_COUNT     8
#define CAP_PREAVG_COUNT     32
  • RIN_PREAVG_COUNT iç direnç ölçümünde kullanılan ortalama sayısını etkiler.
  • CAP_PREAVG_COUNT kapasite testi sırasında voltaj ölçüm ortalamasını etkiler.

Bu değerler artırılırsa ölçüm daha kararlı olabilir fakat tepki biraz yavaşlar. Değerler azaltılırsa tepki hızlanır fakat ekrandaki voltaj daha oynak görünebilir.

8. ADC Offset Varsayılan Değerini Değiştirme

ADC offset düzeltmesi config.h dosyasında şu satırla belirlenir:

#define DEFAULT_OFFSET_COMP  110

Bu değer cihaz ilk kez çalıştırıldığında veya EEPROM ayarları geçersiz olduğunda kullanılır. Voltaj ölçümü multimetreye göre sürekli düşük veya yüksek görünüyorsa önce donanımdaki VFB trimpotu ayarlanmalı, küçük sabit sapmalar için bu offset değeri kullanılmalıdır.

Rastgele değiştirilmemelidir. Yanlış offset değeri kapasite testi sonlandırma voltajını ve iç direnç ölçümündeki V1 / V2 değerlerini etkiler.

9. Ses Ayarlarının Varsayılan Durumunu Değiştirme

Ses ayarının varsayılan durumu config.h dosyasındaki şu satırla ilgilidir:

#define DEFAULT_SETTINGS     0

Sesin varsayılan olarak açık gelmesi istenirse bu ayar, yazılımdaki settings_sound_on bitiyle birlikte düzenlenebilir. Ancak cihazda Settings menüsünden Sound ayarı değiştirilip EEPROM’a kaydedilebildiği için genellikle bu satırı değiştirmek gerekmez.

10. Buzzer Sürelerini Değiştirme

Tuş sesi ve bitiş sesi süreleri config.h dosyasında bulunur:

#define BEEP_LEN_BUTTON    10
#define BEEP_LEN_FINISHED  250
#define BEEP_LEN_REPEAT    5
#define BEEP_LEN_START     5
  • BEEP_LEN_BUTTON tuşa basma sesi
  • BEEP_LEN_FINISHED test bitiş sesi
  • BEEP_LEN_REPEAT tuş basılı tutulduğunda tekrar sesi
  • BEEP_LEN_START başlangıç sesi

Sesler uzun gelirse bu değerler düşürülebilir. Daha belirgin uyarı istenirse özellikle BEEP_LEN_FINISHED artırılabilir.

11. Tuş Tepkisini Değiştirme

Tuş gecikmesi ve tekrar hızı config.h dosyasında ayarlanır:

#define DEBOUNCE_VAL   6
#define REPEAT_PERIOD  30
#define REPEAT_DELAY   250
  • DEBOUNCE_VAL tuş titreşimini filtreler.
  • REPEAT_DELAY tuş basılı tutulduğunda tekrarın başlamasını belirler.
  • REPEAT_PERIOD tekrar hızını belirler.

Tuşlar fazla hassas davranıyorsa debounce değeri artırılabilir. Değer artırılırsa tuş tepkisi biraz yavaşlar.

12. Ekran Yazılarını Değiştirme

LCD menü yazıları string_table.h dosyasında bulunur. Örneğin iç direnç ölçüm menüsü, kapasite testi başlığı veya ayar menüsü yazıları buradan değiştirilebilir.

Örneğin:

const char str_rin_subm1[] PROGMEM = " R(in) measurement  ";

Bu satır değiştirilerek ekrandaki başlık kişiselleştirilebilir. Ancak 20×4 LCD kullanıldığı için satır uzunluğu 20 karakteri aşmamalıdır. Aksi halde yazılar taşabilir veya görünüm bozulabilir.

13. Pinleri Değiştirme

Pin tanımları config.h dosyasındadır. Örneğin fan, LED, buzzer ve buton pinleri buradan değiştirilebilir.

Ancak bu projede pinler doğrudan AVR port register’larıyla kullanıldığı için pin değiştirmek Arduino’daki digitalWrite mantığı kadar kolay değildir. Sadece pin numarası değil, ilgili PORT, DDR ve PIN tanımları da doğru ayarlanmalıdır.

Bu nedenle PCB aynı kalacaksa pin ayarlarına dokunulmaması önerilir.

14. Zamanlayıcı Ayarlarını Değiştirmeyin

global_defines.h dosyasında Timer1 zamanlama değerleri bulunur:

#define HW_CPU_HZ              16000000UL
#define TIME_PRESCALER_1000ms  ((uint16_t)(HW_CPU_HZ/256UL - 1UL))
#define TIME_PRESCALER_250ms   ((uint16_t)(HW_CPU_HZ/256UL/4UL - 1UL))

Bu değerler Arduino Nano’nun 16 MHz çalışma frekansına göre ayarlanmıştır. Measure capacity modunda sürenin doğru ilerlemesi bu ayarlara bağlıdır. Bu nedenle farklı clock kullanılmadığı sürece bu satırlar değiştirilmemelidir.

15. PWM Frekansı ve Timer Ayarları

Akım kontrol PWM sinyali Timer2 üzerinden üretilir. Bu bölüm doğrudan akım kontrol katını etkilediği için normal kullanıcı tarafından değiştirilmemelidir. PWM frekansı değiştirilirse RC filtre davranışı, LM358 kontrol kararlılığı ve MOSFET gate sürüşü değişebilir.

Bu nedenle sadece RC filtre, op-amp ve MOSFET davranışını bilen kullanıcıların Timer2 / PWM ayarlarıyla oynaması önerilir.

Özet

DeğişiklikDosyaÖnerilen Kullanım
Sonlandırma voltajıglobal_defines.hLi-ion güvenliği veya akü testleri için değiştirilebilir
Varsayılan test akımıbatmeter_nano.ino1A gibi pratik başlangıç değeri seçilebilir
İç direnç I1 / I2 seçenekleribatmeter_nano.ino18650 veya akü testlerine göre düzenlenebilir
LM35 kullanımıconfig.hSensör takılıysa aktif edilmelidir
Fan sıcaklık eşiklericonfig.hLM35 kullanılıyorsa değiştirilebilir
ADC ortalama sayısıconfig.hKararlılık / hız tercihi için ayarlanabilir
LCD yazılarıstring_table.hMenüleri Türkçeleştirmek veya sadeleştirmek için değiştirilebilir
Timer ve PWM ayarlarıbatmeter_nano.ino / global_defines.hGenellikle değiştirilmemelidir

Güvenli Test Sırası

Bu devre hem yazılım hem de güç elektroniği içerdiği için ilk çalıştırmada acele edilmemelidir.

Özellikle MOSFET, op-amp ve şönt dirençler doğru çalışmadan batarya bağlamak risklidir.

  • Önce enerjisiz kısa devre kontrolü yapılmalıdır.
  • Arduino Nano takılmadan 5 V ve 9 V regülatör çıkışları ölçülmelidir.
  • LCD, tuşlar ve buzzer ayrı ayrı kontrol edilmelidir.
  • Batarya yerine ayarlı güç kaynağı ile VFB kalibrasyonu yapılmalıdır.
  • Constant current modunda düşük akımla başlanmalıdır.
  • 0.1 A, 0.2 A, 0.5 A ve 1 A kademeleri test edilmelidir.
  • Şönt gerilimi multimetre ile doğrulanmalıdır.
  • Fan çalışması ve MOSFET sıcaklığı izlenmelidir.
  • Sonlandırma voltajı küçük bir testle kontrol edilmelidir.
  • Gerçek 18650 kapasite testine en son geçilmelidir.

Soğutma ve Güç Dayanımı

Bu cihazın yük kısmı lineer çalıştığı için ısı üretir. Soğutma zayıfsa MOSFET kısa sürede aşırı ısınabilir.

Bu nedenle MOSFET büyük bir soğutucuya bağlanmalı, fan sürekli çalışmalı ve termal temas kaliteli olmalıdır.

Şönt dirençlerin güç değeri de ihmal edilmemelidir. 0.33 ohm dirençler paralel kullanıldığı için toplam güç paylaşılır.

Ancak dirençlerin toleransı ve lehim bağlantıları eşit değilse akım paylaşımı da tam eşit olmayabilir.

Daha yüksek güçlü elektronik yük projeleriyle ilgileniyorsanız sitedeki LM324 elektronik yük 8 MOSFET 600W projesi de farklı bir yaklaşım olarak incelenebilir.

18650 Testi İçin Önerilen Başlangıç Ayarları

AyarÖnerilen DeğerAçıklama
Measure capacity current1.00 ATek 18650 için pratik test akımı
Terminated voltage3.00 VGenel ve güvenli Li-ion kesme seviyesi
Internal R test0.00 A – 1.00 A250 mA seçeneğine göre daha anlaşılır sonuç verir
FanSürekli açıkMOSFET sıcaklığını kontrol altında tutar
Bağlantı kablosuKısa ve kalınİç direnç ölçüm hatasını azaltır

Arduino Akü Pil Test Cihazı Test Videosu

 

Arduino Pil Analizör PCB Tasarımı

layout pcb schematic arduino battery capacity internal resistance tester

PCB Sprint Layout 6 programı ile hazırlandı boyutları 100x62mm. Pil bağlantısı, MOSFET yolları çok kalın ve kısa tutuldu.

Özellikle iç direnç ölçümünde sigortanın etkisi büyük ama güvenlik için gerekli. Bu yüzden direkt bağlantı yapılmadı.

Fav ve LM35 için direkt Arduino pin çkışı verildi bu bölümleri kullanacaksanız pasif elemanlarıda bağlamanız gerekli.

Buzer, LED gösterge için direnç, transistör malzemeleri PCB üzerinde mevcut. Butanlar direkt pilere bağlanıyor.

Devre çalışırken kalibrasyon yapmak için trimpotlar PCB arka bölüme lehimlenmeli.

İlk denemede devreyi çalıştırdım. PCB hatası yok ama başlangıç için Arduino ve op-amp sokete yerleştirildi.

MOSFET gate bacağına şaseye karşı 100K direnç ekledim ama uygulamada bu direnci kullanmadım.

Açılış anında op-amp çıkışı oturana kadar MOSFET gate kısa süre boşta kalabilir. Ek güvenlik için gerekebilir.

Arduinoyu farklı işlerde kullanmayacaksanız kendinizden eminseniz 🙂 soket kullanmadan direkt lehimleyin.

Ne kadar az soket o kadar iyi iletim….

battery charge discharge tester capacity time resistance test

battery testers 20v 18650 current time capacity internal r arduino

battery testers arduino test measurement tools

li ion battery charge discharge tester free diy arduino

Sonuç

Arduino Nano ile hazırlanan bu pil ve akü analizör cihazı, atölyede pil ayırma, kapasite ölçme, yaklaşık iç direnç karşılaştırması yapma ve küçük güç kaynaklarını sabit akımla test etme işleri için kullanışlıdır.

Profesyonel batarya analizörlerinin yerini tamamen tutmaz; ancak doğru kalibrasyon, iyi bağlantı ve güvenli test akımıyla hobi ve servis ortamı için oldukça faydalı sonuçlar verir.

Özellikle 18650 pillerle çalışanlar için cihazın en önemli faydası, pilleri sadece voltajına bakarak değil; kapasite, yük altında voltaj düşümü ve iç direnç davranışıyla birlikte değerlendirebilmesidir.

Aynı test düzeniyle ölçülen piller arasında iyi, orta ve zayıf olanları ayırmak bu cihazla oldukça kolaylaşır.

Yazılım tarafındaki dönüştürme, hata ayıklama ve güncelleme işlemlerinde ChatGPT’den yoğun şekilde destek alındı.

Orijinal kodun Arduino Nano’ya taşınması sırasında main yapısının setup ve loop düzenine uyarlanması, timer ayarlarının gözden geçirilmesi, ADC ve PWM yapısının korunması, EEPROM ayarlarının çalışır durumda bırakılması ve LCD menü yapısının bozulmadan kullanılması gibi birçok yazılım düzenlemesi yapıldı.

Şu anki sürüm atölye testlerinde düzgün çalışıyor. Yine de proje geliştirilmeye açık bir yapıdadır.

Farklı op-amp denemeleri, daha hassas iç direnç ölçümü için Kelvin bağlantı düzeni, farklı pil türleri için özel test profilleri veya daha gelişmiş ekran seçenekleri ileride eklenebilir.

Projeyi ayrıca GitHub sayfamda paylaştım. https://github.com/gevv/arduino-battery-analyzer/ Kodları inceleyebilir, kendi devrenizde deneyebilir, hata bildirimi yapabilir veya geliştirmelere katkıda bulunabilirsiniz.

Özellikle farklı pil türleriyle yapılan test sonuçları ve iyileştirme önerileri projenin daha kullanışlı hale gelmesine yardımcı olacaktır.

DİKKAT: Programlama yaparken yüksek akım yük / pil bağlı olmasın. Test sırasında USB kablosunu çıkartın. Li-ion pillerle çalışırken kısa devre, aşırı akım ve aşırı ısınmaya karşı dikkatli olunmalıdır. Li-ion piller yanlış kullanım, hatalı işllemler sonu çok tehlikeli olabilir.

Paylaş:

Yorum Yap