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.

DRV10970: When changing direction, why is tLOCK_EN sometimes imposed (but not always)?

Part Number: DRV10970

Can you define when tLOCK_EN (0.7 sec) is applied during a direction change? I have read many other e2e posts about direction change delays, but have not seen a clear explanation of when this delay is added.

When I change direction, I set PWM to zero, wait some 10's of msec, change FR, wait a few msec, then set PWM on again. Sometimes the motor reverses immediately, but sometimes it waits 0.7 sec before running again. I can't tell what conditions cause the extra delay.

Several e2e answers explain that the DRV waits for the motor to stop before it will change commutation direction. Is there a timeout shorter than tLOCK_EN that applies for determining "stopped"?

  • I found the answer.. The tLOCK_EN delay occurs sometime when PWM re-starts just before FR is changed. That was an unintentional bug.

    This trace is the bad case:Top to bottom are hall U, PWM, FR. In this case, PWM starts ~20 usec before FR goes high.

    And the good case: In this case, PWM starts 200 usec after FR goes high.

  • Can you define when tLOCK_EN (0.7 sec) is applied during a direction change? I have read many other e2e posts about direction change delays, but have not seen a clear explanation of when this delay is added.

    When I change direction, I set PWM to zero, wait some 10's of msec, change FR, wait a few msec, then set PWM on again. Sometimes the motor reverses immediately, but sometimes it waits 0.7 sec before running again. I can't tell what conditions cause the extra delay.

    Hi,

    tLOCK_EN (detection time) is for detecting the motor lock condition (watching the FG signal activity) and it is not for motor spin direction changing. For changing direction it is the tLOCK_EX (release time) delay time set by the external cap value in uF:

    tLOCK_EX = 15.36 × 106 × CRETRY (in seconds).

    "Rotational direction can be changed while motor is spinning. The device takes tLOCK_EX time before reversing the direction."

    If you want minimum delay when changing motor direction, no need to set pwm=0 and wait, but just change the FR signal and the driver should float or brake the 3 outputs to slow down the motor for tlock_ex then it drives the motor in the new direction. 

    Brian