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.

DRV8711: High motor displacement when re-enabled through CTRL

Part Number: DRV8711

Hi,

We're using the DRV8711 in 1/16 step mode. The problem we're facing is that the motor seems to move to a full step position when it is re-enabled (using SPI CTRL register). Our application requires the motor to be enabled and disabled for the user to move the load manually:

1) motor is enabled, 1/16 stepmode, standstill, 600 mA

2) motor is disabled (CTRL register)

3) user moves the load (and thus rotates the motor) to a specified position.

4) motor is enabled again, 600 mA current

5) motor makes a 'jump' (to a full step position?) and the position specified by the user is lost.

The problem is in 5): motor moves when it is enabled. I expect it to move to the nearest 1/16 step position (which translates to a linear resolution of 0.01 mm) but not this amount.

What happens to the indexer table when the motor is enabled/disabled?

Kind regards,

  • Hi TKerklaan,

    When the DRV8711 is disabled, the indexer table (electrical angle) is retained.

    Based on the description provided, the indexer is set to a full step position in step 1 (assuming no step pulses were issued). So in step 5, the motor should move to the nearest home state ( 45 degree electrical angle). This could be a jump of 0, 1, or 2 full steps depending on the position of the motor.

    This issue should also exist in 1/16 steps. The DRV8711 has no knowledge of the new motor position when steps 2 and 3 are performed. So when re-enabling the DRV8711, the indexer will set the electrical angle to the value in the indexer. This could cause the motor to jump.

    There may be a way around this if you have an encoder to know the electrical angle. The indexer can be advanced while the outputs are disabled to set the current. Then when the outputs are re-enabled, the motor should remain close to the desired position.
  • Thanks Rick, this makes perfect sense. Unfortunately, we do not have an encoder installed so we have to find another way to measure the distance.