I am encountering issues with auto calibration with two separate motors. I will describe the experience with each motor separately. The circuit used is identical to Figure 58 in the DRV2605L datasheet, with the exception that PWM is not employed, only internal trigger and the built-in waveform library. VDD is 3.3V.
In each case, the DRV2605L is configured for ERM in open-loop mode. All defaults are taken.
1) ERM #1
Manufacturer: Precision Microdrives
Model: 340-121
Datasheet: https://catalog.precisionmicrodrives.com/order-parts/datasheet/304-121-5mm-vibration-motor-11mm-type
Rated Operating Voltage: 3V
Max. Operating Voltage: 3.6V
Terminal Resistance: 34.5 Ohm
To perform the auto calibration the registers are set as follows:
0x16: 141
0x17: 166
This results in a failure of the auto calibration. If 0x16 is brought down to 128, however, the auto calibration succeeds and waveforms play without any diagnostic errors.
I am unclear as to why the operating voltage needs to be reduced in order for the part to calibrate.
2) ERM #2
Manufacturer: Precision Microdrives
Model: 307-100
Datasheet: www.precisionmicrodrives.com/.../307-100-9mm-vibration-motor-25mm-type
Rated Operating Voltage: 3V
Max. Operating Voltage: 3.6V
Terminal Resistance: 5.5 Ohm
To perform the auto calibration the registers are set as follows:
0x16: 141
0x17: 166
With these values, calibration fails. The only way to pass calibration is to dramatically lower the operating/max voltage, such as using the power on defaults. Even once this is done, however, any attempt to play a waveform succeeds, but then results in the OC_DETECT set to 1.
The manufacturer suggested this may be related to the terminal resistance.
Thank you,
Karl