cancel
Showing results for 
Search instead for 
Did you mean: 

FOC motor control with HSO and Hall sensors

tomdewinter
Associate

Hi,

I've been experimenting with the High Sensitive Observer using the B-G473E-ZEST1S and STEVAL-LVLP01 boards to control a BLDC motor. So far we have good results, however sometimes the HSO loses control, especially at very low speeds (<10 electrical rpm). To overcome this a restart is required so the pol pulse is triggered and the rotator angle can be found. 

I was wondering if there are strategies to fuse the HSO feedback with the Hall sensor to overcome these problems? I known the ZeST solutions solves this as well but this is not publicly available yet and for safety reasons we are required to have an physical sensor to read the motor position.

Thanks,
Tom de Winter

3 REPLIES 3
Gael A
ST Employee

Hello tomdewinter,

So far there is no available solution to fuse the HSO with Hall Sensors. Hall Sensors are currently only supported on STO (Observer + PLL or CORDIC), which has a different number computing strategy. You could still inspire yourself from it and port it to HSO with a small applicative code to switch between sensored / sensorless mode depending on the speed. You can also get inspired from STO for this, since we provide a solution for manually switching from sensorless to sensor and back. It can be enabled by toggling Auxiliary Sensors in the Speed Sensing Config tab of the Workbench.

However, please understand that we cannot provide extensive support on this kind of procedures.

If you agree with my answer, please consider accepting it by clicking on 'Accept as solution'.

Hope this will help,
Gaël A.
tomdewinter
Associate

Hi Gael,

Thanks a lot for your response. I have been thinking about such a solution as well, however HSO will probably perform better at either high and low speeds, so switching depending on the speed is maybe not the best approach. I was thinking about using the hall sensors for stall detection and recovery somehow. Any suggestions to do this? 

Hello tomdewinter,

It depends a bit on your application, and what you want to do after stall detection. Having hall sensors as auxiliary could prove useful, and motor stall could be detected by using the hall computed speed : if the speed is lower than a specified threshold for a certain amount of time, then the motor is considered stalled for example. Recovery could be done by injecting a sharp and rapid Q current, just long enough to kick the motor and start rotating again.

If you agree with my answer, please consider accepting it by clicking on 'Accept as solution'.

Hope this will help,
Gaël A.