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.

DRV8889-Q1: Reset config to default?

Part Number: DRV8889-Q1

Hi,

I am working with a DRV8889 and currently investigating the use of the SPI interface to configure / control the device more exactly than the logic (step/dir/...) interface.

It appears that each time I put the chip in a sleep state that all of the internal registers revert to default values.

Can you confirm that this is the correct understanding? I did not see this in the data sheet and assumed that register configurations would persist through a sleep state.

Thanks for your assistance.

Regards

  • Greg,

    Yes.  After a sleep mode, all of the internal registers revert to default values.

    Thank you for your feedback.

  • Thanks very much for the quick response.

    1. From the data sheets, to enable stall detection, I understand I can leave all registers in the default mode except for CRTL5, where I must set EN_STL to 1.

    2. I have done this and poll the DIAG Status 2 register for the STL bit and also the FAULTn pin.

    3. FAULTn remains high and STL remains 0 when the motor is stalled.

    Am I missing a configuration step?

    Thanks very much for your assistance.

    Regards

    Greg

  • Greg,

    1. Torque_count register value is proportional to the motor speed. When the motor is stalled, the Torque_count drops down below STL_TH register value. And then, the stall condition is detected. So, we have to set STL_TH value between normal speed Torque_count and stall condition Torque_count.

    2. Please check the STL_LRN bit in CTRL5 register. If it is '1', it means DRV8889 is in learning process to learn  the STL_TH value. In this case, stall condition is not reported because STL_TH value is not learned yet. BTW, STL_TH can be set through SPI command without learning process.

  • Hi

    I have followed your suggestions.

    I have a TRQ_COUNT of about 0x11 when not stalled, and a TRQ_count of 0-4 when stalled.

    I manually set the STALL_TH to 8.

    When I stall the motor I occasionally get a STALL being detected and reported in DIAG2. I can see no pattern as to when it stalls and when it does not.

    Are you able to offer any guidance?

    Thanks very much.

    Regards

    Greg

  • Greg,

    If you test it on an EVM, you can set the stall detection shows up on nFault pin. You can see the nFault red LED is turned when the stall detection is triggered.

    Also, on the EVM, the MSP430 converters the Torque_count register value to an analog signal on "Torque_count" test point (one Torque_count LSB is about 12.9mV).

    After you monitor that analog "Torque_count" signal and nFault signal on a scope, you can understand why the STALL being detected.

    BTW, if you manually setup STL_TH, please disable the STL_LRN bit (in stall learning condition, the stall detection is disabled).