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.

TMS320F28069: Compressor will not ID with lab 2c but other compressors will

Part Number: TMS320F28069

I've been working with custom hardware to try to identify a compressor.

The bus voltage is 48V on a 25A power supply.

I've checked the calculations for my hardware a few times, but here's my user.h file.

5482.user.h

The datasheet gives the following characteristics:

  • 4 poles
  • Id of 1mH
  • Iq of 1mH
  • 0.24Ω winding resistance
  • 1800-4500 RPM or 60-150 Hz
  • Induced voltage constant (the description is line-to-neutral)
    Or line-to-line voltage (line-to-line)) (Vrms/krpm) of 9.65V/kRPM
  • Flux in Wb of 0.0251

I've seen the software lock onto a nice clean sinewave only a handful of times when adjusting my parameters for ID, but the ID always gives me a control and estimate error during flux identification when I see a clean current sine wave.

What I've seen in the monitoring window is that I can get up to speed during ramp up, but the motor practically drops to zero during flux identification. 

I've followed along with the instructions in spruhj1i and set the USER_MOTOR_FLUX_EST_FREQ_Hz up to 140 to see if I would get a flux identification to no avail.

When I change the current, I get the following waveform:

The motor will ID with that, but the flux makes no sense.

#define USER_MOTOR_Rs (0.223651111)
#define USER_MOTOR_Ls_d (0.000982604688)
#define USER_MOTOR_Ls_q (0.000982604688)
#define USER_MOTOR_RATED_FLUX (0.234035224)

I guess the math checks out that 48V/0.234035224 is roughly the 200 Hz I have USER_IQ_FULL_SCALE_FREQ_Hz set too, but the motor is unstable with labs 3 and 5, and I would expect the flux to be lower than that.

I've used this hardware to identify other compressors, and I believe my current waveforms at the input to my processor look fairly good with the other compressors.

See the blue below:

I will say that I know the PWM is slow, but the MOSFETs have a decent amount of switching losses at 45kHz PWM, and the heat sinks get quite warm. That is with a dead time of 1µs between PWM waveforms.

I've tried changing a variety of variables in user.h without seeing any noticeable differences from run-to-run.

Could it be that the PWM is too slow and I need faster MOSFETs to handle a higher fundamental frequency for flux ID?

  • 1. Don't add any load on the motor when run the motor identification.

    2. Tune the identification variables in the file of the user header file according to the motor.  And don't add any load on the motor when run this lab for motor parameters identification.

    #define USER_MOTOR_RES_EST_CURRENT      (1.0)                               // A -  10-30% of rated current of the motor

    #define USER_MOTOR_IND_EST_CURRENT      (-1.0)                             // A -  10-30% of rated current of the motor,  just enough to enable rotation

    #define USER_MOTOR_MAX_CURRENT            (5.0)                               // A -  30~150%  of rated current of the motor

    #define USER_MOTOR_FLUX_EST_FREQ_Hz     (40.0)                            // Hz - 10~30% rated frequency of the motor

    I've followed along with the instructions in spruhj1i and set the USER_MOTOR_FLUX_EST_FREQ_Hz up to 140 to see if I would get a flux identification to no avail.

    The USER_MOTOR_FLUX_EST_FREQ_Hz is too high to the motor you used.

  • I've tried this with your suggested settings, and I'm now having an entirely different issue. 

    I am consistently getting a stator resistance of 0.22Ω.

    The motor goes through ramp up just fine, but during flux, the motor completely stops even at higher FLUX_EST_FREQ_Hz; however, my current probe is showing me that the current drops to practically nothing during flux ID. 

  • Please don't add any load on the motor, and don't identify the compressor motor in its system.

    Please keep tuning the identification variables mentioned above till the motor can run smoothly in all of the identification states.

  • I'm going to mark this issue resolved for now. I didn't load down the compressor during ID and it seems to be ok.

    I'm facing an entirely different issue where I'm reaching 86.6% duty cycle at roughly half the rated speed of the motor. So I'll make another post.