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.

the shaft can't be hold tightly.

When setting  spd_ref =0,the shaft can't be hold tightly.I can manually twirl the shaft easy . When   spd_ref is negative,  the motor can't spin .

  • "When spd_ref is negative, the motor can't spin ."

    This is a symptom of using a compiler that has a bug. Please see the stickied post at the top of this forum about the compiler.

    "When setting spd_ref =0,the shaft can't be hold tightly.I can manually twirl the shaft easy ."
    What proj_lab## are you running?

    if running without a rotor sensor you can NOT control torque at zero speed. The sensorless estimator (FAST) requires rotor movement so that the Bemf of the motor produces a large enough voltage (in relation to the voltage scaling) for the algorithm to estimate the rotor angle.

    if using a high enough resolution rotor sensor you should be able to control torque at zero speed.
  • Thank you for replying .
    Currently,the effective compiler version  I use is v6.2.0. I will be update it to more higher than v6.2.3 .
    I use 'proj_lab5e  Tunning the InstaSPIN-MOTION Speed Controller '  and  'proj_lab12 Using InstaSPIN-MOTION with Sensored Systems'.I just modify the user.h by defining my pmsm parameters got from lab2  and the motor inertia got from lab5c. Fisrt of all ,assume that  SpeedRef_krpm  > _IQ(0) the motor spin at direction+, SpeedRef_krpm  < _IQ(0) the motor spin at direction-.
     At proj_lab5e ,I set the gMotorVars.SpinTAC.VelCtlBwScale = _IQ(5),   gMotorVars.SpeedRef_krpm  = _IQ(0),the shaft can be hold tightly at both direction,but not always.When setting  SpeedRef_krpm  > _IQ(0),the motor can spin smoothly at dir+.But if SpeedRef_krpm < _IQ(0),  the motor can't spin . At proj_lab12,When setting  SpeedRef_krpm  > _IQ(0),the motor can spin smoothly at dir+. When gMotorVars.SpeedRef_krpm  = _IQ(0), the shaft can be always hold tightly at direction-,but only at the same position (angle). At dir+,the shaft can't be hold tightly.I can manually twirl the shaft easy.When SpeedRef_krpm  < _IQ(0),  the motor can't spin.
  • Hello,

    donnie liang said:
    I use is v6.2.0

    Like Chris said, please don't use 6.2.0 - 6.2.2 compiler, they have bugs! Please update again what you get after you update your compiler.

    Btw Chris, I cannot find this sticky note anymore about the compilers that have bug , is it deleted?

    Best regards,

    Maria

  • Maria,
    Thanks for your suggestion. I have already updated the C2800 compiler to v6.2.5 . It does work.The motor spin normally.But there is a little problem. At zero speed, setting VelCtlBwScale = _IQ(80.0), the shaft can be rotated in a gap about 9 degree.Exceeding the gap,the shaft can be hold tightly .

    Best regards,

    Donnie
  • I use a 2500 line QEP encoder at proj_lab12. Normally , it's resolution is 0.036 degree . But now the gap is about 9 degree.
  • Donnie,

    The InstaSPIN-MOTION lab 12b is a velocity project.  It is designed to control the speed of the motor, not the position.  If you switch to labs 13 those are designed to control the position of the motor and you should see much better position holding performance.

  • Adam,

    Thank you for replying. I have done labs 13 and I found  that the shaft can be hold  tightly enough as you say.It should be satisfied  to my design. But I found a new problem at lab 12b  using compiler v6.2.5 and v6.2.10.The motor can't spin when spd_ref_krpm <  - 0.5. There is no this problem at the lab 5e .

    Thank you.

    Best Regards,

    Donnie Liang

  • Donnie,

    I would double check that lab 12b is actually using the right compiler. Sometimes CCS will have a project option called "effective compiler version" which is not always the latest compiler.