Robot lose power when reverse directions?

I just read these 2 threads


The problem is that anytime we reverse directions, say we are going fast and we go reverse to stop the bot, we loose connection with the robot. When this happens, all the electronics loose power for like a millisecond but the CRIO retains it’s data as in the RAM doesnt clear.

Our setup is 4 Victors each connected to a CIM, we have the 2 left victors going to one port on the sidecar and the 2 right going to another port on the sidecar. we use the “Cable, Servo, Y-splitter” PWM cables. Our radio is wired directly to the 5V Wago connector on our PD board but we had the same problem with the 12V to 5V converter.
Our electronics only comprise of Crio, PD Board, Sidecar, Radio, 4 victors and 4 cims.

So does anyone have any ideas? We are pretty sure that its not wiring because we checked like 10 times. One of the threads said it had to do with electrical arcs in the motors when we switch directions or some spring in the DAP. Is it possible to check if its a Crio reset or a Radio reset? Also, is there a way to check to see if the entire board really is going out?

First off, you HAVE to use the 12V to 5V converter on the special radio 12V output of the PDB. That’s for legal and practical reasons. You won’t pass inspection if you don’t, and the 12V output is a boost power supply that will maintain 12V even if the battery voltage drops considerably.

Secondly, there’s ways to check if it’s a cRIO reset or a radio reset. The radio has status lights on the front that indicate whether it’s connected, etc. These go through a pretty recognizable startup sequence which takes about 30 seconds. If you’re losing control of the robot for 30 seconds, then you’ve reset your radio.

If you’re losing control of the robot for about 10-15 seconds, you’ve reset your cRIO.

If you’re losing driving control for about 2-3 seconds, then you’ve actually just tripped the over-current protection on your Jaguars.

Whichever of these it turns out to be, your problem is that you’re drawing too much current from your batteries by rapidly switching from forward to reverse. You know that 133 amp stall current of the CIMs? If you’re switching from full forward to full reserve, you’re trying to draw DOUBLE of that. You won’t be able to since that will draw your battery down to a ridiculously low level, but that’s what you’re attempting.

I’d suggest either modifying your program to ramp the speed down slowly, or engage the ramping function on your Jaguars. If you have new Black Jaguars (new as in you got them this year) then you can put them in ramping mode by turning the limit switch jumpers sideways. That will force the Jaguar to gradually ramp the voltage between commands, which should reduce or eliminate your problem.

Is that because the back EMF of the motor is trying to push current in the same direction as the FETs ?

That will force the Jaguar to gradually ramp the voltage between commands, which should reduce or eliminate your problem.

Gradually, as 1/8 second from 100% forward to 100% reverse (for the non-CAN limit-switch jumper default ramp).

Another problem we ran into one year was we had a screw on a victor mount touching one of the terminals. This resulted in a chassis ground that when going a different direction caused a reset of the full system due to the sudden ground out. So validate none of your electrical system has a connection to the frame. Could be a wire with a bare spot, or a screw against a terminal.


Yup. Your back EMF field doesn’t disappear just because you want to change directions. When you reverse, it’s suddenly pushing those electrons in the same direction as your applied voltage. If you’re actually driving at full speed, you might be (very) briefly driving the motor at effectively more than 12V. The massive current draw is obviously going to drop your battery voltage massively, which will reduce the current draw until you hit some sort of equilibrium.

Even 1/8 a second ramp is going to make the whole process much, much nicer on the motors and battery. You’ll start developing significant braking torque on your way down to 0V, which will drop your back EMF enough that you’re not TOO likely to reset your entire robot on your way up to -12V.

We know the crio isn’t restarting because the variables that change at runtime are persisting thru the reset, although the lights do flicker. The drop only occurs for a fraction of a second but its enough to make the router reset. Also, the outage usually only occurs when going backward and stoping, not forward, and sometimes it will happen when attempting to turn from a dead stop.

Also, we had the router in the 5v dc converter but we put it in the other thing to test to see if that was the problem

We are using victors not jags.

Thanks for all the input so far. We have been working hard to figure out this problem because just yesterday we ran for 20 minutes+ without this issue. The only difference was we where running on only 3 motors. (hint hint? maybe the current draw things you are saying? 4 is just too much maybe.)

What’s the gear ratio and wheel size on your drivetrain? Your problem might be that you’re geared too fast. More speed = less torque = more amps to turn and more time to decel from full forward to stop to reverse. Both of those things will drain your battery quicker and drop the voltage farther. You should really be geared for something less than 15 feet per second.

Also, was this happening on a fully charged battery, or a mostly dead one?

Both fully charged and mostly dead ones

We have custom built gearboxes that i believe are 16:1 but im not 100% sure about that. We are using 12" pneumatic wheels

IF those numbers are correct, you’re geared for 17.4 feet/sec free speed.

Much too fast for this half-court game, especially for a bot with 12" wheels (higher center of gravity).

Yeah, at 16:1, you’re geared for 17 fps, which is really fast. If those gearboxes are actually 16:1, I’d recommend smaller wheels, or changing the gearboxes to something more like 20:1.

We have a very low center of gravity as we have no tower. We are designed mostly as a defense bot. Also, this problem occurs when we are barley moving and switch directions too (contrary to the op)

All the more reason to gear it down more, to get more pushing torque and faster acceleration. You can’t use that 17.4 ft/sec top speed to much advantage in this half-court game.

I just asked the lead mech guy he says the first set is 16:1 but then belts take it to a second set that take it so something else but he cant remember exactly what atm.

The Crio is programmed to disable all output if the battery voltage dips below 5.5 volts. This is easy with four CIMs geared as high as yours and being driven to full direction change.

Guys, just wanted to thank you all for your help the over ampimg/ low voltage seemed to have been our problem. I coded the motors to ramp today instead of instant full speed and now everything seems to be working fine. Also just wanted to throw in that we are in fact geared at 20:1 and are looking at te possibility of going to 30:1

vehicle top speed in feet/sec = piNd/(G*720),


N = motor free speed in RPM

d = wheel diameter in inches

G = geardown ratio from motor RPM to wheel RPM


for 20:1 gear ratio:

pi531012/(20*720) = 13.9 feet/sec

for 30:1 gear ratio:

(531012/20)(3.1416/720) = 9.3 feet/sec

Because the center barrier divides the field in half and rules out any full-court sprints, the 9.3 feet/sec is probably fine, plus you’ll have a whole lot more pushing torque and fine control of low speeds.