Hi,
We're evaluating the performance of the DRV2624 haptic driver using the following LRA haptic actuator: LV101040A. We have a prototype with 6 actuators (one driver for each one), and while running the autocalibration procedure we noticed some of the actuators fail while others pass. Most of the success ones report the following results:
- BEMF Gain: 03h
- A Cal Comp: 6Bh
- A Cal BEMF: 15h
The autocalibration engine input parameters are the following (for all the actuators):
- LRA: LRA
- FB_BRAKE_FACTOR: 3h
- LOOP_GAIN: 1h
- RATED_VOLTAGE: 6Ah (this value is obtained using the slor126a excel table)
- OD_CLAMP: 96h (this value is obtained using the slor126a excel table)
- AUTO_CAL_TIME: 1 (500 ms)
- DRIVE_TIME: 24d (considering resonance freq of `170Hz)
- SAMPLE_TIME: 3h (300us)
- BLANKING_TIME: 1h (25us)
- IDISS_TIME: 1h (25us)
- ZC_DET_TIME: 0h (100us)
When using the evaluation kit I've noticed the reported frequency (when using RTP control) jumping a lot between 140Hz and 170Hz, this didn't happened when using another LRA actuators part #.
My questions:
- Is there a way to determine the autocalibration failure reason? None of the UVLO, OVER_TEMP, OC_DETECT and PRG_ERROR bits are set, only DIAG_RESULT does.
- For now I run the autocalibration routine every time the prototype starts, I know this can be 'avoided' by writing the calibration output registers with the values from a correct autocalibration. Sometimes the autocalibration routine passes and others it doesn't.
- And also, whats the proper way to detemine autocalibration is done? I'm polling for the PROCESS_DONE bit going high to assume the autocalibration is done, but other documents says to check the GO bit going low.
Regards
Carlos Diaz