This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ACIM motor identification with proj_lab10b

Other Parts Discussed in Thread: TMS320F28054M

I'm trying to implement ACIM motor identification with a project based on Lab 10b.
Motor ID is failing during the flux estimation (with EST_ErrorCode_FluxError).
The processor is the TMS320F28054M.

User parameters are:
#define USER_MOTOR_TYPE MOTOR_Type_Induction (Asynchronous ACI)
#define USER_MOTOR_NUM_POLE_PAIRS (2)
#define USER_MOTOR_Rr (2.394)
#define USER_MOTOR_Rs (4.20)
#define USER_MOTOR_Ls_d (0.02757)
#define USER_MOTOR_Ls_q (0.02757)
#define USER_MOTOR_RATED_FLUX (3.0)
#define USER_MOTOR_MAGNETIZING_CURRENT (1.414)
#define USER_MOTOR_RES_EST_CURRENT (0.5)
#define USER_MOTOR_IND_EST_CURRENT (NULL)
#define USER_MOTOR_MAX_CURRENT (2.55)
#define USER_MOTOR_FLUX_EST_FREQ_Hz (5.0)
#define USER_MOTOR_ENCODER_LINES (0)
define USER_MOTOR_MAX_SPEED_KRPM (1.8)

This is a 220VAC 60Hz motor, so the correct flux value should be around 3 V/Hz.

The estimator runs:
After EST_State_Rs, gMotorVars.Rs_Ohm is set to 3.67
Then during EST_State_RampUP the motor ramps to 150 RPM
Then during EST_State_IdRated the flux gMotorVars.Flux_VpHz settles to about 3.0.  Which matches the USER flux setting.
At the end of EST_State_IdRated, gMotorVars.MagnCurr_A is set to 1.78.

But then during ESTState_RatedFlux the flux estimate increases to 3.6 and the EST_ErrorCode_FluxError is triggered. The limit seems to be 120% of the USER value 1.2 * 3.0 = 3.6.

I've tried increasing USER_MOTOR_RATED_FLUX from 3.0 to 4.0, but then the estimated flux increases to 4.8 and the error is still tripped.

Proj_lab02a has function calls to recalcKpKi(), setFeLimitZero() & acim_Dir_qFmtCalc(), but proj_lab10b doesn't. I've added these calls to to my project and the flux estimatoin still fails.

What needs to be added to proj_lab10b to perform motor identification? Maybe my description of the problem will help pin-point it.

Thanks.

  • does motor ID work with proj_lab02d?
    I would look at merging these two projects more explicitly. It may be easier to start with lab02d and add in the extra pieces from 10b, specifically the over-modulation and the hooks into setting the controller gains.
  • Hi Chris,

    It took a while to get back to this.     My original problem of the estimator failing was due to having SpinTAC speed control enabled during the ID.  This was solved and the estimator runs without errors, but I’m getting very inconsistent Ls and Rr estimates.

    With our hardware running Lab 2b, below are calculated values (based on the motor data sheet) compared to 6 consecutive motor identification runs.

    Identified magnetizing current, Rs and Flux are very consistent, but inductance (0.031 H  to 0.056 H) and Rr varies.  

    Below are ID results using the HV Kit, lab 2b, and same motor.   Inductance varies from 0.018 H  to 0.040 H on five consecutive ID runs.  Not any better than with our hardware.

    The calculated inductance (0.018 H) is based on data sheet reactance for the motor using Ls= Xm/(2PiF)(((Xm+X1)/Xm) – (Xm/(Xm+X2))).

    From your experience, how close should the full ID values be to the calculated values?

    Does the amount of variation from run to run seem normal?

    I’ve also noticed that when using our hardware the identified Rr and Ls values are even worse when the Rs ID current is 0.5A.   The data above is with Rs ID current of 1.0A as indicated in the table.   Why does the Rs ID current setting (USER_MOTOR_RES_EST_CURRENT) affect the identified Rr and Ls values?

    What if anything can be done to get better Rr and Ls identified values?

    These reading were all taken with a 15 KH PWM and ISR.

    Thanks.

  • "From your experience, how close should the full ID values be to the calculated values?"
    Reasonably close for an induction motor assuming you make the correct translations for the type of winding connections as discussed in SPRUHJ1

    "Does the amount of variation from run to run seem normal?"
    For the most part.
    The variation in Rr will only effect the accuracy of the speed estimation, and within this range it should be very slight
    The Ls value range is a bit larger than I would expect from an induction motor but it really doesn't effect the angle tracking more than a very little bit at the highest frequencies.