Week 1
This week in lab, we discussed multiple different
project topics that would fit under the overall theme of this engineering lab. We
finally decided on a project topic that was similar to a design idea we
had last semester in Biomedical Engineering Seminar 126. However, we had to modify our idea to make the deliverable a bit more manageable and realistic for a ten week timeline. Our original
idea was to make an oscillating seat for a wheel chair; however, after a
discussion with our technical adviser, we came to realize that this idea is a
little too ambitious for a ten week class. Therefore, we decided to create a pressure-sensing system that would
ultimately be a large component of the seat we originally had in mind.
The purpose of the pressure-sensing system is to point out the area of the body in which the pressure is concentrated and where the
highest pressure values are. Should we choose to continue and extend this project
further, we can then use this information found by the pressure-sensing system
to make that area of the seat move or “oscillate” to alleviate the pressure. Our design idea for Engineering 103 is to create a pressure sensing seat using pressure sensors and a microcontroller called
Arduino Uno.
The group met outside of class to discuss the finer details
of this project and to conduct a thorough research of the literature available discussing different aspects of the design idea (See Background Page for literature research). We also discussed the
various sensor options that we could use and we started to investigate the
programming language involved with using an Arduino processor.We decided to divide the seat cushion into eight separate regions with eight different sensors to
operate the seat. By isolating sections of the seat, we can
easily determine which area of the body is the most stressed as we receive readings from the eight areas in which we have the sensors. This isolation also ensures that we will not be getting readings of the average force that the person
is exerting on the seat, without any further information to tell us which area of the seat is getting the most pressure.
We also found out through researching pressure sensors that there
are readily manufactured analog sensors that we could make use of in the mechanical design of the seat. Making our own pressure sensors was very appealing to our budget but the sensors' quality can be jeopardized as the materials used in them would not be very durable. During our next lab period, we will need to run this idea to our technical teaching assistant to make sure that homemade pressure sensors
are usable and compatible with the processor. Also, we talked about a budget
for this project and we attempted to figure out how much money we would need to
pay out of pocket in order to purchase and acquire all the pieces needed for
this project. Studying the literature also made us also realize that we need to find a power source to power the seat and to find a way to automatically turn the pressure sensors on and off, in addition to learning the Arduino software.
We talked
to Dr. Primerano about obtaining an Arduino Uno processor. Dr. Primerano told
us to contact our lab fellows and they should be able to help us out. Hopefully,
we will have the processor and the necessary sensors ordered by our next lab
section. We have a few optional pressure sensors picked out but we need
additional help to figure out which sensors would be appropriate for this
design project since there are many different types and sizes. The sensor we need has to be compatible with the processor and able to sense the pressure range obtained from literature study at which pressure wounds and muscle deterioration
start to affect patients.
Initially we thought that we would require a LED or LCD display screen to indicate that the pressure being exerted on the seat is exceeding the limit. Then we found that most of the display screens require to use the analog inputs on the microcontroller. The problem with this is that the Arduino board had only six analog inputs and all the six inputs had to be used to connect the pressure sensors. Hence we decided to use LED lights to indicate the rise in pressure being exerted on to the seat. The main advantage of using LED lights is that it can be connected onto the digital inputs.
Week 2
During this week's lab we were able to obtain the correct Arduino
processor from our technical advisor. After that each member of the team downloaded and
installed the Arduino software. We will be using this software to
program our pressure sensing seat cushion. The teaching assistants gave us a brief tutorial
on how to use it and we discovered that the software comes with built in
sample programs that may be useful to us when we start programming our design. Early this week we did more literature research on different types of pressure sensors that can be used for our project. We also researched on preventing measures to be taken in order to avoid pressure wounds and wounds and ulcers in general to gain more background knowledge of the
subject.
Initially we thought that we would require a LED or LCD display screen to indicate that the pressure being exerted on the seat is exceeding the limit. Then we found that most of the display screens require to use the analog inputs on the microcontroller. The problem with this is that the Arduino board had only six analog inputs and all the six inputs had to be used to connect the pressure sensors. Hence we decided to use LED lights to indicate the rise in pressure being exerted on to the seat. The main advantage of using LED lights is that it can be connected onto the digital inputs.
During a brief meeting with our advisor in lab we decided to divide the seat into six separate section, where the pressure sensors would be connected. We learned that Arduino only accepts voltage inputs and it will measure the voltage applied from analog inputs. We also realized that in order to make the sensors function efficiently, the team need to research and calculate the threshold value of pressure. Eventually these threshold values will be used to program the pressure sensors.
Our next major task for the week was to find a pressure sensor that would fit our design. After meeting with the teaching assistants and
discussing our literature research with our advisor, we decided to use pneumatic
pressure sensors. The advantage of using a pneumatic pressure sensor is that it does not require an additional
power source to run it. Hence after looking at different pneumatic sensors we decided to buy Honeywell's pneumatic pressure sensor.
Honeywell's Board Mount Pressure Sensor - DIP Axial, Range Of Pressure : 0- 15psi, Max Voltage : 5V
Finally our task for next week's lab was to create a small scale prototype using Arduino UNO microcontroller, one pneumatic pressure
sensor, a LED light and a syringe. The requirement was that we need to program the Arduino UNO such that a LED would “light
up” when the pressure applied to the pressure sensor from a syringe crosses the
threshold value. surface. Hence the group met several times outside the lab in order to develop a code which would perform this task.
We made the code such that different color of LED bulb would lit up when the pressure sensed by the pressure sensor is at different levels.The above video shows the lighting up of LED bulbs when a syringe is being pressed onto the pressure sensor. The white bulb lights up for the low pressure value, the yellow for the next level, green for the next level and the red bulb lights up when the pressure exerted exceeds the maximum threshold pressure value.
Week 3
This week, the team experienced a setback. After we had
gotten our program to work and lit the LED lights, we noticed that there was
not a dramatic difference between the pressure readings before we applied
pressure and after we had delivered additional pressure using the syringe. We
discovered that the pressure sensors that we had ordered were not the correct
one that we needed. We found out that the range of the pressure sensor ended up
being too high and they only measured absolute pressure. The range for the
sensor we had measured from 0 to 15 PSI and this was a problem because the
pressure sensor took into account atmospheric pressure which is 14 PSI. Because
of this, the sensor was operating at the peak of its range which makes it
difficult for us to get an accurate reading. The changes in the pressure
readings were almost little to none and this occurred because the sensor was
measuring atmospheric pressure as well as the pressure that we were applying.
As a consequence, the original threshold value that we had
set for the Arduino processor was incorrect and we had to recalculate and
recalibrate our sensor. We found out that we needed to recalculate the
threshold value because when we applied pressure to the sensor on the first
floor of the building, the stepwise readings we received from the pressure
sensor was in the low 900s. However, when we tested the sensor in lab, which is
on the sixth floor of the building, we discovered that our sensor operated on a
908 reading as the standard and then increased to 980 when pressure was
applied. We believe that this may have occurred because the lab was located at
a higher altitude than the location that we had originally tested the circuit. Our
system went from 910 to the max reading too quickly. The stepwise reading that
the Arduino processor was giving us had indicated that we had the wrong sensor
because it indicated that the sensor was operating at the peak of its range
(the peak is at 5 volts which corresponds to a reading of 1024).
In lab this week, we had a deliverable to accomplish. We had
to manipulate the LED code into a new code that caused each individual LED to
light up according to a certain pressure value that we assign each one. The task
was easily completed. By the end of week 3 lab, it was certain that we needed a
pneumatic gauge pressure sensor that can measure both absolute and differential
pressure. Therefore, we had to search for new sensors and contact the company
to return the ones that we currently had. The correct sensor for us to buy is
called a pneumatic gauge pressure sensor and this sensor measures both differential
and absolute pressure. We recalculated the range of the sensor that we need for
a 300 pound person to sit on a 3-by-3 seat. The pressure range for each sensor
came out to be 0 PSI to 5 PSI, but we need to confirm this calculation with our
technical advisor.
The next step for our team is to obtain the correct sensors
and order them right away. Also, we need to find out the meaning of the value
outputs that the Arduino and the pressure sensor give us in the stepwise readings.
We also need to have a general setup for our seat interface design. We will
need to have multiple “balloons,” tubes, and LEDs connected the pressure sensors.
The Arduino code that we need to write is similar to the one that we had
accomplished in lab; our task is to make each of the LEDs light up according to
the specific pressure value threshold that each sensor is respectively assigned
to. Based upon the amount of pressure we apply to the system, only the LED
corresponding to that pressure value should light up.
video below shows the sample model of the pressure sensing seat cushion.
In the video above it can be seen that the LED bulbs, resistors and the pressure sensors were connected onto the breadboard. By using a breadboard, the process of connecting the different items onto the Arduino micro-controller board became simple. As seen in the video small ear syringes were connected to the pressure sensor with the help of tubes. When the syringes are pressed, the pressure would be measured by the pressure sensor connected on to it.In the sample design, three syringes connected to tubes were placed at three different positions on the seat. Then a seat cushion was placed on top of it. After doing so when a person sat on it at first the white LED lit up as the pressure being exerted by the person crossed the mentioned first threshold value. Among the white LEDs, two of them were blinking as at those positions the pressure being exerted was going up and down the threshold value. Finally when the person tilts in a particular direction, the pressure being exerted on that area increased and lit up the red LED as it crossed the second threshold pressure value.
We programmed the buzzer such that it would buzz when a constant pressure was being exerted on any of the syringe placed at different positions. We assigned the buzzer to sound after 5 seconds of constant applied pressure that was over the threshold value. In reality, this process should take much longer according to research.
Hence now our pressure sensing seat cushion was programmed in the followed manner. Whenever a person sits on the seat cushion first it would perform some initializing process and set the threshold values. Next whenever a constant pressure is exerted a LED light would lit up and also the buzzer would turn ON.
Later this week we made some changes to the setup of our design. The changes we made can be seen in the picture shown below.
Week 4
This week we got the required pressure sensor, the gauge pressure sensor. The advantage of using gauge pressure sensor is that the pressure value would be given with respect to the atmospheric pressure. Thevideo below shows the sample model of the pressure sensing seat cushion.
In the video above it can be seen that the LED bulbs, resistors and the pressure sensors were connected onto the breadboard. By using a breadboard, the process of connecting the different items onto the Arduino micro-controller board became simple. As seen in the video small ear syringes were connected to the pressure sensor with the help of tubes. When the syringes are pressed, the pressure would be measured by the pressure sensor connected on to it.In the sample design, three syringes connected to tubes were placed at three different positions on the seat. Then a seat cushion was placed on top of it. After doing so when a person sat on it at first the white LED lit up as the pressure being exerted by the person crossed the mentioned first threshold value. Among the white LEDs, two of them were blinking as at those positions the pressure being exerted was going up and down the threshold value. Finally when the person tilts in a particular direction, the pressure being exerted on that area increased and lit up the red LED as it crossed the second threshold pressure value.
Week 5
At the beginning of this week, we had completed the initial
Arduino code that will be used to run the pressure sensing system of our
seat cushion. The group had also completed the task for this week's lab, which was to show an initial prototype of our design project. As shown in the demonstration video in week 4, at present we programmed the seat cushion with three of the six pressure sensors to detect the pressure being applied on different sections of the seat when the ear syringe (otherwise known as an ear aspirator) placed at different locations compresses due to the weight of the person.
In lab this week, Dr. Swoboda discussed the importance of
taking into ethics, risks, and how to mediate the risks involved with
biomedical engineering. He emphasized the importance of ethics and fail safes
for all projects. Therefore, part of our task for next week is to do more
literature research and apply ethics to our design.
The main task assigned to the group for next week is to do minor adjustments to our written Arduino code, by combining all the components of the seat and to figure out a method by which it would be easier for the user of the seat to determine when he/she needs to change the position due to pressure build up.
The main task assigned to the group for next week is to do minor adjustments to our written Arduino code, by combining all the components of the seat and to figure out a method by which it would be easier for the user of the seat to determine when he/she needs to change the position due to pressure build up.
One suggestion we got from our teaching assistant, to improve the display setup, was to to change the display from LED lights to using a
LCD display in order to give a more professional appeal. He also suggested to change the micro-controller board to Arduino MEGA.
Finally our last task for next week was to convince our technical advisor that the pressure readings from the Arduino is the actual pressure the person exerts on the seat . To do so, we need to determine possible sources of error and calculate the percentage range of error as well.
Finally our last task for next week was to convince our technical advisor that the pressure readings from the Arduino is the actual pressure the person exerts on the seat . To do so, we need to determine possible sources of error and calculate the percentage range of error as well.
Week 6
This
week in lab, after talking to our teaching assistant we decided to drop the plan of switching to an LCD screen to
display the pressure readings.We decided to do this because in order to use a LCD screen we would also need to switch to Arduino MEGA as the UNO board has only six analog inputs .
Next we were doing some modifications to our software in order to improve the functioning of our pressure sensing seat cushion . This week the task assigned by our advisor was to complete the software of our project and also add a buzzer, to buzz when a person exerts a constant pressure.
Over the weekend, few group members got together and sewed a seat cover for the cushion with pockets on the inside to insert the nose syringes and keep them in the proper locations. Since we still need to determine the best location for each of the six syringes to be placed, we decided to staple the pockets to the seat cover until we get a chance to experiment and test it out. We also completed the software of our project. As suggested by our advisor we also added a buzzer.
Over the weekend, few group members got together and sewed a seat cover for the cushion with pockets on the inside to insert the nose syringes and keep them in the proper locations. Since we still need to determine the best location for each of the six syringes to be placed, we decided to staple the pockets to the seat cover until we get a chance to experiment and test it out. We also completed the software of our project. As suggested by our advisor we also added a buzzer.
We programmed the buzzer such that it would buzz when a constant pressure was being exerted on any of the syringe placed at different positions. We assigned the buzzer to sound after 5 seconds of constant applied pressure that was over the threshold value. In reality, this process should take much longer according to research.
Hence now our pressure sensing seat cushion was programmed in the followed manner. Whenever a person sits on the seat cushion first it would perform some initializing process and set the threshold values. Next whenever a constant pressure is exerted a LED light would lit up and also the buzzer would turn ON.
For
next week, our task is to transfer all of our LED lights to the prototype sheet
by soldering. By doing so, this cleans up the overall appearance of the
technical design. We also need to remove the staples from the seat cover and sew
the pockets once we determine where we want the syringes to be placed.
Week 7
This week, we fine-tuned our program for the seat
and made minor adjustments so that everything would function more smoothly. Our advisor checked our software and approved it. Then he suggested that it would be better to use an external power source instead of using a laptop to power our pressure sensing seat cushion.
Current setup of our project can be seen in the figure shown above. It can be seen in the picture that there are several wires connecting the breadboard on to the Arduino microcontroller board. Hence we decided to figure some way to make this connection neat. Also one other problem with this setup is that if someone by mistakenly pushes on tube connected on to the pressure sensor on the board, the pressure sensor would pop out of the bread board. Hence we also have to come up with a solution to prevent this unintended consequence.
In lab we spent rest of the time soldering the LED lights on to a prototype shield board to make everything look neater and nicer. Our task for next week is very simple because our design is nearly complete. The task is to complete soldering and transferring of LED lights to the prototype shield from the bread board. Before starting to solder our teaching assistant gave a mini lesson on how to solder, as we have not soldered before.
Current setup of our project can be seen in the figure shown above. It can be seen in the picture that there are several wires connecting the breadboard on to the Arduino microcontroller board. Hence we decided to figure some way to make this connection neat. Also one other problem with this setup is that if someone by mistakenly pushes on tube connected on to the pressure sensor on the board, the pressure sensor would pop out of the bread board. Hence we also have to come up with a solution to prevent this unintended consequence.
In lab we spent rest of the time soldering the LED lights on to a prototype shield board to make everything look neater and nicer. Our task for next week is very simple because our design is nearly complete. The task is to complete soldering and transferring of LED lights to the prototype shield from the bread board. Before starting to solder our teaching assistant gave a mini lesson on how to solder, as we have not soldered before.
Later this week we worked on preparing the rough draft of our report. We did this by splitting up our work between the group members and then compiling all the information.
Week 8
This week we in lab we completed soldering the LED lights onto the prototype shield board. The figure shown below shows the prototype shield, with the LED lights, attached to the Arduino microcontroller board.
Later this week we made some changes to the setup of our design. The changes we made can be seen in the picture shown below.
The first change made was that we attached the breadboard and the Arduino board on to a smaller wooden block. After doing so we place this in a different box. Another change we made was that, now the tubes are stuck with tape at the bottom of the block and from there the tubes are passed through hole made on the cardboard box. By doing so we could not only make our design look neat but on the other hand we could avoid the unintended consequence of pressing on the tubes and pulling the pressure sensors out of the board.
The next change we made was to permanently attach the syringe with the tube onto the seat cushion. Now we just need to connect these tubes to the tubes attached to the pressure sensors using tube connectors. The main motive of doing this was to make the transport of the cushion easier. Before we had to remove the tubes from the cushion after each lab to carry the equipment back.
Finally we also added a external power supply to run our pressure sensing seat cushion. Before we were powering our project by connecting it to a computer. Hence now by adding a 9V battery we could power it externally.
In lab, we had gotten feedback on the rough draft of
our final report that was due in week 7 and we spent our week revising the
report. Our professor said that the report was good, but we needed to revise it
so that it sounded more like a technical research report rather than a “lab
report.” What he meant by that was that we need to incorporate exact facts,
figures, charts, and numbers in the writing and then support our words with
either academic essays or our experimental results.
When we first submitted the draft, our design was
still a work in progress which had made it difficult to incorporate
experimental numbers in our paper since testing was not a viable option yet. However,
now that we have a concrete prototype made and we had worked out the small
problems in our design and we understand how to interpret the output data that
the Arduino is giving us, we can revise the report to include experimental
facts and figures.
One task that we need to work on is to create a set
of verification tests that determine the pressure inside the seat, determines
how the threshold value works and what each threshold means, and prove that we
have accurate pressure ranges and target values for our design. Verification tests
are technical tests that verify the inner workings of the mechanisms of our
design to allow the engineer to see that the prototype is functioning correctly
and the data that we get when we test the seat is valid and accurate.
One test that we could do to perform verification
testing on the pressure sensors is to determine the hydrostatic pressure of
each sensor. This is done by measuring the displacement of water in the plastic
tubing while a known amount of pressure is being applied to the sensor. This can
help us determine the accuracy of the readings that we get from the sensors. It
can also help us determine whether or not we need to account for error
percentage or fluctuations as well as if we need to take into account of delayed
response times when taking a pressure reading. After the simple technical testing
is done, we can then use a set of validation tests to let people see that the
seat functions correctly when a user uses it.
Week 9
For our prototype this week, the team performed a
few verification tests on the pressure sensors to ensure that the mechanical design
functioned correctly. The group performed a hydrostatic pressure test on the pressure
sensors in order to see if the pressure the sensor read was the actual pressure
being exerted. To perform this test, the group used a long length of flexible
tubing and connected it directly to the sensors. The flexible tubing was held
in a “U” shape and water was continuously added to one end of the tube. We needed
to be careful to make sure that water did not get accidentally pumped into the
sensor.
As water was added, we measured the water
displacement in the tube to determine the accuracy and inaccuracy of the actual
exerted pressure compared to the pressure the sensor was reading. Following the
verification tests, calculations were made convert the output values of the
Arduino into pressure values using the equation provided by the data sheet of
the pressure sensors.
The majority of the week has been used to tie up
loose ends and dedicated to working on our presentation since we present next
week. We had received feedback on the rough draft of our paper and we need to
edit the technical design section of our paper. We need to divide this section
into subcategories (mechanical design, electrical design, and software design)
for organization purposes.