Gas station without pumps

2012 September 1

Pressure sensing lab possibilities

I’ve been thinking about a lab in the middle of the circuits course that uses linear circuit modeling techniques to model a non-electrical system.  This is a common engineering technique, particularly for low-speed fluid flow, and so would give the bioengineers who are not interested in bioelectronics another reason for learning the material of the circuits class.

My first thought was to have two containers of water connected by a hose with pressure sensors in each:

Two reservoirs of water connected by a thin hose, with a pressure sensor near the bottom of each reservoir.

If we can induce a sinusoidal pressure variation in one reservoir, then analyzing the response in the other should allow us to characterize the hose in much the same way that we characterized the electrodes in the electrode lab.  We may want to put the pressure sensors next to the hose outlets, so that we can also do time-of-flight measurements for a single pulse traveling through the hose.

I think that the appropriate model is probably something like a large capacitor for each reservoir and a transmission line for the hose. If the characterization turns out to be fairly easy, then the lab could be extended by having the students characterize hoses of different lengths and wall stiffness (we probably want to keep a constant inside diameter, so that we can use barbed connectors for the hose).

We are looking mainly at static pressure here, not flow, so applications are mainly to very low-flow systems, like the fluidic systems of lab automation or blood pressure measurements in catheters.  Blood pressure measurement is a good application, as we are interested in the shape of the low-frequency blood pulse as well as the DC pressure.

Pressure sensors

We need to think about what pressure sensors to use and how to produce the pressure waves we’ll measure. In the robotics club, we had some success using Freescale’s MPXHZ6250A integrated pressure sensors, which are $10 each in quantities of 10. Those produce a ratiometric (that is, proportional to the supply voltage) voltage output that is linear over the range 0–250kPa (absolute pressure).  If we read them with the Arduino’s 10-bit ADC, we get a resolution of about 244Pa (1.8 mm Hg, to use the old-fashioned units that blood pressure is measured in).  That’s not really enough resolution for blood pressure measurements, and we’d need a pretty powerful excitation to make much difference in the reading, since the resolution is about 1 inch of water.

Freescale makes several other pressure sensors, with different ranges.  Their “medical” sensor, MPX2300DT1, made with biocompatible materials, is a gauge pressure sensor (which is more appropriate for our setup than an absolute sensor) and a full-scale range of 300mm Hg (40kPa).  It costs only $4.80 in quantities of 10.  The part is intended for disposable medical applications (since it makes contact with the patient’s blood), and may not be durable enough for repeated use in a lab class.

