I'm creating a Rubik cube solver which uses 6 NEMA17 17HS4401 motors, 6 DRV8825 drivers, 19V~6.32A power supply, NodeMCU brain - like in the attached schema.
The drivers are set to 0.8V with the potentiometer.
The problem is that the motor doesn't have always enough force to finish a full rotation(attached to the Rubik's cube face, when not perfectly aligned, even tough I can easily do it by hand.)
I've tried playing with the time between steps but it didn't seem to help.
delay(35);
//200 steps per rotation
int steps = (rotation * 50) + 2;
for (int x = 0; x < steps; x++){
digitalWrite(PIN_STEPS, HIGH);
delay(2.4);
digitalWrite(PIN_STEPS, LOW);
delay(2.4);
}
Do I need a bigger power supply? Or maybe increase the voltage on the driver?
Use some microstepping. Full steps lead to resonant miss-stepping (aka mid-band resonance), and is extremely noisy. Slower motion should allow some more torque, especially if not using full-steps.
You may simply have too low torque motors - if you are direct driving without reduction gearing this is more likely. Motor torque is strongly dependent on motor size if no gearing is used (which is why gearing is often used).