MCSDK: Sensorless observer tracking improvements? BEMF sensing?
Hi!
I'm working with custom HW built for sensorless control of SM-PMSM. I've adopted MCSDK library to run it and tuned controllers + observers to achieve most of my requirements. Performance is quite good, but occasionally the motor just stalls (at startup or due to unpredicted load), while still pretending "ramping up" to desired speed. I would describe it as the observer got fooled recreating angle and speed from its own setpoints not from the current state and blindly drives the output further and further just buzzing the motor.
Missed something in the SDK?
I though that this probably is one of the typical limitations of current sensorless algorithms and i cannot do anything with that / must live with that / give up some of my requirements. But maybe i missed something and does anyone know of some "gotcha" or met similar problem and dealt with that / knows the cure? Could it be easily solved by some settings?
Possible solutions exceeding the SDK?
Is there a way of aiding additional BEMF signals from phase voltages sensing to the observer to improve tracking? I'm thinking of similar to TI's FAST approach which uses filtered (out of PWM) phase voltage signals that could potentialy improve tracking performance. Of course, filter's phase delay would need compensation in the estimation. Does anyone know of open observer which could be used with BEMF signals and replace ST's closed one? Or could i somehow inject those into Valphabeta state before running ST observer?