2026-06-05 6:21 AM - edited 2026-06-05 7:55 AM
Hi everyone, I am using the X-NUCLEONUCLEO-IHM08M1 with the NUCLEO-G474RE and Field Oriented Control to control the LIN Engineering BL23E33-01D-04RO motor.
I generated the code using MC Workbench, selecting the quadrature encoder (integrated into the motor) as the primary sensor and Sensorless + PLL as the auxiliary sensor.
I’ve noticed that at low speeds (below 50 rpm) the motor jerks and stalls.
In the main function, before the while(1) loop, I have inserted the function MCI_SensorSwitch(pMCI[M1], 0.1), which in theory should switch the sensor, so as to test both the encoder and the sensorless mode... but the problem persists.
The MCI_GetSpdSensorReliability function returns true.
Do you know what I can do to resolve this issue?
It seems odd to me that the motor encoder cannot read correctly at low speeds (this usually happens with sensorless systems as they rely on back-EMF)... could there be some other problem?
I will attach the screenshots you asked for; I should be able to plot them using CubeMonitor.
Thanks.
50 rpm:
30 rpm: (motor is jerking and stalling)
I also tried in MC Workbench to remove the encoder and select only sensorless + PLL, but below 100rpm a MC_SPEED_FDBK fault appears. I haven’t looked into the reason why since I must use the encoder .. it was just a quick test I carried out.
We’re moving the ST Community to a new platform to give you a better and more reliable community experience.