2025-08-11 2:49 AM
Hello,
I've use
X-CUBE-MCSDK v6.4.1
B-G473E-ZEST1S + STEVAL-LVLP01 + B-MOTOR-PMSMA1
with the HSO.
I can make it run with the GUI. But can't start the motor with API.
In the legacy, I use MC_ProgramSpeedRampMotor1(100, 1000); for 600 rpm within 1000 ms.
For HSO, I can't find the same API, but found that may need to use these:
MC_SetAccelerationMotor1()
MC_SetSpeedReferenceMotor1()
The question is how to calculate the value passing to these API, I found it different from the legacy.
Thank you.
Solved! Go to Solution.
2025-08-12 2:29 AM
Hello Gael,
I'd like to inform you that the API you recommend are working for me.
I use:
MC_SetSpeedReferenceMotor1_F(95);
MC_SetAccelerationMotor1_F(3000);
MC_StartMotor1();
HAL_Delay(8000);
MC_StopMotor1();
HAL_Delay(2000);
MC_SetSpeedReferenceMotor1_F(-95);
MC_SetAccelerationMotor1_F(3000);
MC_StartMotor1();
HAL_Delay(8000);
MC_StopMotor1();
HAL_Delay(2000);
to test running motor forward and reverse.
Thank you.
2025-08-11 3:05 AM - edited 2025-08-11 3:06 AM
Hello JGrap.1,
I recommend using MC_SetSpeedReferenceMotor1_F() and MC_SetAccelerationMotor1_F().
The first one takes Electrical Hz as speed argument, and the second one takes Electrical Hz per Second as ramp argument.
2025-08-12 2:05 AM
Hello Gael,
I'll try it.
Thank you.
2025-08-12 2:29 AM
Hello Gael,
I'd like to inform you that the API you recommend are working for me.
I use:
MC_SetSpeedReferenceMotor1_F(95);
MC_SetAccelerationMotor1_F(3000);
MC_StartMotor1();
HAL_Delay(8000);
MC_StopMotor1();
HAL_Delay(2000);
MC_SetSpeedReferenceMotor1_F(-95);
MC_SetAccelerationMotor1_F(3000);
MC_StartMotor1();
HAL_Delay(8000);
MC_StopMotor1();
HAL_Delay(2000);
to test running motor forward and reverse.
Thank you.