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 Identification

Other Parts Discussed in Thread: MOTORWARE

Hi,

I´m using HVMotorCtrl+PfcKit_v2.1 and Motorware 12. I ran proj_lab2a. The motor is an ACIM with 6 pairs of poles, 220v, 0.5A (in delta connection). Measured at 100Hz with an RLC Meter the impedance of each winding is R=237ohm L=850mH. Up to now i tried different user.h configurations without success. I been used your spreadsheet to help me. Attached the last values of spreadsheet .1212.motorware_selecting_user_variables_v2p0.xlsx

and capture of ccs 

When I use the calculated values in the lab3a, I get an error USER_ErrorCode_iqFullScaleVoltage_V_Low

When I use the calculated values with the values of spreadsheet in the lab3a, I get an error USER_ErrorCode_RoverL_estFreq_Hz_High

Thanks

  • please upload your user.h

    when you run proj_lab02a or b, what happens during ID?

    what value does it find for Rs? In your screenshot it is showing 25 ohm and Ls = 550mH

    This is a 50 Hz motor?

     

    Regarding the Errors, you can search for the error code in user.h

    USER_ErrorCode_iqFullScaleVoltage_V_Low

    is failing

    USER_IQ_FULL_SCALE_VOLTAGE_V <= (0.5 * USER_MOTOR_MAX_CURRENT * USER_MOTOR_Ls_d * USER_VOLTAGE_FILTER_POLE_rps

    which I believe should be in your case

    311 V <= 0.5 * MAX_CURRENT * 0.552 * 2340

    311 <= MAX_CURRENT * 645.84

    If you set a peak current (USER_MOTOR_MAX_CURRENT) of 2.0 V, it would require a USER_IQ_FULL_SCALE_VOLTAGE_V > (1300.0)  to clear this error

     

    Daniel E. Dalmati said:

    When I use the calculated values with the values of spreadsheet in the lab3a, I get an error USER_ErrorCode_RoverL_estFreq_Hz_High

    this is from the user.c check

      if(USER_R_OVER_L_EST_FREQ_Hz > USER_IQ_FULL_SCALE_FREQ_Hz)
        {
          USER_setErrorCode(pUserParams, USER_ErrorCode_RoverL_estFreq_Hz_High);
        }

     

    Which is caused because you are probably using

    USER_IQ_FULL_SCALE_FREQ_Hz

    55.0

     I originally made this spreadsheet primarily for high speed motors, I didn't consider the output for low speed induction.  I should add a note that  the minimum USER_IQ_FULL_SCALE_FREQ_Hz should probably be 110 Hz or so. There really isn't a good reason for setting this very low. 

     

  • Yes, the motor is 50Hz. Thanks, with the values you suggested the motor is running.

    3021.user.h

    In the proj_lab3a, when I set the speed lower than 350 RPM, everything it´s ok, there is a speed error of 10 rpm approximately. For target speed over 350rpm the motor accelerates till only 350 rpm (with a little overshoot in the transient response)

  • Daniel,

    Few things

    in your first post you mentioned line-line values of R=237ohm L=850mH.

    In your user.h you have 25ohm and 552mH line-neutral.  The inductance is in the ball park, but the Rs is about 5x too low.  That's concerning.  Your user.h Rs / Ls = 45.45, which is a bit too low for a 50 Hz motor. The Rs should be higher IMO and the Ls may be a bit lower (~400-450mH).

    So my first concern is with the ID'd values.  It's very strange that the Rs is off so much.

    Second, your Rr is almost twice your Rs. Rr is usually < Rs.  So this is concerning.

    Are you able to view your current during ID with a current probe?

     

     

    Daniel E. Dalmati said:
    In the proj_lab3a, when I set the speed lower than 350 RPM, everything it´s ok, there is a speed error of 10 rpm approximately.

    Speed Error is typically from Rr not being correct. You can try tuning the Rr manually until you get accurate speed measurement.  You may also have to run Rs Online (lab07) for accurate Rs measurement during run-time.

    Daniel E. Dalmati said:
    For target speed over 350rpm the motor accelerates till only 350 rpm (with a little overshoot in the transient response)

    350 RPM = 30 Hz = 70% of 50 Hz max speed.

    You are pretty close to the limit with your sinewave modulation index of 1.0

    When you move to proj_lab10 you will see how to increase the voltage using a different modulation scheme, which will increase your speed.

    In proj_lab09 you can use field weakening, or since you have an induction motor, if you set active the flag for PowerWarp (EnableEPL) this will automatically adapt your field and give you maximum speed (assuming you set a high enough speed) which can be met with the load being provided.

     

  • "in your first post you mentioned line-line values of R=237ohm L=850mH."

    These measurements are made over the windings unconnected. Since we adopted a delta connection the values to the virtual neutral would be 1/3 of them (  79 ohm and 283mH) The values measured in lab2 WERE Rs=25 Rr=110. Ls is almost the expected value but I wonder why such a difference in R, may be because a low current/power motor and the inaccuracies of I sensing? 

    Following your advice we declared Rs=45 Rr=45 in user.h and speed error decreased in lab3 to a negligible value (1RPM) till 400RPM were reached  (even though, as Rs is recalculated at the beginning, a 25 ohm value was used.)

    Is there any procedure to manually calculate Rr since it is not possible a direct measurement of it?

    You have been very helpful, thank you!


     

     

  • Daniel E. Dalmati said:
    Is there any procedure to manually calculate Rr since it is not possible a direct measurement of it?

    Rr is found during Motor ID blocked rotor test. 

    Otherwise, if you have full datasheet parameters you can calculate all values. See this post:

    http://e2e.ti.com/support/microcontrollers/c2000/f/902/p/318299/1107286.aspx#1107286