2026-02-25 6:21 AM
Hello ST team,
I am using the EVSPIN32G4 evaluation board with sensorless 6-step control.
Hardware Setup:
Board: EVSPIN32G4
Motor: BLDC motor (24 pole pairs)
Control mode: Sensorless 6-step (BEMF zero-cross detection)
Current sensing: 1 mΩ shunt + external amplifier (Gain = 7.33)
PWM frequency: 60 kHz
DC bus voltage: 48 V
Problem Description:
When observing the three phase voltages (U, V, W) on the oscilloscope, I noticed that three phase voltage occasionally becomes flat or loses switching activity during commutation.
This issue becomes much more obvious at high speed operation.
At low speed:
Waveforms are mostly trapezoidal and continuous.as show.
At high speed:
The floating phase voltage becomes unstable.The BEMF signal appears distorted.In some sectors, one phase seems to lose signal briefly.Ringing and high-frequency oscillation increase significantly.as show.
The higher the electrical frequency, the more severe the signal loss.
It seems that the floating phase is being clamped or not properly released during commutation.
The zero-cross detection may become unstable at high speed.
My Questions :
Is this behavior expected due to insufficient blanking time at high electrical frequency?
Could this be related to ADC sampling timing versus PWM timing?
Could dead-time configuration cause the floating phase to be clamped?
Is there any recommended configuration in MC Workbench for high-speed sensorless 6-step operation?
I would appreciate any guidance or recommended debugging steps.
Thank you very much.
2026-03-05 8:18 AM
Hi @1123, you can improve the zero-crossing detection mechanism.
First, check the input signal of the BEMF for zero-crossing detection at ADC level after the resistors network. The input level must be in the range of 0 to 3.3 V. With VBUS at 48 V, use a divider to enable accurate VBUS/2 zero-crossing detection during the PWM-ON phase. Refer to chapter 3.2.5 BEMF sensing network in the user manual for STM32 Workbench, located at About/User Manual/Six-step firmware algorithm Documentation/html/md_docs_2six__step__firmware__algorithm.html.
If there is excessive noise, you may encounter difficulties with zero-crossing detection during the PWM-OFF phase.
This behavior occurs after commutation and during the demagnetization phase. You can perhaps attenuate this behavior by changing the method used to compute the demagnetization delay. The demagnetization delay follows the speed information. At a certain speed threshold, the delay remains fixed. The STM32 Workbench and Motor Pilot tool allow you to change those parameters:
Into the STM32 Workbench:
Into the STM32 Motor Pilot:
If the problem occurs during PWM-OFF zero-crossing detection, switch to PWM-ON zero crossing detection by changing the hysteresis value of the switch mechanism earlier. Change
"PWM on Sampling point" and "On sensing enabling".
Into the STM32 Workbench: