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 application note describes one such way of creating a contact button replacement
using a Force-Sensitive Resistor (FSR) in conjunction with an SLG47004V.
Below we described steps needed to understand how the simultaneous dual motor control has been programmed. However, if you just want to get the result of programming, download GreenPAK software to view the already completed GreenPAK Design File. Plug the GreenPAK Development Kit to your computer and hit the program to design the device.
Schematic & Block Diagrams
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 SLG47004V’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.
Due to the fact that 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, it is
imperative that a constant “no-press” reference voltage is maintained throughout a wide range of
temperatures. This constant reference voltage is achieved using the SLG47004V’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 SLG47004V’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
SLG47004V’s internal analog switches, which is placed on the low side of the divider. The Chopper
ACMP, which is responsible for the SLG47004V’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.
In order to properly trim the voltage divider circuit to the desired output voltage using the
SLG47004V'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
SLG47004V'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:
1. The applied force creates a large enough resistance drop within the FSR to allow for proper
trimming of the voltage divider.
2. The applied force remains constant...