Sie sind auf Seite 1von 54

PULSE OXIMETRY: IMPROVING OUR WORLD ONE HEART BEAT AT A TIME

AN ABSTRACT SUBMITTED ON FIFTH DAY OF MAY 2009 TO THE DEPARTMENT OF BIOMEDICAL ENGINEERING IN PARTIAL FULLFILLMENT OF THE REQUIRMENTS OF THE SCHOOL OF SCIENCE AND ENGINEERING OF TULANE UNIERSITY FOR THE DEGREE OF BACHELOR OF SCIENCE IN BIOMEDICAL ENGIEERING BY

_____________________ LUCAS MARSH

APPROVED:______________ CEDRIC WALKER, PH.D.

Pulse Oximetry: Improving Our World One Heart Beat at a Time Lucas Marsh Biomedical Engineering Tulane University New Orleans, LA Advisor: Dr. Cedric Walker Engineering World Health was established back in 2001 when two professors, Dr. Malkin and Dr. Kiani, witnessed the condition of hospitals in Nicaragua. They set out to create an organization that utilizes the expertise of college engineering programs around the country to design equipment and products that would better the condition of hospitals in developing nations. Engineering World Health (EWH)expressed a need for a cheap pulse oximeter. Many third world countries need a small cheap battery powered device that provides both visual and auditory feedback of a patients heart rate. The oximeter needs to cost fewer than eight dollars to produce and it must fit into a small container that will be able to withstand a force up to 5 newtons. The oximeter will utilize an infrared Light Emitting Diode (LED) and a detector to compute the heart rate. The LED will shine light through the finger and the detector will output a voltage. This voltage will then be converted to a digital signal and the oximeter will compute the heart rate with this information. The oximeter must be able to display a heart rate varying from 30 up to 180 beats per minute and must provide a beep whenever there is a pulse. The oximeter will be built to the specifications laid out by EWH and will provide the adequate read-outs to measure the pulse. 2

Some issues that could arise during the build are that the oximeter might be over cost and also there might be issues with the oximeter being able to survive a fall. Some sources of error could occur because of a lack of power from the batteries or failure to pick up an accurate pulse. The results will be assessed by whether or not they fulfill the requirements specified by Engineering World Health.

PULSE OXIMETRY: IMPROVING OUR WORLD ONE HEART BEAT AT A TIME

A THESIS SUBMITTED ON THE FIFTH DAY OF MAY 2009 TO THE DEPARTMENT OF BIOMEDICAL ENGINEERING IN PARTIAL FULLFILLMENT OF THE REQUIRMENTS OF THE SCHOOL OF SCIENCE AND ENGINEERING OF TULANE UNIERSITY FOR THE DEGREE OF BACHELOR OF SCIENCE IN BIOMEDICAL ENGIEERING BY

_____________________ LUCAS MARSH

APPROVED:______________ CEDRIC WALKER, PH.D. 4

ACKNOWLEDGEMENTS First off I would like to thank my parents who birthed me and raised me. They also deserve thanks for putting up with me all the years that I lived at home. And of course I would not be here at Tulane without their financial support. I love you guys. I would also like to thank all my friends here at Tulane who have encouraged me through the good times and the bad. I love all you guys and I will miss you all when I graduate. I would like to thank all the teachers and professors over the years that have taught me and nurtured me. I would not be who I am without your influence. I would specifically like to thank Dr. Cedric Walker for everything he has done for me. You are my favorite professor and I have really enjoyed all of your classes. And your humor just hits the spot every time. High Noon Club Forever. Thanks to Justin Cooper for living in 441 and always being around for me to bother. Finally I would like to thank Tulane for giving me a chance to shine. Thank you for providing me a lab and almost endless resources, without your contributions this research would not have been possible. Shout out to all the BME 09 seniors. Roll Wave Roll.

TABLE OF CONTENTS Section: Abstract Title: Abstract: Thesis Title: Acknowledgements: Table of Contents: List of Tables & Figures: Introduction: Background: Blow Flow History of Pulse Oximetry Principles of Pulse Oximetry Signal Processing Microprocessors Materials and Methods Results Discussion Conclusion References Appendices Biography Page Number: 1 2 3 4 5 6 7 9 9 10 11 14 19 24 30 32 34 35 36 54

