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