Our team has been experiencing some issues with battery consumption during matches. Our batteries only last for about half the match before the robot starts browning out and stuttering on the field. Our batteries were purchased for this season, and while we competed with supply current limiting on all of our subsystems, it didn’t seem to solve the problem. We’ve made some changes over the offseason and it appears that we have at least mitigated the issue, but we’d like to know some of your insight on good current limiting practices and if our logs indicate that we’d be fine at a future event.
What We’ve Tried
During offseason, we’ve played around with different current limits, adding stator current limiting and trying out some values from other teams. This seemed to be slightly better, though we can’t completely confirm because we haven’t played a real match with these new values.
We’ve also analyzed PDH logs to see which motors take up the most current. We’ve found a few noticeable things:
Our intake sometimes drags on the ground, causing a current spike even when we’re not intaking and taking up a bit of current throughout the match
Our transfer actually uses quite a bit of current (~60 amps) for a split second when we’re shooting because of the note passing through
We have our logs & our code here- definitely let us know if you notice anything else that we missed! logs.zip (24.3 MB)
Overall, we’re wondering what the cause of our quick brownouts may have been and if we resolved the issue. Are our new current draws normal? Is our robot just a power-hungry robot? Does our current limiting code just need to be better?
We appreciate your insight and are looking forward to diving into this new season with you guys!
What do your batteries report when tested with a battery beak?
Do you have access to a battery analyzer?
It’s possible that your batteries have seen significant degradation, so even with current limits, you’ll have issues. Knowing what you’re working with is the place to start.
Just as, if not more important, as supply limits are stator limits. These are enforced much more strictly and are generally recommended on motors that support it (Krakens & Falcons). Add those, your stator limits should be about 1.25-1.5x your supply limits.
Depending on the charger, reading 110% could be unusually low.
I’d try a known good battery from a nearby team, and if the issues persist, you can probably safely ignore this line of inquiry, but it’d be good to rule out.
110% could also be completely normal if the charger has a maintenance mode (most do nowadays), and the battery finished bulk and saturation phase charging many hours ago.
All in all the battery beak is good for relative measurements but to compare apples to apples you need to be consistent when testing (i.e. how long after charge complete do you test), else you are essentially trying to ascribe meaningful charge to a 1-2%diff in surface charge.
Discount double-checking your battery in another bot or another teams bot, or using a battery that works for them is more information that can inspire confidence that the problem lies elsewhere.
This thread recently I think may give your team some more insite on what to try for supply and stator current limits that may be more effective.
Far more intelligent people than myself on here when it comes to current limits…
But pointing a thermal camera at a robot can be very telling. That energy HAS to go somewhere. (You can also of course feel around for hot stuff which is less than optimal but all the same can help you)
Besides obvious loads like motors and solenoids, this technique may reveal loose connections and spots of high resistance (repeatedly flexed wire that is breaking strand by strand increasing resistance)!!
I’d give this a shot if you are struggling finding the area of concern or narrowing down the possibilities
How aggressively are you gearing your mechanisms? Specifically your drivetrain?
We spent most of the last season on MK4i L2.5 and L3.5 (we moved from Vortexes to Krakens and wanted to maintain the higher top speed for full field cycles) and had significantly more instances of matches where we limped to the finish than when we just ran NEOs on L2s the previous year.
We’re already planning to move back to L2 as our top speed for the foreseeable future as the reliability at the end of the match outweighs the slightly higher top speed for us, even in full field cycling games.
The more immediate problem would be other electrical things resetting or powering off due to low input voltage. Coprocessors especially, it will take seconds for them to reboot.
I doubt there is much impact to battery health from lowering brownout by a little bit. These batteries are getting abused quite a bit by FRC even with the default setting, 1v won’t add to that by much.
To tack on… Got any pictures of the robot and it’s wiring? Even if batteries are good, long/thin battery cables or loose connections have the potential to trigger brownouts or brownout like behavior.
Lowering the brownout voltage on the v2 rio isn’t solving the root cause here. As far as I am concerned the OP problem needs to find out
Are we starting with the same amount of energy as everyone else?
Where is that energy going?
Lowering the brownout voltage is very much a bandaid here. Great choice to get something going at an event with an upcoming match, not a great choice to actually understand what is going on. Brownout voltage change is likely just kicking the can down the road.
I 2nd checking your electrical construction. Also, some swerve code winds up commanding the drive motors to run at the computed power without factoring in that the module may not yet have rotated into the desired position, This makes them fight each other, or try to move other modules with perpendicular wheels.
The IR camera should show this – run two tests, one where you just drive back and forth (so the modules don’t rotate) and one where you drive in the usual way. If the drive motors are way hotter after the second test, something like this is going on. If you’re not using swerve, this obviously doesn’t apply.
I don’t have anything to add to the conversation wrt solutions, but I just want to commend you for how fantastic of a “question” post this is.
You’ve got all the things:
I hope OP takes you up on your offer. Even better is they buy a good battery analyzer. There are recent CD threads about various models, capabilities and price points.
OP didn’t mention the battery manufacturer. There are significant differences in batteries and once we even found a huge difference between two identical batteries bought together sitting on the shelf next to each other.
Discussions with one store’s personnel revealed that the slightly lower cost batteries were of lower quality. The specs appeared essentially similar to the somewhat higher priced batteries; they were “a good value” but they weren’t up to the demands of FRC matches.
[My team has bought different batteries from various sources and now buys M-K from AndyMark but I see even those batteries aren’t above some comment or criticism in CD threads.]