Searching \ for '[EE]:Pressure sensor confusion' in subject line. ()
Help us get a faster server
FAQ page: www.piclist.com/techref/io/sensors.htm?key=sensor
Search entire site for: 'Pressure sensor confusion'.

Exact match. Not showing close matches.
'[EE]:Pressure sensor confusion'
2002\11\15@123541 by

I am having problems figuring out how to use my Motorola pressure sensor MPS5010dp.

The offset voltage is .243v. no pressure applied.
I take two seperate vacuum readings:

1.845 v = 3.607 Kpa
1.565 v = 2.992 Kpa

the difference in Kpa is .615 Kpa.

But if I take the difference in voltage output = .280  volts, and calculate the Kpa for the voltage difference I get .1703 Kpa.

Why is this?

Please assume I am younger than 9 or older than 40 and just a hobbiest.

Thanks
John

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

> The offset voltage is .243v. no pressure applied.
> I take two seperate vacuum readings:
>
> 1.845 v = 3.607 Kpa
> 1.565 v = 2.992 Kpa
>
> the difference in Kpa is .615 Kpa.
>
> But if I take the difference in voltage output = .280 volts, and
> calculate the Kpa for the voltage difference I get .1703 Kpa.

This sensor appears to be a bridge sensor like many others, so the
difference in voltage is what you use, then use their figures to find the
pressure. But the voltage you have is at no pressure, so it's offset error
you need to subtract out.

The data sheet says that typical offset is .2 volts and maximum is .425
volts, so your part has close to typical offset. Sounds like Motorola
makes really crappy parts with lots of builtin offset you need to
calibrate out.

I am used to the MicroSwitch sensors, so don't take what I say as
absolute, I just glanced at the Motorola data sheet, which by the way is
MPX5010, not MPS5010.

> Please assume I am younger than 9 or older than 40 and just a hobbiest.

I won't get all Olin on ya!

Cheerful regards,

Bob

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

> I am having problems figuring out how to use my Motorola pressure
> sensor MPS5010dp.
>
> The offset voltage is .243v. no pressure applied.
> I take two seperate vacuum readings:
>
> 1.845 v = 3.607 Kpa
> 1.565 v = 2.992 Kpa
>
> the difference in Kpa is .615 Kpa.
>
> But if I take the difference in voltage output = .280  volts, and
> calculate the Kpa for the voltage difference I get .1703 Kpa.
>
> Why is this?

I'm not familiar with that sensor but generally they aren't perfectly
linear and need quite an "interesting" formula in cases where full swing is
necessary. What I did with my (for an atmospheric pressure project) is
record the value the sensor put out every hour and recorded the atmospheric
pressure reported on our local weather channel. After a few days I had
enough info to put those values into Excel and have it apply it's "magic" to
generate an equation for me. Turned out to be rather accurate (had to use a
1st order polynomial for best fit). A similar procedure should work in your
case. TTYL

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

I checked the data sheet and this sensor is linear with an output of 0.45
V/kPa and an offset of 0.2 V to 0.425 V @ 0 kPa.

So the output function is:
kPa = (Vout - Voffset) / 0.45

(1.845 - 0.243) / 0.45 = 3.56 kPa
(1.565 - 0.243) / 0.45 = 2.94 kPa
The sensor is specified as +/-5% and these values are within +/-2%.

To calculate the delta between two measured points you can ignore the offset
because it is constant.
1.845V - 1.565V = 0.28V

0.28V / 0.45V/kPa = 0.622kPa which is within 1.25% of your measured
difference of 0.615kPa.

Hope this helps,
Paul

> {Original Message removed}
Drifting off-topic a little...
Herbert Graf wrote:
>pressure reported on our local weather channel. After a few days I had
enough info to put those values into Excel and have it apply it's "magic"
to
generate an equation for me. Turned out to be rather accurate (had to use
a
1st order polynomial for best fit). A similar procedure should work in
your
case. TTYL

Oh how often I use excel and it's magic.  But there is something that
EXCEL doesn't seem to do very well.