LIST OF TABLES & FIGURES Figure: 1: Circulation System 2: Light Absorption from Tissues 3: Location of LED and Detector 4: Isobestic Point 5: High Pass filter 6: Low Pass filter 7: Op-amp & Active Filter 8: Voltage Divider & Follower 9: Progression of Processing Power 10: Basic Code Flow Diagram 11: Configuration of LED and Detector 12: Schematic of Signal Condition Section 13: Pin Diagram for 3 Digit LED Display 14: Pin Diagram for 16f88 15: Detailed Code Flow Diagram 16: Original signal from phototransistor 17: Final Signal after conditioning 18: Displayed Heart vs. Actual Page Number: 10 12 12 13 15 15 16 17 19 20 23 23 24 25 26 27 27 28

INTRODUCTION Engineering World Health expressed a need for a low cost Pulse Oximeter. Pulse oximeters are one of the most commonly requested pieces of medical equipment, nearly every patient in US hospitals uses a pulse oximeter on to monitor their pulse. This is not the case in developing countries; where equipment such as pulse oximeters are difficult to find (EWH). The purpose of this project is to develop a pulse oximeter that has a total cost of $8 or less. The primary function of the oximeter will be to display the heart rate of the patient. Other functions will include an auditory beep on each pulse and a digital display showing the patients heart rate. Calculating oxygen concentration will not be a function of the oximeter Pulse Oximetry is a non-invasive way to measure a patients heart rate. A sensor is placed on a thin part of the patients anatomy, in this case the finger. On one side of the sensor lies an infrared light emitting diode (LED), on the other side lays an infrared detector. The LED shines infrared light onto the finger. While most of this light is absorbed by tissues within the body, a small portion of the light actually passes through the finger and is picked up by the detector. The detector then converts this light into an analog voltage signal. As the heart pumps blood through the body, the amount of blood within vessels will vary. Specifically, during the heart beat, a wave of blood rushes through the vessels. This increased concentration of blood will absorb more infrared light, allowing even less light to pass through to the detector. This change in blood concentration will show up in the analog output of the infrared detector. The output from the detector is then modified to a useful signal, and used to calculate the patients heart rate. The infra detector used is a phototransistor that is calibrated to pick up light in the infrared spectrum. 5 volts are applied to the phototransistor. When the transistor is not picking up any light, all 5 volts flow through the transistor. As more light is detected, the voltage that is allowed to flow through 8

decreases, such that in full light almost no voltage passes though. Recall that during each heart beat, more blood is in each vessel, thus allowing less light to pass through. The change in voltage during a heart beat is very minute, around 10 milli-volts, but still a change none the less. This voltage drop is resting on top of a 5 volt DC signal, and is also cluttered with interference. In order to create a usable signal from this output, it must be run through a series of filters. First the signal is directed through a high-pass filter, which eliminates the DC portion of the signal, as well as any voltage drop that occurs at a rate slower than a beating heart. Then the signal is passed through a low-pass filter, which eliminates any part of the signal that occurs more frequently than a beating heart. Not only do these filters eliminate unwanted noise in the signal, they also amplify the output. The final product of the signal processing is a square wave that jumps from 0 to 5 volts when the heart contracts, and then returns to 0 as the heart relaxes. The goal of this project will be to feed the signal into a microchip or Programmable Interface Controller (PIC)which calculates the heart rate and then displays it on a simple LED read-out. This entire ensemble will be housed in a small device that slips over the finger. The device will be constructed from cheap parts available almost anywhere in the world. This will keep the price low and provide hospitals all around the world with a valuable tool.

BACKGROUND Blood Flow The blood flow through the body is called circulation (Human Physiology). The heart connects the two major portions of the circulation's circuit, the systemic circulation and the pulmonary circulation. The blood vessels in the pulmonary circulation carry the blood through the lungs to pick up oxygen and get rid of carbon dioxide, while the blood vessels in the systemic circulation carry the blood throughout the rest of our body. As the heart pumps it generates pressure because the circulation system is closed loop, meaning there is nowhere for pressure to escape to. This blood pressure is defined to be the force exerted by the blood against the vessel wall. It is this pressure caused by the pumping of the heart that keeps your blood circulating. Every blood vessel in the circulatory system has its own blood pressure, which changes continually. The term blood pressure is most commonly used to refer to arterial pressure. Arterial blood pressure rises and falls in a pattern corresponding to the phases of the cycles of the heart, the cardiac cycle. When the ventricles contract, their walls squeeze the blood inside their chambers and force it into the pulmonary artery and aorta. As a result, the pressures in these arteries rise sharply. When the ventricles relax, they begin to fill with blood again to prepare for the next contraction and the arterial pressure drops. The surge of blood entering the arteries during a ventricular contraction causes the elastic walls of the arteries to swell, but the pressure drops almost immediately as the ventricle completes its contraction and the arterial walls recoil. This surge of blood is entitled the pulse and it occurs every time the heart beats (Human Physiology).

