If anyone sees my last instructions
They can now upgrade to computerized hi-
Technical version capable of measuring almost any type of rechargeable or unrechargeable battery (
But in the process it consumes a charge from them).
It can even connect to the pc and provide you with the full \"data-
Chart of emissions and total capacity.
Please note that this is my first Arduino project (
I don\'t count my \"flashing LED \").
This is the chart obtained during the drain cycle from the text file sent to PCduring.
I really wanted to get this Diecimila copy Arduino board bit and it took me about 2 weeks to get it by mail so I had to start with my own bread --
Arduino board, so I bought a version of the atlag168 and thought I could get it to run without any components. .
It doesn\'t work for me, I just need to buy another batch of 16 Mhz crystals and two 22 pf hats. .
Then I got the next one. . .
I basically take the garbage apart and add components one by one. . .
Most of the information can be found on the Arduino web page: there\'s really everything you need.
It took me about a week to get it up and running (
Boot loader/build ISP cable and RS232 cable. . . )-
You can read all the information about this on the website above.
Add a \"on\" resistor ~ The FET of 8 mOHM is quite simple (
There is no force separation on It)and a 2. 2 10 w resistors.
I connect the two A/D pins of the Arduino to the resistor pole and subtract these values to get the exact voltage drop on the resistor.
Now I sample them every second and calculate the current (I=DeltaV/R).
I also added a buzzer to indicate when the charge will end and stop the discharge.
So I also connected to the LCD (
I separated it from the rest of the garbage)
Found the data.
There is a cool driver on the Arduino web page online and start coding.
Automatically detect battery type according to voltage.
Will it detect whether it is NiMH/NiCD or Li-
Ions within the voltage range.
Then start the discharge cycle.
Discharge can be from 30-
120 minutes depending on the battery capacity, but in the end you will get a real indication of the battery capacity/quality.
Do you want to make air with that battery?
Or no receiver?
This is a schematic diagram of the discharge circuit. . .
Very simple, 2 A/D are connected on both sides of the resistor/Vr = VbatVfet.
/Code for this library: Liquid crystal LCD Display (
12, 11, 5, 4, 3, 2);
/Initialize the library with the number of interface pinsint sensorPin = 0;
/Select the input pin for the potentiometer (pin 23)
Int sensor2Pin = 2;
/Select the input pin for the potentiometer (pin 23)Int ledPin = 13;
/Select pin for LEDint SPKPin = 6;
Int sensorValue = 0;
/Stores variables from values of sensor int sensor2Value = 0;
/Variables to store values from sensor floating threshold = 2700;
/Lithium minimum voltage LiMaxThreshold = 4200 for load removal;
/Maximum lithium voltage nmhminthresold = 950 for load removal;
/NMH minimum voltage floating NMH maximum threshold for load removal = 1600;
/NMH maximum voltage selection threshold for load removal = 5000; int i;
Int BatVoltage = 5000;
Voltage = 5000;
Long total current = 0;
Boolean one = false;
Long, unsigned PrevMillis;
Unsigned long Milli; void CL2(){lcd. setCursor(0, 1);
/The first line of char LCD. print(\"\"); lcd. setCursor(0, 1);
/Line 2 first char}void setup(){Serial. begin(9600);
/Start the serial port to send data to PC pinMode during Operation (ledPin, OUTPUT);
Activation led and enable OF/FET pinMode (SPKPin, OUTPUT);
Activation led and enable for/FET LCD. begin(24, 2);
/Set the number of rows and columns of the LCD: LCD. print(Bat pressurized water reactor Tester [Active]\");
/Print a message to the LCD. lcd. setCursor(0, 1);
/The first line of char LCD. print(
\"Detect Bat type. . . \");
/Print voltage value delay (2000); lcd. setCursor(0, 1);
/The first line of char LCD. print(\"\"); lcd. setCursor(0, 1);
/Write the first char number in the second line (ledPin, HIGH);
/Set the LED on sensorValue = analogRead (sensorPin);
/Read value from sensor: digitalWrite (ledPin, LOW);
/Set LED off/detect battery type BatVoltage = sensorValue * 4. 887; if (
Batvolage> 4500){lcd. print(\"Warning high-V! \"); done = true; }else if (
BatVoltage> minthresold){lcd. print(\"Type:Li-Ion Bat \");
SelectedMinThreshold =; }else if (
BatVoltage> nmhminthresold){lcd. print(
\"Type: NiMH/Cd Bat\";
Select threshold = nmhminthresold; }else{lcd. print(
[Unknown bat V