Lets say you have a couple of columns of data, maybe from your pressure
else.  What you'd like to do is predict what the output will be when a
slightly different input occurs.  "No problem, just insert a blank row in

Now try inserting, say, 1500 numbers "between" the data you already have.
Tedious, huh?  I always wanted a function that would just take a range of
numbers and interpolate into them based on another input number.  Sort of
like "vlookup()" which I have used a lot, but instead "vinterpolate()".
Anybody ever confronted this problem?  Dang if this was in old Lotus 1-2-3
I would have already written a macro to do this.

-- Lawrence Lile

Herbert Graf <mailinglistFARCITE.NET>
Sent by: pic microcontroller discussion list <PICLISTMITVMA.MIT.EDU>
11/15/02 12:03 PM
Please respond to pic microcontroller discussion list

To:     PICLISTMITVMA.MIT.EDU
cc:
Subject:        Re: [EE]:Pressure sensor confusion

{Quote hidden}

I'm not familiar with that sensor but generally they aren't
perfectly
linear and need quite an "interesting" formula in cases where full swing
is
necessary. What I did with my (for an atmospheric pressure project) is
record the value the sensor put out every hour and recorded the
atmospheric
pressure reported on our local weather channel. After a few days I had
enough info to put those values into Excel and have it apply it's "magic"
to
generate an equation for me. Turned out to be rather accurate (had to use
a
1st order polynomial for best fit). A similar procedure should work in
your
case. TTYL

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

In a message dated 11/15/2002 13:54:27 Eastern Standard Time,
llileSALTONUSA.COM writes:

> Now try inserting, say, 1500 numbers "between" the data you already have.
> Tedious, huh?  I always wanted a function that would just take a range of
> numbers and interpolate into them based on another input number.  Sort of
> like "vlookup()" which I have used a lot, but instead "vinterpolate()".
> Anybody ever confronted this problem?  Dang if this was in old Lotus 1-2-3
> I would have already written a macro to do this.
>

Good afternoon, Lawrence

Have you looked at DAQ for Stamp, available at Parallaxinc.com?

This is basically a program that will let you program your PIC to display up
to 8 columns of data in Excel.  Since it is program driven, you can display
anything you can create in PIC.  Fascinating program - I am using it
consistently to display ADC outputs in real time.

Sid Weaver
W4EKQ
Port Richey, FL

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

> Your measured results look good
> (1.845 - 0.243) / 0.45 = 3.56 kPa
> (1.565 - 0.243) / 0.45 = 2.94 kPa
> The sensor is specified as +/-5% and these values are within +/-2%.

Remember that there may be additional error unless you apply
temperature compensation.  Also remember that a "linear" part is often
only "linear" enough to claim a given tolerance-- some post-processing
can still be beneficial-- for example, the devices my company makes
correct for both pressure and temperature nonlinearities, allowing us
to get pretty nice accuracy.  (In fact, should you need gear to
CALIBRATE your device, once built, hit our website; we have standalone
gear, and some modules intended to plug into a meter.)

Pressure sensors with frequency outputs are also available, if that is
more convenient for you.  You should also read the appropriate
temperature and error compensation documents from your vendor.

You can squeeze a lot of accuracy out of pressure sensors-- we do--
but it can get very expensive to calibrate them, particularily if you
need to do it over temperature, so the first things to do with any
pressure metrology project, IMHO, are:

1. Determine the level of accuracy you need.
2. Determine the base accuracy of the sensor.
3. Determine how much time you have available.
4. Pick the improvement that makes the most sense given the amount of
time you have available-- analog trim pots, fancy digital stuff,
whatever is realistic for your needs and skills.
5. Find a calibrator with at least 2:1 (preferably 4:1) accuracy
accurately.

Then, have at it-- once done, calibrate.  Once calibrated, check for
zero drift, hysteresis, and other undesirable behavior.  If found, fix.
If you get particularily good at all this, drop me a line...

Cheers,
Matt Heck
Crystal Engineering Corporation
http://www.crystanengineering.net

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