10

Figure 1: Circulation

History of Pulse Oximetry In 1864 George Gabriel Stokes discovered that hemoglobin is the carrier of oxygen in blood (Wilson). Then in 1874 Karl von Vierordt uses light to distinguish between blood that is fully saturated in oxygen and blood that is not. The first oximetry measurements were traced back to the 1930s when German scientists used spectrophotometers to research light transmission through human skin (Wilson). In 1939, German researchers reported use of an "ear oxygen meter" that used red and infrared light to compensate for changes in tissue thickness, blood content, light intensities and other variables. However, it was not until World War II that interest in oximetry took hold as there was a need to 11

evaluate oxygenation of high altitude pilots. Around that time a British researcher, Millikan, used two wavelengths of light to produce a practical, lightweight aviation ear oxygen meter for which he coined the word "oximeter" (History). In 1964, a San Francisco surgeon developed a self-calibrating, 8wavelength oximeter that was later marketed by Hewlett Packard in the 1970s. This system was used in clinical environments but was very large, weighing approximately 35 pounds and had a bulky clumsy earpiece; it also came with a large price tag of around ten thousand dollars. However, it did allow for continuous noninvasive monitoring of arterial oxygenation and heart beat. In the late 1970s, the Biox Corporation in Colorado made significant advances in pulse oximetry. They first introduced the use of Light Emitting Diodes for the red and infrared light sources (History). Through the 1980s advances were made in size, cost, and various probing sites. By 1987, the standard of care for the administration of a general anesthetic in the US included pulse oximetry. From the operating room, the use of pulse oximetry rapidly spread throughout the hospital, first in the recovery room, and then into the various intensive care units. Pulse oximetry was of particular value in the neonatal unit where the patients do not thrive with inadequate oxygenation, but also can be blinded with too much oxygen. Furthermore, obtaining an arterial blood gas from a neonatal patient is extremely difficult (History). Principles of Pulse Oximetry Pulse Oximetry is based upon the absorption of infrared light by oxygenated hemoglobin. Infrared light is within the spectrum of 850-1000nm, but oxygenated hemoglobin has a peak absorption wavelength of around 900nm (Principles). Pulse oximetry uses LED to shine infrared light through a reasonably translucent site with good blood flow, such as the finger or ear lobe. At the measuring site there light is constantly absorbed by skin, tissue, venous blood, and the arterial blood. This produces DC, or Direct Current, portion of the signal because it remains constant. With each heart beat the heart 12

contracts and there is a surge of arterial blood, which momentarily increases arterial blood volume across the measuring site (Principles). This results in more light absorption during the surge. This produces the AC, or Alternate Current, portion of the signal because it alternates with the amount of light. If light signals received at the photo detector are looked at 'as a waveform', there should be peaks with each heartbeat and troughs between heartbeats. If the light absorption at the trough (which should include all the constant absorbers, DC portion) is subtracted from the light absorption at the peak then, the resultants are the absorption characteristics due to added volume of blood only; which is arterial. Since peaks occur with each heartbeat or pulse, the term "pulse oximetry" was coined (Principles).

Figure 2: shows the various tissues that absorb light, and what causes the variable absorption levels (Principles).

Figure 3: shows the basic layout of LEDs and Detector on a finger (Principles). 13

Figure 4 shows the isobestic point, point of maximum absorption by HbO2 Signal Processing A phototransistor is used as the photo detector in this projects pulse oximeter. A transistor is a three terminal, solid state electronic device. One can control electric current or voltage between two of the terminals by applying an electric current or voltage to the third terminal. With a phototransistor the third controlling terminal is replaced by a light sensitive surface. When light hits this surface, the 14

