How to Disable Motor Overheat Protection

On my robot for tipping point, I find that my motors limit their own power after a defense heavy game. This limit in power removes the ability for me to climb the ramp, so I was wondering if there was a way to lower the heat threshold or remove it altogether by pressing a button on the controller in case I need to climb to win. (I run 3:5 with 6 blue motor drive, giving me 360rpm end result) - I am aware this will damage the motors -

EDIT: When I say climbing the platform, I mean with the robot plus 2 or 3 goals, not just the robot. My robot can climb by itself easily no matter the temp.

I doubt there is a way to remove this limit without editing the hardware or firmware, but either way you should be able to climb the ramp easily; if you can’t do it that means you either don’t have enough torque or its applied incorrectly.

1 Like

No, you can’t do this for safety reasons. You can use this program to monitor the motor temperatures. If they are hot before a match, you can use compressed air to cool them down.

int leftFrontT = leftFront.temperature(temperatureUnits::celsius);
Brain.Screen.print("Front Left: ");
Brain.Screen.print(leftFrontT);
6 Likes

Specifically compressed air turned upsidedown so it sprays a super cold liquid. If you do that before the match your motors can perform a good bit better. Granted, that gets expensive because the cans run out much faster when used like that.

Generally if your motors are constantly overheating, that’s a sign of a design problem. Maybe consider chosing a less aggressive ratio, or using a transmission to only use the higher ratio when you aren’t pushing and shoving.

2 Likes

Unofficial Response

  1. It is impossible to program this. You’ll have to physically modify the motor which is illegal
  2. Motor overheat protection is in place to not give teams an unfair advantage, as well as to make motors and electronics longer lasting. Also, it helps prevent electronic fires.
  3. Instead, try to see how you can improve your robot as compared to trying to merely ‘patch’ a solution.
5 Likes

Is there a way I can have it print on the controller screen? If not, is there a way to make it more visible in a match?

Thank you. This really isn’t a big problem, its just for the few matches when I’m really playing strong defense. Most drivetrains get hot after playing agressive defense, and I don’t want to change my gear ratio. It’s good to know there isn’t a way to do that though and I understand why there isn’t.

1 Like

Compressed air can only be used inbetween matches, this is more of a problem in specific matches where I play extreme levels of defense against the opposing alliance and heat up before the end. I would change my drivetrain, but the speed/power I get usually from 360 rpms and 6 motors is normally fine and transmissions are bulky and somewhat complex, which I’d like to avoid.

I don’t climb up with just my robot, but rather with 2 or even 3 goals. I find that if my motors have reached the threshold it just doesn’t have the power to drive up with goals, despite the six motor drive. One might say I don’t have enough torque but under normal conditions it’s fine. It’s only when I’m playing the rare match where I’m playing a lot of defense that I can’t climb. I also have 6 wheel 3.25" omni wheels so I get plenty of grip and no wheel spin

I think the suggestion was to prepare for matches in which you’d expect extreme defensive play. Cool the motors before the match, and toward the end they might be at more reasonable levels.

5 Likes

Yes. There are functions both for printing to the controller’s screen and for retrieving the temperature of specific motors. Check the API docs for the particular programming language you are using.

5 Likes

Compressed air definitely helps between matches, but you can also pre-chill the motors right before the match and get a bit more oomph out of them. I once had a code bug that caused a motor to stall until we restarted the program half way through a match, and pre-match compressed air was the difference between being able to tilt the tray or not.

Yes like @sazrocks said the functions for that are listed in the API. Additionally, the controllers have a rumble function which could alert you without taking your eyes off the game.

3 Likes

There is, however, It adds a delay of about 150 milliseconds to your program so I won’t have it constantly reprinting the data.

Most likely, your motors are already at 35 or 40 degrees at the start of the match. By cooling them down to 30 or 25 degrees, you can avoid some of this issues.

2 Likes

To be clear, it takes 50ms per write operation to the controller’s LCD. This means operations like writing text to a line or clearing a line all take 50ms to complete, meaning that it would take 150ms to write to all 3 lines of the controller’s LCD. Because of this, it’s not recommended to handle writing to the controller in the same thread as your driver control loop. Instead I would recommend having a second thread dedicated to handling writing to the controller, which would have little to no impact on the driver control loop.

9 Likes

Thank you, I’ll keep the pre-chill in mind for the future and look in the API for the functions.

1 Like

While chilling the motors is a possible solution, it’s more of a band-aid solution to the actual problem.

Motor heat is almost always correlated to current draw. The more current you draw, the more heat you create. If you want your motors to run longer, then you have to find a way of cooling the motor or reducing how quickly heat is building up. You can’t legally cool the motor during a match in VRC. This means you have two primary options:

1) Actively cooling the motor between matches by using something like freeze spray or compressed air.
I’ve done a lot of thermal testing on the Talon SRX, Victor SPX, and Falcon 500 - including how best to cool these items during a match and between matches. There are some problems with this solution…

