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.

Overpowering the holding torque

Other Parts Discussed in Thread: DRV8312, DRV8301

In lab13a the motor holds position at zero, so that we can set the bandwidth to achieve the desired tightness. I realized that while the motor is holding position if I apply a torque to the motor, the resiting torque increases (expected behavior) but only up to a certain point and then the motor gives and becomes free to spin. no changes in state or error codes is observed. Is there a reason for that? In my opinion the ideal behavior is to increase the torque up to MAXtorque (or current) and then simply saturate at that value. Is there an easy way of achieving that goal?


Thanks,

Sina

  • Sina,

    Are you using the DRV8312 evaluation kit?  I've seen this issue a few times with this kit.  It has a very low maximum current and if you exceed that maximum it will trip the driver and doesn't tend to indicate via the FAULT LED.  

    One avenue would be to decrease the USER_MOTOR_MAX_CURRENT, this way the controller will not be able to request as much current from the driver.  You could also switch to the DRV8301 evaluation kit which offers much larger inverter and should not trip out.

  • Thanks Adam. Lower USER_MOTOR_MAX_CURRENT solved the problem. Does InstaSpin and DRV8312 support different continuous and instantaneous max current? Our motors can handle a current of up to 2-3 times the nominal current for a short period of time and it would be certainly beneficial if we can exploit that so that the current can go up to peak_current for a certain amount of time before dropping to max_continuous_current. 

  • Sina,

    It looks like the DRV8312 (http://www.ti.com/product/drv8312) has different peak & RMS currents.  I am not sure about how it handles those two.

    In InstaSPIN it currently doesn't handle a peak current with a smaller max continuous current.  It should be pretty easy for you to add this in.  SpinTAC supports modifying the output limits on the fly.  You would need to use one of these functions:

    STVELCTL_setOutputMaximums (for velocity control)
    STPOSCTL_setOutputMaximums (for position control)

    With these functions you should be able to implement a derate scheme on your own.