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: Waveforms do not fire when using LRA library

Part Number: DRV2605L

The motor I am using with it is the LV061228B-L65-A which should be the same as the one that comes with the TI evaluation module: DRV2605LEVM-MD (Correct me if I am wrong here).

I ported the the code from the TI module for this specific motor and these are the motor parameters I am using:

#define LRA_AUTOCAL_COMP 0x09                                                          // Compensation Coef.
#define LRA_AUTOCAL_BEMF 0x79                                                           // BEMF Coef.
#define LRA_AUTOCAL_FB 0xB5                                                                // Feedback Control
#define LRA_RATED_VOLTAGE VoltageRMS_LRA_RV_1p5                    // Rated voltage
#define LRA_OVERDRIVE_VOLTAGE Voltage_3p0                                   // Overdrive voltage
#define LRA_CTRL2 SampleTime_300us | BlankingTime_Medium | IDissTime_Medium // Control Register 2
#define LRA_CTRL3 LRADriveMode_Once | LRA_ClosedLoop                        // Control Register 3

The settings above were taken directly from the source for the DRV2605LEVM-MD for the LV06122 motor as defined in ActuatorSettings.h.

The issue that I am seeing is that none of the LRA waveform library predefined patterns seem to work. I have followed the datasheet initialization and auto-calibration steps and configured the waveforms according to spec. I have verified that the GO bit is being set and cleared by the driver but I see no activity on the actuator positive lead when probing it with an oscilloscope. Even if the actuator settings were incorrect, I would still expect to see something on OUT+ and OUT-. Auto-calibration however works fine and the actuator vibrates during this process and I can clearly see OUT+ and OUT- toggle.

What am I missing?

Your help is greatly appreciated and please let me know if I can provide additional information to help resolve these issues.

Thanks!

  • Hi, Derek,

    Welcome to E2E and thank you for your interest in our products!

    This should be related to a registers configuration issue. Could you please take a look at the attached example to use a Sharp Click from the LRA library in closed-loop mode?

    Exported at :6/13/2019 3:34:53 PM
    	========Register Dump Start========
    		Reg:[0x0]	=	0xe0		Status
    		Reg:[0x1]	=	0x0		Mode
    		Reg:[0x2]	=	0x0		Real-Time Playback Input
    		Reg:[0x3]	=	0x6		Library Selection
    		Reg:[0x4]	=	0x4		Waveform Sequencer 1
    		Reg:[0x5]	=	0x0		Waveform Sequencer 2
    		Reg:[0x6]	=	0x0		Waveform Sequencer 3
    		Reg:[0x7]	=	0x0		Waveform Sequencer 4
    		Reg:[0x8]	=	0x0		Waveform Sequencer 5
    		Reg:[0x9]	=	0x0		Waveform Sequencer 6
    		Reg:[0xa]	=	0x0		Waveform Sequencer 7
    		Reg:[0xb]	=	0x0		Waveform Sequencer 8
    		Reg:[0xc]	=	0x0		GO
    		Reg:[0xd]	=	0x0		OverDrive Time Offset
    		Reg:[0xe]	=	0x0		Sustain Time Offset, Positive
    		Reg:[0xf]	=	0x0		Sustain Time Offset, Negative
    		Reg:[0x10]	=	0x0		Break Time Offset
    		Reg:[0x11]	=	0x5		Audio-to-Vibe Control
    		Reg:[0x12]	=	0x19		Audio-to-Vibe Minimum Input Level
    		Reg:[0x13]	=	0x64		Audio-to-Vibe Maximum Input Level
    		Reg:[0x14]	=	0x19		Audio-to-Vibe Minimum Output Drive
    		Reg:[0x15]	=	0xff		Audio-to-Vibe Maximum Output Drive
    		Reg:[0x16]	=	0x53		Rated Voltage
    		Reg:[0x17]	=	0xa4		Overdrive Clamp Voltage
    		Reg:[0x18]	=	0x8		Auto Calibration Compensation Result
    		Reg:[0x19]	=	0x7f		Auto Calibration Back-EMF Result
    		Reg:[0x1a]	=	0xa7		Feedback Control
    		Reg:[0x1b]	=	0x93		Control1
    		Reg:[0x1c]	=	0xf5		Control2
    		Reg:[0x1d]	=	0x80		Control3
    		Reg:[0x1e]	=	0x20		Control4
    		Reg:[0x1f]	=	0x40		Control5
    		Reg:[0x20]	=	0x30		LRA Open Loop Period
    		Reg:[0x21]	=	0xe5		VBAT Voltage Monitor
    		Reg:[0x22]	=	0x36		LRA Resonance Period
    	========Register Dump End========
    

    Please let me know if this works in your application and if you have additional questions or comments on this.

    Best regards,
    Luis Fernando Rodríguez S.

  • Hello Luis,

    Thanks for your feedback. I testing sending all of those commands to the DRV2605L followed by Reg:[0xc] = 0x1 to start the effect and I still see no activity on OUT+ or OUT-.

    Any other thoughts?

    Thanks,

    Derek

  • Hey Luis,

    I have tested the same LRA actuator on a different board/product with a DRV2605L and it works. I believe the issue I am having is hardware related. I am working with our hardware guys to investigate and will report my findings.

    Thanks

  • Hi, Derek,

    Thank you for your feedback. Please let me know if you have observations on this.

    Also, let us know if you need additional support from our side. We will be glad to help you.

    Best regards,
    Luis Fernando Rodríguez S.

  • The issue ended up being in the write() function of the I2C driver. Sorry for your troubles and thanks for your help! I will mark your example as the correct answer.