Analyzing Battery with Robot Logs?

I need to compare the performances of a few battery models to decide which one to use for the season.

I want to measure:

  1. Nominal Voltage

  2. Capacity

  3. Discharge Rate

  4. Internal Resistance

Unfortunately, our team doesn’t have a battery analyzer like the one from Andymark. However, Akit automatically records PDP status, including current drawn, battery voltage, and energy used. So I’m wondering if it’s possible to analyze the battery using the logs.

Has anyone done this before? Is there an existing tool I can use? Any thoughts/suggestions are greatly appreciated!

Led acid battery performance is very dependant on current current draw.

You might be able to make this work but i expect it will take a lot of work to account for this. You would probably need a battery analyzer to tune the readings anyway.

I recommend just saving the cash for a real analyzer. If you wanted you could then come back to this idea with known good data to compare to. Even then i would use it only as a day to day indicator of when to retest properly.

In the short term finding a nearby team or company with one would be the easiest way.

1 Like

We recently purchased a battery capacity tester of our own from Amazon for about $50 after we were lent a very similar one by a nearby team. We put ours into a plastic box with a clear lid since it comes as a PCB. We installed some small momentary push buttons on the lid of the box and soldered the wires so they were in parallel with the buttons on the board. Our total cost was probably under $75 and the team members learned a lot.

We are able to run this with a discharge current of 12 A compared to 7.5 A for the one sold by AndyMark. It typically takes over an hour to discharge a good battery to 10.5 V.

We ran a series of tests over the fall to test the repeatability and found that we got about 2% variation over 3 tests with the same battery, charged on the same charging port.

Recently, I came across one that is already in an enclosure that is capable of 40 A discharge current for about $150.

1 Like

The following are some links for the box and push buttons we used.

Everything was attached to the underside of the lid using #6 or #8 nylon screws and nuts from Amazon. Metal fasteners could short some of the circuitry.

We 3D printed some 1" spacers with a D-shaped cross section due to the proximity of the heatsink and display to the holes.

It was tricky to cut the hole for the heatsink and leave enough material for the adjacent mounting holes.

She drilled a hole in the side of the box for the power plug on the short side of the box. The power plug near the USB port doesn’t seem to do anything.

https://www.amazon.com/dp/B0D8JSGN2Q?ref=cm_sw_r_cso_cp_apin_dp_GAMR54MWVWQ4GHAQFFEJ&ref_=cm_sw_r_cso_cp_apin_dp_GAMR54MWVWQ4GHAQFFEJ&social_share=cm_sw_r_cso_cp_apin_dp_GAMR54MWVWQ4GHAQFFEJ&starsLeft=1&skipTwisterOG=1

https://www.amazon.com/dp/B083JWJPW5?ref=cm_sw_r_cp_ud_dp_31SH4PKAFKDBFBGXJMFT&ref_=cm_sw_r_cp_ud_dp_31SH4PKAFKDBFBGXJMFT&social_share=cm_sw_r_cp_ud_dp_31SH4PKAFKDBFBGXJMFT&starsLeft=1

1 Like

You didn’t say if the battery appeared to degrade with repeated testing or if tests 2 or 3 showed an improved battery. Testing almost anything degrades it; there is a tradeoff between testing something and reducing its ability to perform as well when next required.

Try reaching out for a sponsorship from a company that supplies battery testers. We got our battery tester as an in-kind donation from West Mountain Radio. It’s an especially easy case to make to a potential sponsor because you have a clear goal of what you are going to do with their product and it is clearly for student research.

I think you’ll get a lot of replies that say something like “use a battery load tester instead,” and while it’s not a bad idea to include bench testing in your season plan, what you have in mind with robot analytics is also a very good idea, and I’d encourage you to do both if you have time.

the most interesting thing to do, I think, would be to simply plot observed total current and observed voltage on a chart, and keep one of those charts for each battery. you might notice some differences between the charts. the shape of the “curve” (really “cloud”) might tell you something about the health of the battery and the wiring. like if it’s kind of like a straight line, then the slope is kind of like the resistance. but is it straight? I bet it isnt exactly. you could also look at individual motor current and motor voltage, and make similar charts. are the individual motor voltages the same as the “bus” voltage? I bet they’re not the same. why not?

if you publish a few of your charts here on CD with a note explaining what you did, I bet you’d get a lot of folks interested in it. You’d be Doing Science! :slight_smile:

We did!

nine years ago (shutters).

See part 3 in this paper

The main limiter to effectiveness: Noise and dynamic robot factors.

First, sensor noise is just a thing. The PDP of 9 years ago was decent at providing voltage and current, but we saw a lot of noise in the signals. You’d want to quantify that first under some specific tests to understand your noise floor on measurements in 2025+ before deciding to (or not to) do this.

Second, Good battery testers (“model parameter extractors”?) will sample the battery’s operation at multiple, stable testpoints.

Robots eat the battery at all sorts of random rates. A lot of the weird logic we had was to detect windows of time that were good, representative current/voltage pairs we could fit a model to.

Nine years ago, the amount of averaging we had to do on our sensor data was pretty massive. We probably only really got two or three useful bits of information out of it (think, “Great”, “Good”, “Meh”, “Bad”, not actual model parameters). Still, that was useful for our purposes of picking limits on how much current to pull from the battery to prevent brownout. YMMV based on what you actually wanna to use your data for, though.

Indeed, this is what we measured. The inclusion of the wiring in our model was a happy, desirable outcome given our use case. But again, YMMV based on what you want to do with the information.

1 Like

I think you could get most of the value of the linked battery analyzer with data from the pdp/pdh and or the drivers station logs if you connect something to the pdh that draws power at a reasonably constant rate safely over a 1 to 2 hour period. A “typical” FRC test might use a constant load in the range of 7-8A. You will be able to chart how long it takes for the voltage to drop to 10.5v, and be able to generate useful comparative graphs of good and bad batteries, and that’s all you can do with an analyzer anyway. You can get more sophisticated with a boost converter to ensure constant voltage to the load, it for comparative purposes I do t think it’s necessary. Make sure your load doesn’t overheat. The pdh can provide more data than the analyzer, including current draw. You could do it all on a test board setup and code it to stop at a cut off voltage. I don’t think the analyzer measures internal resistance. We use a separate tool (Battery Beak) for that.

As a CSA, when someone complains about brownouts, the first thing that I do is look at the driver station log PDP voltage vs total current and calculate a resistance for an area with high current draw (12-voltage)/current. I can then use that to determine if we should be troubleshooting battery/wiring or looking for mechanisms drawing too much current.

2 Likes