Hi， I recently come with a problem with motor state transition from force to sensorless.
We check the varible:
drvFOC.pospeOpenLoop.thDifOpenLEstim = MLIB_Sub_F16(drvFOC.pospeSensorless.thRotEl, drvFOC.pospeOpenLoop.thRotEl);
There are two situations of
this varible when we start the motor.
One is the error is between 0~0.5, which means in 90 degrees. We can easily go to the sensorless state.
The other is between -0.1~-0.5,which means in -180 ~-90 degrees range.It is difficult to go to the sensorless state.
I think if the position error is between -180~-90，the magnet force will make the motor a reverse rotation.However, the motor's running direction is the same as the first situation.
It is strange that the second situation happens. I think in the open loop , the positon error between -90~90 is reasonable.
Is the second situation normal, or is there any suggestion for me to transist to sensorless state with the second situation?
below is the figure os the 2situations (first figure is situation 2, second is situation 1),black line is position error variable:
could you please check this article? https://ieeexplore.ieee.org/document/8896231
It may explain some parts of your questions.
In general, looking at the thDifOpenLEstim still tells nothing about the real rotor position. Absolute rotor position sensor would tell you where the rotor is.
Just a teaser: NXP is working on an application note discussing sensorless FOC incl. open loop startup in details. It takes time, so we appreciate your patience.