But the MPX2300DT1 is not an “integrated” sensor like the MPXZ6250A, which means that it does not contain an amplifier.  It has a piezoresistive strain-gauge bridge and a resistor network for temperature compensation and calibration, but the output is a 5 µv/V/mmHg differential signal (that is, with a 5V power supply and a maximum pressure of 300mm Hg, we’d get a 5v * 300 mm Hg * 5 µv/V/mmHg = 7.5mV output.

Students would have to use an instrumentation amplifier with a gain of 667 to make this be a full-scale reading for the Arduino ADC.  Resolution would be 0.3mmHg (39 Pa, 4mm water), which is fine for blood pressure measurements, but requires a fairly powerful excitation for characterizing the hose and reservoir system. For a circuits class, the need to design the amplifier may be a plus rather than a minus for this part.

For the lab, we don’t really need the full scale 300 mm Hg, so we could get better resolution by using a higher gain. The highest recommended gain for the INA126 instrumentation amp is 10000, which would give us 0.25V/mmHg, for a full-scale range of 20 mmHg and a resolution of 0.02 mmHg (2.6 Pa, 0.27 mm water).  That should be sensitive enough for characterizing the hose-and-reservoir system, though noise might be a problem with that high a gain.

We may also have to address the frequency response of the sensor, which has a rise time (10% to 90% of a 3oo mmHg step) of 1msec.  For the low frequencies and small scale signals we are interested in, this is probably fast enough.

Another approach to measuring pressure would be to use an electret microphone and seal it to make a hydrophone.  We can get much higher sensitivity without amplification (the CMA-4544PF-W microphone gets 10.5 mV/Pa or 1.4V/mmHg) and good high-frequency response (flat up to 3kHZ, ±4 dB up to 20kHz). I don’t know how good the DC response would be, since the mic is only has specifications down to 20Hz.  I suspect that there is a high degree of non-linearity at low frequencies, and some problems with saturation when the static pressure exceeds 400Pa (4cm water).  The biggest problem with using an electret microphone is that we’d have to make the enclosure that turns it into a hydrophone, as commercial hydrophones cost hundreds of dollars (lowest cost I’ve found is $67 for a condenser hydrophone, which has much lower sensitivity than the electret mics). Although there are DIY hydrophone instructions on the web (sealed in silicone or in an oil-filled capsule), they look like they’d add a fair amount of extra trouble to making the equipment for this lab, as well as having enormous variation in calibration.

So it looks like our best bet is to use the Freescale MPX2300DT1 pressure sensor. We’ll need to build the reservoirs for the students ahead of time, mounting the sensors on PC boards (to protect the exposed dies and wires on the back of the sensor) and gluing the PC board and the sensor to the reservoir. Making the reservoirs out of PVC pipe would probably be simplest (especially for connecting the hose barbs), but gluing on the pressure sensors may be trickier then.  I also need to think about whether the PC boards should just be breakout boards for the sensors, or whether they should include an instrumentation amp and switchable-gain op amp (like the LTC6910-1, which can use jumpers or digital input to get gains of 0,1,2,5,10,20,50,100).  My preference as a designer would be to put the amp right by the sensor, but if the students are to design the amp it should be on a different board.


Having figured out how to sense the pressure, how do we provide a pressure waveform input to characterize the system?

I’ve seen two approaches described (in the Medical Instrumentation text, if I remember right):

One uses an underwater loudspeaker to create the pressure wave from a signal generator.  This is fairly simple, and underwater speakers can be had for as little as $60 (OK for the lab if they work, but more than I want to spend out of my pocket to test the lab).  The cheap underwater speakers have very poor low-frequency response (only down to about 100Hz), which is not so great for the experiments we want to do.

The other uses a bursting rubber membrane to create a pressure step.  This is a fairly simple setup: fasten the membrane (they suggested latex from rubber gloves) over the top of the reservoir, pump in some air with a bike pump, then burst the membrane with a match or knife.  The pressure in the reservoir will drop rapidly to room pressure, and the time-domain response to the step can be recorded by the pressure sensor.  This approach allows a fairly large pressure change (up to the pressure at which the rubber membrane bursts without assistance), with very simple equipment, but only provides large-scale step response, not small-scale response to different sinusoidal inputs.

Theoretically, one could differentiate the step response to get an impulse response, then take the Fourier transform to get the transfer function of the system.  This is, in fact, a practical way to get transfer functions for real-world systems, since step inputs are fairly easy to create in many systems (geologists use explosives for that purpose, for example). I don’t know whether the Tektronix 3052 digital scopes in the lab have the FFT module installed, and I don’t know whether we want to teach all the Fourier transform theory necessary to explain how the Fourier transform of the impulse response provides the transfer function, but it is certainly something to consider.

Another approach I’ve considered is moving the entire reservoir with an external driver, eliminating the need for a waterproof speaker.  A cheap subwoofer costs under $20, and could be coupled to the reservoir either by mounting it in a PVC tube that slides over the top of the reservoir or (more precariously) by shaking the reservoir from below. One cool thing (almost certainly beyond the scope of this course), is that one could use a random excitation and take the cross correlation of the pressure signals in the two reservoirs to get the impulse response of the path between them.

It takes a fair amount of power to drive a subwoofer, so we would need an audio amplifier on the output of the function generator.  The Agilent 33120A function generator provides a 10V Peak-to-peak signal into a 50Ω load with a 50Ω output impedance, so a typical 8Ω speaker would see 2.76V peak-to-peak or about 0.98V rms, which would be only 0.12W, far less than the typical 100W limit of the speakers, and probably not enough to make much of pressure wave in the water, given the inefficient coupling from the air.

A TDA7294 100W audio amplifier chip costs about $5 and a TDA7292 40W audio amplifier costs about $3.12, but both need a bunch of external components, power supply, heat sink, … .  I might be better off getting an audio amplifier kit like the Ramsey kit CK003, which provides 7W RMS to a 4Ω load for $13, though the low frequency response is poor (it only goes down to about 40Hz).  Better may be a subwoofer amplifier like the Dayton Audio SA25, which provides 25W RMS into a 4Ω load for $36.  A woofer or subwoofer would add another $15–30, and the PVC and enclosures would probably add another $10-20.

Bottom line

Each lab setup with a subwoofer driver would cost about $60–90 in parts, plus the labor cost of building it.  Since the parts are reusable, this is an OK cost, but the lab would have to be worth the money and effort involved in building the setup.

The step response setup is much cheaper (about $10–20 in parts) and simpler to build, so I should probably investigate it first.  The downside is having to teach the rather non-intuitive Fourier transform of the derivative of the step response as the way to get the frequency response.  I’m also curious whether the step-response lab could be done with just the Arduino data logger program and some FFT software on the computer, so that the students would not need the digital scopes.  There are 12 of the digital scopes in the lab, so that may not be such a big deal for the class, but I don’t have one at home, and I’d like to do my experimentation here.


  1. […] Pressure sensing lab possibilities I mused about a lab based on modeling water in a tube using electrical circuit techniques: Two […]

    Pingback by PC board for pressure sensor « Gas station without pumps — 2012 September 3 @ 21:46 | Reply

  2. […] the pressure sensor labs, I’m thinking of building a homemade shaker table that can be driven from a function […]

    Pingback by Characterizing tactile transducer « Gas station without pumps — 2012 September 13 @ 11:34 | Reply

  3. […] the pressure sensor labs, I’ve built a homemade shaker table using a function generator to drive a Dayton Audio […]

    Pingback by New amplifier and shaker table « Gas station without pumps — 2012 September 29 @ 14:39 | Reply

  4. […] Pressure sensing lab possibilities  and PC board for pressure sensor, I outlined a lab based on modeling water in a tube using […]

    Pingback by Pressure sensor assembly « Gas station without pumps — 2012 October 16 @ 13:54 | Reply

  5. […] Pressure sensing lab possibilities […]

    Pingback by Rethinking the pressure sensor lab « Gas station without pumps — 2012 October 23 @ 17:27 | Reply

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: