Legality of running a capacitor inline with roboRIO power

Hi, we’ve been having frequent brownouts through our whole robot, with the roboRIO being the first device to lose power. This happens primarily when we change directions rapidly, or get into a pushing match. In an effort to minimize input current spikes, we’re considering adding a capacitor inline between the PDP out and the roboRIO power in.

Is this legal?

Will it help with the input spikes?

A capacitor would be considered a CUSTOM CIRCUIT. CUSTOM CIRCUITS aren’t allowed to alter the power pathways of key control system components like the RoboRIO.

Sounds to me like you are not.powering the roborio from the correct the location. It’s sounds like you may have it running through one of the non regulated pdp ports.

We wouldn’t have passed inspection if it was powered from the wrong place. We’ve got it running off the same rail as the VRM and PCM(which we don’t have) on the PDP.

What do you mean by this? While the roboRIO has dedicated connectors on the PDB, they are not regulated outputs, they are raw battery. The only difference between using these connectors and a 20A breaker slot is the different protection (10A quick blow vs the 20A slow triggering auto-resetting circuit breaker)

OP, please explain what you mean by browning out? Are you actually managing to reboot the roboRIO? Or just trigger the brownout protection which disables your motors until battery voltage recovers? Have you checked how much current you are actually drawing using the DS logs?

I think you need to look at solutions to your gearing or software to manage your current draw. Putting a cap on the roboRIO input is both illegal (as noted by another poster above) and is kind of like putting a bandaid on a cut that needs stitches.

Do you live in a perfect world? If so, how do I get in?

Inspection should catch that, but it is not unheard of for robots to go through inspection with a problem like that unnoticed. I know an inspector that will ask if everything is powered correctly and if the electrical system is a rat’s nest, he will take the team at their word instead of trying to trace the wires.

You could double check you wires to make sure they are securely inserted on both ends. The wires could be bounced around when you change directions quickly or forcibly slam into a robot or the field meaning the roboRIO is reset.

Putting one inline? Besides the fact it being illegal, it wouldn’t work. A capacitor in-line (as in in series) with the power line would, in fact, block power from getting through (capacitors are commonly used to AC-couple, which blocks out DC power. What you would want, in this hypothetical situation, is a capacitor from power to ground. This would allow a capacitor to supplement the power rail when the supply decreases.

I’m throwing the Unnecessary Sarcasm Flag here. Come on. We’re better than that on CD.

Please. I’m begging you. It’s easy to run down hill until we are all tumbling head over heals into the mud that so many other discussion forums online live in. Elevate if you can.

Dr. Joe J.

I can say with 100% certainty that our wiring is not the problem. The wiring is pristine, and correct. My question is what can be done to minimize input current spikes as much as possible, assuming all wiring is correct, and a non-issue.

We’ve considered adding code to soften drive input, as we tend to brown out when changing directions rapidly.

Changing the Talons to coast mode rather than break would also likely help to soften input, right?Correct me if I’m wrong, this would also make changing directions more taxing if still rolling.

As far as the brownouts go, all components go into brownout protection mode when actually driving. The roboRIO also loses connection.

When we set the robot up on blocks (minimal load), only the motors go into brownout protection mode.

Is it legal? No. Custom circuits are not allowed to modify power paths.

Check to see if the RoboRio is plugged in to the correct spot (This is a boost-buck port so it is less affected by power spikes).

Next, look at the driver station dashboard. There should be a graph of the battery voltage. This should give you a hint as to where the issue is.

I suspect that your battery is low and you are using a high traction drive train with an incorrect gear ratio.

Coast/Brake won’t have any effect. It shorts the motor to make it come to a stop faster, but doesn’t do anything clever to apply more power.

Ramping your outputs will help, as will adjusting your gearing and using good batteries. It’s also possible to do current limiting. The basic idea is to measure the current at the PDB and if you’re over by n amps, decrease voltage by k*n volts, where k is some experimentally determined constant.

We’ve considered adding code to soften drive input, as we tend to brown out when changing directions rapidly.

This is a great solution, we have been doing this for a long time. Basically, just put a limit on how fast your motor inputs can change. If you use java or c++ and want to implement this, pm me and I can walk you through the process and share our code.

Changing the Talons to coast mode rather than break would also likely help to soften input, right?Correct me if I’m wrong, this would also make changing directions more taxing if still rolling.

Switching to coast mode might help a bit, but this is almost certainly not the root cause of your issues. Switching to coast mode shouldn’t make anything more taxing. Be careful with this change though, make sure that you can remain on the batter if your speed controllers are in coast mode.

There are no ports on the PDP that are regulated. The VRM has SEPIC regulated outputs. If you are getting frequent brown outs the most likely culprit is a poor connection somewhere between the battery and PDP. Scrutinize all of your connections and use the drivers station logs to determine current draw of each channel on the PDP and system voltage during high current periods. I found this to be to most effective way to root out wiring/brownout issues.

*Some random thoughts:

I was wondering if you or anyone on your team calculated how much capacitance would be needed to actually make a difference.

You should focus on understanding why the brownouts are occurring, and address the root cause rather than treating the symptoms.

If you were to provide sufficient detail about your design, I think there are people here on CD who could make some very constructive suggestions for simple changes you could make that would possibly eliminate the brownouts entirely.

Follow Mike’s advice about your wiring, even though you think it is “100% correct and pristine”.

At the risk of getting another “Unnecessary Sarcasm Flag” thrown, I agree with this. This is CS101 Syndrome: “It’s perfect, I did it!” Guess it applies to electrical as well… Get someone who isn’t familiar with your wiring to examine it if you can. They’ll be more able to find the problem easily than you are, because they don’t think “Oh, that’s normal” on something that might not be right.

We have a rigorous standard for competition batteries, and start each machine with a fresh, fully charged battery, so I doubt that’s the issue.

However, we have a very high traction drive train (brecoflex treads with about a 1.5 CoF, 750ish N force of kinetic friction while driving). The gear ratio on the drive belts is 14.2:1 using RAWboxes. While the drive train definitely contributes to our issue, there’s not much we can do about it with 6hours of unbag time.

Guess it’s worth a shot

Beyond just charging them, do you do any tests on them to gauge the batteries overall health?

Was off on my math/material type. It’s actually .7CoF, 370N force of traction