That's one way to deal with it.

A typical problem for me is interpolating thermistor data.  The thermistor
curve comes in chart form from the manufacturer, in very un-handy
increments.  It's quite a complex curve, and I think curve fitting it
would be a long involved task (unless Excel does this automatically
somehow? )  Linear curve fitting would be a cinch.   The only way I know
how to curve fit a nonlinear is, guess at the type of equation to use,
plot it next to your data, sum the squares of the differences,  then run a
linear regression on the results and use a Tools:GoalSeek on the results
to approach the minimum, then guess again at the type of equation to use
until you like the fit..  It is a time-consuming process, usually.

Is there a more efficient way?

-- Lawrence Lile

"Gordon Williams" <g_willcyberus.ca>
11/15/02 01:21 PM

To:     <llileSALTONUSA.COM>
cc:
Subject:        Re:      Re: [EE]:Pressure sensor confusion

The way that I usually handle it is to plot the experimental data, put my
choice of curve fit on the graph and have it show the equation for the
curve.

The equation then can be used for interpolation or extrapolation.

Gordon Williams

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

> A typical problem for me is interpolating thermistor data.  The
thermistor
> curve comes in chart form from the manufacturer, in very un-handy
> increments.  It's quite a complex curve, and I think curve fitting it
> would be a long involved task (unless Excel does this automatically
> somehow? )  Linear curve fitting would be a cinch.   The only way I know
> how to curve fit a nonlinear is, guess at the type of equation to use,
> plot it next to your data, sum the squares of the differences,  then run
a
> linear regression on the results and use a Tools:GoalSeek on the results
> to approach the minimum, then guess again at the type of equation to use
> until you like the fit..  It is a time-consuming process, usually.
>
> Is there a more efficient way?

I've seen software tools that take a series of points and automatically
compute the coeficients for an Nth order polynomial, where you specify N.
Most real world "smooth" functions can be modeled well enough with a 3rd
or 4th order polynomial, which are relatively easy to compute.  This
approach is particularly useful if the sample points contain some noise.
The polynomial will do sortof an average fit thru the noise.

Alternatively, you can use a lookup table.  This is fast, and handy if the
data comes that way in the first place and each individual point is known
to be accurate (no noise).  Depending on the density of the lookup points
and the required accuracy, you can pick nearest, linearly interpolate, or
cubically interpolate.  Other interpolation schemes are of course
possible, but I've never needed to go higher than cubic yet.

*****************************************************************
Embed Inc, embedded system specialists in Littleton Massachusetts
(978) 742-9014, http://www.embedinc.com

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

Lawrence Lile wrote...

>That's one way to deal with it.
>
>A typical problem for me is interpolating thermistor data.  The thermistor
>curve comes in chart form from the manufacturer, in very un-handy
>increments.  It's quite a complex curve, and I think curve fitting it
>would be a long involved task (unless Excel does this automatically
>somehow? )  Linear curve fitting would be a cinch.   The only way I know
>how to curve fit a nonlinear is, guess at the type of equation to use,
>plot it next to your data, sum the squares of the differences,  then run a
>linear regression on the results and use a Tools:GoalSeek on the results
>to approach the minimum, then guess again at the type of equation to use
>until you like the fit..  It is a time-consuming process, usually.
>
>Is there a more efficient way?

Least-squares curve fitting will give you a set of coefficients
for an interpolation polynomial and is especially useful where
you can take a lot of data points, but the data are noisy.

Another technique for generating interpolating polynomial
coefficients is Newton's Method of Divided Differences.  This
method will take (N) data points and give you the coefficients
for a (N-1)th-order polynomial that passes precisely through the
points.  The computations for this technique are easy, and it
works very well when you have a limited amount of data but the
data are largely noise-free.

One writeup of Newton's Method that looks like a good summary of
the technique is at:

http://classes.cecs.ucf.edu/egn3420/klee/Notes/Interpolation/Interp_NDD.pdf

but you can probably get more from Google.

Dave D.

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

On Fri, 15 Nov 2002, Dave Dilatush wrote:

