How can I implement force sensors into my project?

Status
Not open for further replies.

Sashvat

Member
Hello everyone, I am trying to add force sensors to my shoes to see how much force I can apply with my feet. I am using a Microcontroller to measure it. But not very sure how to use a Force sensor. I am trying to use around 8 sensors around the feet to get even sensing of the force exerted to get an accurate reading. I have drawn a small diagram as to how I wish to place these sensors.

I dont know how to house these sensors. I can't use a flexible PCB, because it wont fit in. I am thinking of wiring it manually to solder points on the PCB. Is there any other way to connect these sensors in high mobility areas? Do let me know

Thank you
 

Attachments

  • Force sensors.pdf
    313.8 KB · Views: 330
you can do through-hole components with polyimide flex PCB but, the sensor you suggested has max force of 5 kg-force.

 
Yes, but I am placing 8, maybe more to extend the range of the force applied. Are there any sensors that you know that can take higher force?
If you walk perfectly flat footed and distributes the weight of your step across all 8 evenly, then, yes, your 40kg body will be fine with 8 sensors when running. But, if you intend to sens various weight distributions across various pressure points on your foot, then you might run into some challenges with your plan.
Look up Force Sensor on Digikey.com or .mouser.com and you'll see the price jump significantly for higher force sensors.
 
But even if someone was not perfectly flat footed, which is going to be the case, then the force will be applied to one side of the sensor. So most of the weight/reading can be taken from there. Is my logic right?
 
Look at the design of your foot - or step in some water snd then on dry concrete and then decide how/where you will place 8-sensors that provide meaningful data yet do not see more than 5kg of force when the subject is doing normal activities. Then report back to let us know if you think a 5kg sensor is suitable.
 
The inconvenience of the real world strikes again.

Amazing how little regard gives to how we'd like nature to behave.
 
Many years ago I worked for a prosthetic facility in Research and Development. One of the main causes of amputation is from the lack of feeling brought on by the onset of diabetes.

So you don't go down the same path as far as sensors, initially we used the flat laminated sensors. They seem great at first, but any kind of a crease and they are toast. Not to mention they de-laminate very quickly with the sheer forces that happen within your shoe. We had patients that would last a few hours, and some that would last a week.

This led us to develop our own sensor which was an inductive coil that changed inductance as pressure was applied. The coils were constructed on a flexible circuit board much like what was shown earlier in this thread. The coils were of a pancake style and accessed one at a time with the circuit. A neoprene was used as a compressible medium with adhesive aluminum foil on the opposite side of the coil. The neoprene was sandwiched between the coil and the foil.

Note: The foil was two layers of foil with a metal screen sandwiched in between the two layers of foil. This was to help maintain integrity with repeated cycles.

By compressing the neoprene the metal foil would alter the inductance of the coil where it could be read. Each coil was pulsed one at a time with a 1ms pulse. The back emf was captured with a current mirror and fed into a 12-bit ADC to obtain a reading. The returned voltage reading from the ADC was proportional to the inductance value of the coil.

Coil Placement: There were a total of 8 coils ... 4 on the front and 4 on the back. The values were treated deferentially to form two vectors (Front<-->Back) and (Left<-->Right)... i.e. for front ALL four coil values were added together and on the back ALL four coil values were added together and subtracted from the front accumulative value. Likewise for left and right.... the left two coil values on the front were added to the left two coil values on the bottom and subtracted from the sum of the right two front coils and the right two bottom coils. Then finally those two vectors were combined into ONE single vector by applying SINE and COSINE to determine the deg from 0 to 360. As a person applied their weight, they became a "human joystick" as to where they were moving their weight.


 
Wow this is amazing, thank you so much for sharing this Beau Schwabe! Really helped me a lot.

So, if I am right, the aluminium foil was placed near the inductor, which would alter the magnetic fields around it when there is a force added, because a force has been applied there, the distance between the aluminium foil and the inductor (the coil) changes, thus altering the induced voltage on the coil. And giving an output on the other side of the coil, which was later captured by the MCU.
 
Last edited:

Essentially yes
 
Here is a schematic of the coil read section ... The Ping is the 1us pulse from the micro. Each coil can be connected to an I/O on a micro for multiple coils, but ONLY ONE coil should be read at a time. When a coil is not activated the I/O is made into an input. When the coil is active the corresponding I/O is made an output and LOW. (Be sure to preset the output LOW before making it an output). The Read I/O is connected to an ADC.

It has been awhile since I designed and used this circuit but it does work quite well. The nominal coil is 100uH but is forgiving. I would build this circuit out first and just look at the Read I/O with a scope to gain an appreciation of what is going on. Set the ping to just send a steady stream of 1us pulses every 1/2 second or so with a single coil at first to get a feel for your voltage levels. Adjust R1 and play with the 680pF cap value. For 5V operation use a 330 Ohm resistor in place of the 220 Ohm.

Note: The original circuit had a 330pF cap where the 1M resistor currently is and the 680pF cap was not there. This had a sample-and-hold effect while the ADC had time to read the value (remember designed when processors were a bit slower). In this configuration the capacitor needed to be discharged before every read through software on the same Read pin. You may want to consider that configuration as well.

 
Last edited:
Thank you for this!
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…