The housing of the V5 motor is plastic, which is not a great thermal conductor. This works both ways. It’s harder to dissipate any heat build up during a match, and it’s harder to cool the motor. This means you’re going to have to dump a lot of freeze spray before you get the important bits cooled off. You could try and remove parts of the housing to get better access to the important bits, but this is going to slow you down. Do you really want to partially tear down all of your drive motors between matches? Probably not.

The other problem with this is you’re never really going to get below ambient temperature. If you do, it’s not going to last more than a few seconds. After you cool your motors like this there’s actually a short period of temperature rise as the motor reaches thermal entropy.

So if you’re starting a match at or close to ambient temperature, playing through defense, and reaching thermal limits by the end of the match; this solution is basically a waste of time and money (freeze spray and compressed air adds up). In general I’ve found that this type of cooling is only really useful between matches where you have a quick turn around and are trying to get your motors back to ambient temperature faster.

2) Reduce the amount of current your motors are drawing during the course of the match.
What are some ways you can reduce current draw?

First, you could add more motors. Accelerating and driving your robot requires some amount of power. Adding more motors spreads that power out over more motors, which reduces the amount of current drawn by each motor. The OP is already at 6 motors, so adding 2 more motors isn’t a reasonable solution, I won’t elaborate on this further.

Another option is to increase your gear reduction. By increasing your gear reduction you’re reducing the amount of torque the motor must produce while your accelerating. With DC motors torque and current have a proportional relationship. So if the motor is producing less torque, it’s not drawing as much current. If the motor is drawing less current, it’s producing less heat.

The downside to this is that you are limiting your top end speed. However, you’ll have more torque available, so you’ll accelerate faster. This is a concept that a lot of teams struggle with. While having a lot of top end speed is really enticing and looks good on paper, it’s useless if your rate of acceleration is so slow you’ll never reach your top speed during normal game play.

In many cases, a robot with less top end speed and more acceleration will be quicker than a robot with more top end speed and less acceleration. This is because the robot with more acceleration will reach its top end speed faster and spend more of the match driving at its top end speed.

When a robot is facing a lot of defense during a match, it is usually having to stop and start a lot. During most games where robots are fairly light and carrying light objects, this is easy for a V5 motor to handle. However, in this game robots are incentivized to carry multiple heavy objects. This added weight + the start and stops under defense is significantly harder on motors.

I suspect if you played with your gearing you might find a good balance of speed + playing through defense + climbing on the platform + not reaching thermal limits before the end of the match.

13 Likes

3.5 cubic feet should fit a legally folded 18x18x18 bot. Doubles as robot carry case! Or you can chill your drinks…

5 Likes

There are ways to help reduce burnout. For example, you may choose to have an advantage in speed as compared to torque. So when you are in a bind you can speed your way out of the situation. Otherwise, it may be beneficial with greater torque or possibly greater power by having a transmission that is able to internally shift where power is delivered for your robot directly to the drivetrain. There’s multiple solutions, but if you don’t want to deal with that issue then just get into the habit of using your opponents pushing you as a slingshot to get you to point A to B instead. Basically, don’t fight a push battle and instead manipulate the situation you are in for your own advantage during a match.

A better option to this is quick swap, which is where you remove the motors screws that hold the motor front plate on, like you would if you were switching gear cartridges. You leave the front plate attached to the robot, but instead of putting the rest of the motor in with the screws, you use zip ties (or rubber bands if you’re crazy) so you can pull the warm motor off and switch it for a cooler one in between matches.
See this thread for more information.

3 Likes

I agree with @Connor here. It sounds like you already made up your mind to use 5:3 with 600RPM motors. That’s at the limit of 2 minute torque this year considering that you are also planning to carry extra 7-10 lbs (2-3 MOGOs). Don’t fight the push is the best advice here (other than freeze your motors before every match lol). Also, when you program your drive make sure all drive motors are set to COAST not HOLD, as HOLD drains tremendous amounts of current which in turn convert to heat inside the motor coils. Don’t forget that inside that cool looking smart motor is a very modest toy DC motor, everything else in the case is gears and electronics. A lot of teams who live on the edge of pushing the limits of those tiny motors use a hot swap system where they take the screws of the cover and use zip ties to hold the 2 shells of the motor together. So in between matches they cut the zip ties, mount new cold motors, zip tie them back and are ready for another 2 minutes of fight. And last one from me - practice driving and don’t mash the sticks like you mix sugar with a spoon, feather those sticks and think about this: when you push the joystick in one direction then immediately the other (whether you had to stop or reverse), the brain sends an opposite voltage to the motor causing a lot of stress on it and a lot of heat - energy has to go somewhere and excess turns into heat, the idea is to drive without the need to cause that excess. If you ever flew any remote controlled toy, you know that big jerks on the sticks are bad. Same here, control it and it will last the 2 minutes. Good luck!

EDIT: VexTeamZ beat me on the quick swap.

2 Likes