Sensorless FOC Observer Reports High Speed during Startup
[PN]: NUCLEO-G431RB with EVLDRIVE102BH and custom motor
[VERSION]: Version: 6.4.1 Build: 250722.104358
[TOOL]: Motor Control Pilot
[DETAILS]:
Hello All,
I have been working on getting a sensorless FOC driver to work. So far I am able to get the rotor to align and move under open-loop control and occasionally it can switch over to closed loop control. When the motor switches over and runs it is fairly stable. My main issue is that I am unable to get the motor to reliably make the switch from open loop to closed loop. When it fails I often get a speed error with FAULT_OVER. I am using the STO+PLL Observer and I have gone through the current loop tuning and I think that looks good, the speed loop could use a little more work once this is resolved, but if the issue is with the observer I don't want to spend too much time on it yet.
I output the BEMF-A and BEMF-B signals through the DAC to an oscilloscope, and when the startup fails I see both the amplitude and the frequency of the BEMF signals become far larger than I would ever expect to see in application (motor pilot reports 50krpm+) which makes me think that the FAULT_OVER error is real and that the BEMF signal calculations are either getting bad data in or that the observer loop needs more work. I am using a low inductance motor and I can see the FETs switching on the BEMF waveforms also adding to the noise.
How should I go about diagnosing and resolving this issue?
