Force Sensitive Resistors

Tips, Tricks and methods for programming, learn ways of making your programming life easier, and share your knowledge with others.

Moderators: Benj, Mods

Post Reply
User avatar
JohnCrow
Valued Contributor
Valued Contributor
Posts: 1367
Joined: Wed Sep 19, 2007 1:21 pm
Location: Lincolnshire
Has thanked: 364 times
Been thanked: 716 times
Contact:

Force Sensitive Resistors

Post by JohnCrow »

Introduction:

The “Force Sensitive Resistor” or FSR is a simple passive component that changes in resistance by varying the pressure on the circular pad.

The ones used in these projects are manufactured by Interlink Electronics (Type 402)
http://www.interlinkelectronics.com

The resistance varies from almost infinite with no pressure on the pad, down to about 250 ohm with about 100N force on the pad (Approximately 10kg).

Force =Mass * Acceleration
Force = 10kg * 10ms
Force = 100 Newton

The devices are not truly repeatable or settable like a potentiometer however.

Warning :

Do not attempt to press the pad with anything except a finger or thumb.
A sharp, hard or narrow object may damage the pressure pad.

Whilst it is possible to solder the connection tails on the device, it is most likely to melt the plastic of the sensor. I would recommend using a small screw terminal as in my examples. This can be plugged into a Protoboard.
Though the sensor itself can plug into a Protoboard, repeated use of this may also damage the device.


Hardware:

The following hardware is required

EB006 Programmer Board
Port C EB004 LED Board
Port B EB005 LCD Display Board
Port A EB017 Proto-Block Board

16F877A Microcontroller
Force Sensitive Resistor
Small 2 way screw terminal
10k-ohm Resistor

Projects:

These are some basic Flowcode programs to show the use of the device.
For all the examples the device is connected as a simple potential divider with a 10k-ohm resistor between 5V and ground. The output is connected to AN0.

Simple Press

This shows the value seen by AN0 as an integer.
No Press = 0
Hard Press = 1024

Though it is difficult to get it to read over about 1000 by pressing with a finger.
As stated above pressing too hard will damage the sensor.

Binary Out

This shows the value seen by AN0 as a byte
No Press = 0
Hard Press = 255

Read Resistance

This will show the actual value of the resistance of the device.
The calculation is as follows.

Vcc = 5V
R = 10k-Ohm
V = Voltage read by AN0 (Float)

FSR =( (Vcc – V)*R) / V

With no pressure it shows the 10k-ohm, but once pressure is applied the value drops.


Read Conductance

Conductance is the inverse of resistance.
Measure in Siemens.

Historic Note old pre SI unit for conductance was the mho (Ohm backwards)

This is basically the same program as the previous one, except for an extra line in the calculations.

Conductance = 1 / R
But because I am working in uS

Conductance = 1000000 / R

Read Force & Mass

By using the graphs in the sensor data sheet it is possible to calibrate the sensor to indicate directly the applied force in Newton’s

Because the flowchart uses floating point calculations the normal decision box cannot be used.
The float decision is used to determine if

The graphs are not totally linear so these values are only approximate.

Low Range Graph

Conductivity <= 1000 uS
Force = Conductivity / 80

Else

High Range Graph

Force = Conductivity – 1000
Force = Force / 30

By means of a simple calculation, dividing Force by 9.81 the program can be made to display the mass that is applied to the sensor.

This is only a crude reading based on the data sheet graphs, but serves to demonstrate the principles involved.

The maximum pressure I have been able to apply is about 100N by pressing down on the desk to with my thumb. After this it starts to get painful, and is likely to damage the sensor
(Not to mention my thumb  ).

Findings:

From the above projects it will be seen that although the sensor is not accurate, it is highly usable to read within a ballpark figure.
The devices cost under £5.00 so are not expensive and can be used for interesting experiments.
Sensor
Sensor
Sensor.jpg (65.96 KiB) Viewed 4090 times
Operation
Operation
Operation.jpg (65.1 KiB) Viewed 4090 times
Projects.zip
Projects
(13.38 KiB) Downloaded 373 times
1 in 10 people understand binary, the other one doesn't !

User avatar
Steve001
Valued Contributor
Valued Contributor
Posts: 1189
Joined: Wed Dec 31, 2008 3:37 pm
Has thanked: 460 times
Been thanked: 523 times
Contact:

Re: Force Sensitive Resistors

Post by Steve001 »

Hello John,

As always a well documented and interesting project

Thanks for sharing

Steve
Success always occurs in private and failure in full view.

Post Reply