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.

[FAQ] DRV2605: Closed and Open Loop Description and Examples

Part Number: DRV2605

Hi!

One of the most common questions when using haptics drivers is related to the different modes and configurations that our devices support. In general, all our haptics drivers solutions support open and closed loop modes. Depending of the actuator load and the end application, the user must select one or another. Here there are some considerations and advantages when using closed or open loop.

  • Closed-loop.

In some of the haptics devices, it is also named as smart-loop due to the advanced algorithms and configurations that involve the closed-loop system. A closed-loop mode consists in a device configuration based on the connected actuator. The internal algorithm optimizes the device parameters for a resonance tracking (in case of an LRA load), automatic level calibration, overdrive and braking levels, diagnostics routines, etc.

This closed loop mode is normally suggested for LRA loads. It is important to remember that the LRA requires of a resonance frequency to work. This frequency allows to reach the optimal value. Any variation of around 5Hz from the resonance frequency will cause a rapid drop in vibration performance. The smart-loop architecture allows to maintain the optimal frequency value even if there are tolerance values in the LRA specifications.

In both, the LRA and ERM loads, the overdrive and breaking algorithms allow to have the best actuator performance. The closed-loop feedback determines how high or how low must be the output voltage to accelerate or decelerate the actuator.

  • Open-loop.

Contrary to the closed-loop system, the open-loop mode doesn't have a direct feedback from the driver output. This mode is not useful for cases where the user requires of a diagnostic or an automatic calibration of the output level based on the actuator characteristics. However, there are some cases where the user does't require to perform an automatic calibration (which usually takes some seconds) in the application. So, the user may define the device parameters (rated voltage, brake and overdrive time, LRA period, etc) based on the experience and testing of many LRA and ERM loads.

When the auto-calibration is not required in production, the fixed settings procedure is suggested to perform with an open-loop mode. This procedure is applied before the manufacturing stage. It consists in taking many LRA or ERM loads and configure them with auto-calibration. After a minimum of 10 units tested, the user can take an average value and fix it for production purposes. In that way, the application/product won't expend some time to calibrate the actuator when it is powered on.

  • Registers configuration examples.

Here there are some examples of registers configuration for closed and open loop modes.

DRV2605L LRA mode. Closed loop. Auto-calibration:

5556.DRV2605L_LRA_AutoCalibration.txt
Exported at :5/13/2019 10:37:21 AM
	========Register Dump Start========
		Reg:[0x0]	=	0xe0		Status
		Reg:[0x1]	=	0x7		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]	=	0x01		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]	=	0x3d		Rated Voltage
		Reg:[0x17]	=	0xaa		Overdrive Clamp Voltage
		Reg:[0x18]	=	0x6		Auto Calibration Compensation Result
		Reg:[0x19]	=	0xc6		Auto Calibration Back-EMF Result
		Reg:[0x1a]	=	0xa6		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]	=	0xce		VBAT Voltage Monitor
		Reg:[0x22]	=	0x3c		LRA Resonance Period
	========Register Dump End========

DRV2605L ERM mode. Closed loop. Auto-calibration:

2541.DRV2605L_ERM_AutoCalibration.txt
Exported at :5/13/2019 10:37:21 AM
	========Register Dump Start========
		Reg:[0x0]	=	0xe0		Status
		Reg:[0x1]	=	0x7		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]	=	0x01		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]	=	0x3d		Rated Voltage
		Reg:[0x17]	=	0xaa		Overdrive Clamp Voltage
		Reg:[0x18]	=	0x6		Auto Calibration Compensation Result
		Reg:[0x19]	=	0xc6		Auto Calibration Back-EMF Result
		Reg:[0x1a]	=	0x26		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]	=	0xce		VBAT Voltage Monitor
		Reg:[0x22]	=	0x3c		LRA Resonance Period
	========Register Dump End========

DRV2605L ERM mode. Open loop. Library Effect:

3817.DRV2605L_ERM_Library_Effect_OL.txt
Exported at :7/5/2019 12:24:02 PM
	========Register Dump Start========
		Reg:[0x0]	=	0xe4		Status
		Reg:[0x1]	=	0x0		Mode
		Reg:[0x2]	=	0x0		Real-Time Playback Input
		Reg:[0x3]	=	0x1		Library Selection
		Reg:[0x4]	=	0x1b		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]	=	0x6		Auto Calibration Compensation Result
		Reg:[0x19]	=	0xf2		Auto Calibration Back-EMF Result
		Reg:[0x1a]	=	0x27		Feedback Control
		Reg:[0x1b]	=	0x93		Control1
		Reg:[0x1c]	=	0xf5		Control2
		Reg:[0x1d]	=	0xa1		Control3
		Reg:[0x1e]	=	0x20		Control4
		Reg:[0x1f]	=	0x40		Control5
		Reg:[0x20]	=	0x30		LRA Open Loop Period
		Reg:[0x21]	=	0xce		VBAT Voltage Monitor
		Reg:[0x22]	=	0x36		LRA Resonance Period
	========Register Dump End========