Using a Digital Potentiometer for Push-and-Hold Control-Setting Adjustments
Abstract
Many devices that require a user interface to adjust temperature, backlight intensity, and supply voltage are subjected to inadvertent adjustments to their settings. Using a digital potentiometer in these devices enables designers to implement a simple hardware-based technique to avoid these inadvertent adjustments.
Overview
With a microprocessor, one can write a routine that debounces the control input and adds the delay-before-adjustment switch closure needed to prevent inadvertent adjustments to settings. However, using a microprocessor to implement user-friendly control adjustments can involve a lengthy process of code design and validation. In contrast, the design illustrated in this application note uses a digital potentiometer to implement a simple hardware-based technique that ensures that control adjustments are only made when they are truly desired.
Implementing Push-and-Hold Control-Setting Adjustments
Figure 1 provides a schematic of the design implemented in this application note. This design allows the user to increment/decrement control settings through a user-friendly interface. In the design, an extended-delay manual-reset device (U1, MAX6343) is used to avoid nuisance switch presses, and a 32-tap nonvolatile digital potentiometer (U2, MAX5471) is used to increment/decrement the control setting VADJ. VADJ can be used in the feedback loop of a power supply or backlight converter, or it can be read directly by an A/D converter.
For the user interface, switch S2 is first used to select either an increment or decrement command. Pressing and holding S1 causes the initiation of the process.
The MAX6343's active-low MR input requires a nominal 6.7s set-up period before it detects a valid active-low MR signal. Thus, 6.7s after the user depresses and holds S1, active-low RESET will go low.
A high-to-low transition on the INC pin of the MAX5471 causes the digital potentiometer to either increment or decrement the variable resistor's output by 1/32 of its previous value. (Since the MAX5471 features nonvolatile memory, prior settings remain in its memory even after an unpowered condition).
To prevent the user from having to "tap" on S1 to make an adjustment, transistor Q1 was added to reset the 6.7s timer on the MAX6343 after every reset or increment/decrement command. The user can thus hold S1 until the desired setting (VADJ level) is achieved. The design will increment/decrement the setting once every 6.7s. Since the MAX6343's active-low MR input has a 50kΩ pullup resistor, Q1 can be a generic-signal npn like the MMBT3904; a 200kΩ resistor for R1 ensures that the transistor is saturated when active-low RESET is high.
Figure 1 shows a typical feedback network that uses resistors R3 and R4 in series with the variable resistor of the MAX5471 (RADJ). The actual implementation will determine the values selected; however, with R3 = R4 = 200kΩ, we can use the following equation to calculate VADJ:
VADJ = ((RADJ + R4)/(R3 + R4 + RADJ)) x 3.3V
With RADJ = 0Ω (min setting): VADJ = 1.65V
With RADJ = 50kΩ (max setting): VADJ = 1.83V
Thus, (1.83 - 1.65)/32 (steps) = 5.7mV/step
Summary
With the implementation of the circuit described in this application note, a simple hardware-based technique can be used to avoid the problem of nuisance user adjustments to control settings. It is now necessary for the user to select the increment/decrement control and depress and hold S1, which allows for slow and user-friendly control adjustments.