Intro: Handheld Spirometer
Many diseases affect thousands of people across the world every day. These include asthma and emphysema. Spirometers can be utilize to determine pulmonary function that can help diagnose ailments such as these. However, often times these can be expensive and bulky making them hard to obtain in smaller hospitals across the globe.
Our goals of this project were to...
- Measure lung capacity volume with 15% accuracy
- Plot flow over time on an easily read graph
- be operated by untrained person
Before we got started on our actual design we decided we needed to come up with some specifications and requirements that would enable us to reach our goals. There were the following:
- R1: Should be able to measure lung volume within 15% accuracy
- R2: Shall be lightweight (no more than 3 lbs)
- R3: Shall have a tube with a diameter less than 3 cm
- R4: Should be able to measure a volume of atleast 3 liters
- R5: Should display the end flow over 3 seconds on a graph
Step 1: Materials You Will Need
Materials you will need include
- 2, PVC pipes of diameter 1 inch in diameter
- 2, 1/8 inch diameter vinyl piping about 8 inches long
- 1, pantyhose square that's 2 inch by 1 inch
- 1, MPX2010DP Pressure Sensor
- 1, TL071CP op amp
- 1, INA128P op amp
- 1, 4,300 ohm resistor
- 1, 1,000 ohm resistor
- 1, 100,000 ohm resistor
- 1, 100nF capacitor
- DC Power Supply of -10V to 10V
- Tools to cut PVC pipe
- Electrical tape
- Lots of wires
Step 2: Pressure Sensor Operations
The MPX2010DP Pressure Sensor works by having two input terminals into it. The side that the user is blowing into has an increased pressure while the second insert acts as a vacuum side. The more pressure that is applied into the first side when compared to the vacuum side gives a larger output voltage from the sensor. Additionally, it will increase the voltage if there is an increased vacuum being applied to the vacuum terminal. Internally, this pressure sensor works due to a piezoresistive strain gauge. The total sensitivity of this sensor was 2.5mV/kPa. In order to incorporate it there are four pins in the bottom corresponding to ground, + output, + supply (in this case 10V) and - output.
Step 3: Create Your Physical Component
First you will need to drill two holes into the two PVC pipes that the vinyl tubing will be connected to. You can carefully do this using a drill and the holes need to be relatively close to the edge of their respective PVC pipes (we will call these sides number 2). You will need to secure the vinyl tubing in using tape or some other adhesive meant for this type of plastic.
After this you will need to stretch the panty hose over the end of one PVC 2 side and tape it using electrical tape. Once this is secure, you will need to attach the two number 2 sides of the PVC pipes together. This will also be done using electrical tape until it is fastened as one unit. Adjust for user preference*. The two vinyl tubes will then easily be able to connect the structure to the pressure sensor found the circuitry. You will need to designate one of the ends as the end you blow into. You will need to connect the vinyl tube corresponding to this side into the pressure input farthest from the 1st prong of the pressure sensor.
*We decided to put parafilm over the end that the user would be blowing into for sanitary reasons.
Step 4: Create Necessary Circuitry
You will now need to configure your circuit that is needed to both collect the signal and amplify it. Based on the pressure sensor we are using, there are four pins that correspond with ground, +10V, -Vout, and +Vout. See the attached figure above to determine which pins correspond with what. From there we input the -Vout and +Vout into our INA128P op amp input terminals. This will find the different between the two signals. Now we decided what total gain we wanted in the circuit. Sense the sensitivity is 1mV/kPascal it will produce a very small change as the pressure difference increases. Therefore, we wanted a total gain of at least 1000 so that we could read this signal in Volts and not mV to increase accuracy of our reading. Since we chose an R6 of 4.3kOhms we have created a gain of 12.6 on this part of the circuit.
Then output terminal of this op amp is then connected to a 1kOhm resistor which goes into the negative input terminal of a TL071CP op amp. There is then a resistor of value 100kOhms in parallel with a capacitor of 100nF going from the same negative input terminal to the output terminal of the op amp. This is then the final signal which is read in Labview.
Step 5: Create Your LabView Coding
Now that you have the properly amplified signal coming through it's time to interpret the data. Here we use LabView and several graph configurations to measure the volume in lung expiration. First our signal goes through a low pass filter with a cutoff frequency of less than 1 to get rid of any extra noise. Next week examine our signal and see that there is an offset of roughly 0.28V. We get rid of that voffset and then get a resting input voltage of 0V. From this point we need to convert our measurements from volts to pascals. This is done using the relationship 2.5 mV/kPa in the formula function.
Now that we have an appropriate pressure, we needed to graph the flow rate over time. This resulted from using the Hagen Poiseuille equation and solving it for Q (or flow). Once we have the appropriate values plotted out we need to convert this to volume expired from the lungs. This is done by finding the area under the graph using the integral function in LabView. We constructed dt to be 1/1000 since our sampling frequency was 1000Hz.
Step 6: Calibrate Your System
Now the equations that we used in LabView aren't perfect as they are. Since we use pantyhose, there are thousands of little holes all throughout the medium. Therefore we can't calculate a concrete "L" value that is needed in the Hagen Poiseuille equation. Therefore, we had to calibrate the system using a flow meter that we bought at the local dollar store. We measured the max air flow of a breath and then compared it to the value we obtained from a comparable breath in LabView. From there, we found values of L to make the max expiration flows match up. In the case of the picture, it was a hard expiration (but not a max one) that resulted in a peak of around 7500 ml/s.