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.

Torque Control Dependent on Speed

Other Parts Discussed in Thread: DRV8301

I have been trying to implement a torque controller for a winch based on lab04. However, I have found that when reeling the winch out (i.e. the torque is in the opposite direction to the rotation), the torque increased with speed, which is definitely not what you want from a torque controller. I am using the Piccolo Launchpad with a DRV8301 Booster Pack.

I found that if I turned off the forced angle then the problem disappeared. However, this still makes no sense to me  because the forced angle algorithm should shut off after like .001 Hz so I have no idea why it would have any effect after startup. I also find that the controller cannot really hold torque at zero speed, it oscillates back and forth, but that makes sense to me because you probably need an encoder to do that since you can't sense the bemf.

Does anyone have any ideas how I can remove this problem, but still let the motor start itself from zero speed? The idea is for a winch to hold constant torque, so it should reel in or out depending on the load. If i turn off the forced angle to stop the problem, then the motor will not reel in again after it has stopped.

Matt

  • Please refer to instaSPIN lab guide to set the speed sign. You need to know the direction that the motor will be applying torque. The CTRL_setSpd_ref_krpm() function is used to set whether the motor starts in the clock-wise or counter-clockwise direction, the magnitude of the speed parameter does not matter only the sign.

    The motor will slowly oscillate if the IqRef value is not set high enough and enable  forced angle. You can try to increase IqRef value to solve your problem.

    Turn off the forced angle will have smooth transitions through zero speed, but the forced angle allows InstaSPIN to start from zero speed at full motor torque.