photons dislodge electrons, these electrons then form a current. This current regulates the amount of voltage allowed to pass through the transistor. The more light that is collected, the higher the current it produces. The amount of voltage allowed through the transistor is negatively correlated to the amount of current produced by the photo terminal. More light, less voltage and vice versa. The phototransistor is what creates the wave form discussed earlier. To create the signal that will be used by the PIC, the original output from the phototransistor must be processed by some filters. These filters are created by arranging resistors and capacitors appropriately within a circuit. The first filter the signal passes through is a high-pass filter. The simplest electronic high-pass filter consists of a capacitor in series with the signal path in conjunction with a resistor in parallel with the signal path. This filter lets frequencies higher than the cut-off frequency pass through, while reducing the amplitude of frequencies that are lower than the cut-off frequency, which is defined by the letter f. This filter also eliminates the DC portion of the signal, leaving just the AC portion, or the Wave form. The signal then passes through a low-pass filter, which does the opposite of the high-pass filter. A low-pass filter allows frequencies below the cut-off frequency to pass, but reduces the amplitude of those higher than the cut-off frequency. The simplest electronic low-pass filter consists of a resistor in series with the signal path in conjunction with a capacitor in parallel with the signal path.

The cut-off frequency of any filter is determined by: Where f is in hertz, is in seconds, R is in ohms, and C is in farads. A human heart beats anywhere between 1/2-3 Hertz (30-180 BPM). Hertz is defined as number of cycles per second.

15

Figure 5: Above left shows a simple high-pass filter. Above right shows the amplitude of various frequencies passed through a high-pass filter (Bigelow).

Figure 6: Above left shows a simple low-pass filter. Above right shows the amplitude of various frequencies passed through a low-pass filter (Bigelow).

16

The filters discussed above are called passive filters and have a gain of 1. Gain is equal to the amplitude of Vout/Vin. This means that the filter cannot amplify the signal beyond its original amplitude. In order to create a usable signal these filters must amplify the 10 mv wave form to 5 volts. This can be achieved by using an active filter, which can have a gain higher than 1. To create an active filter, an operational amplifier, or op-amp, must be incorporated into each filter. An op-amp is just an amplifier, which can be integrated into circuits to achieve the outcome that is needed. Op-amps also need an external power supply so that they may amplify their output. Most op-amps either require +/-5 volts or +/- 15 volts.

Figure 7: Above left shows an op-amp symbol, the 2 pin represents the inverting input and the 3 pin represents the non-inverting input. Above middle shows an active high- pass filter. Above right shows an active low-pass filter. The gain on these filters is calculated as R1/R2. Thus a value of 100k in R1 and 100 in R2 would create a gain of 1000 (Bigelow). The final product of the signal processing is a 5 volt square wave with the frequency of the heart beat. The reason for this conditioning is to prepare the signal to be an input to a microchip, or PIC. PICs are small processors that run the same software whenever they are powered up. PICs are used in many of todays digital devices. TV remote controls are operated by PICs, as well as personal music devices such as iPods. PICs only accept digital inputs, which means it must be binary, i.e. 1s and 0s. The square wave acts as a digital signal. When the wave is at 0 volts, the input is 0, and then when the wave is at 5 17

volts, the input is 1. The PIC will count each 1 it sees within a certain time span, and then use that information to calculate the heart rate. Then the PIC will output the heart rate to a 3 digit LED screen. More on the PIC and LED next semester Since this device will be run on batteries, this presents a small problem for the op-amps. Opamps need both positive and negative power inputs, such as +5 and -5 volts. Since 4 batteries can only provide +6 volts, a false ground needs to be set up. This is accomplished by putting a voltage divider in series with a voltage follower. A voltage divider is a simple linear circuit that produces an output voltage that is a fraction of its input voltage.

Figure 8: Above left shows a voltage divider. Above middle is the formula used to calculate V out. Above right is a voltage follower (Frequency). Hence if the same resistance is used for Z1 and Z2, then Vout. Is half of Vin. If 6 volts are input into the divider, then 3 volts come out. These 3 volts are then supplied to a voltage follower. A voltage follower is another simple application of an op-amp. The signal source is input through the noninverting input and then the output is connected to the inverting input. The importance of this circuit does not come from any change in voltage, but from the input and output impedances of the op-amp. 18

