Hello folks,
I’m working with an arduino nano, a prodriver board and a Mercury Motor SM-42ByG011-25 stepper motor. I’ve tried most of the example code and it basically works fine. But I’m having some puzzling behavior with microstepping.
The code is simple - I set the step fraction, for example:
myProDriver.settings.stepResolutionMode = PRODRIVER_STEP_RESOLUTION_FIXED_1_4;
then call begin, and loop, calling step, then a delay in the loop:
for (j=0;j<800;j=j+1) {
myProDriver.step(1, 0);
Serial.println(j);
delay(100);
}
I’m trying to drive a telescope mount slow motion shaft, so I want small steps, and a very slow speed, hence the delay. What I’m getting is interesting. The motor is advancing the correct angular amount. For example, if I set 1/8 step and do 1600 steps, the motor does one full rotation (it’s a 200 step/revolution motor). However, the steps do not get smaller, and the stepping becomes irregular as I make the step fraction smaller. For example it might do two steps quickly, then pause, then do 2 more steps quickly and so on. It’s doing a lot less than 1600 steps in this example.
I’d be happy to provide any other details, but I’m not sure what’s relevant. I will of course continue experimenting but any suggestions or ideas would be appreciated. Thanks,
Doug