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.

CCS/TMS320F28027F: MAXON motor performance - Very hot temperature

Part Number: TMS320F28027F
Other Parts Discussed in Thread: DRV8301, MOTORWARE

Tool/software: Code Composer Studio

Hello all,

It's been a while since I'm trying to get to work with LAUNCHPAD TMS320F28027F + Booster pack DRV8301. The motor that I'm using it's the MAXON EC 22 partnumber: 386676 and I tried to verify the parameters with the GUI Composer universal as the normal workflow indicated by TI motorware solutions and running the Instaspin Labs compatible with my target device. After some modifications on user.h as below, the motor spin up as expected but even in lower speed, the motor housing heats above expected (126°C ~ 258.8F) and there isn't torque on its axis without any load present (free running). I tried to use the LAB10 with overmodulation and LAB5 speed PI controller and booth heat the motor despite spin the motor in the correct speed that I want ~ 28.200 kRPM. In attach follows the user.h with my modifications. Ps.: In the identification setup, the values read by the target were very similar to the motor sheets, but the temperature/torque issues are still present.

motor_MAXON.pdf704461.user.h

  • Latest USER.H that I'm using..

    Thanks for any help;

    6886.user.h

  • Since the motor is a low inductance one, use lab02c to identify accurate motor parameters first, and use lab10a or lab05b to run the motor. Check the output of speed, current PI, gMotorVars.Vs in CCS debug window.

    What target reference speed do you want to run? and what's the feedback speed in this case?

    To look whether the value of gMotorVars.Vs near the USER_MAX_VS_MAG_PU, the output of speed PI near the max current value, the feedback speed is lower than reference speed? If all are yes, it means that the motor can't run up to your target speed, you have to use field weakening control for such high speed.
  • Thanks Yanming,

    As you suggest I run the LAB02C and the values are:

    gMotorVars.Rs_Ohm float 0.083441332 0x00000070@Data

    gMotorVars.Lsd_H float 1.53550754e-05 0x00000074@Data

    gMotorVars.Lsq_H float 1.53550754e-05 0x00000076@Data

    gMotorVars.Flux_VpHz float 0.0205736272 0x00000078@Data

    What target reference speed do you want to run? 28200 RPM and what's the feedback speed in this case? 28180 RPM

    To look whether the value of gMotorVars.Vs near the USER_MAX_VS_MAG_PU -

    LAB02C

    gMotorVars.Vs  ==================== 0

    USER_MAX_VS_MAG_PU =========== 0.5

    , the output of speed PI near the max current value, the feedback speed is lower than reference speed?

    I don't know how to measure this...

    If all are yes, it means that the motor can't run up to your target speed, you have to use field weakening control for such high speed.

    What params control the torque and how can I define a reference torque for my motor?

     

  • There are below lines code in updateGlobalVariables_motor(), if no, add them to check gMotorVars.Vs.

    // read Vd and Vq vectors per units
    gMotorVars.Vd = CTRL_getVd_out_pu(ctrlHandle);
    gMotorVars.Vq = CTRL_getVq_out_pu(ctrlHandle);

    // calculate vector Vs in per units
    gMotorVars.Vs = _IQsqrt(_IQmpy(gMotorVars.Vd, gMotorVars.Vd) + _IQmpy(gMotorVars.Vq, gMotorVars.Vq));

    Add ctrl.pid_spd, ctrl.pid_Id, and ctrl.pid_Iq in Expressions window to check the variables, especially Ui item.

    It seems you are using speed close loop, so you can use the USER_MOTOR_MAX_CURRENT in user.h to limit the torque current in speed PI.