Interesting sensor design problem

Feb 11, 2005 44 Replies

Ok, I am trying to do a little sensor interface design, and running into an interesting problem.



I am interfacing some of the Freescale pressure sensors to read barometric pressure. The are basically bridge devices, so I get a differential voltage on top of a offset.



Now here is my problem. I want to take the range of values for normal atmosphere, 6.68mV to 13.7mV (I am using 3Vdc) and amp that range to something like 0 to 3Vdc. So, how do I design a circuit that basically has: out = 0 for in < 6.68Vdc out = 300*Vin for 6.68mVdc < Vin < 13.6mVdc out = 3 for Vin > 13.6mVdc



I am realizing that just a simple instrumentation amplifier ain't gonna do it this time!


Charlie -- Edmondson Engineering Unique Solutions to Unusual Problems

Hi Jim, Differential is centered at 1.5Vdc. Don't mind using rail-to-rails, as this is a contest entry. I do have 5Vdc available if I really need it, but most stuff is running at 3Vdc.

So, I need to ignore the common mode offset, and also ignore part of the range of the differential. keep thinking I have to do some sort of two stage thing, like one amp that ignores the lower part of the offset, and then a second stage that ignores the upper part of the offset...

Charlie -- Edmondson Engineering Unique Solutions to Unusual Problems

Charlie,

Differential centered at +1.5V?

Rail-to-rail OpAmps?

Or is the 3VDC just the total excitation? And the power supplies available are??

...Jim Thompson

| James E.Thompson, P.E. | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona Voice:(480)460-2350 | | | E-mail Address at Website Fax:(480)460-2142 | Brass Rat | | http://www.analog-innovations.com | 1962 | I love to cook with wine. Sometimes I even put it in the food.

I refuse to provide "reverence" ;-)

...Jim Thompson

| James E.Thompson, P.E. | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona Voice:(480)460-2350 | | | E-mail Address at Website Fax:(480)460-2142 | Brass Rat | | http://www.analog-innovations.com | 1962 | I love to cook with wine. Sometimes I even put it in the food.

Just drop the resistor to +Vref and replace GND with Vref (needs to be stiff). Maximize the swing at the first stage without risking hitting the rails.

Best regards, Spehro Pefhany

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

Look at the specs. Subtraction isn't the answer.

Best Regards, Mike

A normal 3 op-amp dif-amp can shift the bridge voltage down to ground as it amplifies it. To subtract away a voltage, you need a reverence of some kind.

--/\/\/--- +Vref ! (-)---!+\ ! ! >--+-/\/\/-+--+----/\/\/--- --!-/ ! ! ! ! ! ! ! +-/\/\/-- --!-\ ! ! ! >------+--- \ --!+/ / ! \ ! / ! ! ! +-/\/\/-- ! ! ! ! --!-\ ! ! ! >--+-/\/\/----+ (+)---!+/ ! / \ / \ ! GND

-- kensmith@rahul.net forging knowledge

Hi Tony, I would prefer that it did. Was just spewing numbers to get the general idea across. Wanted to reject values outside that range, and then amp that range to my full voltage swing...

Charlie -- Edmondson Engineering Unique Solutions to Unusual Problems

Why bother with "reject"? Just negative rail for VIN13.6mV.

...Jim Thompson

| James E.Thompson, P.E. | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona Voice:(480)460-2350 | | | E-mail Address at Website Fax:(480)460-2142 | Brass Rat | | http://www.analog-innovations.com | 1962 | I love to cook with wine. Sometimes I even put it in the food.

Could you clarify the numbers?

Vout = 0V at Vin = 6.68mV. A zero offset, no prob.

300*(13.6mV - 6.68mV) = 2.076V output swing.

It doesn't reach 3V?

Tony Williams.

Why not? I just did this with :

formatting link

Thanks, Fred, That was what I was trying to get my head around. I just need to use a Vref to get rid of the lower rejection range, since the output can't go negative. And it just hits the stop at the top of the range, so who cares. I knew it shouldn't be that hard, but I have been playing too little analog recently...

The fun part is that the Freescale appnotes has a 4 opamp circuit that is supposed to do this, but whenever I try to simulate it, I just get a pegged output...

Charlie -- Edmondson Engineering Unique Solutions to Unusual Problems

Mentioning r-rs in the first place?

0

I think what was running through my mind was that subtracting a ref wouldn't work because of the excursions outside the desired output range, but I didn't see how easily an r-r would fit the bill. For that matter, you can clamp the outputs.

As for the amth, it turns out Chas. messed up the spec with an incorrect gain factor. Indeed, if you change it to 433, we can get a

0 - 3 V range over the spec'd input by subtracting 6.68 mV from the input.

But will r-r OAs mess with the accuracy near the ends of the input range? Not that we know the required accuracy... just a thought.

Best Regards, Mike

Change the gain to 433.

Best Regards, Mike

How much do they cost?

Best Regards, Mike

You want rectify the output around a reference corresponding to the output for a 6.7mV positive differential. So something like this works well if the input CM is known to be Vbatt/2 +/- a few mV:

View in a fixed-width font such as Courier.

INA122 +------------------+ | | + | |\ | V -------|--------|+\ | + - in | | >---+--|----> V =G x (V -V ) + V | ,---|-/ | | out in in ref | | |/ | | | | | | | | | | 200K | +---100K----- | G= (5 + ----) | | | RG | | | ,----|---+---25K-----+ | 3.0-1.5 | | | | | Make G= ------- =214 (957)RG | | | | 7m | | | | | '----|---+---25K ----+ | 200K | | | | RG= ---- = 957 ohms | | | | 209 | | | | | | | | | | | | Select | | | | | | |\ | | V = 1.5V-G x 6.7m=66.2mV | +-----|-\ | | ref - | | | >-- | V ------|---|-----|+/ | Then in | | |/ | + - | 100K | V = Gx(V -V )+ 1.5V-G x 6.7m | | | out in in | | | +------------------+ + - | = Gx(V -V -6.7m) + 1.5V | in in V ref 1.5V 0

Shorting RG doesn't help a bit:

View in a fixed-width font such as Courier.

INA122 +------------------+ | | + | |\ | V -------|--------|+\ | + - in | | >---+--|----> V =G x (V -V ) + V | ,---|-/ | | out in in ref | | |/ | | | | | | | | | | 200K | +---100K----- | G= (5 + ----) | | | RG | | | ,----|---+---25K-----+ | 3.0-1.5 | | | | Make G= ------- =214 (957)RG | | | 7m | | | | '----|---+---25K ----+ | 200K | | | | RG= ---- = 957 ohms | | | | 209 | | | | | | | | | | | | Select | | | | | | |\ | | V = 1.5V-G x 6.7m=66.2mV | +-----|-\ | | ref - | | | >-- | V ------|---|-----|+/ | Then in | | |/ | + - | 100K | V = Gx(V -V )+ 1.5V-G x 6.7m | | | out in in | | | +------------------+ + - | = Gx(V -V -6.7m) + 1.5V | in in V ref 1.5V 0

Now you have the output of the IA=G*(V(+)-V(-)-44/10.044K*V(+)) and this is IA=G*(Vdiff-44/10.044K*(Vcm+Vdiff/2))=G*(0.9978*Vdiff-0.004*Vcm), and G=3V/(.9978*7m)=430 -> d(IA)/d(Vcm)= 430*0.004=1.72V/V, this is a not so good sensitivity to Vcm. Compare this to the INA122 ckt with d(Vout)/d(Vcm)=840uV/V (even with the crummy R-divider Vref ckt). You would have servo 0.004*Vcm out of your classic IA.

And when you do that, you lose your offset.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required