PDA

View Full Version : [Project] Software to record& edit force sensor data



fig9078
06-01-2009, 11:47 AM
I am looking for developing software where I can get data from 100 (or more) different force sensors (Flexiforce from Tekscan) where the data can be saved in a .CSV or .TXT or anything that can be used in Microsoft Excel spreadsheet.

I am currently using the muli-handle ELF system (http://www.tekscan.com/flexiforce/systems.html) (http://www.tekscan.com/flexiforce/systems.html))from Tekscan and would like to have a similar software which can be used with 8/8/8 Phidget where I can simultaneously use a lot of different sensors. In hindsight, I would like the software to also document data from pressure & temperature sensors using the 8/8/8 Phidget.

If you know how and can make it work, it will be a worthwhile project for you and me.

nagmier
06-01-2009, 12:39 PM
If you are talking about using a Phidgets 8/8/8 Interface Kit you are going to have to string together 12-15+ units to get to the 100 sensor mark. Is that what your intentions are?

darkback2
06-01-2009, 01:08 PM
A Nagmir suggested...I'm not sure the phidget 8/8/8 is the right chip for what you want to do.

If you insist on using it, I believe you can call to a specific Phidget device using its serial number. Another problem you may run into is having so many devices reading usb data on one computer.

I feel like there has to be a better way.

DB

fig9078
06-01-2009, 04:08 PM
What is a better way if Phidget 8/8/8 is not the best way to do what I am trying to do? I realize to get 100 data inputs I will require a lot of phidget and a lot of USB connections. Any better way ... and any input on software to make the input data usefull and productive.

lnxfergy
06-01-2009, 04:54 PM
Not to sound like a broken record... but the "best" solution will depend on your skill level.

Again, the broken record kicks in with: you could do this with microcontroller (which uC's will work will depend on the sample rate you want to attain), attached to the PC via serial (or USB-> serial if needed). The micro would need some external A/D converters (since most will top out at 8-16 A/D channels, and you want 100+). Best choice for an A/D converter would depend on what the rate you want to sample at is.

-Fergs

Alex
06-01-2009, 05:15 PM
Are you wanting to read 100 or more sensors from one terminal/station? If so, would it be feasible to implement a client/server architecture where you would have X amount of Phidgets connected to each terminal and each terminal would be relaying it's data back to the main server? You could easily do this with a smalll & cheap USB host device with Ethernet/WiFi.

I'm not sure of your budget, but depending on the constraints of the layout of the system, this may work...

Adrenalynn
06-01-2009, 05:22 PM
Hey Fergs - does this sound like the right time for muxing those to you? The Acroname will pull 32x 10bit analog. Mux those 4:1 and you get 120 on a single board... Thoughts?

lnxfergy
06-01-2009, 05:41 PM
Hey Fergs - does this sound like the right time for muxing those to you? The Acroname will pull 32x 10bit analog. Mux those 4:1 and you get 120 on a single board... Thoughts?

The real question is throughput though... The acroname 84 servo board, has I believe, 4 PICs on it, so while it has 32 analog, it only has 4 ADC (each with an 8:1 multiplexor). Depends on how fast of an update rate you want. Alternatively, you could have a single AVR, with 12+ I2C connected dedicated ADC chips, each with 8:1 multiplexors, and now you have 12 ADCs rather than 4, 3x the throughput... the slowest part is almost certainly gonna be the ADC conversion (and actually, the switch on the multiplexor is the really slow part...)

-Fergs

fig9078
06-01-2009, 05:43 PM
My background is plastics engineering and what I am trying to do is new to me. Regarding sampling rate I would like to get a range. For the 100+ units that I want to build I am comfortable getting 1 data point every few seconds or even min. However, I have a need to a smaller device with 5 to 10 data collection ports where I would like to achieve a sampling rate of 200 (hz) or higher points every sec. I am using a Tekscan ELF (http://www.tekscan.com/flexiforce/specs-elf.html (http://www.tekscan.com/flexiforce/specs-elf.html)) system and it does the job. But it’s not possible to connect 100 of those and is also cost prohibitive. If I can get a system build where it gives me the flexibility of multiple data input (100+) and sampling rate I can justify a budget of few $1000’s.

Adrenalynn
06-01-2009, 05:45 PM
Is that all it had? I should reread the docs on it. And stop recommending devices I haven't physically played with. ;)

fig9078
06-01-2009, 05:50 PM
I would ideally like to get all the data feed into one computer.

Could the system be build where I get force, temperature and pressure measurements by connection different sensors to the unit? Just a thought.

Adrenalynn
06-01-2009, 06:42 PM
Isn't that the only way to do it? There's no single sensor that provides 100 contact points for force feedback

MikeG
06-01-2009, 10:23 PM
Why can’t you simply pickup thirteen 8 input A/Ds like the MAX1112? I know it’s an 8 bit A/D but the concept still applies. It would take 3 + 13 pins; serial clock, Din, Dout plus 13 chip select (CS) pins connected to a microcontroller. The controller simply loops through all ICs grabbing all 8 inputs from each IC. You could that with a STAMP. The MAX1112 takes an 8 bit control byte and the response is framed in a 10 bit result. So (8*100)+ (100*10) = 1800 bits. Add a multiplexer and you only need 4 CS pins; 3+ 4 I/O pins total.



+5V
|
---------- |
| | |
Ch0----|1 M 20|---Vdd-----------------------|----------|
| A | | |
Ch1----|2 X 19|---SCLK----I/O PIN --- 1mF --- 0.1mF
| | __ --- ---
Ch2----|3 1 18|---CS------I/O PIN | |
| 1 | | |
Ch3----|4 1 17|---DIN-----I/O PIN |----------|
| 2 | |
Ch4----|5 16|---SSTRB---NC |
| | |
Ch5----|6 15|---Dout----I/O PIN |
| | |
Ch6----|7 14|---DGND----|----------------------------|
| | | +5V (Vdd) |
Ch7----|8 13|---AGND----| | |
| | | |
|----------COM----|9 12|---REFOUT------| / |
| ____ | | | \ |
| +5V --- SHDN -|10 11|---REFIN-------|---->/<---[Ref V] |
| | | | \ |
| ---------- | / |
| | | |
| --- | |
| --- | |
---------------------------------------------|-----|------------------|
|
---
-


So much for courier font I had to wrap the schematic in a PHP tag.

darkback2
06-01-2009, 11:48 PM
Isn't there a phidget 16? that would work for the small device...if phidgets was the way you wanted to go...and you could probably get the update rate that you want.

DB

Adrenalynn
06-02-2009, 01:17 AM
Very pretty ascii schematic Mike! [insert "we're not worthy" emoticon here] Nicest I've seen on the forum by faaaar!

DB, toooo sloooow, to low resolution, and getting enough USB bus bandwidth to run ten of them would be "fun".

lnxfergy
06-02-2009, 01:47 AM
Ok... we've now wandered awesomely off-course, I want to back up a second to recap and a few thoughts. First off - you have 2 projects: a big one and a little one. We'll look at the little one first.

Each force sensor will create an analog signal. So for your little version, you want to read 5-10 analog signals, each signal will need it's own channel on the ADC. You could easily read 6 with an Arduino, with some simple code pumping a serial stream up to the computer. You then have to have PC-side software to do something with it (which I think was really the topic of your first post). 6ch x 200hz a channel = 1200hz. With an analog clock of about 1.25khz, you get 10 readings on a channel for each sample, plenty of time for the analog mux to catch up. You can get up to 8 channels without increasing the budget too much. 10 puts you in the painful land of surface mount chips.

For the 100+ version, you really need to then have external ADCs (as several of us have said). In reality, the same PC-side, and serial streaming software, could be used for both projects, just swap out whether you have several onboard or lots of offboard ADCs.

Then there are a few other considerations. All of this analog, which means noise hurts. You haven't really specified how accurate you need this to be. I can't find what the resolution of your current system is (8, 10, 12-bit?). Further, if you are gonna have a custom board, you want it laid out well, on a PCB, wirewrapping anything with that many connections, especially analog, will be like eesh..

Of course there are several easy ways out. For your small version: keep it under 8 channels and you can probably get away with a phidgets board (not sure about the sample rate though...). For the larger version, if you can deal with 10-bit resolution, 3-4 of those 84-servo (32-analog) boards will do ya.

You'll also want to pay attention the way you connect each sensor if accuracy is a big deal. The interface part you linked to has a fairly adjustable system (amplifier + potentiometer) that you might need to replicate.

Finally, you have the PC-side software. It could be as easy as just opening a serial port, and punching out a CSV file... probably 2 dozen lines of code in Python.

The tough part is really gonna be the hardware side, unless you can find something pre-canned that can do 100+ analog, and won't cost more than your house....

-Fergs

Edit: whoops... Adrenalynn is right, the 84-servo controllers are 10-bit. As long as they easily addressable when you have 3-4 plugged in, that might be the avenue to go...

Adrenalynn
06-02-2009, 03:56 AM
Those Acroname boards claim to be 10bit... Are they only 8bit?

fig9078
06-02-2009, 11:56 AM
It looks like we are heading in the right direction with this discussion. Yes, it looks like I have two different projects. The smaller one can be limited to just 6 sensors (I would have liked 8) if that is the limiting factor. Could I get a higher data rate if I limit my sensory ports to 6? Say 400 hz? Again, Sorry if this is a dumb question for the group. I was told that 8/8/8 Phitget can only achieve 65 hz. If that's true I will need a different board to go to a higher data rate.

For the project with 100 sensors I would need the sensors to physically covering a large surface area. I am guessing my 100 samples with occupy a 5 ft x 5 ft surface area. I feel its going to be quite complicated to handle all 100 sensors from one board.

Accuracy is critical and the PC side software is critical. Ultimately the data collection will be done by a lab technician so it has to be straight forward. One software that can handle both projects will be ideal. The software should have the following features

The data accumulated needs to be in force units (lbs, N, Kgf etc.) and not resistance.

Each sensor will be calibrated for force and we should be able to save the calibration file so it can be reloaded if needed.

I should also be able to change the sensitivity of the sensors.

Internal triggering to start saving data should be built into the software

Adjustable recording speeds for both projects would be ideal.

Also, real time display of force will be needed for caliberation.

I would like to get a price quote on how much it will cost and if it fits our expectations I would like to get it started ASAP.

ScuD
06-02-2009, 12:54 PM
I'm not running up for this since I have way too little time (and I'm on the other side of the big pond) but I suggest you put up some more details on the accuracy you want with respect to the weight.
Eg. 1000N +- 1N or so, and the temperature range you'll be working with.
This might give people interested in this project a better view of how to tackle the problem and insure a more correct quote.

Accuracy and temperature compensation comes at a cost, unfortunately.

fig9078
06-02-2009, 01:50 PM
Accuracy of 1&#37; or less at a temperature range from 10C (55F) to 40C(104F).

fig9078
06-03-2009, 12:26 PM
Can I get some feedback on the Accuracy comment? Is it the accuracy of the electronics ONLY that we are talking about? Does this account for the accuracy of the sensors as well? I am looking for a 1&#37; accuracy TOTAL which also includes the sensory accuracy.

Any thoughts and any takers on this project?

ScuD
06-03-2009, 02:47 PM
Accuracy of the electronics determine the accuracy of the sensors, but vice versa applies as well.
I just looked up the flexiforce sensors and from what I can see the repeatability is <+-2,5&#37;, and that's without taking into account the 0,36% variation per &#176;C.

So I'd be inclined to say it's going to be very difficult to implement a system with these sensors with an overall accuracy of 1%, unfortunately.

A former teacher of mine used to make electronic scales for the diamond industry (at least something Antwerp is known for), it's times like these when I know how he got so rich...

Oh, you didn't mention a weight range, which might be usefull.

If you really want this kind of accuracy you may want to look into load cells, but be prepared to call in a big budget.

fig9078
06-03-2009, 04:31 PM
Thanks for the clarification. Most of my testing will be done at room temperature. Few testing will be done at 35C and 10C so I am not too concerned with temperature effect. The goal is to look at relative comparison of test sample. In the 100+ samples that I will be testing there will be 6 samples of each so it will reduce some of the variance coming from the sensors.

How much will be the accuracy effect from the electronics? If the sensors is 2.5&#37; can we stay below that so most of the error is from the sensor. So far I have been experimenting with A201 sensors from Tekscan and they have performed quite well (repeatable).

Are there sensors out there that have lower variance? are these sensors universal so I can fit a different sensory if I want to?

My load is going to be less than 50 lb or may be even 25 lb.

lnxfergy
06-03-2009, 05:12 PM
Right off the ELF webpage, they claim 3-5%:


Our patented electronics allow you to optimize the performance of the ELF system over a selected force/load range. The electronics adjust the device sensitivity to best fit the dynamic range of the specific application. This allows you to "fine tune" our single element sensors for optimal performance. Designed to be user friendly, simple calibration procedures can deliver accuracies of + 5%. More controlled procedures can reach an accuracy level of + 3%.
How much will be the accuracy effect from the electronics? If the sensors is 2.5% can we stay below that so most of the error is from the sensor. So far I have been experimenting with A201 sensors from Tekscan and they have performed quite well (repeatable).Assuming the company isn't run by morons, I highly doubt you can out-do the in-house designed data acq system. So overall accuracy of an outside developed design is likely to be around, or worse than, the 5%.


Are there sensors out there that have lower variance? are these sensors universal so I can fit a different sensory if I want to?No idea about other similar sensors, with lower variance, there are some other resistive force sensors, but really, these things aren't incredibly accurate. If you need higher accuracy, you really need to be looking at load cells and the such. I guess the issue here is: we still don't know what the heck you are doing with this 5ftx5ft 100-sensor array. What are you trying to measure?

Another issue with your 5ft x 5ft array is the length of wiring. Running an analog signal several feet before it connects to a circuit board is a pretty sure way to frig up your accuracy, plus it's just a real ratsnest of wires...

-fergs

fig9078
06-03-2009, 05:51 PM
These sensors will go between a wine bottle and a cork. The sensors will be measuring the decay in force from the cork over time. The smaller unit with 6-8 sensors will be attached to the corking unit to measure corker jaw force, plunger force and bottle force. Hope this gives a clear picture of what I am trying to do. I do need the sensors to be thin so they can be placed between the cork and the bottle. So far they have worked out good but I can only test one bottle at a time. I would like to test 100 bottles if I can.

Frankly speaking I am not exactly sure on the desired accuracy. So far the sensors have worked quite well. I don't want to add any more error and that is why I say error to be less than 1&#37;. If we can stay close to the current sensor accuracy I am good.

nagmier
06-03-2009, 10:12 PM
Wow this thread continues to grow and get more and more interesting... Just wish I could help out more... I can't wait to see this take shape for you fig!

fig9078
06-04-2009, 12:25 PM
I have definitely got some good feedback here but I have yet to get someone to take this project. It’s not a robotics project but definitely an interesting one with a new dimension to using sensor technology. Looks like I may have to look else ware.