Why is it that if I execute a gcode command that causes the stepper motor to turn in reverse (any negative move on the X axis), after the step it will emit a high pitched whine until it gets another command to rotate in its forward direction?

Executing multiple reverse commands will cause the tone to vary in frequency each step, and always it goes away after another step in the opposite (forward) direction.


And other times it does it in both directions, but only on every other step. One step +X its there, next step its gone, next step its back, and so on...

Then they also make a different noise when idle, before I disable them with the "disable steppers" command.

What are these noises?

And is it bad to leave the motors in this state? Will it burn them out?

  • $\begingroup$ what kind of printer you got? Does the sound really originate in all or just one steppers? $\endgroup$ – Trish Dec 20 '18 at 10:56
  • $\begingroup$ Ender 3 pro, late-2018 model (only 3d-printed part is the power supply lower cover) $\endgroup$ – cds333 Jan 2 '19 at 10:46
  • $\begingroup$ Mainly the X and Y, but not at the same time. It is random $\endgroup$ – cds333 Jan 2 '19 at 10:47
  • $\begingroup$ that would be... desing 3 or 4, one of them has a detatchable magnetic printing surface (which I am not a fan of as you can't print ABS without demagnetizing it) $\endgroup$ – Trish Jan 2 '19 at 14:26

When idle, the stepper is stationary, no rotation.

Normal standard electric motors will start spinning as soon as you apply power to them. However, steppers only rotate when a magnetic field is applied1):

Stepper motors effectively have multiple "toothed" electromagnets arranged around a central gear-shaped piece of iron. The electromagnets are energized by an external driver circuit or a micro controller. To make the motor shaft turn, first, one electromagnet is given power, which magnetically attracts the gear's teeth. When the gear's teeth are aligned to the first electromagnet, they are slightly offset from the next electromagnet. This means that when the next electromagnet is turned on and the first is turned off, the gear rotates slightly to align with the next one. From there the process is repeated. Each of those rotations is called a "step", with an integer number of steps making a full rotation. In that way, the motor can be turned by a precise angle.

The motor's position can then be commanded to move and hold at one of these steps without any position sensor for feedback (an open-loop controller), as long as the motor is carefully sized to the application in respect to torque and speed.

When you power the printer and energyze the steppers there is no movement, but, the magnetic coils in the stepper are activated to hold the rotor in position. This is controlled by the stepper driver. The creation of the signal for the magnetic coils is causing the noise. It is a function of the driver type, micro-stepping setting, the stepper motor inductance, current setting and supply voltage.

If the stepper motor, stepper driver and power supply can take it, increasing the current setting of the driver may lower the noise.

Turning off the steppers (disabling them with G-code using M2, M18, or M84 depending on your firmware) will stop the noise, but you will easily lose the current position as it is not hold into place anymore.

1) source Wikipedia

| improve this answer | |

this is normalISH for stepper motors. they have a fair ammount of current pulsing through them at relatively high frequencies, coils and other parts that will vibrate. if it quite loud you can look into the boards that drive them, depending on your printer they are replaceable, and better 'drivers' send cleaner signals that make less noise. however: if your motors get hot or start making clicking noises, or stop randomly, or acting up more significantly, you should look adjusting how much current they are getting. search for stepper motor calibration, basically you need to adjust the ammount of current the motors are getting, but if the machine prints normally, then this is not something you want to play with. you can also probably find the data sheet for your motor, they are usually rated to operate up to about 50C

| improve this answer | |
  • 1
    $\begingroup$ Would you please look onto this again, edit and fix up your grammar? $\endgroup$ – Trish Dec 20 '18 at 20:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.