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.

LAUNCHXL-F28069M: LAUNCHXL-F28069M/BOOSTXL-DRV8301: Maxon EC Speed 22 -> too much current at no load and Motor hot

Part Number: LAUNCHXL-F28069M
Other Parts Discussed in Thread: MOTORWARE

Hello All,


happy New Year. Looking Forward to coming year and working with TI stuff :-)


Using the motorware, I've been able to get my maxon Motor (Ecx Speed 22M) identifien (lab_2c) and running in Speed control (lab_5b).


However, the Motor is running hot an draws 4 times (1.2A) the rated current (0.3A) at the rated no load Speed (50 000 1/min).


After about 2 minutes, the Speed controller starts so become unstable, oscillatges and drops to 3500 1/min (in expression window)


Found this thread with a similiar situation:


e2e.ti.com/.../592895


but it does not have a solution.


I have mostly concentrated on Information for low inductance/high Speed Motors, but an stuck. With it being a high Speed Motor, I imagine that the Tuning is quite delicate, but I am not sure what Needs to be tweeked..


Any ideas?


The identified Motor paramters are:


#if (USER_MOTOR == Maxon_ECX_SPEED_22M)
#define USER_MOTOR_TYPE                 MOTOR_Type_Pm
#define USER_MOTOR_NUM_POLE_PAIRS       (1)         
#define USER_MOTOR_Rr                   (NULL)      
#define USER_MOTOR_Rs                   (0.1186)    
#define USER_MOTOR_Ls_d                 (1.993e-05) 
#define USER_MOTOR_Ls_q                 (1.993e-05) 
#define USER_MOTOR_RATED_FLUX           (0.00811)   
#define USER_MOTOR_MAGNETIZING_CURRENT  (NULL)      
#define USER_MOTOR_RES_EST_CURRENT      (1.0)       
#define USER_MOTOR_IND_EST_CURRENT      (-1.0)      
#define USER_MOTOR_MAX_CURRENT          (5.36)      
#define USER_MOTOR_FLUX_EST_FREQ_Hz     (83.0)      


Regards,


John

  • 1. Identify the motor using lab02c and make sure the motor run smoothly during the identifying process.
    2. What's the pwm frequency? Set the pwm frequency to 30~45kHz since the motor is a low inductance and high speed.
    3. What's the Kp&Ki of speed and current PI regulator? Reduce the Kp and Ki of speed PI regulator first.
    4. Check the Ui of speed PI, what's the Ui when the speed of motor is not right?
    5. What's the state when set the target speed to other value? Such as 10000rpm, 20000rpm or 30000rpm?
  • Hello Yanming,

    thank you for your suggestions.

    1. the Motor runs smoothly during identification. The returned values are as above. I ran it several times and the values always came out about the same.
    2. I started at 25 kHz and then bumped it up to 45 kHz as Chris suggested in another post (soory can't find link) and set USER_NUM_PWM_TICKS_PER_ISR_TICK to 3.
    3. will check and respond (but next monday first, as I will be out of house)
    4. How can I check Ui?
    5. current is proportional more than I would expect, so at 20 krpm the current is already at 0.3A and 0.17 ar 10 krmp. For 30 krpm, I will measure and send Information on Monday.

    Regards,
    John
  • 4. Which lab project were you using? Using ctrlHandle->pid_spd.Ui to check in real time debug mode. And check the gMotorVars.Vs also in expression window.
  • Hello Yanming,

    4. I am using 2c for identification because the Motor is low inductance, and lab 5b for the Speed control.
    gMotorVars.Vs gives always 0 regardless of the set speed. At 50 000 1/min unloaded, ctrlHandle->pid_spd.Ui shows -0.09751266241. What kind of value should be expected here? Could you please explain the significance?

    In the unloaded state at 50 000 1/min, the Motor is drawing 0.8 A. According to the datasheet for the Motor, this should be around 0.3 A. The Motor also warms um quickly, so I suspect that the power loss is going into heat.

    Regards,
    John
  • Hello Yanming,

    any further ideas?

    Regards,
    John
  • You can use lab10a for your application which can support OVM and had the calculation for gMotorVars.Vs in project.