The Final Report
And now, without further ado, we present a summary of our 6 week journey:
One of the most critical measurements nurses and doctors take for patients in hospitals is urine output. Urine output is the main indicator of how well a patient is recovering after surgery or after admittance into ICU. Unlike other vitals such as heart rate and blood pressure, measuring urine output is done manually. Each hour, nurses have to record the output for each patient and input the value into a database. Our goal over the course of 6 weeks was to digitize the entire procedure by creating a container that measures and outputs a patient’s hourly urine output onto an onboard monitor.
After several design iterations, we decided that the best solution was to create a container with a matrix of conducting nodes on the back (Figure 1). Since urine, or water for that matter, is a good conductor of electricity, we would be able to measure the level of liquid in the container based on which node it is touching.
The container is made up of 7 columns, each with 169 conducting nodes on the back (85 in one column, 84 in another column offset from the first, see Figure 2 for a visual description). Each of the nodes is exposed to the liquid, and the voltage difference is created along the bottom row of conducting nodes by a 9V battery. The highest node that detects a voltage determines the height of the urine.
The rows of conducting nodes in the matrix are electrically connected. Therefore, power is given to each column one at a time. The level of liquid in each column is recorded and then summed up to get the total amount of liquid in the container. We used multiplexers to check the nodes in each column one at a time and determine the highest conducting node.
The final measurements of the container were 28 cm. x 23 cm. x 4 cm. We decided to go with 7 columns because having no columns made our error margin spike to ~12 mL. However, with the 7 columns, in addition to the 169 conducting nodes, we were able to bring our error margin down to ~2.1 mL. With narrower and multiple columns, it was also easier to distance the nodes so that they would have a small amount of liquid between them.
When designing our product, we wanted to make sure it was easy for nurses to use, accurate, and cheap. We feel that our final design has all of those characteristics. Since the PCB that encompasses all of the electronics mentioned above does not touch the liquid, only the acrylic container needs to be thrown out; so although the entire product may be expensive, it is reusable and the part that is actually being thrown out is very cheap.
In order to build the product, we had to tackle three main components:
Mechanical: Laser cut the pieces of the container and waterproof the entire container, including the columns
Circuitry: Create a schematic in Eagle and send it for PCB manufacturing (see Figure 3.1 and Figure 3.2)
Software: Write the code in C to process the data and output information onto an LCD on the screen
In order to test our design, we created a single column and perforated it with 85 holes on the back (see Figure 4). We stuck wires through them and connected them to multiplexers on a breadboard. After wiring up the column and embedding a microcontroller into the system to measure the output, we started filling the column with water and checked whether the right wire was conducting and if the microcontroller was able to discern conducting from non-conducting nodes.
One of the main issues we ran into while working on the project was implementing the LCD library into our code. We had to work extensively with makefiles and understand how to include libraries that are not standard built-in C ones. In addition, we ran into many problems trying to waterproof the container. On top of the many hours we spent learning how to laser cut and operate the machines, we had to experiment with many different types of acrylic cement and aquarium glue in order to thoroughly waterproof the container. Electrically, some of the problems that we ran into were having pull-down resistors for the power pins at the bottom of each column that caused a mixture of 1’s and 0’s to be sent to the output pin. Furthermore, because the resistance of the pull-down resistors for the multiplexers’ inputs was not large enough, increasing the water level continuously added resistors in parallel, exponentially decreasing the resistance of the board. Therefore, more and more voltage dropped across the resistance of the liquid, which remained constant. In order to work around this issue, we increased the power coming into the liquid and also increased the conductivity of the liquid (which decreased the resistance of the liquid and therefore decreased the voltage drop).
After being able to invent, design, and test a deliverable in 6 weeks, we decided to continue this project at our time at Penn. Dr. Brooks and Dr. Sensenig really guided and helped us through the course of the project, and we plan on working with them in the future to implement it at the Hospital of the University of Pennsylvania.
There are still many things we can add to the project; some of the reach goals we weren’t able to get to were including a graph on the LCD and creating an iOS application that interfaces with the microcontroller through Bluetooth for nurses to get patient data immediately. We hope to include these features and refine our current solution to create an optimal product that can be used by doctors and nurses around the world.
We would like to thank the doctors for their advice and help through the process, along with Professor Mangharam and the ESE 350 TAs. We would also like to thank Pactron, inc. for their immense help with the PCB manufacturing. We hope to keep working with them as we continue with the project.