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.

DRV2605L: Auto calibration reporting false LRA failure

Part Number: DRV2605L

We are using 4 DRV2605Ls to drive 4 LRA motors in open loop mode. In final assembly, motors are located in a wrist band. This is why we would like to run a diagnostic routine to examine motors against short, open or stuck rotor situations.

Since DIAG_RESULT bit only works either in closed loop or calibration mode, we have decided to run auto calibration routine to examine motors. Auto cal params are fine tuned to get more accurate results. 

If there is problem with motor, it always returns failure that is 100% reliable. However, in some cases, although motors are okay, auto cal reports failure through DIAG_RESULT bit. I could say 9% it returns false failures. We wanted to use other outputs to judge the result of the auto calibration procedure but found that it does not matter if result reported as failed, false failed, or passed, BEMF_GAIN, A_CAL_COMP, and  A_CAL_BEMF register values are getting pretty much the same or very close values. The only way left is to run diagnostic multiple times to mark a motor as okay if auto cal passes at least one time in X amount of iterations.

So the question is: is there another way to diagnose motors? We are also open for any suggestions to diagnose LRA motors in open loop mode.

  • Hi Kyle,

    Our expert on the DRV2605L is out of office today. She'll be back tomorrow to answer your question.

    Thanks for your question,
    Jeff McPherson

  • Hi Kyle, 

    Both the auto calibration and diagnostic routines use our closed loop architecture. Does changing to closed loop and running diagnostics once give you accurate motor pass / fail results?

    For using auto calibration, I recommend slightly adjusting the auto calibration params to see if there is some configuration that allows the ~9% of false fails to pass while the correct fails still fail. I have found that increasing IDISS_TIME[3:0] and  BLANKING_TIME[3:0] may help as it allows more time for the LRA to get to the correct state before taking the calibration measurements. 

    Regards,
    Sydney Northcutt