Voltage Drop problems

We have just competed in the Seattle cascade regional and placed 6th in qualifying rounds as well as won the engineering inspiration award. Because we still have to compete in spokane and then head off to the St.Louis for nationals I want to try to resolve a problem that is really hurting the performance of our robot. When running the ball collection system and the shooter at the same time there is a big voltage drop (Usually going from 12.4 down to around 8 or 9v) which affects the accuracy of our automatic shooting as the balls don’t always go the same distance. Right now we are running the entire collection system off of one banebot 64:1 motor which seems to be stressed over the amount of work it has to do and the shooter is run off of a direct drive CIM motor. Is there any way to eliminate this or lesson the effect of the drop by?. Potentially by adding another motor to lesson the stress on the motor.

Couple of things come to mind:
Use a newer battery - one that isn’t over 3 years old.
Tight wire connections!! yes - even we had this problem this year.
Correct wire size. Large motors should be on 12 gauge.
Solder wires and terminals connectors together.
Check battery Anderson connector, are the contacts clean?

Some teams have a program element that divides the pwm command by battery voltage, to boost shooter speed when voltage drops.

We have an encoder to detect shooter speed, and a closed loop speed control system.

You might also change your operating procedture so you stop all the other motors on the robot before using the shooter.

Another thing to try, assuming you’re using Jaguars is to use the voltage ramp mode. To do this, update the firmware on them, and enable the voltage ramping mode by changing some jumpers around. Documentation is on the TI-Jaguar website.


This should reduce the current shock to the system which is causing your voltage to drop due to resistances in your robot.

Is your shooter single-speed, or do you vary the speed for various distances? If single speed, what PWM percent are you commanding? If various speeds, what is the maximum PWM you command? Are you running a Vic or a Jag, and if Jag, are you using CAN bus? The answer to these questions affects the possible solutions.

Also, When you say “direct drive CIM motor” what do you mean by that? Do you mean the CIM is directly connected to the shooter wheel axle with no gear reduction? Or do you mean the CIM is connected to a gearbox, and the gearbox is directly connected to the shooter axle?

Check the health of your batteries with a load tester such as the Beak. It is possible that the output impedance of the battery has increased with age/abuse.

Check that all the connections between the battery and the PD Board are tight. A loose connection will have higher resistance leading to increased voltage drops.

The starting current for the motor can be as much as 5 X the running current so take Ryan’s advice to ramp up the large motors especially if they have high inertia loads. A large percentage of the (3-phase AC) motor controlers that I work on are used for doing just this.

Sounds to me like your drivetrain is drawing too much and causing the voltage drop. Try adding 550 size motors with cim standin gearboxes or try a lower gear ratio.

Are we reading you right, the shooter is a direct drive CIM? I would expect that to spike motor current significantly when starting the shooter or when ejecting a ball. Remember that the CIM motor is speced at 133 amps at stall. While these two motor together shouldn’t draw the battery down that much, there is a possibility that you have loose connections as described above by phil. A drop in voltage is normal, but on a fully charged battery running only these two motors I would expect it to only draw down to 10 or a little under during the first part of the match.

Do your mechanical systems spin freely when powered down?

A direct drive CIM and a banebots motor on a 1:64 reduction should both be easily turned by hand. If not I would look into the possibility of any mechanical binding causing an increased load on your system.

If you have access to a clamp on DC current meter it may help your troubleshooting. I find chasing the current is much faster and more objective than any other means of troubleshooting binding on a FRC robot.

"chasing the current is much faster and more objective than any other means of troubleshooting "

This is much easier than looking at voltages since you do not have to actually make a connection. You just clamp the meter around a wire in the circuit in question. If your meter has a “peak hold” function, this is the time to use it.

Thanks for the link, Mark. My old Craftsman clamp on meter is dying and I cannot justify paying for a Fluke.

You can write an equation that uses the same set motor speed voltage at a set distance using the same amount of voltage no matter how charged your battery is. See if this helps:

Ditto the suggestion of chasing the amps to figure out where your major current draw is coming from. If you have a philosophical objection to Craftsmen, here’s the Northern Tool version. I personally have a Klein CL2000 for work since I get to deal with lot of amps with funky waveforms on our welding equipment.

At any rate, figure out what’s drawing all that current first. Then you can start checking for big voltage drops going into that motor. Just set your multimeter to DC Volts, clamp a lead on a motor terminal, and start working your way back along that wire to motor controller, touching your other lead anywhere there’s bare metal to touch. If you see a big jump in volts from one point to another, you know there’s a large resistance there where you’re losing lots of power.

