Problems with OpenLoop

Issue Driving Stepper Motor with Custom PCB and STM32F103C8T6

Hello everyone,

I’m encountering an issue while attempting to drive a stepper motor using the open-loop example on a custom PCB. My setup includes an STM32F103C8T6 microcontroller and an A4954 driver. However, I’m facing difficulties as the motor simply vibrates without proper movement.

Upon closer inspection, I noticed that when I manually attempt to move the axis in the opposite direction while the command is running, the motor experiences some friction, which doesn’t occur when moving in the intended direction. I’ve already verified the PWM signals with an oscilloscope, and they appear to be within expected parameters.

Interestingly, when I tested the same setup with other servo drivers like the MKS Servo57A, it worked without any issues.

I’d appreciate any insights or suggestions on how to troubleshoot and resolve this problem.

Open loop on steppers is really quite difficult due to the high pole pair counts (because each e-rev is so physically small, it is very few PWM cycles in order to commutate from phase to phase). For me, I was only able to get to about 6-7 rad/s with open loop, but I can hit >250rad/s in closed loop.

How fast did you try to go?

It doesn’t appear to be a velocity issue. I’ve attempted it at 5 rad/s and also experimented with various other values.

Closed - The problem occurred due to an IC in the PCB design, the current was not going to the motor coils.

1 Like