How To Build A Battery Tester

Do you have some rechargeable batteries lying around that need a capacity check? Today, we’ll take an Arduino Nano and a few other electronic parts to build a AA battery tester that will give us fairly accurate “real world” readings on NiMH batteries. This little device will come in handy for the next project on the list, so be sure to subscribe for more how-tos!

How To Install The Correct Arduino Nano Driver https://goo.gl/zWB4BD

Parts List (Affiliate links):
Breadboard & jumpers: http://amzn.to/2uq6KNW
AA battery holder: http://amzn.to/2eHNEOa
Terminal blocks: http://amzn.to/2uq1IRD
1R10W Ceramic Resistor: http://amzn.to/2eHKk5H
Arduino Nano (clone): http://amzn.to/2uQAd4Z
1.5R10W Power Resistor: http://amzn.to/2eIieHc
IRF3205 MOSFET: http://amzn.to/2eInMBG
10KR Resistor: http://amzn.to/2uPLjXQ
Nokia 5110 Screen: http://amzn.to/2eHS0VC

/*
* Battery Capacity Checker
* Uses Nokia 5110 Display
* Uses 1 Ohm power resister as shunt – Load can be any suitable resister or lamp
*
* Based on a concept by Adam Welch http://AdamWelch.Uk
*
* Required Library – LCD5110_Graph.h – http://www.rinkydinkelectronics.com/library.php?id=47
*/

#include "LCD5110_Graph.h"
LCD5110 myGLCD(5, 6, 7, 9, 8); // Setup Nokia 5110 Screen SCLK/CLK=5, DIN/MOSI/DATA=6, DC/CS=7, RST=9 Chip Select/CE/SCE=8,
extern uint8_t SmallFont[];
extern uint8_t MediumNumbers[];

#define gatePin 10
#define highPin A0
#define lowPin A1

boolean finished = false;
int printStart = 0;
int interval = 5000; //Interval (ms) between measurements

float mAh = 0.0;
float shuntRes = 1.0; // In Ohms – Shunt resistor resistance
float voltRef = 4.71; // Reference voltage (probe your 5V pin)
float current = 0.0;
float battVolt = 0.0;
float shuntVolt = 0.0;
float battLow = 2.9;

unsigned long previousMillis = 0;
unsigned long millisPassed = 0;

void setup() {

Serial.begin(9600);
Serial.println("Battery Capacity Checker v1.1");
Serial.println("battVolt current mAh");

pinMode(gatePin, OUTPUT);
digitalWrite(gatePin, LOW);

myGLCD.InitLCD(); //initialize LCD with default contrast of 70
myGLCD.setContrast(68);
myGLCD.setFont(SmallFont); // Set default font size. tinyFont 4×6, smallFont 6×8, mediumNumber 12×16, bigNumbers 14×24
myGLCD.clrScr();

myGLCD.print("Battery",CENTER,0);
myGLCD.print("Check",CENTER,12);
myGLCD.print("Please Wait",CENTER,24);
myGLCD.update();
delay(2000);
myGLCD.clrScr();
}

void loop() {

battVolt = analogRead(highPin) * voltRef / 1024.0;
shuntVolt = analogRead(lowPin) * voltRef / 1024.0;

if(battVolt >= battLow && finished == false)
{
digitalWrite(gatePin, HIGH);
millisPassed = millis() – previousMillis;
current = (battVolt – shuntVolt) / shuntRes;
mAh = mAh + (current * 1000.0) * (millisPassed / 3600000.0);
previousMillis = millis();

myGLCD.clrScr();
myGLCD.print("Discharge",CENTER,0);
myGLCD.print("Voltage:",0,10);
myGLCD.printNumF(battVolt, 2,50,10);
myGLCD.print("v",77,10);
myGLCD.print("Current:",0,20);
myGLCD.printNumF(current, 2,50,20);
myGLCD.print("a",77,20);
myGLCD.printNumI(mAh,30,30);
myGLCD.print("mAh",65,30);
myGLCD.print("Running",CENTER,40);
myGLCD.update();

Serial.print(battVolt);
Serial.print("\t");
Serial.print(current);
Serial.print("\t");
Serial.println(mAh);

delay(interval);
}
if(battVolt < battLow)
{
digitalWrite(gatePin, LOW);

finished = true;

if(mAh < 10) {
printStart = 40;
}
else if(mAh < 100) {
printStart = 30;
}
else if(mAh <1000) {
printStart = 24;
}
else if(mAh <10000) {
printStart = 14;
}
else {
printStart = 0;
}

myGLCD.clrScr();
myGLCD.print("Discharge",CENTER,0);
myGLCD.print("Voltage:",0,10);
myGLCD.printNumF(battVolt, 2,50,10);
myGLCD.print("v",77,10);
myGLCD.setFont(MediumNumbers);
myGLCD.printNumI(mAh,printStart,21);
myGLCD.setFont(SmallFont);
myGLCD.print("mAh",65,30);
myGLCD.print("Complete",CENTER,40);
myGLCD.update();

delay(interval * 2);
}
}

 

Original concept and Arduino sketch by Adam Welch https://goo.gl/eN85W9

Music: “Robots R Us Remix” by Anders Enger Jensen
https://goo.gl/KEEzoY

–Check out more videos here
https://goo.gl/z7QLov

–Be sure to subscribe!
https://goo.gl/j3ATwZ

–Follow on Twitter
https://goo.gl/vfstFm

–Everything else is at
http://airbornesurfer.com

Production videos on Mondays (when available)
Freeway Forum replays every Wednesday

Tech teardowns, repairs, and reviews; sketches; how-to; games; and lots of other interesting geekery. Thanks for watching, and be sure to like, share, and subscribe!

Are IKEA LADDA Batteries Really Eneloop Pro?

Are IKEA LADDA Batteries Really Eneloop Pro cells? Eneloop Pro cells cost about $20 for a 4-pack, but IKEA has NiMH rechargeable batteries with similar specifications for only $5! Are they the same battery? We’ll dive deep into the history of Sanyo, Panasonic, and Fujitsu to determine where the batteries really come from and if IKEA LADDA is as good a deal as it sounds!

Looking for the data?

battery

battery 2

“Summer In Andromeda” by Anders Enger Jensen available via Soundcloud: https://goo.gl/RDyWUC

Don’t have an IKEA nearby? Grab some “Amaloops” from Amazon here: http://amzn.to/2wPQusM (AFFILIATE LINK)

–Support AirborneSurfer by buying a coffee (or other beverage) using this PayPal link! https://goo.gl/bvyrrg
–You can also support this channel by using my Amazon affiliate link before you shop! http://amzn.to/2vQb2xt

–Production videos Mon @ 12pm Pacific (when available)
–Freeway Forum LIVE Thu @ 5pm Pacific (every week)
–Be sure to subscribe! https://goo.gl/j3ATwZ
–Follow on Twitter https://goo.gl/vfstFm

–Everything else is at http://airbornesurfer.com

Tech teardowns, repairs, and reviews; sketches; how-to; games; and lots of other interesting geekery. There’s something new every week! Thanks for watching, and be sure to like, share, and subscribe!