{Quote hidden}

If the curve is to be placed in a PIC, then I'd suggest a look up table
with linear interpolation. I've used it for thermistors before and it
works just fine.  You can easily get 7-bits of dynamic range with
16-sample 8-bits/sample table. Check out

http://www.dattalo.com/technical/software/pic/picsine.html

For an example of an efficient way of interpolating between successive
entries in a look up table.

If you more dynamic range, then the idea is easily extended (either add
more samples or increases the bits/sample).

Scott

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

I like to use dedicated math software such as MathCAD, Mathematica, Maple,
etc. to perform the regressions quickly.
http://www.mathsoft.com/
http://www.wolfram.com/
http://www.maplesoft.com/

They have  built-in regression functions to handle any kind of curve fitting
you would ever need. The problem with these types of programs are the
learning curves and prices (\$500.00 to \$5000.00).

15 or so years ago I used was a nice little DOS freeware program named
"Splot" that worked well for polynomial regressions. There may be some good
modern alternatives available from university sites although they are
probably only available for Unix platforms. IIRC the Maple package
originated at the University of Toronto.
I just Googled on: software "polynomial regression"
www.analyse-it.com/polynomial-regression_y.htm
http://www.curvefit.com/index.htm

For the actual base equation type, I've had the best luck in using the
Steinhart-Hart equations for modeling thermistor resistance vs. temperature.
http://www.betatherm.com/stein.html

Paul

> {Original Message removed}
I could be wrong, but I believe it originated at University of Waterloo.

Josh
--
A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete
fools.

Paul Hutchinson wrote:
> probably only available for Unix platforms. IIRC the Maple package
> originated at the University of Toronto.

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

Yes, that sounds right should make it easier to find, thanks.

I didn't RC but, at least I remembered it was from The Great White North, eh
:)

Paul

> -----Original Message-----
> [PICLISTMITVMA.MIT.EDU]On Behalf Of Josh Koffman
> Sent: Friday, November 15, 2002 10:28 PM
> Subject: Re: [EE]:Pressure sensor confusion
>
>
> I could be wrong, but I believe it originated at University of Waterloo.
>
> Josh

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

11/15/02 4:41:17 PM, Olin Lathrop <olin_piclistEMBEDINC.COM> wrote:

>I've seen software tools that take a series of points and automatically
>compute the coeficients for an Nth order polynomial, where you specify N.
>Most real world "smooth" functions can be modeled well enough with a 3rd
>or 4th order polynomial, which are relatively easy to compute.  This
>approach is particularly useful if the sample points contain some noise.
>The polynomial will do sortof an average fit thru the noise.

One caveat: trying to use any higher order polynomial to fit a curve usually results in a good fit
at the measured points but a really lousy fit anywhere in between.

--
http://www.piclist.com#nomail Going offline? Don't AutoReply us!
email listservmitvma.mit.edu with SET PICList DIGEST in the body

You wrote...

>A typical problem for me is interpolating thermistor data.  The thermistor
>curve comes in chart form from the manufacturer, in very un-handy
>increments.  It's quite a complex curve, and I think curve fitting it
>would be a long involved task (unless Excel does this automatically
>somehow? )  Linear curve fitting would be a cinch.   The only way I know
>how to curve fit a nonlinear is, guess at the type of equation to use,
>plot it next to your data, sum the squares of the differences,  then run a
>linear regression on the results and use a Tools:GoalSeek on the results
>to approach the minimum, then guess again at the type of equation to use
>until you like the fit..  It is a time-consuming process, usually.
>
>Is there a more efficient way?

Check out the Mathserv Calculus Toolkit on Vanderbilt
University's website, at:

http://mss.math.vanderbilt.edu/~pscrooke/toolkit.shtml

Selecting "Polynomial Interpolation" brings you to a screen which
allows you to do a least-squares fit of arbitrary order to a set
of given data points.

Enter the data points, specify the order of the polynomial, click
the "FIT" button, and voila: coefficients galore.  Neat.

Dave D.