Also, if the problem does turn out to be your BaneBots 64:1, and you’re running that with an RS-550, or one of the Fisher Price motors, consider switching to a higher torque motor. Specifically, either the BaneBots RS-775-12 or RS-775-18. Either of those motors is going to give you more torque per Amp than the RS-550. Mind you, both of them have a lower free-speed than the RS-550, so your system is likely to run some what slower. But at least it won’t be completely draining your battery, right? Just make sure to look out for case shorts on the RS-775-18, as they’re notorious for that.

Hi John… You have received lots of good advice.

Go on a current hunt…

If you don’t have a clamp-on current meter…

Use your DMM to measure current as follows:

Select lowest DC mV scale (Harbor Freight use ±200 mV = fine)
Place it across (parallel to) the 120A circuit breaker terminals
(nice to mod w/alligator clips else add pin jacks to CB for stock DMM probes)

When closed, 120A CB is pretty fair 1 milliohm resistance (actually tad less)

Hypothesis: CB internal “R” must be constant even tho ‘switched’ a lot else trip action would likewise wander

each 1 mV read is now 1 Amp drawn, a good estimate! and Super simple.

With robot off floor (drive wheels free spin)

with nothing else activated
take note of baseline … should be ~1-2mV =1-2A for control sys/lights
subtract this constant ‘quiescent value’ from all readings for more accuracy

Activate each motor one at a time…
full fwd measure / record - log,
then full reverse (like gatherer can’t reverse else good to test both directions and compare)

for ea motor, “no load current” represents mechanical friction of motor, gears, chains, crooked bushings or sprocket (poor or inefficient load tensioner), etc

if you previously measured each motor alone, both Fwd /Rev and they are, & should be very close and low (~3A for CIM)
subtract this constant from measurements to isolate friction caused problem portion, record in log for future referral

During competition pit stops. this quick robot ready test reveals potential growing problem as upward creeping current long before driver is aware of pending problem

Do this for your ball gatherer as priority to isolate if its the root problem.

This catches many problems early

but if there are loose, wobbly or binding bushing/bearings, condition likely worsens when turning (lateral forces on bearings).
A bit harder to check with this method especially if robot is moving, so dangerous. SAFETY FIRST

Differential A/D channel(s) could be programmed to capture a table of values every .2 sec or so and read back from memory using debug later.

Good luck

… hope this ‘method’ proves useful

… I started using this technique with Team 294 in 1999

introduced it in workshops at Chatsworth (Team 22 - Wendy Wooten)

Been suggesting /demonstrating it to teams ever since as I perform Robot Inspections (60A CB was trickier… due to bigger diversion from 1 milliohm)

P.S. when 120A brreaker is open and DMM sees 12-13v it will merely read overload with no harm to DMM in the mV mode.

(You can 'see charge current as lowering of quiescent draw if battery is placed on charge while in robot in this cfg… if charger puts out 5A and Q=2A meter will read -3 mV

the math -2mV Q -3 mV dmm = -5mV = -5A = charging!)

Caution Never use DMM current scale for this test! (CB ‘open’ will fry internal shunt)

It’s all in the math:
I=V/R example 1 millivolt/1 milliohm =1 Amp (or 1A per millivolt)
V= DMM reading
R=resistance of ‘shunt’ which s this case is th eclosed resistance of 1`20A CB

Measurement range with HF DMM ±199.9mV = ±199.9A

BTW can put constant load on victor or jag (old car headlight = 10A or several parallel up to ~5 for max 40A-CB hold current of 50A (=125%*40A)
More current drawn = larger voltage drop across faults so easier to ‘see’
if on M+ & - PWM can be used to set a current, or on Batt± for fixed max load to test all intervening wiring
Jiggle wires, terminals, connectors… varying reading =problem

While our team has not measured the voltage drop issues you have, we instead countered it by not having the ball travel a large distance from our feeder into the shooter head.
By keeping it a short consistent distance prior to shooting, we limited the amount of draw from the feeder in order to shoot the ball. All of our set points for aperture and motor speed has been based off the exact same feeder location of the ball prior to shooting.
I found at least a couple of teams that asked us about such issues with their own robots, when we participated in Hawaii this past weekend.

A simple solution is adding a VEX touch sensor.:slight_smile:
We also have a custom dashboard indicator that tells our operator once the shooter wheels are at the max velocity at our particular location on the field.
If you get to watch some of our matches this past weekend on JustinTV, you’ll find it works quite well, where we hit consistent shots, and quickly between shots.