Motors making high-pitched noise

The motors on our robot have started making a loud, high-pitched noise. Has anyone come across this before, and what solutions do you have?

If you mean they make a high-pitched noise when they are not moving, then it could probably mean that the motor is receiving such small values that it doesn’t move but it is powered. You can solve this by adding a deadband to your driver control code.

If they aren’t moving when this happens do what was said above.
If it’s while they’re moving they might not have enough torque to lift up what you want them to.

Right now the motors are powering the base (1:1 High Torque motors). We will try implementing the dead band @The Pioneers and see what happens. The high-pitched noise comes from when I input very small values from the Joystick, but it does still move.

This high pitched ringing caused from a minimum amount of power being sent to the motor can be fixed, but only through a long array of complex code. The reason yours is probably so loud is because you have multiple motors in a single system receiving the same number of "minimum powers"causing the sound to add up and be loud

The relevant code is not difficult and hardly complex. If you’re involving arrays, you’re grossly overcomplicating it.

I think he meant “arrays” colloquially. It is, however, very easy. If you want to do best practice, I would recommend a function called deadband() that you pass a value onto. For example, some pseudocode.

deadband(int value){
if (value > 15){
  return value;
  } else {
  return 0;
  }
}

And then for setting motors based on joystick power, just do, for an example in PROS that should be understandable enough for those using RobotC:


motorSet(1, deadband(joystickGetAnalog(1, 3));

I know, but I felt compelled to assume the literal definition that would be contextually valid.

Don’t forget absolute value so you can go in reverse too…

deadband(int value){
if (abs(value) > 15){
  return value;
  } else {
  return 0;
  }
}

My motor started doing that right before it completely stopped working. It could be that the motor is shot.

I remembered that in my robot code, but I always forget something when I post on the forum. :wink:

Thank You so much @Aponthis and @Barin. I will implement the deadband() function and get back to you if it works. @BBBcube3.14 I hope they aren’t broken they are more or less brand new - do you think the fact we have a steel base is making a difference? @97934V I think you are correct about the building up of sound, as we have 4 motors for the base.

They were old about 3 years of use. I am getting so brand new motors soon I will see if it still does that though.