Project Development

18/02/2022

Project Development

Our Chemical Device:

Due to the Covid-19 pandemic, we wanted to develop a probable solution to solve the issues faced with the disinfection chamber which is the duration taken to completely disinfect takes a while thus our chemical product is aimed to disinfect humans autonomously with the shortest time possible.

To begin off, we had to plan out our schedule and how each portion would be allocated to a different person. A project Gantt chart was developed, as shown below is the project timeline:


Link to Gantt Chart

We also needed to have a BOM (Bill of Material) list for the items we needed to build this product, there are some minor changes in between but the finalized one can be found below here

Link to BOM


Design and Building Process

As shown here is our initial design and final design of the chemical device that we will be building.


Figure 1: Initial design

From the initial design, we made some changes to it. Mainly includes the pump which got replaced with a spray bottle instead and having a door at the front now in the final design.


Figure 2: Final Design


Figure 3: Design of Rotating base


Figure 4: Design for Spray Mechanism


For more detailed information do press the links below to my groupmates blog where you can find the relevant section for the design and building process.


Individual Contribution to the project:

Arduino Code (Continuous Servo)

For this project, I am mainly doing the coding of Arduino for our project with Ethan as well as the Fusion360 design for our component housing as shown in Figure 3.

For the code portion, I will be covering the code written for our rotating base which is basically a continuous servo code whereas Ethan will be writing for our Spray Bottle code which is a Servo 90 Code.

To begin off, I had to google and research for a little bit first as it is the first time I am using the 360 Degree Continuous Rotation Servo. After researching I understood a few things, the servo would not stop spinning if the servo.detach(); function is not used when paired with an Infrared Sensor. Another thing is that the FS90R servo that we are using does not have a position sensing element thus it would not be able to read the position if you coded it within the code itself but instead you can control the direction of the servo, either in the clockwise or anti-clockwise direction. To do that you can use servo.write(0); or servo.write(180); to control the direction.

I found this video below that is useful for the code:


By using the code he used I made some minor alterations and eventually came up with the code that we are going to use for our FS90R.


To explain this code, when an object is detected at the infrared sensor it will send a signal to the Continuous Servo first to wait for 2 seconds before it starts spinning for 2 seconds and then coming to a stop and when no object is detected, it will not spin at all which is not the case for Continuous Rotation Servos which is why the tap_servo.detach(); was needed so that the servo would not spin at all even though no object is being sensed.



As shown above, is a video of the code running when an object is being sensed.

To access the other servo code that Ethan will be covering do click on the link below:

Component Housing Design:

To begin off, I researched a bit about existing rotating platform designs that are on the internet when I came across this video.


From this video, the creator actually have ready-made files in Thingiverse which can be downloaded and it will be ready for 3D printing, however, we did not actually need some of the components he made, which mainly include the battery holder which we are not going to be using, thus we decided to make the ring of the component housing from scratch and I am tasked to do that portion.

To begin off, I will be using Fusion360 to create the component. Firstly create a circle of dimensions that you want, for us, we are going to be using 179mm.



Next, make an offset of 3mm to the circle that is just drawn.



Then click on the Extrude function by pressing "E" or the icon highlighted in the picture shown below. Extrude it by 34mm.



After extruding the base, we need to create 2 holes for the wires to go through. I made use of the "hole" function highlighted in red, and the settings are shown below on the right side of the picture.


After creating the hole, the ring for component housing is ready for 3D printing.


This is the video that we took while 3D printing it:


This is the finished product:




Problem and Solutions

There were 2 main problems faced while building our chemical device. Firstly, our servo was too weak to pull the spray handle down, it would either get stuck or move a little bit only. This led us to change our spray design which is covered in Leon's blog but after changing the design it did improve the spray but it still lacked torque by the servo, thus we wanted to change from the SG90 to MG90S Servo which has a higher torque of 1.8kg/cm at 5V compared to 1.3kg/cm at 5V (SG90). However, the MG90S servo that we got was faulty which might be due to the servo being bought in bulk so there will be a tendency that there are faulty ones and we were pretty "lucky" that both the MG90S servo we got was faulty.

So moving forward, we just had to stick with the SG90 where we positioned the servo on the bottle such that it still provides enough torque for the spray to actually get pressed down without the servo getting stuck in position, and we also made use of steel wires to aid in the mechanism.

Another main problem that we had was the loose USB connection on one of the Arduino Board which led to the Arduino frequently disconnecting from our circuit and causing the whole system connected to stop working all of a sudden. To fix this issue, we had to find the perfect angle to hold the Arduino Board and prevent it from disconnecting, so we went ahead and made use of a plastic bracket to elevate the Arduino Board at an angle such that the USB connection would connect well without disconnecting.


From the picture above you can actually notice that the Arduino Board is not flat to the base of the component housing, instead, it is elevated at an angle due to the plastic bracket we used at the bottom. This actually helped solve our USB disconnecting issue and our device was able to run smoothly after.


For our system integration, it was not done well as we did not take into account hiding the wires and the spray bottle. This could have been easily done if we cut out another small acrylic box to cover the bottom of our box which is where all the loose wires are found, the small acrylic box could also have covered our spray bottle. However, we were not able to hide the wires and spray bottle better due to the time constraints we had. 


As seen over here, we did try the best we could to hide the wires by using duct tape, but there are still some of the wires that are loose and not well integrated.





Our Final Product


Side view of our product


Front view of product



Demonstration of product




Link to Project Design Files

Final Prototype Design




Comments