Start up issue in the vehicle FOC + BLDC motor + Digital Hall sensor

Vihaan

1 mW
Joined
Oct 7, 2023
Messages
17
Location
India
I am using the STM32 source code and FOC, i am facing the issue of start up where the vehicle goes in steps and jerks and does not start smoothly when throttle applied. The position sensor is digital hall sensor. I plotted the hall angle and the Iq variable

1697803019658.png

As you can see initially FOC is failing to get the position of the rotor and after sometime with jerks it starts to run smoothly in the vehicle when i give throttle. Please help me to solve this issue. Any suggestions i will try to implement.
 
Your problem is the ST dev kit, or more likely the complicated use of it, not the methodology. FOC can start with nearly full torque from standstill with hall sensors. There is an estimation error of up to 30 degrees, so the max loss of torque from a properly set up FOC system is 1-cos(30) = ~13%.

Swapping to BLDC mode like in that NXP post is a pointless move, you just move your complication elsewhere. It might also be that your hall sensors have noise, though your trace does not particularly look like that.

ST dev kit is a bit of a pain. Get used to fighting it.
 
Your problem is the ST dev kit, or more likely the complicated use of it, not the methodology. FOC can start with nearly full torque from standstill with hall sensors. There is an estimation error of up to 30 degrees, so the max loss of torque from a properly set up FOC system is 1-cos(30) = ~13%.

Swapping to BLDC mode like in that NXP post is a pointless move, you just move your complication elsewhere. It might also be that your hall sensors have noise, though your trace does not particularly look like that.

ST dev kit is a bit of a pain. Get used to fighting it.
It is not an ST dev kit it is our own customised board with ST micro but hardware design concept is based on ST evaluation board. But thankyou very much the reply. I will probe other parameters.
 
One observation is the phase currents jerking and not pure sinusoidal during start up. The jerking is due to position information? The phase currents become sinusoidal after some time.
 
It is not an ST dev kit it is our own customised board with ST micro but hardware design concept is based on ST evaluation board. But thankyou very much the reply. I will probe other parameters.
By Dev kit I mean the software dev kit not the hardware.

You cannot expect sinusoidal behaviour at very low speed. Between hall sensor changes, it has no physical way of knowing the position until there is a train of pulses stable enough to meaningfully interpolate.

Get an encoder if you want full torque with no judder atall from standstill, it is the only way. Some on here will point to HFI, but it is a gimmick, I know having written several HFI implementations and having tested many others.
 
Note that there are various potential other sources of your issue - noise on hall sensors and magnetic shift in the field around the rotor; we would like to think that the magnets are totally deterministic of the flux the hall sensors see, but this is clearly not the case. There is strain of the field lines, which is what produces the torque, and that results in a current dependent shift in the hall angle (if you have the usual hall sensor embedded in the stator kind of magnets).
 
Back
Top