You would be amazed by the simplicity of this force sensing resistive sensor yet the possible implementations is endless, ranging from wearables to force sensitive keyboards. Oversimplified, the sensor construction is based on two screen printable inks, each applied on separate PET foils (or other suitable substrates). The silver based ink creates the electrical "fingers" contact area while the carbonized ink creates the resistive force element. When both areas are in contact with each other the resistance (or better conductivity) under applied force changes from a few mega to kilo-ohms.
Why using a transimpedance amplifier?
Although one can simply measure changing resistance under applied force using a resistor divider circuit, it is definitely not the most "scientific" way to do it. Reason is the sensors non-linear resistance behaviour (blue curve).
Or in other words, the smallest initial force gives the biggest change in resistance while dramatically flattening under higher loads. A better way is to measure the change in conductance (red curve) by using a TIA circuit. The TIA will not only create an almost linear force vs. voltage output signal but at the same time it can also apply some basic signal smoothing and filtering.
What the heck is a TIA circuit?
Simply put a TIA or transimpedance amplifier is a basic opamp (operational amplifier) circuit that is able to convert the smallest input currents into a suitable and measurable output voltage. It's originally used for converting photodiodes photon absorption picoamp currents. For that reason it can also be used as FSR sensor force conductivity conversion.
The main difference with the photodiode implementation is its much smaller feedback loop resistance, that enables the FSR amplifier circuit to be used without proper stray EMI shielding (although still sensitive to it) and the addition of a sensor excitation voltage.
Which TIA circuit to use and what's the main benefit of the chosen one compared to others?
There are several implementations of a FSR transimpedance circuit, ranging from the need to use a dual voltage supply downto implementing a single supply opamp with an offset voltage.
Because arduino style processor boards usually do not offer negative voltage supply rails I choose a single supply approach with an offset voltage for sensor excitation purpose.
A basic behavioural principle of any opamp is that the positive and negative input regulate towards an identical voltage at its inputs, therefore when applying an offset voltage to the positive input, the negative input automatically aligns to that same voltage, in our implementation effectively causing the FSR to experience an excitation voltage. Therefore a small current can starts flowing depending on the FSRs applied force. Because VREF/2 is in-between the opamps rail-to-rail supply voltage the opamps is also biased inside its normal common mode voltage despite using a single supply rail.
The output equation for this circuit is as follows:
VOUT = VREF/2 x (1 + RG/RFSR)
This learns us following aspects:
- The opamp output swing is from VREF/2 to VREF, VREF being the opamp single supply rail VDD.
- Opamp output voltage at zero force = VREF/2.
- Full range output is when RG = RFSR, therefore RG must be selected based on the FSR measured resistance at max force applied.
- VREF/2 is the FSR sensor excitation voltage, hence also determines it's force sensitivity. Lower excitation voltage is lower input current is lower sensitivity, thus increasing max applicable force for a given circuit.
A careful reader has understood that being able to dynamically change the excitation voltage is a measure of setting the sensors sensitivity to force. A good starting voltage is between 250mV and 500mV depending on your type of FSR sensor and feedback resistor.
About the TIAs feedback loop is that for output accuracy and loop stability a 1000pF to 10nF filter capacitor is paralleled over the feedback resistor. This limits the opamps signal bandwidth but this is not an issue since it's originally not my intended goal to measure instant forces changes. Should you want to consider measuring instant forces then this filter cap must be in 10 to 100pF range. Good praxis is to simulate the circuit behavior for given components first.
A final note:
Beaware of FSR sensors with high resistive values, because this will also require high value feedback resistor and this increases stray EMI sensitivity!A good reference value is 15K at max force applied.
Putting all components together...Now that the main principle behind the sensor transimpedance circuit has been explained the rest of the circuit is self explanatory.
If we want to dynamically change the FSR force measurement range we need to set a different excitation voltage, mainly the reason for implementing a dedicated DAC (digital-to-analog converter).
For sampling the TIAs output voltage we need to use an ADC (analog-to-digital converter). In this case we selected a 16 input channel variant because I wanted to impress and also because it's more useful to have that many.
Both ADC and DAC require a reference voltage to operate, hence the reason for the precision reference circuit.
Not strictly needed but using the second available channel of the chosen DAC implements a setable ADC reference. This can be used to compensate for the different sensor excitation voltage and likewise ADC resolution (in mV/LSB) should one desire to do so.
Because the ADC needs a big capacitor at its reference pin an additional opamp with unlimited capacitance load drive is needed, also because the DACs internal output buffers where not suitable for the job. For the same reason this additional opamp is also used to set the 16 TIAs excitation voltages.
Below at the download section you can find as a reference the complete circuit diagram and the circuit board manufacturing files, should you choose to build one on your own.
You can always contact me for additional questions or suggestions, I would appreciate your support by considering buying a complete board directly from me.
Comments