S12ZVML: (curent open loop) position error between openloop angle and estimated angle


S12ZVML: (curent open loop) position error between openloop angle and estimated angle

437 次查看
Contributor I

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:

black for position errorblack for position errorblack for postion errorblack for postion error


0 项奖励
1 回复

414 次查看
NXP Employee
NXP Employee


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.

Best regards,