--
http://www.piclist.com#nomail Going offline? Don't AutoReply us!
email listservmitvma.mit.edu with SET PICList DIGEST in the body

Hey Lawrence,

non-linear curve fitting is not so bad as you think. The finest program
I've ever seen (and a had a lot of...) is the NLREGR v 3.4 available from
Simtel (I mean downloadable). Knowing the matter, it is very stable and
reliable. You could also some things from the Linux/GNU scene: e. g.
FUDGIT or GNUPLOT (it can also fit even if it could be fooled). The point
is at the curve fitting: one must have a good idea how the curve looks (I
mean the term of the curve) and one should guess the initial parametes (e.
g. using mean calculation or linear regression). I dealt a lot of
thermistors and other beasts (e. g. rotating valve: describe the amount of
fluid depending on the opening angle - not a nice curve I promise).

The bad news is that in most cases floating point arithmetic is needed.

I hope this helps.

Imre

PS: If you want only interpolate based on given points and you are not
interested in the formula of the WHOLE curve that is a completely
different matter. If u want things simple (but relatively good) use
Newton's divided difference method. If u want to go as precise as possible
there is only one winner: the SPQS method to be found in Netlib. However
it is a several 10k of FORTRAN code (I put it onto awk and Euphoria, too).
This tool is a bless!

On Fri, 15 Nov 2002 llileSALTONUSA.COM wrote:

{Quote hidden}

--
http://www.piclist.com#nomail Going offline? Don't AutoReply us!
email listservmitvma.mit.edu with SET PICList DIGEST in the body

Look at

http://www.mfsoft.com/equationgrapher/index.html

for an inexpensive package - it's got a free trial period. I've played with
it, and it works.

Larry

At 03:48 PM 11/16/2002 +0100, you wrote:
{Quote hidden}

--
http://www.piclist.com#nomail Going offline? Don't AutoReply us!
email listservmitvma.mit.edu with SET PICList DIGEST in the body

{Quote hidden}

Lawrence,

Nearly every bit of PIC code I have written at my current company has
included thermistor linearisation tables.  The thermitsor manufacturer will
(or at least should) supply either Beta values, or more desirably the
Steinhart-Hart constants.  From that you can create an Excel spreadsheet to
get any arbitrary resistance or temperature.

If you only have a fixed set of values, then use Excel's trend line.  Simply
right click on the trace you wish to fit a line to, and select "Add
Trendline".  You can then select what type of function to fit, linear,
polynominal, exponential, log etc.  For a thermistor, a 3rd order or better
polynominal does the job very well.  Under the "Options" tab of the trend
line menu, check the "Display equation on chart".  You can then use this
equation to obtain any arbitrary value.

http://www.betatherm.com/therm_theory.html has a very comprehensive set of
notes on the use of thermistors and the various methods of linearistaion.

Regards

Mike

--

>It's quite a complex curve, and I think curve fitting it would
>be  a long involved task (unless Excel does this automatically
>somehow? )

Excel does have an equation solver. You need to enable it in the add-in's
section to get access to it though. The little I have used it, it did seem
to be quite capable.

--

At 08:20 AM 11/18/02 +0000, you wrote:

>   You can then select what type of function to fit, linear,
>polynominal, exponential, log etc.  For a thermistor, a 3rd order or better
>polynominal does the job very well.  Under the "Options" tab of the trend
>line menu, check the "Display equation on chart".  You can then use this
>equation to obtain any arbitrary value.

You must be using the thermistor over a very narrow range, n'est pas?
(as opposed to the full usable range of the sensor)

I've found even high order polynomials a very poor way of doing R->T
conversion for thermistors. Breaking it into segments and using
a number of lower-order polynomials works, however.

Best regards,

Spehro Pefhany --"it's the network..."            "The Journey is the reward"
speffinterlog.com             Info for manufacturers: http://www.trexon.com
Embedded software/hardware/analog  Info for designers:  http://www.speff.com

--

