At last weekend’s regional we noticed something peculiar on our robot: every time the driver would hit the throttle fast, our camera illumination LEDs would dim significantly. We also noticed a dimming of the RSL during that time but not as pronounced. I know some voltage drop is to be expected during the startup phase of the motors when they present the greatest electrical load, but none of us remembers seeing the LEDs dim this much.
We drive two sets of 4 green LEDs in series with a small dropping resistor to minimize power drop across the resistor. I wonder if that makes the LEDs super sensitive to the voltage dip during motor start-up. What caught me off guard was the RSL taking a slight drop in brightness as well.
We drive 6 wheels via two cimple boxes with 2 CIM motors each and 4 Jaguars.
Am I looking for a problem where there isn’t one?
how old was the battery?
what was the total reduction on the drivetrain?
how much was the voltage dipping?
Green LEDs have a rather high forward voltage, and running four of them in series from 12v would not give you much “cushion” for supply voltage drop.
It all sounds quite normal to me.
You should be able to check your driverstation logs to see exactly how low your voltage was dipping under heavy load. Dropping to 9ish volts is fairly normal. if you’re dropping to 7 volts then you have a problem. Said problem is likely to be a bad battery, poor connections between the battery and the PDB, or excessively long wires to the PDB.
At stall, a few cim motors can draw 100’s of amps. Multiply that by the internal resistance of the battery (around 10mOhm) and subtract it from 12 or 13, and I wouldn’t be surprised if you only had 6-8 volts coming out of the battery at that given moment. LEDs tend to be dim when they only have 2 volts potential across them.
Ok, that confirms my suspicion… I figured that the way we wired the LED’s made them overly sensitive to what turns out to be a normal voltage dip. We never did see any drive issues or latency or cRio resetting so we assumed everything as fine but it was still a bit unnerving to see the LEDs dim so much at times. It was consistent across multiple batteries so we figured it wasn’t a bad battery as was our initial thought.
Thanks for the replies and good luck.
I’ll second the suggestion that you check the graphical driver station log viewer. It’ll quickly tell you whether it’s normal or a battery problem.
Ok, I’ve never done that before - please point me in the right direction.
During our matches our batteries would stay high at about 12.6 but when we got into pushing matches, especially against 753 with their powerful drive train, our battery would drop to as low as 7.2. We were using a pretty standard six wheel drive with two cims.
In a four CIM drivetrain, dips below 6 volts are normal. It is for this reason that the dedicated boost/buck regulators on the PD exist. They keep the Crio and radio up down to about 4.5 volts. The PWM drivers drop out at about 5.5 volts so that motor drive usually is interrupted long enough for the voltage to rise and never reach the critical 4.5 volt range.
The LEDs are usually hooked into the nonregulated portion of the PD board. They are gonna dim when the battery is under a load. That’s the reason for the Dim.
The Log viewer, if you are using the most recent update, will give you a wealth of information.
Jaguars require 5.5v to completely reinitialize so if you are dipping really low,there’s another problem.
(Exerpted and edited from Jaguar documentation)
Supply voltage range (VIN) Min 5.5a
Under-voltage detect threshold – 6.0 – Vdc
a. Power supply requires VIN ≥ 7.0 VDC to start up.
And never slam the throttle. I shake my head when I see a robot reboot cause of a brown out. If you see a dim, and the CRIO or Radio reboots, slamming the throttle back up will put you into another reboot. If I had a nickel for every time I had to tell a team to ease up the throttle so their robot works, I’d still be in FIRST.
*I’m not sure telling the driver “don’t slam the throttle” is the correct long-term solution to a robot that experiences sufficiently severe brownouts in response to rapid throttle changes to cause the cRIO to boot.
I’d recommend exploring these options first:
Check your drivetrain gear ratio
Check for excessive drivetrain friction or alignment problems
Check your battery
Check your wiring
Add slew rate limiting to the throttle.
I agree with MrForbes - you have your LEDs “stacked too high” given your power rail. Reducing the stack height (the number in series) and increasing resistance to compensate will make it less sensitive.
For your students, I would draw ideal I-V (current vs voltage) curves for various stack heights. Pretend the LEDs are magic perfect diodes with a fixed voltage drop, and pretend that the amount of light that comes out is perfectly linked to current. Each stack height will intercept the current axis at a different voltage equal to the diode drop times the number of diodes - mark these points on the graph first. Then pick your desired operating point - at 12Volts, I want e.g 10 milliamps - and draw that point on the graph. Then connect each intercept to that operating point with a straight line. The slope of this line is the resistance that you are selecting. Now, visually “wiggle” the input voltage and see what happens to the operating current for each stack height. The taller stacks will be more sensitive than shorter stacks, but shorter stacks will waste more of their power in the load resistance.
I’d give it even odds that this will encourage a student to push the stack on to a regulated power supply away from the unregulated battery voltage. Awesome. Pick the DSC’s 5V or 6V rail, and encourage them to do the math to see which option is more efficient. ((unless you are drawing plural amps, in which case use the 6V so you don’t brown out the more important 5v)
You also may want to look into using a constant current source to feed the string(s) instead of a simple resistor.