A FSR (Force Sensitive Resistor) is a sensor which lowers its resistance when there is force upon it. At idle state (no push force) it has a high resistance (~ MOhms)
Interlink Electronics has provided a guide for using FSRs and explains some interface circuitry there.
Suppose we use figure 9 (schematic below) (Note 'g' actually means 100*N (source: Adafruit's FSR page): figure 9

Following the guide, there is a section titled "Adjustable Buffers". Here are my questions:
1- Why should we use an OpAmp? I guess buffer causes the sensor pin not to see Vout's impedance and vice versa. If sensor is in IDLE, R_FSR is ~MOhms and RM pulls the voltage to ground. So, high source impedance of FSR should not matter?

2- What is meant by "adjustments of the output offset and gain"? Exactly, what "offset" and "gain" are we adjusting?

3- In figure 11 (shown below) it is stated : "Typical cal for R5 and the pot are around 10kΩ.". Why R5 is put twice in the schematics? What does it even mean for a potentiometer to have a sigle resistance value? figure 11


You are correct about #1. The buffer prevents the load from changing the voltage determined by the FSR/RM voltage divider.

All opamps have offset errors. This happens because it is impossible to exactly match devices in the differential stages of the amplifier. Typical values are a few millivolts. You can model this as a voltage source in either input to the opamp. R5 and R6 are subtracting this error to make it zero. Because the value to be corrected is small R5 reduces the sensitivity of the adjustment.

The single value of R6 is the across the ends of the potentiometer. The wiper, the part that moves, can divide this with respect to either end from 0 Ohms to the full value of R6.

R5 is used twice because both resistors typically have the same value.

Ultimately in a circuit like this, the gain you are interested in is Vout/Rfsr. R4 will let you change this gain. This is just a way to calibrate the circuit.

  • \$\begingroup\$ Thanks for your response. I have a weird problem. When I implemented Figure 9's circuit, Vout does not exceed ~(780 / 1023)*Vcc no matter how hard I push the FSR. I tried both LM358 and LM324 but the problem persists. It works just fine for lower values and in fact in a simple voltage divider circuit it works fine for all values . I connected V+ and V- of OpAmp to the same Vcc and ground of arduino which I'm using for FSR's Vcc. Do you have any ideas where the problem might be? \$\endgroup\$ Jan 8 '17 at 8:18
  • 1
    \$\begingroup\$ There are special opamps called rail to rail opamps. Older opamps like the 358 have limitations that prevent the output from reaching the value of the opamp supply voltage. For the 358 this is typically about 1.5V less than the supply. You need to get a rail to rail opamp or run the opamp on a supply at least 1.5V higher than the vout you expect. \$\endgroup\$
    – owg60
    Jan 9 '17 at 0:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.