How to control "motor overload protection"

Although motor overload protection is neccesery, it is causing problem during autonomous for us. Is it possible to stop that protection for limited time or are there any codes to do: / if motorsOverloaded -> Stop the motors -> run the next line/

I assume by “motor overload protection” you mean the automatic current limiting that kicks in as V5 motors heat up. This cannot be disabled, and even if it could it would be a bad idea from a safety perspective.

But, you can tell whether current will be limited by looking at the motor temperature, more info here:

6 Likes

It is not about heat, think the robot going straight the wall, after the first touching of the wall, motors stop after a while because of it can not go anymore. But after motors locked, if you take robot away from wall, it will work from “where it left off”
We want if motors get locked because of that protection (not caused by heat) run the next line or run motors anyway

If motors stop before their line finish, next line will not work. During autonomous, if our robot goes even a little bit more to the hoop, it is stoping and rest of the codes are not working (if you move the robot manualy to backward a little bit, it continues). I hope I explained well enough:)

Why not just use the encoders built-in to the motors to know your location precisely?

1 Like

Sometimes it is having problem because many factors

What you describe is called motor stall. One approach to stall prevention is to estimate the amount of time a motor should take to perform a movement. If the motor doesn’t complete within that (plus some fudge factor), you could programmatically stop the movement and carry on. This approach can be useful if you want to square your robot to a wall so that you know where it is and how it is orientated.

5 Likes

I don’t know the exact line of code but what you are looking for is something like this:
Motor.settimeout(2, seconds);
This makes it move on in the code if the motor can’t move anymore
Correct?
I know it is one of the available functions in vexcode pro.

image

Yess, that is what we are looking for. But how to do that ?

Motor.setTimeout(3, second);
This is the correct code. The one you have above has a lowercase T instead of a uppercase one.

3 Likes