Help me understand/calculate FSR potentiometers

Thread Starter

Bobafett

Joined Jan 21, 2020
6
Hello.

I'm an electronics newbie so forgive me for not knowing basic stuff.
I'm trying to understand how FSR potentiometers work for position and force detection. An FSLP is basically like a regular potentiometer but it detects pressure as well. They usually come in flat strips and you press on them along the strip and it can sense where you press along the strip and/or how hard you press.

It works like a regular potentiometer with three terminals where one terminal is a "wiper" and the other two have a fixed resistance track between them. The wiper will slide along the track and the resistance will vary between the wiper and the terminals based on the position of the wiper.

The FSR version is the same only the wiper has a resistance that gets smaller when you press harder.

There are different circuits for reading pressure or force as shown below.

Namnlös.png
What I don't understand is how it can accurately detect position when the "R-wiper" can vary between maybe 100kOhm and 500ohm or so depending on how hard you press. Shouldn't the voltage to the ADC_input on the left circuit vary a lot depending on the resistance of "R-wiper"?

Can someone explain how to calculate this?

Thanks :)
 

peterdeco

Joined Oct 8, 2019
484
Years ago I used a 4-wire resistive touch screen. All 4 wires feed a microcontroller that toggled the ports from inputs to outputs. The first task was to determine left and right side press with your finger. Top and bottom was made output high, left and right inputs. If you touched the left side, the left input would get a higher ADC reading. Repeat the procedure to determine top and bottom. As it stood now, it was a 4 switch touch screen. I later added some math to the program to determine 16 different positions. I think you will need a scheme like this to figure where the pressure is on the wiper and use ADC readings to determine actual resistance.
 

Thread Starter

Bobafett

Joined Jan 21, 2020
6
fslp-arduino-connections.png

Thanks for the response. I have an example circuit here in this picture. It uses 4 inputs, the two digital inputs (D3 and D2) can be pulled high or low so it switches between the two circuits I posted previously. It should work but I just don't understand how or how accurate the force and position reading will be. I'm only interested in relative position/force but to me it seems like the position reading will vary with pressure but obviously I'm mistaken. My question is really how I can calculate this to understand how and why it works.

I already have the code and circuit to implement this but I'm trying to understand the theory. Don't know where to start.
 

peterdeco

Joined Oct 8, 2019
484
OK, I'm trying to understand this. First, you're using 3 inputs. If D2 and D3 can be pulled high & low they're outputs. Try something like this and experiment with the wiper position:
High D2
Low D3
Pause 10 ms to let everything settle down
Readadc on A0
Obtain the ADC reading somehow - maybe light an LED if greater than 127 (1/2 byte variable)
Low D2
High D3
pause 10 ms
Obtain ADC reading and light a different LED if less than 127
Experiment with different ADC numbers with wiper in different positions. Your 4.7K resistor should also be experimented with.
 
Top