> -----Original Message-----
> From: Spehro Pefhany [SMTP:speffINTERLOG.COM]
> Sent: Monday, November 18, 2002 1:26 PM
> To:   PICLISTmitvma.mit.edu
> Subject:      Re: [EE]:Pressure sensor confusion
>
> At 08:20 AM 11/18/02 +0000, you wrote:
>
>
> >   You can then select what type of function to fit, linear,
> >polynominal, exponential, log etc.  For a thermistor, a 3rd order or
> better
> >polynominal does the job very well.  Under the "Options" tab of the trend
> >line menu, check the "Display equation on chart".  You can then use this
> >equation to obtain any arbitrary value.
>
> You must be using the thermistor over a very narrow range, n'est pas?
> (as opposed to the full usable range of the sensor)
>
I suggested this method it as Lile had a collection of values he wanted to
interpolate.  I personaly use the Beta values provided by the manufacturer,
and yes, I do tend to use a fairly limited range.  Typicaly the operational
range would be no more than 20C to 40C, but my linearisation tables stretch
from around -10 to 95C.  Obviously the accuracy tends to suffer at the
extreme ends of the scale but that's not an issue in this instance.

> I've found even high order polynomials a very poor way of doing R->T
> conversion for thermistors. Breaking it into segments and using
> a number of lower-order polynomials works, however.
>
Certainly to use the full range of the component a single polynomial (even a
high order one) may have considerable errors.  However, if absolute accuracy
over a wide range is required, a thermistor is possibly not the best choice

Regards

Mike

--

Spehro Pefhany wrote:
> At 08:20 AM 11/18/02 +0000, you wrote:
>
>
>>   You can then select what type of function to fit, linear,
>> polynominal, exponential, log etc.  For a thermistor, a 3rd order or
>> better polynominal does the job very well.  Under the "Options" tab
>> of the trend line menu, check the "Display equation on chart".  You
>> can then use this equation to obtain any arbitrary value.
>
> You must be using the thermistor over a very narrow range, n'est pas?
> (as opposed to the full usable range of the sensor)
>
> I've found even high order polynomials a very poor way of doing R->T
> conversion for thermistors. Breaking it into segments and using
> a number of lower-order polynomials works, however.

Working with this kind of components for long, the easier way is using
table and interpolation. Works like a charm.
Polynomial formulas also work nicely, sometimes just the long math uses
more program memory than the tables, soooo....

Wagner.

--

At 11:44 AM 11/18/02 -0500, you wrote:

>Working with this kind of components for long, the easier way is using
>table and interpolation. Works like a charm.
>Polynomial formulas also work nicely, sometimes just the long math uses
>more program memory than the tables, soooo....

Yes, it really depends what you are doing. In some cases, I am
designing instruments that can accept any one of ten or fifteen
sensors, so the data compression aspects come into play.

I don't know firsthand how the 4-bit micros used in consumer thermistor
thermometers do it,  but I was told by a Japanese engineer involved with
the original joint venture to develop these that it was an equation,
rather than a simple LUT.

Best regards,

Spehro Pefhany --"it's the network..."            "The Journey is the reward"
speffinterlog.com             Info for manufacturers: http://www.trexon.com
Embedded software/hardware/analog  Info for designers:  http://www.speff.com

--

> -----Original Message-----
> From: Spehro Pefhany [SMTP:speffINTERLOG.COM]
> Sent: Monday, November 18, 2002 5:05 PM
> To:   PICLISTmitvma.mit.edu
> Subject:      Re: [EE]:Pressure sensor confusion
>
> I don't know firsthand how the 4-bit micros used in consumer thermistor
> thermometers do it,  but I was told by a Japanese engineer involved with
> the original joint venture to develop these that it was an equation,
> rather than a simple LUT.
>
They do have quite slow updates though, often 10 seconds or more.  Even at a
low frequency clock this may be enough time to do some quite complex
calculations.

Mike

--
http://www.piclist.com hint: The list server can filter out subtopics
(like ads or off topics) for you. See http://www.piclist.com/#topics

More... (looser matching)
- Last day of these posts
- In 2002 , 2003 only
- Today
- New search...