The input impedance of the op-amp is very high, meaning that the input of the op-amp does not load down the source or draw any current from it. Because the output impedance of the op-amp is very low, it drives the load as if it were a perfect voltage source. This means that the output from the voltage follower acts a ground because free electrons will flow towards it. And no matter how much current is drawn from the follower, the voltage output will always remain the same. This false ground is then used for the ground on all the op-amps. +6 volts is applied to positive power input and the true ground is applied to the negative power input. So now each op-amp sees +/- 3 volts. Micro-processing The final product of the signal processing is a 5 volt square wave with the frequency of the heart beat. The reason for this conditioning is to prepare the signal to be an input to a microchip, or PIC. PICs are small processors that run the same software whenever they are powered up. PICs are used in many of todays digital devices. TV remote controls are operated by PICs, as well as personal music devices such as iPods. PICs only accept digital inputs, which means it must be binary, i.e. 1s and 0s. The square wave acts as a digital signal. When the wave is at 0 volts, the input is 0, and then when the wave is at 5 volts, the input is 1. The PIC will count each 1 it sees within a certain time span, and then use that information to calculate the heart rate. Then the PIC will output the heart rate to a 3 digit LED screen. A microprocessor is defined as a complete computation engine that is fabricated on a single chip. Microprocessors are also known as the CPU. The first microprocessor was introduced in 1971 and was the Intel 4004. The 4004 only had 4 bits of memory. Bit is short for Binary digIT, so the 4004 could only store 4 1s or 0s. A byte is equal to 8 bits. The decimal number system uses a base of 10. The first digit is 10^0, 2nd digit is 10^1 and so on. Binary number system uses base 2, so the first digit is 2^0, 2nd digit is 2^1 and so on.

19

0= 1=

0 1

7 = 111 8 = 1000 9 = 1001 10 = 1010 11 = 1011 12 = 1100 13 = 1101

14 = 1110 15 = 1111 16 = 10000 17 = 10001 18 = 10010 19 = 10011 20 = 10100

2 = 10 3 = 11 4 = 100 5 = 101 6 = 110

Computers and electronics use the binary system because it is easy to tie into electricity, such that high is equal to a 1 and low is equal to a 0. Prior to microprocessors, electronics were comprised of hundreds or even thousands of transistors wired together to form the logic that one microchip can simulate. The first microprocessor to make it into the home computer was the 8088. This processor had the equivalent 29,000 transistors and could compute around 650,000 instructions per second, MIPS. Since the 8088, processors have only become faster. The Pentium 4 has nearly 125 million transistors embedded in the chip and can computer nearly 7 billion instructions per second (Brain).

20

Figure 9: Progression of processing power Specifically, this design incorporates a PIC, or "Peripheral Interface Controller". These processors are produced by the Microchip Company and are perfect for this design because they are cheap and have wide availability. The specific model used is the 16f88, which contains an 8 bit processor and 256 bytes of memory. (microchip). The 16f88 has 18 pins, 16 of which can be used for input and output. Another beneficial aspect of using a PIC is that it uses assembly level code, instead of a high level programming language such as JAVA or C++. Assembly level, or low level code, is basically 21

instructions directly to the hardware, whereas higher level languages need to be translated by another program before it is usable by the hardware. This direct relationship between code and hardware allows for an increase in speed at which the program is executed since it does not have to be translated (Milo). Code Breakdown

Figure 10: Basic code flow chart The code used to calculate heart rate uses an interrupt. An interrupt is a signal indicating the need for attention or a change in execution. Interrupts are used to avoid wasting time polling for a specific input. Polling, or busy-waiting, is the active sampling of an external device waiting for a specific 22

input, such as waiting for a high signal to be seen on an input line. Instead of waiting for the PIC to see 4 high pulses, then react, the code uses this time to do other tasks. When the PIC sees the 4th high pulse, it interrupts. The interrupt pauses the code, and jumps to the interrupt segment, which then deals with the interrupt. After the interrupt has been dealt with, the code then returns to where it was in the program right before the instant it was interrupted, then continues on its way. This saves time as the code does not have to be continually watching for the 4th high pulse and actually increases timing accuracy. Another structure used by the code is a lookup table. A lookup table is a list of values that are retrievable by the code. The values are located in their own row, numbered 1 to the number of values. The code takes a specified value and then jumps to that number row on the lookup table. Say the number was 5, the code would jump to row 5 and then return the value located in the row. This is useful because it can save lots of code and time. Instead of having to do calculations, which can get very complicated with the limited commands available, the user can do the calculations and then put the various different outcomes into the lookup table. Thus for each input, the code will jump to the specific output associated with it. This is how the heart rate is calculated by the code. See appendix for complete breakdown of assembly level commands.

23

MATERIALS AND METHODS Materials Needed: 12 20 Resistor 1 510 Resistor 1 1k Resistor 2 10k Resistor 1 20k Resistor 1 51k Resistor 1 100k Resistor 1 16f88 1 3 Digit LED Display Various lengths of wire 1 1 F Capacitor 1 33F Capacitor 1 150F Capacitor 1 880nm LED, 100mAmps 1 Silicon Phototransistor 875nm 3 MCP601 8pin Op-amps inch heater hose

