Wednesday, September 21, 2011

DIGITAL BAROMETER

This is a digital barometer that displays barometric pressure in inches of mercury (in/Hg). The five digit green LED display has a range of 28.00 to 32.00 in/Hg and has a resolution of 0.01 in/Hg. With careful calibration, pressure accuracy is typically +/- 0.01 in/Hg as referenced to readings provided by the local National Weather Service office.

                                   The rightmost LED display is used as a pressure change indicator. When the barometric pressure is rising, the top (“a”) segment will flash. If the pressure is falling, the bottom (“d”) segment will flash. Both top and bottom segments flash when the pressure is steady. The pressure change indicator is updated once an hour. Sensitivity is approx +/- 0.015 in/Hg.

                                   In addition to displaying current barometric pressure, the highest and lowest barometric readings are tracked and stored in ram and can be displayed at any time via pushbutton. In this case, the rightmost digit indicates “H” when displaying the highest stored pressure value and “L” when displaying the lowest stored pressure value. The display then automatically reverts back to displaying the current barometric pressure.

                                   There is also a red “STORM” LED that will flash if the barometric pressure drops more than 0.10 in/Hg in two hours. It will continue to flash until the next update pressure change cycle - approximately one hour.

           A FREESCALE MC9S08QD4 MCU is used as an analog to digital converter and also is programmed to provide a bit-banged SPI for the display driver. A FREESCALE MC14489 is used to drive the LED displays. A green LED is provided to monitor the five volt supply (“SYSTEM”) and another green LED is used to monitor MCU operation (“UPDATE”). The pressure sensor is a FREESCALE MPX4200A. A zero and gain potentiometer is provided to allow for calibration.

           Power input requirements are +9VDC at 500mA.

        PCB ASSEMBLY



 
PCB LAYOUT



 


 
         BAROMETER FRONT END

          
This is the first prototype that used a PIC16F886 microcontroller and was programmed in assembly language. It had a EIA232 serial output that allowed logging the barometric pressure to a PC using HyperTerminal. The dip switches were used to set the log interval from every five minutes to every two hours.


FIRST  PROTOTYPE



This is the second prototype that used a FREESCALE MC9S08QG8 microcontroller.
I switched to a FREESCALE micro so I could program in C/C++ since I did not have a C complier for the PIC16F886 and was not about to pay for one.
The prototype also had an EIA232 serial output that allowed logging barometric pressure values to a PC using HyperTerminal. The log interval was selectable from every 5 minutes to every 2 hours. A tricolor LED(s) to the right of the display was used to indicate pressure changes. RED/Falling, GREEN/Rising, YELLOW/Steady.


SECOND PROTOTYPE

No comments:

Post a Comment