Hello,
On my proprietary S32K144 (W) board, I implemented NXP's 3-Phase PSMS Sensorless FOC software. I was able to select the parameters for the software using the FreeMASTER's Motor Control Application. The target is a Maxon 48V/0.68A nom 5280 rpm motor. My motor is running, but I have questions about understanding the NXP software.
Motor Speed Control
The "Hardware Scales" - "I max": (I_MAX) should be 1.68 (A). When I use this value, the motor's speed control does not affect the motor rotation speed; instead, the applied DC voltage determines the rotation speed. In this case, the motor is running smoothly and very efficiently.
When I change this I_MAX to 0.001 (from 0.001 to 0.00000001), which only affects the measured phase current representation numerical value, the software has complete control over the motor speed from 0 to +/- nom rpm (with a very slow 100 rpm ramp).
Remarks: the I_MAX is used to set one other variable (U_DCB_MAX/I_MAX), which I replaced with the motor resistance value.
Any comment on this?
Motor Current Control
The NXP's algorithm does not control the current, or I could not make it, and when the motor changed direction at a low speed, the current was very high regardless of the selected I_MAX (10A ... 0.01A).
So I introduced a maximum_PWM variable limit to solve the current problem (maximum_PWM = f(Idc)).
I did expect that the current control loop would control the generated sinewave amplitude and that the motor would run equally if the input DC voltage is 48V or 480V(exaggerating).
Any comment on NXP's FOC current control functionality?
Best Regards,
Antal