Stepper rotates perfectly but vibrates.

I'm using DRV8825 and a 17hs4401 stepping motor.
I connected them accordingly to following diagram :

After setting the current limit the motor rotates perfectly.

BUT!!!! it vibrates.. every step is a vibration.. also it makes a high pitch noise

I noticed that :

  1. When enabling micro stepping in reduces the vibration significantly..
  2. When increasing the speed (reducing time between steps from 100 to 1) it is also reduces the vibration significantly

I want to make sure, is it normal ? or maybe I'm missing something ?

the code i use is very simple :

byte directionPin = 100;
byte stepPin = 11;

int millisbetweenSteps = 100;


void setup() 
{ 

  pinMode(directionPin, OUTPUT);
  pinMode(stepPin, OUTPUT);
  digitalWrite(directionPin, HIGH);
}

void loop() 
{ 
    digitalWrite(stepPin, HIGH);
    digitalWrite(stepPin, LOW);
    
    delay(millisbetweenSteps);
}

That's normal. It's just how steppers are. You'll notice that it makes some noise even when you're not rotating it. You can stop that (and the large current draw) by setting the DRV8825's ENABLE pin HIGH but that also makes it easy to turn the stepper motor's shaft so you might not want to do that if you need it to hold its position.

tautau123:
I'm using DRV8825 and a 17hs4401 stepping motor.

After setting the current limit the motor rotates perfectly.
BUT!!!! it vibrates.. every step is a vibration.. also it makes a high pitch noise

Do the usual first before asking things ..... eg. google 'drv8825 noise' or something similar. After doing some searching like that, you'll be able to see whether your situation is normal or not.

For this case, since you asked, and since you indicated that you set a current limit...... you will eventually find out (from available details) that the mechanism for limiting current involves switching...... which can result in vibrations associated with the shape and strength of the time-changing current in the coils ...and associated magnetic fields (and the magnetic forces associated with it). If some vibrations are at audible frequencies.... then we may hear it.

I also have same problem.

https://forum.arduino.cc/index.php?topic=573575.0

Microsteping is the solution.