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.
Figure 1. This design uses an extended-delay manual-reset device and a 32-tap nonvolatile digital potentiometer to implement a push-and-hold switch to adjust control settings.
Implementing Push-and-Hold Control-Setting Adjustments
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
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 actove-low MR input requires a nominal 6.7s set-up period before it detects a valid actove-low MR signal. Thus, 6.7s after the user depresses and holds S1, actove-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 actove-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 actove-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
+ R4)/(R3 + R4 + RADJ
)) x 3.3V (Eq. 1)
= 0Ω (min setting): VADJ
= 50kΩ (max setting): VADJ
Thus, (1.83 - 1.65)/32 (steps) = 5.7mV/step
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.