Auric: All about batteries
Batteries are really important if you're living off them
OK, so this is going to be pretty boring, but it is important so bear with me.
I learned from my experiments with the self-driving car that battery performance is critical, and to be honest last time I didn't pay enough attention. I am making up for that oversight this time around.
The Lovbio car used a 6V lead-acid battery to run it's motor. Because that didn't give me too much headroom for my 5V powered electronics I had to run a separate 7.4V LiPo pack (commonly known as a "2S" pack) to run the electronics. While it worked in the short term and helped the car to meet it's goals, it was not a viable solution.
Because Auric is a ground-up design I had the opportunity to address a lot of the shortcomings from the last car and one of those was the power supply. This time, it's a single battery and it's a big one, a 6200mAh 2S LiPo pack. Basically it was the highest capacity 2S pack I could get my hands on.
I arrived at the 7.2V figure after some estimation. The motors driving Auric's tracks are recommended for operation from 6V - 9V. Each LiPo cell is typically 3.7V, so if I went to a 3S battery, I would have to regulate down from 10.9V which would have made things complicated. But even then it wasn't that simple. The NanoPC T4 processor board I am using needs 12V to operate. I am not sure who thought this was a good idea because most comparable boards will operate from 5V - 6V. To get around that I have to use a small switchmode power supply to provide the power for the processor.
But we are still not out of the woods yet. Unlike SLA (Sealed Lead-Acid) or NiMH rechargeable cells, LiPo cells have a few other quirks we need to be aware of. Firstly a fully-charge 2S package will measure well over 8V. Mine measured 8.25V under load when I started testing. The second thing is that they do not take kindly to being discharged below around 3V/cell, or 6V in my case. I'm sure you've seen videos of burning battery packs which will clearly illustrate my point.
This means we are operating with a headroom of around 2.5V, and we need to be careful to shut things down before we get dangerously under voltage. In a future version of the system software, Auric will manage it's own battery events, but I don't have time for that right now. As a result, I needed to understand how long I could run the completed system before the battery voltage dropped to the critical point.
How are we going to measure this? It's pretty simple actually, I dropped Auric onto the "RoboDyno" and let it run while measuring the terminal voltage of the LiPo pack every ten minutes. My results are shown further down this page, and they highlight some interesting information.
If you plug "LiPo discharge curve" into your favourite search engine, you will find graphs a lot like this one:
In my testing, the terminal voltage decline was quite linear, typically 40mV (0.04V) every ten minutes. However if you plot the available headroom (as a percentage), the chart is much more dramatic. My battery went from 40% (6.95V) to -10% (5.77V) in the 10 minute window! Had I used a shorter sample window I would have gotten a more typical curve, but mine does at least follow the text book.
When I plugged in the charger it showed one cell bank at 3V, the other at 2.8V; so the inbuilt measurement is reasonably consistent.
So what did I learn? A few things actually:
- Auric can run safely for around two and a half hours across level terrain. Hills and soft surfaces would affect this adversely.
- The battery cliff is very real
- The revised motion controller got to 40C, so I added a heatsink to the driver chip just to keep myself happy. The datasheets say it can run to 50C, but why take chances?
- It takes 3 hours to get 3 hours worth of results.