Skip to main content
Associate
June 22, 2026
Question

Motor Sequence for Starting and Reversing BG431-ESC1

  • June 22, 2026
  • 1 reply
  • 34 views

Hi,
 

Could you please explain the proper command sequence for smoothly transitioning a motor from Forward to Reverse operation?

Currently, my sequence is:

STOP → DIR → SET_SPEED

This assumes the STOP command was issued while the motor was already in the RUNNING state. However, with this sequence, the motor will not reverse direction. The only sequence that consistently works is:

STOP → DIR → START → SET_SPEED

While this does reverse the motor, I'm running into another issue: every time I issue a START command (this applies at any given point in time), the motor immediately accelerates to approximately 2000 RPM before settling. After that, SET_SPEED commands work as expected.

Is there a recommended sequence for changing direction, or is there something I may be overlooking in my implementation?

Any input would be greatly appreciated.

Thanks.

 

1 reply

GMA
ST Technical Moderator
June 29, 2026

Hello ​@msalazar,

At the stop command point, use the MC_GetSTMStateMotor1() API to wait until the state equals IDLE. When the state reaches IDLE, set the speed by using the MC_ProgramSpeedRampMotor1_F() API, and start the motor.

When the motor starts in sensorless mode, the system uses a Start-Up phase before it uses the target speed.

 

If you agree with the answer, please accept it by clicking on 'Best answer'.Best regards.GMA