Digital Blood Pressure Monitor

EECS 373 Final Project, Fall '04

Ayan Ghosh & Shahzad Zafar




Brief Project Description:

The Purpose of our project was to convert an analog Blood pressure gauge into a digital blood pressure gauge. Using a piezoelectric mic, an electric pressure sensor, a fish tank pump and a solenoid, we were able to measure the high and low blood pressure using the MPC823 and display the readings on an LCD display.



Component Interfacing:

LCD: We used 11 test points to interface with the LCD - 8 for data and 3 for control. Meeting the timing requirements for the LCD was the most crucial factor for this component.

Piezoelectric Mic: The mic was used to detect the throbbing of blood though the arteries in the arm. Since the signal from the mic was weak, we used an LM339N op-amp to act as a 'trigger', putting out a full 5V reading to the ADC each time a heartbeat was detected by the mic.

Electric Pressure Sensor: The pressure sensor was used to dectect the air pressure in the cuff. Each time a heartbeat was dectected by the mic, the pressure in the cuff was sampled through the ADC. The reading corresponding to the first heartbeat detected was the high pressure and the that of the last heartbeat was the low pressure.

Fish Tank Pump: A simple air pump for a fish tank was used to fill the cuff with air.The pump could be turned on or off through the software. A testpoint was used to control a transistor which would turn a relay on or off. The relay in turn would turn the pump on/off.

Deflating Solenoid: A solenoid valve with an in-built pison was used to let air out of the cuff. The solenoid could also be turned on or off through the software, using a testpoint a transistor and a relay.



Difficulties:

1) Getting the LCD to work was one of our major issues. The disparity in the timing specifications in the spec sheet and various websites we used caused a lot of confusion.

2) The lack of a strong signal from the mic was another problem we faced. Intially we were sampling the signal from the mic directly through the ADC. In the end, due to a lack of good signal, we had to use the LM339N as a 'trigger' each time the mic detected a heartbeat. This made the process of detecting heartbeats a lot easier.

3) The pressure sensor gave us a voltage reading. However, converting it into mmHg (millimeters of Mercury) required some floating point calculations. However, since the MPC823 does not support floating point, we had to round off all the numbers, thus compromising on accuracy.

4) Since we were using multiple sources of power, including the 110V pump for pumping air, our circuit, initially, had a lot of power fluctuations, especially while turning the devices on or off. The transient currents and shifting ground voltages often caused surges of currents to travel back up the test points, into our EECS373 board, causing the FPGA and the MPC823 to go haywire. While we were having this problem, SingleStep probably showed us all the possible errors that are programmed into it. This in turn caused us to go haywire. The problem was solved using capacitor and diodes to limit any fluctuations of current. We also had to use a separate wall socket for the pump alone.


More Pictures: