I want to drive a PMSM with a 28069M demo board mounted high voltage kit. I put exactly the motor parameters that motor manufacturer give in user.h. (I have also validated those parameters in lab2a, parameters are correct)
But at rated speed and at rated torque according to the motor manufacturer specs motor draws 30-40% much power than it should be. I have measured it with a three phase power analyzer connected to motor windings. Here are the motor parameters:
#define USER_MOTOR_TYPE MOTOR_Type_Pm // Motor_Type_Pm (All Synchronous: BLDC, PMSM, SMPM, IPM) or Motor_Type_Induction (Asynchronous ACI)
#define USER_MOTOR_NUM_POLE_PAIRS (5) // PAIRS, not total poles. Used to calculate user RPM from rotor Hz only
#define USER_MOTOR_Rr (NULL) // Induction motors only, else NULL
#define USER_MOTOR_Rs (48.5) // Identified phase to neutral resistance in a Y equivalent circuit (Ohms, float)
#define USER_MOTOR_Ls_d (0.3028) // For PM, Identified average stator inductance (Henry, float)
#define USER_MOTOR_Ls_q (0.2932) // For PM, Identified average stator inductance (Henry, float)
#define USER_MOTOR_RATED_FLUX (1.5090) // Identified TOTAL flux linkage between the rotor and the stator (V/Hz)
#define USER_MOTOR_MAGNETIZING_CURRENT (NULL) // Induction motors only, else NULL
#define USER_MOTOR_RES_EST_CURRENT (0.7) // During Motor ID, maximum current (Amperes, float) used for Rs estimation, 10-20% rated current
#define USER_MOTOR_IND_EST_CURRENT (-0.7) // During Motor ID, maximum current (negative Amperes, float) used for Ls estimation, use just enough to enable rotation
#define USER_MOTOR_MAX_CURRENT (1.2) // CRITICAL: Used during ID and run-time, sets a limit on the maximum current command output of the provided Speed PI Controller to the Iq controller
#define USER_MOTOR_FLUX_EST_FREQ_Hz (60.0) // During Motor ID, maximum commanded speed (Hz, float), ~10% rated
#define USER_MOTOR_ENCODER_LINES (4096.0)
#define USER_MOTOR_MAX_SPEED_KRPM (0.75)
#define USER_SYSTEM_INERTIA (0.02)
#define USER_SYSTEM_FRICTION (0.05547)//(0.01)
#define USER_SYSTEM_BANDWIDTH_SCALE (1.0)
I think motor is driven with a phase angle delay so despite the fact that Idref is zero and only Iqref is in reality, I put some Id current on the motor. Is it reasonable?
I look at the alignment phase at Est_State_Rs, it aligns the motor correctly to the right axis. What could be the reason? Would you please advise me some point to start finding the solution?
Moreover, the situation is exactly the same in lab5e, in sensorless control.