The assembly of the pulse oximeter starts by cutting the heater hose in a 3in long piece. Then about an inch in on one side drill a hole through both walls of the hose, ensuring that both holes align with each other. Then place the infrared LED through one hole and the phototransistor through the other. Make sure the LED is pointing directly at the phototransistor so that they are perfectly lined up.

24

Figure 11: Configuration of LED and Detector When connecting the Op-amps, connect the positive power pin to +5 volts and the negative power pin to true ground. Connect the output to an oscilloscope to view the waveform. Then connect the 3 Digit LED and 16f88 as they are shown below.

25

Figure 12: Schematic of Signal Processing Circuit

26

Figure 13: Pin diagram for 3 Digit LED display

27

Figure 14: Pin diagram for 16f88 Connect the output from the signal processing circuit to pin RBO on the PIC. Place a 1000 resistor between RA5 and +5. Also connect a normally open switch between ground and RA5; this is to act as a reset button. Then connect the following pins from the PIC to the LED display with a 200 resistor in between: 28

RB1 => Pin8 RB2 => Pin9

RB4 => Pin12 RA0=> Pin11

RA1=> Pin7 RA2=> Pin4

RA3 => Pin2 RA4=>Pin1

RA6=>Pin10 RA7=>Pin5

Then using MPLAB build the code and then write it to the PIC. The complete code is available in the appendix. A flow chart of the code used is below:

Figure 15: Detailed flow chart of code

29

RESULTS Oscilloscope readout of the signal directly from the phototransistor:

Figure 16: This is a very messy and noisy signal. The voltage drop due to the heart beat is around 10 mV and is mixed in within this signal. After running this signal through the filters it should clean up nicely:

30

Figure 17: Its important to notice that the resulting wave is a crisp clean square wave from 0-5 volts, this is the perfect digital input needed for the PIC. The PIC input was attached to a function generator and a square wave was applied of frequency between 30 BPM to 180 BPM. The results are shown below:

Figure 18: Graph of Displayed Heart Rate vs. Actual

As shown, the accuracy of the device is within 3 BPM up to 120 BPM. Once there, the accuracy drops a little, but is still within 7 BPM at most.

31

DISCUSSION The results from the signal conditioning were exactly as anticipated. The design shows similar results to other pulse oximetry research. The original signal from the phototransistor was around 10mV peak to peak. A report from Texas Instruments shows a similar signal received from their photodiode. The signal output was described as a small AC component (around 10mV pk-pk). In the Texas Instruments design they also encountered interference from outside sources. Their signal was then run through a similar series of filters to receive the desired output before use with their PIC (Chan). Another project undertaken by students from Duke University shows similar results. The signal they received from their photodiode was around 20mV peak to peak. They then attempted to process the signal with various filters, but were unable to achieve their desired result (Bonazza). Judging from the results of other similar designs, this design seems to be right on track to completion. The PIC program has been written and is functioning properly. Some issues with the program are that the reading can sometimes be incorrect if the input signal is not a clean square wave. Apart from taking a couple months to polish, the code seems to be working great. One area of concern is the device seems to be very sensitive to patient movement. It is unable to extract a usable signal if the patient is moving. Also the device seems to have trouble finding a signal if the patient is breathing heavily. This shouldnt be an issue assuming the patient is told to remain still and calm during the sampling period. Overall the project has produced high quality results and has not suffered any setbacks. Engineering World Health expressed the need that the total design cost less than $8 . Below is a discussion of cost: 32

The total cost of the prototype pulse oximeter, without batteries, is $9.48, less than a $1.50 more than the desired cost. If at least 100 units were produced then the cost per unit of the pulse oximeter could be reduced to fewer than the required $8 dollars without batteries. This is exactly what Engineering World Health was looking for, so I believe this design to a success. There is no other device currently on the market that can measure heart rate for fewer than 8 dollars.

33

CONCLUSION The signal output from the conditioning portion of the device is exactly as needed. This allows for proper transfer of the signal to a PIC and the calculation of heart rate. The heart rate displayed is within the acceptable range of accuracy. As requested by Engineering World Health, the total cost of the pulse oximeter less than eight dollars. Combined with the fact that it is constructed with easily accessible materials means this project is a success.

34

