Based on the chemistry background I have, I chose this project. Through my college days, I struggled a lot me and my colleagues in one of the most popular chemistry experiment which is "Titration". So I thought of something that could help the students and scientists in their research.
There were similar project ideas but not as the one in my mind. Also, the projects I saw didn't have any enclosure except the one showing in the adjacent picture. Here is a list of similar projects:
The main function the device will provide, is making the titration process. There are 3 modes, each mode express a different flow rate. Pick the one you want and the the titration will occur. After the endpoint become clear, you can stop the titration by click on the stop button.
Software
Fusion 360
LaserWorks
Designing
I needed to design several parts to mount or couple components with each other, in addition to designing the enclosure and holder parts.
1- Designing Servo Coupling
As first, instructor Sherif suggested to make gears for the motion mechanism between stopcock and motor but I was trying so hard to not do this. However, I designed this gears after watching this tutorial.
Anyway, I changed the mechanism so I didn't print them.
After a discussion with the instructor, I decided to go with coupling part. The importance of coupling part is to connect between Servo motor and Stopcock. The process of designing Servo coupling included three different designs and 4 fabricated trials.
1st trail
2nd trail
Last and third Trail
The holes that appears in the designs is for mounting servo using screws and nuts and the other shapes are for stopcock tap.
Designing Steps:
1- I chose the xy plane (base) to start drawing using create sketch tool.
2- By opening the sketch, I started to draw eclipsed shape with a diameter of 30mm and height of 25mm followed by a circle at the end of the eclipse shape so they intersect with each other.
3- By using trim tool from modify bar, I cut the intersected lines between eclipse and circle.
4- At the middle of the shape I started to draw a triangle with dimensions of 3mmx35mm. Then after 3mm from the top of the triangle, I drew a centered circle with a diameter of 8mm.
5- At 4mm of the triangle end, I drew another triangle 4mmx4mm (square) then I trimmed the intersecting lines. The connection between two triangles is made to be with an angle as obvious in the adjacent picture.
5- I finished the sketch then extrude the perimeter of shape to 10mm as new component.
6- The shape obtained was hollow from both sides so I created another sketch on the base of the shape and draw a triangle to cover the stopcock shape the I extruded 5mm as join.
7- I created another sketch on the face of the shape and draw at the top of it two circles with a diameter of 3.2 and separate from each other by a distance of 20mm.
8- I extrude cut both circles to 10mm.
9- Save as stl file and slice it on Cura.
2- Designing Syringe:
Designing Steps:
1- I chose the xy plane (base) to start drawing using create sketch tool.
2- By opening the sketch, I started to draw a circle with a diameter of 6.70mm.
3- I extruded the circle to 10mm height.
4- I drew a centered circle with a diameter of 44.8mm to fit with ultrasonic sensor.
5- I extruded the part to 100mm hieght.
6- I used shell tool to make it empty (hollow) from inside (1mm thickness).
7- The small cylinder and large cylinder are acombined together using combine tool.
8- Using hole tool, I made a hole in the small cylinder so it looks like syringe.
9- Save as stl file and slice it on Cura.
3- Designing Coupling part between stopcock and conical:
Designing Steps:
1- I chose the xy plane (base) to start drawing using create sketch tool.
2- By opening the sketch, I started to draw a circle with a diameter of 11.5mm.
3- I extruded the circle to 11.8mm height.
4- I drew another skitch on the surface of the previous body. Then by using offset tool, I drew another circle 5mm in diameter.
5- By extruding cut the small circle, The shape obtained.
6- Save as stl file and slice it on Cura.
4- Ultrasonic Mount:
Designing Steps:
1- I chose the xy plane (base) to start drawing using create sketch tool.
2- By opening the sketch, I started to draw a circle with a diameter of 50mm.
3- I extruded the circle to 10mm height.
4- Using shell tool (1mm thickness), I made it empty from inside.
5- I created another skitch on the surface of the previous body. Then I drew two circles with a diameter of 17mm and each center of the circle is located away from origin by 13mm.
6- By extruding cut the small circles, The shape obtained desired is obtained.
5- Mount for Conical Junction:
Designing Steps:
1- I chose the xy plane (base) to start drawing using create sketch tool.
2- By opening the sketch, I started to draw a circle with a diameter of 45mm.
3- I extruded the circle to 5mm height.
4- Using shell tool (2mm thickness), to make it empty from inside.
5- I created another sketch on the surface of the previous body. Then I drew one with a diameter of 3.5mm.
6- By extruding cut the small circle, The shape desired is obtained.
6- Enclosure:
The enclosure I made contains 6 faces and two holders, one for syringe and the other for stopcock.
Designing Steps (Face):
1- I chose the zx plane (base) to start drawing using create sketch tool.
2- I drew a central rectangle using create bar (284x100mm).
3- I added construction lines horizontally and perpendicularly to help me in drawing the t-slots with the same dimensions we took previously in the past weeks.
4- Away from 145.6 mm from the top, I drew another triangle with the dimensions of (39.9x19.9mm) to fix Servo motor in it.
5- Away from 66.4mm, I drew taps to fix syringe holder in it (20x3.2 mm)
6- I extruded this part as new component 3mm thickness.
Designing Steps (Back):
1- I chose the zx plane (base) to start drawing using create sketch tool.
2- I drew a central rectangle using create bar (330x100mm).
3- I added construction lines horizontally and perpendicularly to help me in drawing the t-slots with the same dimensions we took previously in the past weeks.
4- I extruded this part as new component 3mm thickness.
5- I added an external component (Arduino) and placed at one of the enclosure sides, then made a new sketch on the back and project the place where adapter will log into then extrude cut it.
Designing Steps (Sides):
1- I chose the zy plane (base) to start drawing using create sketch tool.
2- I drew a central rectangle using create bar (330x100mm). Followed by another small rectangle (100x43mm).
3- I added construction lines horizontally and perpendicularly to help me in drawing the t-slots with the same dimensions we took previously in the past weeks.
4- I extruded this part as new component 3mm thickness.
5- The second side has the same dimensions yet it contains a place for LCD screen and push buttons so I created a new sketch with the same dimensions of the previous side and added LCD and Push buttons dimensions then extrude the part (except LCD triangle and puch buttons triangle) to 3 mm.
Designing Steps (Base):
1- I chose the xy plane (base) to start drawing using create sketch tool.
2- I drew a central rectangle using create bar (200x105.8mm).
3- I added construction lines horizontally and perpendicularly to help me in drawing the t-slots with the same dimensions we took previously in the past weeks. Also I offset the large triangle to -4.5 mm and made it as construction lines to help me locate the triangles (taps) in the correct place.
4- I extruded this part as new component 3mm thickness.
Designing Steps (Top):
1- I chose the xy plane (base) to start drawing using create sketch tool.
2- I drew a central rectangle using create bar (100x100mm).
3- I added construction lines horizontally and perpendicularly to help me in drawing the t-slots with the same dimensions we took previously in the past weeks. Also I offset the large triangle to -4.5 mm and made it as construction lines to help me locate the triangles (taps) in the correct place.
4- I extruded this part as new component 3mm thickness.
Designing Steps (small box):
This box is for magnetic stirrer. The base of the whole device is already included in its dimensions the base of magnetic stirrer as well as sides of the device. The parts were missing are top and face of box.
For face:
1- I chose the zx plane to start drawing using create sketch tool.
2- I drew a central rectangle using creat bar (43x100mm).
3- I added construction lines horizontally and perpendicularly to help me in drawing the t-slots with the same dimensions we took previously in the past weeks.
4- Away from top of triangle by 14.5mm, I drew the taps in the two sides with dimensions of 19.5x3.2mm.
5- I extruded this part as new component 3mm thickness.
For top:
1- I chose the xy plane (base) to start drawing using create sketch tool.
2- I drew a central rectangle using creat bar (100x100mm).
3- I added construction lines horizontally and perpendicularly to help me in drawing the t-slots with the same dimensions we took previously in the past weeks.
4- I extruded this part as new component 3mm thickness.
Designing Steps (Syringe Holder):
1- I chose the xy plane (base) to start drawing using create sketch tool.
2- I drew a central rectangle using create bar (100x70mm).
3- I added construction lines horizontally and perpendicularly to help me in drawing the t-slots with the same dimensions we took previously in the past weeks.
4- I drew a circle in the middle of holder with a diameter 44.6 to fit with syringe.
5- I extruded this part as new component 3mm thickness.
Assembling the whole Enclosure
7- Magnet Holder (Complete Feature):
This part is designed to fit with yellow DC Motor so that when motor moves, this part will also move.
1- I chose the xy plane (base) to start drawing using create sketch tool.
2- I drew a central rectangle using create bar (20x35mm).
3- I drew a circle at the end of rectangle with a diameter 20mm. then I cut the intersected half circle with rectangle so this shape is obtained.
4- I drew another small rectangle (3x1.5mm) at the center of half-circle then I fillet the corners of the rectangle.
5- I extruded this part as new component 3mm thickness.
6- I created new sketch on the surface of 3D part and then project the surface and saved the new sketch as dxf file.
8- DC Motor Holder (Complete Feature):
1- I chose the xy plane (base) to start drawing using create sketch tool.
2- I drew a central rectangle using create bar (38.2x17.7mm).
3- At the end of the rectangle, I drew a t-slot.
4- I drew another small rectangle (20x21.7mm) at the center of half-circle then I fillet the corners of the rectangle.
5- Using line tool, I drew the edges around the second rectangle so it looks like a fork.
6- I extruded this part (except second rectangle) as new component 3mm thickness.
7- I created new sketch on the surface of 3D part and then project the surface and saved the new sketch as dxf file.
These are the steps I took for fabrication process:
1- Prepare dxf files. I saved the sketches I draw in fusion as a dxf. Then I converted to rdl (the actual file that laser cutting machine read). after checking that the cut speed is between 18 and 78.
2- I turned on the laser cutting machine and made sure that the two switches are on.
3- I pressed "download" from LaserWork software to download the file onto the machine then I named the file with a short name so I can recognize it on the machine.
4- I put the plywood sheet (I used sheets that I used before since my enclosure scale isn't large) on the machine and made sure it's far from the laser nozzle by a reasonable distance by using a sort of lens (to be focused).
5- I moved the laser nozzle to the origin I want by using the arrows on the machine screen then I pressed the origin button.
6- chose the file name to be cut from the machine screen then press work-frame then press start.
click her to see fabrication process
These are the steps I took for fabrication process:
1- Prepare G-code files. After slicing the part wanted to print, make sure that the temperature 215, placing it in the right orientation, and put the proper support (less as you can) in cura, I saved it as G-code file.
After the instructors check the G-code file I prepared, we started the process as follows:
2- I load the G-code file on the SD card of the instructor.
3- I chose the proper filament.
4- I cut the filament in an angular way to look sharp and I chose load from the machine screen twice until the clear white color appeared.
5- I selected the file from the SD card.
6- I checked the temperature and modified it to 215 degrees then I pressed enter to start the operation.
7- I removed the support layer by using the pliers.
Electronic Components Used
Input Components
Output Components
Software
Fritzing
I used it to wiring the whole system since Tinkercad doesn't have all the components.
Tinkercad
I used it to simulate some of the actions on the components.
Wiring System
1- Wiring two push buttons with metal servo motor (MG995):
Push buttons here are used as start and stop buttons. When the user chooses start, the servo will rotate to a certain angle and when click on stop the servo will return to zero angle.
The wiring as appear in the adjacent picture:
Push buttons: One terminal of each push button is connected to -ve side of breadboard. The other terminal is connected to digital pins 2 and 3.
Servo Motor: The GND pin of Servo is connected to -ve side of breadboard while power pin is connected to +ve terminal of breadboard. The signal pin is attached to PWM pin (5).
Breadboard: Finally, the terminals of breadboard, +ve & -ve are connected to 5V pin and GND pin of Arduino.
2- Adding LCD Screen:
LCD-I2C Wiring:
The Vcc pin is connected using male-female jumper wire with +ve terminal of breadboard.
GND pin is connected to -ve terminal of breadboard using a male-female jumper.
SDA & SCL pins are connected to A4 & A5 of Arduino using male-female jumper wires.
3- Adding Ultrasonic sensor & buzzer:
1- Buzzer: The -ve terminal of the buzzer is connected to -ve side of the breadboard using a male-male jumper wire, while the +ve terminal is connected to digital pin 8.
2- Ultrasonic Sensor: The GND pin of the ultrasonic is connected to -ve terminal of the breadboard by using a female-male jumper wire, then a male-male wire is connected from -ve column of the breadboard to GND of Arduino. While the power pin is connected to+ve terminal of breadboard using a female-male jumper wire. The trigger pin of ultrasonic is connected to pin 7 while echo is connected to 6 pin by using two female-male jumper wires.
4- Adding Bluetooth Module:
GND & power pins of buetooth module are connected to -ve terminal and +ve terminal of breadboard respectively.
TX (transmitter) pin of Bluetooth module is connected to RX (receiver) pin in Arduino UNO. While RX pin in bluetooth is connected to 560 ohm and 1kohm resistors. 560 ohm terminal is connected to TX pin in Arduino while 1kohm resistance terminal is connected to GND.
We did this because Bluetooth module can receive only 3.3V not 5V which comes from Arduino.
Complete Features:
Wiring on\off switch with DC yellow motor to make magnetic stirrer:
One terminal of on\off switch is connected to GND of breadboard and the other terminal is connected to -ve terminal of yellow DC motor.
+ve terminal of yellow DC motor is connected to +ve terminal of breadboard.
The -ve and +ve Terminals of breadboard are connected to GND pin and 5V pin in the Arduino UNO respectively.
I decided to go with permanent power source which is 5V adapter. Battery wasn't the best power source for my device since it regards as lab equipment which is used permanently.
I chose 5V since the electronic components I used need 5V or around.
1- Coding two push buttons as toggle switches:
First, I inserted Servo library and identified the servo with a name. Then I identified the two push buttons in the global as "startPin" and stopPin. Then stored values called "currentState" & "lastState" as LOW in bool function.
In Setup, I defined the pin where I attached my servo and two push buttons. I also initialized the servo angle to be in zero state.
In void loop where the main process will occur, I set if condition, so if puch button is pressed (connected to GND) the servo will rotate to a certain angle. After the Arduino check the condition, the currentState will not equal to (!=) the currentState meaning that the button is high not low and so it's toggled. do the same for stop button.
2- Adding different modes of rotating Servo Using Serial Monitor:
In the global, I identified two characters "userinput" and "mod" and give them initial value 0.
In void loop, I defined userinput to equal he serial read so the value will be entered from serial read will be userinput. Then I set if condition, if the value entered using serial monitor is 1 or 2 or 3 or 4, the userinput will be the mod.
Now if the mod is 1, it will rotate the servo to a certain angle and so on.
3- Adding LCD:
First, I downloaded the "Wire" library and "LiquidCrystal_I2C" library. I set the LCD address to 0x27 for a 16 chars and 2 line display.
Inside "void setup", I initialized the LCD using "lcd.init()" and turned on the backlight using "lcd.backlight()".
Inside "void loop", Inside if condition of each mode, I set the crusor of LCD to (1,0) row/column then I give an order to print on LCD "you chose mode x" using lcd.print("") function.
I also order to clear lcd when stop button is pressed.
4- Adding Ultrasonic, buzzer, and Bluetooth Module:
First, I identify several variables which are echo and trigger pins of the ultrasonic sensor using the "long" tool. Then I clarify the pins that trigger and echo are attached to within Arduino using the "pinMode()" tool. Then, I Set the trigger pin to "HIGH" state for 10 microseconds using "delaymicroseconds". Then the echo pin reads and returns the sound wave travel time in microseconds.
Inside "void setup", I identified the buzzer pin using "pinMode()".
Inside "void loop", I set an if condition. If ultrasonic read a distance more than 7 the buzzer will turn on and the LCD will display "REFILL!" word and inside this if condition I set another if condition which says if the pushbutton read low then clear or reset the LCD screen. If the ultrasonic didn't feel more than 7cm distance (else), the buzzer will stay off (LOW).
I did fabricated twice. The first time, the t-slots where incorrect so I couldn't combine the parts together. But, the second one went very good.
The environment in the lab was very helpful. I helped my colleagues in taking some shots and videos. Suggesting ideas that may help them. Making them using my laptop when they need and so on.
I took a lot of help too. I was facing a problem in the code and Ahmed Sami did provide a great help. Also Randa helped me in fusion to take dxf files from components not sketches by create a projects. Rashida my dear friend, we really enjoyed our time together listening to Umm Kalthoum during the work hours and she helped me in t-slots problem. Amr and Abdrahman provide their opinions when I asked them to confirm that the dimensions on my sketch as the actual stopcock and I did use Abdrahman ruler :)
There were a lot of helping and it did give me good vibes.
The instructors were really helpful. Amany, she is a supergirl and I admire her laugh. she helped me a lot in my project and morally. Great thanks to you Amany.
My instructor Sherif, thank you for the great help you provided in designing the coupling part and for all your advices.
Instructor Maha, she is really cute and helped me to get my design fabricated thanks a lot.
Lab Specialist Noha, she is truly great and provided to me ideas to design the coupling part of stopcock so I'm really glad.
Saeed, the program director, thank you for solving the LCD assembly problem.
I don't know from where to start! problems in this project is infinite!!! Literally every single step had a problem. I will try to conclude them.
First, the the servo mounting. This was actually a nightmare. I did design 3 designs on cad and fabricated around 5 designs and nothing worked even the last one where a little bit tight but Ahmed Sami suggested to place a hot surface on it to fuse some plastic and it worked. Thanks Sami!.
Second, the coding was not a piece of cake either. I had a tiny problem and all the thanks for Ahmed Sami he solved it.
Third, When the servo rotate, was not only rotate the blue tap but also the whole stopcock so I needed a part to fix the stopcock and Maha provided a great help in designing this part and fortunaitly it worked.
Forth, when I was teting the code, the ultrasonic didn't detect anything, so I first used the AVO meter to check if a current reaches him and it did so I checked the code and I figured out the was placing trigger and echo pins opposite to the ones written in the code.
Fifth, the LCD didn't fit the cut part so I used sand paper to make it fit!
Sixth, when I was testing the code, the buzzer was giving nonpermanent voice, but when I connect the circuit with adapter it worked very fine.
I want to complete my project to nice to have and I will.
DXF Files
RLD Files
STL Files
G-code Files
Arduino Code
f3z files