A couple of Harvard researchers have developed a method of using digital barometers as a touch sensor. The good news for us is that they’ve open sourced the project, including Eagle board files, firmware, and details about the materials they used.
The digital barometers were chosen for their characteristics, availability, and low-cost. The sensor uses an array of Freescale MPL115A2 chips, a MEMS Barometer designed for use in altimeters. The mass production makes them cheap (Octopart found some in single quantities for $1.71 at the time of writing). The chips are soldered onto a board which is then cast in rubber. This distributes the force while protecting the sensors. The video after the break shows them standing up to rubber hammer blows and supporting a 25 pound weight.
There are a few tricks to reading the array. The first is that the devices are designed to be used one-to-a-project so they have a fixed i2 address. A separate chip must be used to address them individually. But one it’s up and running you should be able to use it as feedback for the fingertips of that robot arm you’ve been building.
[via Engadget]
I think the title should be changed to “force” sensor.
The I2C addressing shouldn’t be a problem; on the site it says that spi is also available, which is also faster than i2c.
Another option: use Atmel ATxMega128a1 which has 4 i2c ports; this way synchronisation is better.
I’m curious whether they could use the spatial resolution of this device.
There is a /SHDN line on the sensor. It takes a max of 5 mSec to wakeup, and a max of 3 mSec to read. So, you could use a ‘238 to address.
However, I have deep grooves in my brain from I2C, and will go with SPI whenever possible.
Cool hack…
a robot with a knife somehow seems much scarier than one with a machine gun. Looks a bit like Roberto too.
sorry commented on an other youtube vid.. mods please remove.
Correction: “…one-to-a-project BECAUSE they have a fixed I2C address.”
Interesting. This could be very repeatable and accurate, depending on the rubber used. It might be useful for other force sensing arrangements too. For example, if you attached one or two of these to a metal beam with a dab of rubber, I bet it could detect even minute flexure in the beam.
Though I wonder about this statement:
“Although it is possible to remove the covers on the sensors to expose the diaphragm, wire-bonding and other fragile features make this undesirable. Thus, to protect the sensor and to provide a decent spatial range, it is important to cover the sensor with rubber while maintaining sensitivity. To do this, it is essential to degass it.”
Is this really necessary? For a sensor that can detect minute changes in air pressure, wouldn’t it still function as a touch sensor even if there was an air bubble trapped in the casing; though at lower resolution? It would be nice if you could use this technique without a vacuum chamber.
I guess that if an air bubble is trapped inside you’d still have problems with changing air pressure (weather, doors opening and closing, HVAC) in your measurements
If that’s the case, then it can be solved by using one sensor just for its intended purpose, and subtracting changes in its reading from the others.
Oh yes, we all have degassing chambers! In my crappy country we’re talking about £500 for all the equipment needed to make a degassing setup. I sometimes make silicone rubber molds, I checked the pricing and was somewhat shocked.
Hi Stu. As you used £’s I’ll assume you’re in the UK. I had difficulty doing the same. In many cases I find that these things have odd names which you don’t expect. Try looking for ‘Vacuum desiccator’ instead of degassing chamber or vacuum chamber. Cole-parmer supplies some in the UK. Vacuum pumps were still a pain to get though, and very easy to get ripped off over.
I think I made a working set up for about £2-300.
Use silicone that doesn’t need degassing? Look for smooth-on products. I think they have some :)
I don’t think the issue is bubbles in the rubber. The article’s diagram shows that they’re trying fully replace the air in the sensor casing with rubber, through a hole 1mm in diameter. Though I don’t know much about the silicones you’re referencing, even a low-viscosity liquid might have a hard time getting in there without vacuum assist.
Interesting, never thought to search for ‘dessicator’, thanks ChrisC! Still, £200-300 is still a bit steep for essentially a hobbyist activity imo.
I always get the impression that if you’re in the states, you can cobble a vac chamber together for a relative pittance, I dunno, $100 or so.
@Eirinn, yeah most of my silicones don’t really require it, but I’m told with no microscopic air bubbles, the quality of the end result is far superior. Sometimes I might also need the silicone to form around a complex shape perfectly, or otherwise a crystal clear resin I’m working with needs degassing too.
Hirst Arts castlemolds pieces cast with plaster also sometimes require degassing to pick out ultra fine detail – something I do too.
All in all quite useful but ultimately priced too highly for hobby use.
You don’t need a vacuum chamber to do degassing. You simply need a syringe (without needle). Suck up some of your rubber liquid and squirt back out any big air bubbles that you can. The syringe should be about a third full. With the syringe pointing upwards, put your thumb hard over the end, and carefully pull the plunger back all the way. You’ll see the bubbles all expanding, and a few of them popping. After a couple of seconds, remove your thumb to let the air back in, many of the bubbles will pop and merge, allowing you to squeeze out some of the air. Repeat the process about 10 times, and you’ll have pretty well degassed it.
You can make a pretty decent vacuum pump for purposes like this (or plasma experiments, vacuum forming, etc.) with the compressor from an old dead (refrigerant leaked) refrigerator or dehumidifier.
You can easily mux i2c bus. I’ve done such reading of an array of color sensors via using a cpld and a custom mux.
The trick is, that the DATA line gets passed as is, while clock gets muxed. The cpld itself represented itself as a slave with different address to allow picking what color sensor to address. Still that was slow and cpu intensive, and in the end I got a bunch of cheaper color-to-frequency converters and let the fpga scan them in round robin fasion. The resilts were dumped into dpram with minimal processing, and when done, I just issue and interrup to the host and it uses the dma to grab all the results.
in XC3S100E there’s plenty of dpram, so I could make 2 ping-pong buffers for data: while one is being read by dma, the second one was being filled with new measurement data.