REFERENCES
Bigelow, Ken. "High Pass Filters." Play Hookey. 2007. Play Hookey. 11 Dec 2008 <http://www.playhookey.com/ac_theory/hi_pass_filters.html>.

Bonazza, Nicholas and Ryan Dobbertien and Ruben De Alba. Heart Rate Monitor Final Design Document. BME 261/262Design for the Developing World. December 6, 2007

Brain, Marshall. "How Microprocessors Work." 01 April 2000. HowStuffWorks.com. <http://computer.howstuffworks.com/microprocessor.htm>

Chan, Vincent and Steve Underwood. "A Single-Chip Pulse oximeter Design Using the MSP430." MSP430 Products November 2005 1-11. 15/10/2008 .

Engineering World Health. Design Topics. Oct 11, 2008. http://ewh.org/youth/design_projects.php

"Frequency Response to Filters." Introduction to Filters. Swarthmore University. 13 Dec 2008 <http://www.swarthmore.edu/NatSci/echeeve1/Ref/FilterBkgrnd/Filters.html>.

"History of Oximetry." Oximetry.org. September 10, 2002. Oximetry.org. 13 Dec 2008 <http://www.oximetry.org/pulseox/history.htm>.

"Human Physiology in Space." National Space Biomedical Research Institute. 12 Dec 2008 <http://www.nsbri.org/HumanPhysSpace/focus2/heart-circulation.html>.

Milo, "Introduction to Assembly Language." OSDate. 31/03/2004. OSData.com. 1 May 2009 <http://www.osdata.com/topic/language/asm/asmintro.htm>.

"Principles of Oximetry." Oximetry.org. September 10, 2002. Oximetry.org. 13 Dec 2008 <http://www.oximetry.org/pulseox/principles.htm>.

Wilson, Peter. "Oximeters." Portable Oxygen. 2005. Portable Oxygen. 11 Dec 2008 <http://www.portableoxygen.org/pulseoxone.html>.

35

APPENDICES CODE: ;-----[ Robot Controller ]----list processor include ;-----[ Definitions ]----cblock H'20' Time Counter Digit1 Digit3 Digit2 endc org goto 00 p=16f88 PIC16f88 <p16f88.inc>

Initialize org goto 04 Int_Routine ; Here if interrupt occurs ; Proceed to interrupt routine ;beginning of main program

org

0040

;-----[ Initialization ]-----

;-----[ Subroutines ]---------

;---------[ Interrupt Service Routine]---------Int_Routine bcf bsf PIR1,2 INTCON,7 ;clear peripjheral interrupt flag ; allow interruptws 36

clrf clrf goto retfie

TMR1H TMR1L BPM ;find the BPM!!!

; clear timer1 high and low

;--------LOOK UP TABLES---------Table1 addwf PCL goto retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw Main B'01000011' B'00010010' B'10000000' B'00000000' B'11011000' B'00000000' B'10000000' B'01010000' B'11011000' B'11011001' B'00000010' B'11011001' B'11011000' B'01010000' B'10000000' B'11011000' B'00011001' B'11011001' B'00010000' 37

retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw

B'00000010' B'00011001' B'01000100' B'10000000' B'00000000' B'00000010' B'00010010' B'01010000' B'01000100' B'11011001' B'00010000' B'00000000' B'11011000' B'00000010' B'00010010' B'00011001' B'01010000' B'01000100' B'11011001' B'10000000' B'00010000' B'00000000' B'00000000' B'11011000' B'00000010' B'00000010' B'00010010' 38

retlw retlw retlw retlw retlw retlw retlw retlw retlw Table2

B'00011001' B'00011001' B'01010000' B'01010000' B'01000100' B'11011001' B'11011001' B'10000000' B'10000000'

addwf PCL goto retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw Main B'00010000' B'11011000' B'00000010' B'00011001' B'01010000' B'01000100' B'01000100' B'11011001' B'10000000' B'10000000' B'00010000' B'00010000' B'00000000' B'00000000' B'00000000' 39

retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw

B'11011000' B'11011000' B'11011000' B'00000010' B'00000010' B'00000010' B'00000010' B'00000010' B'00010010' B'00010010' B'00010010' B'00010010' B'00010010' B'00010010' B'00011001' B'00011001' B'00011001' B'00011001' B'00011001' B'00011001' B'00011001' B'00011001' B'00011001' B'00011001' B'01010000' B'01010000' B'01010000' 40

retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw Table3

