Close

Challenges in sensing foot pressure

A project log for Sonassist

Audio feedback for the brain-injured who need help learning to balance again.

simon-merrettSimon Merrett 08/31/2017 at 19:290 Comments

This project presents several challenges but the first one I grappled with was a good way to cheaply sense the distribution of body weight to the ground through the different parts of the foot. I was sent this paper which is a good literature review of different sensor methods.

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3444133/

Initially I looked at using the small piezoelectric discs that are often pressed into service as low profile speakers or vibration / knock sensors in hobbyist Arduino projects. I was quite excited to find the alli-GAIT-or project here on Hackaday.io and that it had been entered into the Hackaday Prize 2016. However, when I tried to replicate foot pressure readings using piezoelectric discs I found that they would only produce a voltage that could be sensed during loading or unloading. It appears that because you need a high value resistor to dissipate the charge across the leads, it quickly drops when movement stops. This may be ok for the dynamic analysis of the  #alli-GAIT-or analysis project but this application needs to compare static relative loading of areas of the foot. 

After that I checked out force-sensitive-resistors but they look really expensive when you want several per foot.

Then I remembered the MPR121 capacitive touch sensor breakout I had in the parts trays. I wasn't sure whether it would work but I remembered that you can configure it to supply the raw capacitance readings to the Arduino, as opposed to the "touched" / "released" signal. It has up to 12 plates/sensing pads so well in the region of the numbers discussed in the literature review. I wondered if you can use an elastic compression/deformation of a layer between the foot and the capacitive pad to approximate the relative weight being transmitted to the floor at that point of the foot. I also remembered that soldering to aluminium tape wasn't going to work but that I had some copper foil tape somewhere.

The first success was soldering jumper wires to the copper tape. I used a flux pen and lead-free solder. then I hooked up the MPR121 board to the arduino and copper pad and managed to get raw readings from the copper pad. I drew around my foot on a pizza box and taped several soldered pieces of copper tape to various parts of the foot shape that I had outlined. 

Then I placed neoprene foam sheet, about 2-3mm thick on top.

Then I stood on top and varied my weight over different parts of the sole, rocking backwards and forwards and swaying from one side to the other. I used the Arduino serial plotter to see if I was getting usable variations in the readings between different sensors and whether the readings would stay static if movement stopped.

Although I can't exactly remember which pads were which trace on here, there are some really nice swings that represent my shifts in weight distribution well. 

Sensing concept proved!

Discussions