cancel
Showing results for 
Search instead for 
Did you mean: 

Sensorless BLDC Motor Issues Using Nucleo-F401RE and X-NUCLEO-IHM16M1

Bablu
Associate II

Dear ST Team, 

I am currently working on a 24V @ 1.5A sensorless BLDC motor control application using the following setup: 

  • MCU Board: Nucleo-F401RE 
  • Driver Board: X-NUCLEO-IHM16M1 
  • Motor: Sensorless BLDC Motor
  • Software Tools: MC Workbench 6.4.0 and Motor Pilot 
  • Control Technique: Field-Oriented Control (Sensorless) 

Issues Observed: 

  1. During startup, the motor produces loud noise, initial jerks, and fault indications in the IHM16M1 board. 
  1. At higher RPMs, a mild humming noise is audible. 
  1. When decreasing the speed to medium or lower RPMs, the IHM16M1 board triggers faults again in the IHM16M1 board. 

We have profiled the motor multiple times using Motor Pilot, and each profiling run gave slightly different values for parameters such as Friction, Inertia, and Back-EMF constant. 

To address this, we tested the system using the average, minimum, and maximum values obtained from multiple profiles. However, the same issues persisted across all tests — specifically during startup, low-speed operation, and at maximum speed. 

We’ve attached a profiling table for your reference 

Max Current 

R(ohm) 

L(mH) 

K(Vrms/kRPM) 

F(uN.m.s) 

Inertia(uN.m.s2) 

Max RPM 

1.2 

1.58 

1.24 

26.33 

753.61 

22608.98 

306 

1.2 

1.59 

1.25 

26.93 

937.67 

28131.12 

312 

1.3 

1.59 

1.26 

27 

1242.01 

37261.63 

330 

1.3 

1.6 

1.27 

28.61 

1339.53 

40187.38 

336 

1.35 

1.6 

1.28 

28.76 

1497.54 

44927.62 

348 

1.4 

1.6 

1.22 

32.05 

965.57 

28967.94 

324 

1.4 

1.61 

1.23 

32.3 

1422 

42661.48 

330 

1.4 

1.6 

1.21 

29.03 

754.78 

22644.21 

336 

1.4 

1.61 

1.28 

31.05 

1050.73 

31523.09 

336 

1.4 

1.62 

1.22 

26.66 

1198.17 

25946.32 

354 

1.4 

1.62 

1.21 

28.96 

879.03 

26371.63 

336 

Table 1 

Request for Support: 

  • How can we reduce startup jerks and noise? 
  • Is there any detailed guidance on how to tune the rev-up control table and observer settings for sensorless operation? 
  • How can we stabilize the motor at lower RPMs to avoid fault generation in the IHM16M1 board? 
  • Is there a way to reduce humming noise at higher RPMs? 

Any documentation, configuration guidance, or tuning tips specific to IHM16M1 and F401RE with sensorless FOC control would be highly appreciated. 

Thank you in advance for your support. 

Best regards, 
Rahul 

6 REPLIES 6
GMA
ST Employee

Hello @Bablu,

For Error description and management, refer to documentation available through "Workbench tool">About>Documentations>Documentation>"User manual" tab, "(FOC) Firmware errors" link.
At such low RPM values, 6-Step algorithm could be a better choice.

If you agree with the answer, please accept it by clicking on 'Accept as solution'.
Best regards.
GMA
Bablu
Associate II

Hi @GMA ,

Thank you for your response.

We have already reviewed the 'FOC Firmware Errors' section in the User Manual, as suggested. However, our concern is not limited to interpreting error codes, we are trying to identify and resolve the root causes of the faults from the IHM16M1 and undesired motor behavior observed during startup, low-speed, and high-speed conditions, specifically with sensorless FOC control on the IHM16M1 board.

We would like to clarify:

  1. The faults occurring during low-speed operation and startup are not due to misinterpretation of error codes but appear to stem from observer instability, incorrect rev-up settings, or motor profiling inconsistencies.
  2. While we understand that sensorless control has limitations at low RPMs, our application requires precise and smooth control, which is best achieved with FOC. Therefore, switching to 6-step control is not preferred.

We would appreciate specific technical guidance on the following:

  • Best practices to tune the Rev-Up Control table for a sensorless motor with the parameters we provided.
  • speed and observer parameters tuning for improving low-speed and startup stability.
  • Suggestions to mitigate high-speed humming and parameter sensitivity

Kindly advise us on how to proceed with stabilizing the FOC algorithm under these operating conditions.

Thank you for your continued support.

Best regards,

Rahul

Hello @Bablu,

 The "FOC Firmware Errors" section in the User Manual describes the errors and provides guidance on how to address them.
What do you mean by "faults from the IHM16M1"?

If you agree with the answer, please accept it by clicking on 'Accept as solution'.
Best regards.
GMA
Bablu
Associate II

Thank you for your follow-up.

By "faults from the IHM16M1," we mean that the red fault LED on the IHM16M1 board starts blinking continuously while the motor is running, particularly:

  • When the motor is running at low speeds, or
  • When the speed is reduced gradually from a higher RPM to a lower value.

During this fault condition:

  • The motor does not stop and continues to rotate,
  • But the fault LED remains active, indicating a persistent error condition.

We would like to understand:

  • What specific conditions on the IHM16M1 cause the fault LED to blink like this while the motor is still running?
  • Is there a way to read the exact fault code or cause during runtime, through Motor Pilot or UART logs?

We are using sensorless FOC with rev-up enabled and observer mode switched on above 25% of nominal speed. Motor parameters are profiled using Motor Pilot.

Any pointers on how to diagnose this fault and make the system more stable during low-speed operation would be greatly appreciated.

Best regards,
Rahul

Hello @Bablu,

IHM16M1 D1 RED LED is linked to STSPIN830 EN_FAULT signal. It is connected via PB12 to BKIN TIM1 STM32F401RE input and should stop processing when error is detected. Or "Driver Protection" feature has been disabled on workbench user interface, or board hardware configurations are not correct. Refer to IHM16 user manual.

If you agree with the answer, please accept it by clicking on 'Accept as solution'.
Best regards.
GMA
Bablu
Associate II

Hello @GMA 

Thank you for the clarification regarding the fault LED and its connection to the EN_FAULT signal on the STSPIN830 driver.

We understand that the red LED on the IHM16M1 board indicates that a fault condition(and audible noise at fault condition) has been detected by the driver. We’ve also verified that the “Driver Protection” feature is enabled in MC Workbench and that the hardware configuration (BKIN on PB12) is correct.

However, our main concern is not how the fault is detected, but rather:

How to identify the root cause and prevent these faults from happening during low-speed operation, transitions to low speed and startup. These faults only occur at or near low RPM, and do not trigger a hard stop unless reset.

  1. Motor profiling was done multiple times using Motor Pilot, and the parameters vary slightly — especially friction, inertia, and BEMF constant. is it causing an issue?
  2. Is there a register or method to read or log the actual fault condition?
  3. Are there safe ranges for tuning the rev-up table, especially for motors with higher inertia?
  4. Suggestions to mitigate high-speed humming

We would greatly appreciate if you could provide practical debugging steps, recommended tuning strategies, or even a set of Motor Pilot variables to log, so we can isolate the real issue and resolve it without switching away from FOC.

Thank you for your continued support.

Best regards,
Rahul