B'01010000' B'01010000' B'01010000' B'01010000' B'01010000' B'01010000' B'01010000' B'01010000' B'01010000' B'01010000' B'01010000' B'01010000'

addwf PCL goto retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw Main B'11011001' B'11011001' B'11011001' B'11011001' B'11011001' B'11011001' B'11011001' B'11011001' B'11011001' B'11011001' B'11111111' B'11111111' 41

retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw

B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' 42

retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw BPM2 movf clrf bsf

B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111' B'11111111'

CCPR1H,0 PORTB PORTB,1

; ignore bpm2/3

movwf PORTA goto BPM3 movlw B'11011001' movwf Digit1 movwf Digit2 43 BPM2

movlw B'11111111' movwf Digit3 goto LED_FLASH movlw B'00011110' movwf PORTB movlw B'00000000' movwf PORTA call Delay ;flash 888 until interupted Display

movlw B'00000000' movwf PORTB call goto Delay LED_FLASH

Display clrf bsf movf Digit1,0 PORTB ;this is multiplexing for the 3 digit LED PORTB,1 ; displays lsd

movwf PORTA call bcf bsf movf Digit2,0 Delay2 PORTB,1 PORTB,2 ;displays middle digit

movwf PORTA call bcf bsf Delay2 PORTB,2 PORTB,4 ;displays msd 44

movf

Digit3,0

movwf PORTA call goto Delay2 Display

;--------[ Main Program Loop]--------Main clrf clrf bcf bsf goto TMR1L TMR1H PIR1,2 T1CON,0 LED_FLASH ;ckear periphareal interrupt flag ;start tmr1 ;clear tmr1 low and high

;gonna put some LED junk in here BPM movlw B'00001000' subwf CCPR1H,0 ;take value from ccpr1h and subract off an amount, so that the smallest value in ccpr1h would result in 1, for the lookup table movwf Time call significant digit movwf Digit1 movf digits call Table2 Time,0 ;move this value in digit 1 variable ;recall the value, and continue on with all the Table1 ;move the calculated value to variable ; call lookup table 1, this is for the least

movwf Digit2 movf call Time,0 Table3

movwf Digit3 goto Display ;display obtained values 45

Initialize bsf STATUS,5 ; Bank1 ; PORTB: port 0 = input from ccpm1 ; port 1-7 output to LED

movlw B'00000001' movwf TRISB movlw B'00000000' movwf TRISA movlw B'00000000' movwf ANSEL bsf bsf bsf bsf bcf OSCCON, 3 INTCON,7 INTCON,6 PIE1,2 STATUS,5

; PORTA: port 0-7 output to LED ; ; make all digital

;system run off internal RC

; set global interupt enable ; enables ccpm1 interrupt

movlw B'00100000' movwf T1CON movlw B'00000110' movwf CCP1CON goto Delay Main

;sets tmr1 speed ; config tmr1`

; set to interupt on 4th rising edge

movlw H'FF' movwf Counter DelayLoop

46

decfsz Counter,F

goto return Delay2

DelayLoop

movlw B'00010000' movwf Counter goto 16f88 Instruction Set DelayLoop

47

48

49

50

51

52

53

Biography

Lucas Marsh is a Senior Biomedical Engineer at Tulane University. He hails from the great nation of Texas where he resides in the beautiful city of Austin. In his free time he enjoys eating, sleeping and spending time with friends and family. After graduation Lucas plans to travel and eventually settle down and find a job.

Education:

Bachelors of Science in Biomedical Engineering Minor in Business Tulane University New Orleans, Louisiana Expected date of graduation: May 2009 GPA 3.1/4 May 2008-August 2008, Intern Austin Water Utility: Maps and Records Synchronized field records of water intersections with The master online grid. August 2006-Present, Assistant Manager Tulane Mail Operations: New Orleans, LA Receive Packages from couriers, Scan packages into the Network, Deal with spoiled students and their parents Summer 2005-2007, Activity Specialist City of Austin: Parks and Recreation Dept. Worked as a counselor for a Summer Camp and Afterschool care program. Organized games and activities to entertain the children. May 2003-May 2005, Customer Service HEB Grocery: Austin, Texas Assisted customers with their grocery needs. Stocked shelves, performed maintenance, checked customers out

Employment:

Activities/: Honors

Distinguished Honors Scholarship, Green Wave Ambassadors, Intramural Racquetball, Biomedical Engineering Honor Society

54

Das könnte Ihnen auch gefallen