A common requirement for devices that must be sealed from environmental exposure is to replace all metal contact style push-buttons with functional replacements that do not have those weather-sealing difficulties. This article describes one such way of creating a contact button replacement using a Force-Sensitive Resistor (FSR) in conjunction with an SLG47004V.
The design highlighted above is intended for use as a functional replacement for a metal contact style push-button while featuring ultra-low power consumption. Using an external force-sensitive resistor in series with one of the IC’s internal rheostat modules, a resistor divider network is created which is subsequently sampled by one of the SLG47004V’s internal low-power ACMPs. This ACMP determines the state of the button based on the voltage present at the divider output. Once the internal low-power ACMP determines that the button has been pressed, internal GreenPAK logic processes the button press signal to determine whether a single, double, or triple-tap has occurred, and outputs these signals to dedicated pins.
Since the force-sensitive resistor present in this design is highly susceptible to variation in resistance due to temperature changes, often as severe as +/-15% at extreme high/low temps, a constant “no-press” reference voltage must be maintained throughout a wide range of temperatures. This constant reference voltage is achieved using the circuit’s auto-trim functionality, which periodically samples the divider output voltage and adjusts the SLG47004V’s internal rheostat resistance, allowing the divider output to return to the specified “no-press” reference voltage. This auto-trim functionality not only allows for accurate operation over a wide range of temperatures, but it also allows the design to accommodate for sensor-to-sensor variations as well as variations in the overall system voltage level.
To attain ultra-low current consumption, the ACMP and external resistor divider network are controlled by the integrated circuit’s wake/sleep controller. This wake/sleep controller keeps the ACMP in sleep mode via matrix signal, and the resistor divider circuit in an open state via one of the IC’s internal analog switches, which is placed on the low side of the divider. The Chopper ACMP, which is responsible for the IC’s auto-trim functionality, is also indirectly controlled by the wake/sleep controller using an intermediate counter that triggers an auto-trim cycle once every 100 normal wake/sleep cycles.
Mechanical Pre-Loading of the FSR Sensor (Required)
To properly trim the voltage divider circuit to the desired output voltage using the circuit’s digital rheostats, a small, consistent amount of force must be permanently applied to the FSR sensor before trimming can occur. This is due to the FSR’s very high no-load resistance, which measured over 100 MΩ in this test and is shown by the graph below, being far too large for the IC’s digital rheostats to compensate for. Pre-loading the FSR with a small mass will lower its base “un-pressed” resistance into a range that will allow the SLG47004V’s digital rheostats to properly trim the voltage divider. It is worth noting that this process does not require a specific force value to be applied, so long as the force applied satisfies two requirements:
- The applied force creates a large enough resistance drop within the FSR to allow for proper trimming of the voltage divider.
- The applied force remains constant throughout the lifespan of the application.
To adequately implement an FSR sensor as a button replacement, considerations must be made for its rather large temperature dependency. Ideally, the no-press output voltage of the system would remain constant over temperature, allowing for a detecting ACMP to be tuned to detect button presses at all temperatures. Since the FSR’s resistance does not remain constant over temperature, the SLG47004V becomes responsible for maintaining this output voltage.
In this article, the circuit’s rheostats are used for their auto-trim capabilities, which adjust their resistance to match an internally generated reference voltage. This auto-trim process occurs whenever a high signal is provided to the rheostat’s “SET” pin. When this signal is brought high, either externally or via internal logic, the auto-trim process begins. A waveform of this process is provided at the end of this section, which shows the “SET” signal being brought high, and the voltage divider output voltage changing to match the internally set reference voltage which, in this waveform, is 1.5 V.
This auto-trim process, if implemented to occur periodically during the runtime of the device, will provide a very high level of consistency in the voltage divider’s output voltage. This, in turn, allows for one of the IC’s internal ACMPs to be used to detect press signals on the FSR and can be adjusted to detect presses at all temperatures within the range of the device.