New information:
Revised initial calibration instructions -- Oct. 5
Correction to baroCalibrate arguments -- Oct. 1
Newest Calibration Chart -- Sept. 29
Suggestions on Final Calibration
This design uses a Motorola MPX4115 Silicon Pressure Sensor, a Dallas Semiconductor DS2438 Smart Battery Monitor (to perform 1-Wire analog to digital conversion), an operational amplifier, a transistor, a voltage regulator, a diode, and several resistors and capacitors.
Construction of this circuit should not be attempted unless construction of IC circuits on project boards similar to this have been done before. It is a pains taking task.
This must be considered a work-in-progress. To date only one of these barometers has been constructed and it located at an altitude of 460 feet. It is newly constructed and is not even fully calibrated.
As more barometers are constructed feedback is requested, and improvements in the design are welcome.
For barometric pressures the MPX4115 output voltage ranges from about 4.17 to 3.72 volts at sea level, and about 3.5 to 3.04 volts at 5000 feet. This entire range is well above the active voltage range of a 5 volt opamp circuit. In effect the sensor voltage is referenced to the power supply, not ground as desired.
To allow for this large range variation yet have a reasonable gain and voltage levels, an active level changer is used. It consists of a PNP transistor amplifier and a passive voltage divider. The output if the MPX4115 is divided a small amount by R1 and R2 to get the maximum voltage to about 1.1 volts below the 5 supply volt. This puts the 2N4403 transistor into its active region. This voltage is then amplified with the 2N4403 inverting 1.5/1 gain stage, giving an overall gain of 1.29 and voltage levels referenced to ground rather than 5 volts.
This output is fed to a unity gain opamp stage, U1B, (to not load the active voltage divider) which feeds an adjustable gain opamp stage, U1A, capable of a gain range of 1/1 to 5.5/1. The 10-turn potentiometers (pots) control the gain and offset. R3 controls the gain of U1A and R4 controls the offset from ground of the output voltage.
The overall gain needed is about (3.25 - 1.25) / (4.17 - 3.72) = 4.4. The available overall gain is about 7.15 (i.e. 10K/1.8K*1.29).
The output is fed to the 1-Wire DS2438 A/D.
Note that the MPX4115 feeds R1 through a jumper. This will allow easy change of input voltage from a source than the MPX4115 for experimentation and calibration, if desired.
|
A DS2438 surface mount IC mounted on a 8-pin soldertail DIP socket of the type
shown here. How it was mounted:
|
|
| A suggested parts layout. |
|
| Top view of the constructed board. |
|
| Bottom view. Board is flipped vertically. |
The parts should be soldered to the pads at the respective locations. It is not necessary to solder all of the pins. It is easier to attach the wires if they are pushed into the pad beside the pins and then soldered. If you have a wirewrap tool it can be used to wrap the wires of transistors, resistors, capacitors, etc., but you must solder them after wrapping.
Before construction is started it is recommended that R3 be set to 6.1K. That will pre-calibrate the gain of U1A.
Download the package baroCalibrate.zip.
It contains both the source and executable Windows binary image of baroCalibrate.exe
for testing and calibration of the 1-Wire Barometer.
To test the circuit:
Before the barometer can be calibrated:
For these two absolute pressures compute the output voltage of the MPX4115 with the formula:
MPXVoltage = 5.0 * (0.009 * kPa - 0.095) or
MPXVoltage = 5.0 * (0.009 * inHg * 3.3863 - 0.095)
Call these voltages Vhi and Vlow.
Now to calibrate the barometer.
This completes the initial calibration.
Suggestions on Final Calibration
Getting your barometer accuracy calibrated will take adjustment over several cycles of barometric
pressure change.
The initial calibration will not be accurate unless your MPX4115 has the same output
vs pressure slope as the typical sensor.
I am beginning to learning about local micro-climate pressure differences. From what I have learned so far, cold high pressure mornings can give a significant pressure difference from my local airport 25 miles away. Also it would appear that a silicon pressure sensor does not have the hysteresis of mechanical barometers.
My recommendation is that you do not attempt to adjust the potentiometers of your barometer
until you create a spreadsheet of local airport pressure vs your readings, and do this for a
significant number of readings over a range of pressures. Following is my current spreadsheet
(Sept 29, 2001) with a pressure range of 0.7 inHg. I am pleased how linear it is.

Once you have those results you can use a linear trendline (regression) to find the slope of
local vs airport readings. If the trendline slope is not 1.0 use that slope to correct your gain
resistor R3.
The slope will be a multiplicitive change to the current R3 resistance. For example: my
current R3 resistance is 6.1K (as suggested above) and the slope is 1.0399. If this slope
holds when I get low pressure readings I will change R3 to 6.1K/1.0399 = 5.87K.
Before you spend too much time getting an accurate calibration you should decide what range of pressure changes you want to track and what out range of output voltage of U1A you consider satisfactory.
First we need to know the maximum possible voltage range of the MPX4115. Assuming the maximum desired pressure at sea level is 31.0 inHg, and the lowest is 3.0 inHg below the same pressure translated to 5000 feet: 22.98 inHg. These Altitude vs Pressure Chart #1 or this Altitude vs Pressure Chart #2 might be of help.
To find this MPX4115 voltage we can use the formula on the MPX4115 datasheet:
MPXVoltage = 5.0 * (0.009 * kPa - 0.095) or
MPXVoltage = 5.0 * (0.009 * inHg * 3.3863 - 0.095)
Thus the maximum voltage is: 5.0 * (0.009 * 31 * 3.3863 - 0.095) = 4.25, and
the minimum voltage is: 3.03.
A range of 4.25 to 3.03 is required to allow locations as high as 5000 feet.
Removing the jumper and feeding the level changer with a variable voltage the following information was found:
Once we find the linear range of the U1A/DS2438 combination the opamp gain can be
calculated.
Following is a graph for a barometer input voltage range of: 4.17 to 3.72 volts, and
a A/D value of 3.25 to 1.27.

The results show a very linear graph with a small standard error.
It would appear that the upper range could be extended to 3.30, or 3.40 volts.
Wrapping up the details:
Happy Construction!
Feedback Please! -- David.
This circuit is offered for noncommercial purposes only. Any other use must have prior written authorization from David W. Bray.