Close

V_05 Test with Deadband

A project log for 12V Battery Tester

A tester that can be used by high school students to test the batteries for capacity.

willbadenwillbaden 11/19/2014 at 03:320 Comments

V_05 of the Arduino program was tested to see if the Deadband would function correctly, so far, it appears that it does. Granted there was not much time to test as I was short on time. To check out the data from this test:

https://github.com/baden0001/Battery_Tester/tree/master/Test%20Results

View V_05_Test_Results.

This may not be enough test time to verify that it is ok, but it does look promising. Towards the end of the test, I was trying different test spots for the voltage sensor input. Ultimately, I think having a known reference instead of relying on 5V USB voltage is the way to go. I have not tested the voltage of the USB port, but I imagine (seeing the voltage results) it is not very consistent.

There are analog references that can be used on the UNO and a helpful site from Tinkerit gives a possibility:

https://code.google.com/p/tinkerit/wiki/SecretVoltmeter

This would allow to check what the supply voltage actually measures when compared to the 1.1V reference. The map function is utilized to massage the values used (ActualVoltage is the return of the actual VCC voltage):

// The voltage appears to stay higher by another .15V

BatteryVoltage = analogRead(VoltageSensor);

//remap to have the actual voltage of the analog input

BatteryVoltage = map(BatteryVoltage, 0, 1023, 0, ActualVoltage);

//remap 0-5V range to calculated voltage divider range.

BatteryVoltage = map(BatteryVoltage, 0, 5000, 0, 2725);

//Read in Current. Need to rescale this according to actual sensor used

//Up to 6.5 Amps the current sensed on the RobotShop was consistent

// with an ammeter

BatteryCurrent = analogRead(CurrentSensor);

//remap to have the actual voltage of the analog input

BatteryCurrent = map(BatteryCurrent, 0, 1023, 0, ActualVoltage);

//remap current to 0-5V range

BatteryCurrent = map(BatteryCurrent, 0, 5000, 0, 1023);

//remap to current values

BatteryCurrent = map(BatteryCurrent, 101, 922, -500, 500);

This will need to be tested when I can get another chance.

Discussions