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.

In Torque mode, motor can't run in reverse direction

Other Parts Discussed in Thread: MOTORWARE

hi Chris, this days i test motor driver, and find any question.

I want use torque mode, and let motor  run in negative speed  ,but it's fault ,motor only run  positive speed slowly .

I test speed mode, and set negative value , the motor run negative speed is ok .

I see Estimate angle value find in speed mode it's change from 0 to -1,but in torque mode, it's change is 0 to 1, so i don't know how let it's change  from 0 to -1. 

what's the theory of speed mode run negative speed?

where different with torque mode ??

Best Regards

  • There is no issue with running reverse torque. Full four quadrant operation is supported. 

    1. Check your compiler is correct. This is a common symptom of the compiler issue that is stickied

    2. Make sure you have enough current at your power supply and that the peak current pulled won't be more than the driver can handle. Remember, instantly commanding a negative full torque is going to be a HUGE current demand vs. The speed controller commanding current which will ask for current more slowly, assuming the acceleration isn't super high. Also look at your voltage from BEMF = flux * frequency when you do the torque reversal, maybe you are over voltageing the system. 

    Considering that it is "working" in speed mode my guess is 1 is ok and this is an issue of current / voltage limits. 

  • Chris, thank you for reply .

    1. Compiler is 6.2.3, and  now i update to 6.2.9, and it's also can't  run.

    2.The Parameters  set is  ok , I test in positive direction is right, and the current is not huge .

    I find the code have this section :

    // run the estimator
    EST_run(obj->estHandle,CTRL_getIab_in_addr(handle),CTRL_getVab_in_addr(handle),
    pAdcData->dcBus,TRAJ_getIntValue(obj->trajHandle_spd));

    the Estimate run need speed_ref_pu (TRAJ_getIntValue(obj->trajHandle_spd)), so in torque mode ,

    maybe this value has problem .

    I guess in speed mode ,  speed_ref_pu is negative so the angle estimate is negative ,but in torque mode,this value is 0, the angle  Estimate result is positive ,so it's run negative has problem .

    thanks .

  • hi,Chris:

    I test , find in speed mode ,TRAJ_getIntValue(obj->trajHandle_spd) return negative value ;In torque mode it's return positive value ,so maybe it's have a Problem , how i modified .

  • Use the torque mode function in lab5a, it takes care of setting a speed ref with proper sign, which you need even when using torque mode as the direction is important to the estimator, as you have noted. 

  • thank you,Chris:

     I set speed_ref is negative,the torque mode run negative speed is ok .

    so ,if i use torque mode run in negative speed, i also need set reference speed with negative value .

  • yes, this is discussed in proj_lab04

    C:\ti\motorware\motorware_1_01_00_13\docs\labs\instaspin_labs.pdf

    One other task needs to be completed while doing torque control. When motoring, the controller needs to know the direction that the motor will be applying torque. The function CTRL_setSpd_ref_krpm() function is used to set whether the motor starts in the clock-wise or counter-clockwise direction. When using the CTRL_setSpd_ref_krpm() function in torque control mode, the magnitude of the speed parameter does not matter only the sign.