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.

TMS320F28069F: how to implement skip specific speed range during acceleration with FOC control ?

Part Number: TMS320F28069F
Other Parts Discussed in Thread: MOTORWARE

Dear TI members,

I'd like to ask how to skip specific speed range during acceleration.

For example,  my motor have a haunting at 200 ~ 210 rpm, so I'd like to skip 200 ~ 210 rpm for motor running.

and acceleration rate is 10 rpm/sec.

when start running, it increase speed linearly until 200 rpm, when it reaches 200 rpm, stay 200 rpm during 1 sec and the speed set to 210 rpm and then increase speed linearly again to target speed. 

please refer to following graph

How to implement this function with FOC control in motorware ?

please help me to get resolve this issue.

Thanks in advance.

Best Regards,

Hae Ryong

  • You can't skip any speed range, just pass this speed range very quickly. You might need to configure the reference speed curve as your requirement and change the gMotorVars.MaxAccel_krpmps, to set a higher acceleration to pass the speed range quickly that you want to skip.

    // set the speed reference
    CTRL_setSpd_ref_krpm(ctrlHandle,gMotorVars.SpeedRef_krpm);

    // set the speed acceleration
    CTRL_setMaxAccel_pu(ctrlHandle,_IQmpy(MAX_ACCEL_KRPMPS_SF,gMotorVars.MaxAccel_krpmps));
  • Hi Yanming,

    Thanks for your response.

    I could implement it by controlling TRAJ_getIntValue() for EST_run() and PID_run_spd() at CTRL_runOnLine_User().
    Thanks for your kind help.

    Best Regards,
    Hae Ryong