Overarching Goals and Challenges
Throughout the duration of this project, there were certain features that the mechanical subteam realized early on were vital for HennaBot to include. These were in line with the goals the team as a whole decided on (expanded upon in more detail here):
The process we went through in order to address these challenges was iterative, allowing us to learn from each step and improve upon each area continuously. We had three major iterations, all two-three week-long periods of time in which we set certain goals for ourselves and evaluated our progress on them at the end of the sprints.
- A user can choose/create designs
- HennaBot will take the design and draw it on a hand
- HennaBot can be used multiple times
- The experience is enjoyable for users
The process we went through in order to address these challenges was iterative, allowing us to learn from each step and improve upon each area continuously. We had three major iterations, all two-three week-long periods of time in which we set certain goals for ourselves and evaluated our progress on them at the end of the sprints.
Our Final Product
Our final product is a sleek, 18"x15"16" machine that has the capability to successfully take an inputted design and draw it onto a hand. Through countless ideation meetings, CAD simulations, and building sessions, described further below in 'Iteration One' and 'Iteration Two', we ended our project having met all our earlier challenges.
Versatile.
We decided early on in our project to use a gantry system, thinking it would be simplest way to interface with the software, turning the henna design into X- and Y-coordinates that could be easily accessed with a gantry. This is present in our current model; the gantry is composed of two Y - axis timing belts, turning in synchronization to provide stability for the X-axis movement, and an X-axis that holds the housing for the henna applicator.
In terms of the henna applicator, we use a lead screw attached to a motor on the backboard which pushes wire down on the syringe plunger to extrude henna. We have this motion push the henna remotely in order to lessen the weight and objects that would otherwise have to be placed on the applicator housing. The applicator also moves up and down on another lead screw, which allows us to account for variability in the height of a user's hand, so we can print on the tilting surface of the outside of a hand, as well as large and small hands.
Accommodating.
Each piece on the gantry and overall housing has been tested and redesigned multiple times in order to ensure they are optimally placed, and that the print area of the syringe is large enough for printing anywhere from on a 2"x2" square to an 11"x11" square, shown in the diagram to the right. Along with that, we mounted a webcam directly above the print area that can calibrate the print job according to the hand size. This is discussed in greater detail here.
Robust.
To ensure that HennaBot can be used frequently without having to continuously replace the parts, we looked at existing 3D-printers for inspiration and to gauge which pieces required the most strength and bore the majority of the load. As such, we purchased parts such as case-hardened linear shafts and linear ball bushings rather than fabricating them, because they are apt to wear down over time, and gantries require smooth movement so compromising quality in this instance would not be advisable. Along the same lines, we initially used 3D-printed pulleys everywhere but on the motors, but we decided to switch to fabricated ones for some of them, because they were in places that were heavily tensioned due to the timing belts, and 3D-printed pulleys break significantly more easily.
In terms of the motors, we chose NEMA 17 stepper motors for the gantry because we observed that a majority of 3D-printers and similar machines tended to work well with them, and stepper motors are fairly easy to code and durable. We used Vigor DC motors for the Z-axis and extrusion because their functions did not require dealing with large amounts of torque or tension, and they were cheap and readily available in case of a failure.
A significant portion of mechanical design was also accounting for all the wiring and circuitry, and placing them in areas where they would be accessible but not intrusive, and could be taken out simply and quickly. We put the bulk of the electronics in a box behind the backboard, which is heavily ventilated to prevent the circuits from overheating. The wiring and tubing all leads to the backboard as well, and are all placed in heat shrink tubing and zip-tied out of the way of the moving gantry.
Enjoyable.
A large part of creating HennaBot was modelling our applicator to be similar to the way a person applies henna, so we angled our applicator in order to apply henna smoothly. Additionally, we did not want the syringe to move down too far and poke the user, so we utilized an IR sensor to stop the Z-axis movement before it moves too close to the user's hand. We go into more detail about this here.
Finally, we want HennaBot to be comfortable for the user to place their hand in, so the bottom is covered in a felt material, with soft Velcro straps to keep their hand loosely in place. This is also largely the reason why we placed the gantry so much higher than a hand is, to reduce the feeling of claustrophobia.
Versatile.
We decided early on in our project to use a gantry system, thinking it would be simplest way to interface with the software, turning the henna design into X- and Y-coordinates that could be easily accessed with a gantry. This is present in our current model; the gantry is composed of two Y - axis timing belts, turning in synchronization to provide stability for the X-axis movement, and an X-axis that holds the housing for the henna applicator.
In terms of the henna applicator, we use a lead screw attached to a motor on the backboard which pushes wire down on the syringe plunger to extrude henna. We have this motion push the henna remotely in order to lessen the weight and objects that would otherwise have to be placed on the applicator housing. The applicator also moves up and down on another lead screw, which allows us to account for variability in the height of a user's hand, so we can print on the tilting surface of the outside of a hand, as well as large and small hands.
Accommodating.
Each piece on the gantry and overall housing has been tested and redesigned multiple times in order to ensure they are optimally placed, and that the print area of the syringe is large enough for printing anywhere from on a 2"x2" square to an 11"x11" square, shown in the diagram to the right. Along with that, we mounted a webcam directly above the print area that can calibrate the print job according to the hand size. This is discussed in greater detail here.
Robust.
To ensure that HennaBot can be used frequently without having to continuously replace the parts, we looked at existing 3D-printers for inspiration and to gauge which pieces required the most strength and bore the majority of the load. As such, we purchased parts such as case-hardened linear shafts and linear ball bushings rather than fabricating them, because they are apt to wear down over time, and gantries require smooth movement so compromising quality in this instance would not be advisable. Along the same lines, we initially used 3D-printed pulleys everywhere but on the motors, but we decided to switch to fabricated ones for some of them, because they were in places that were heavily tensioned due to the timing belts, and 3D-printed pulleys break significantly more easily.
In terms of the motors, we chose NEMA 17 stepper motors for the gantry because we observed that a majority of 3D-printers and similar machines tended to work well with them, and stepper motors are fairly easy to code and durable. We used Vigor DC motors for the Z-axis and extrusion because their functions did not require dealing with large amounts of torque or tension, and they were cheap and readily available in case of a failure.
A significant portion of mechanical design was also accounting for all the wiring and circuitry, and placing them in areas where they would be accessible but not intrusive, and could be taken out simply and quickly. We put the bulk of the electronics in a box behind the backboard, which is heavily ventilated to prevent the circuits from overheating. The wiring and tubing all leads to the backboard as well, and are all placed in heat shrink tubing and zip-tied out of the way of the moving gantry.
Enjoyable.
A large part of creating HennaBot was modelling our applicator to be similar to the way a person applies henna, so we angled our applicator in order to apply henna smoothly. Additionally, we did not want the syringe to move down too far and poke the user, so we utilized an IR sensor to stop the Z-axis movement before it moves too close to the user's hand. We go into more detail about this here.
Finally, we want HennaBot to be comfortable for the user to place their hand in, so the bottom is covered in a felt material, with soft Velcro straps to keep their hand loosely in place. This is also largely the reason why we placed the gantry so much higher than a hand is, to reduce the feeling of claustrophobia.
Final Model
CAD Renders of the Final Model
Second Iteration
For the second iteration, the major tasks we focused on were as follows, in order of importance:
To address the first three issues, our team decided on 3D-printing our own designs, rather than buying preexisting housings, in order to have pieces that solved problems specific to our project.
The casings for the ball bushings (a CAD of one of the pieces is shown to the right) not only included inner walls to enclose the bushings perfectly, but holes to affix the shaft supports in between the bushings as well. Along with this, we included the method for keeping the timing belts taut by cutting through the top of the piece so we could keep the belt there through a simple press-fit. This method worked well, so we decided to keep this and see how it would hold up in further tests. We also included a mount for the X-axis pulley on the right-side Y-axis casing, which we iterated through to ensure it was perfectly in line with the pulley on the motor.
The motor mount was developed similarly to the ball bushings casings, but was intended to be held in one place rather than slide. This ended up working well until the belt was tensioned, when it slowly began sliding inwards. At the end of this sprint, we were still deliberating whether to redesign the piece or put rubber tape in between the mount and linear shafts in order to increase the friction.
The Z axis and henna extrusion were not the priority of this sprint. However, in order to address the additional vertical motion caused by the lead screw, we experimented with a pneumatic extrusion system. The plan was to use a compressor to provide pressure, whose magnitude would be controlled by a regulator. A solenoid valve would control when this pressure would push the plunger down. This could have potentially removed the extruding mechanisms from the applicator housing entirely. However, early trials with the system were extremely finicky. Additionally, in order to achieve the pressure seal necessary to extrude, the tubing would have to be attached permanently to the syringe applicator pen, and the plunger could never be reset to the top. HennaBot with a pneumatic extrusion was simply unable to meet our overarching goals.
An unanticipated obstacle that came up during testing in this sprint was that when the motors are run, the entire gantry system vibrates. This was especially amplified in the henna applicator housing due to its shoddy nature and the fact that the syringe extends out significantly while attached at only one place. This was something that we worked to solve in the final two weeks.
- Create robust and long-term casings for the linear ball bushings
- Develop a method for tensioning the timing belts in a durable way
- Make a housing for the motors that will keep them from being pulled by the tautness of the belts
- Mount the webcam so its field of vision aligns with the area the gantry is capable of moving in
- Build a basic housing for the electronics (Arduino, motor, and breadboard)
- Mount the components of the Z-axis movement and henna applicator onto the X-axis
To address the first three issues, our team decided on 3D-printing our own designs, rather than buying preexisting housings, in order to have pieces that solved problems specific to our project.
The casings for the ball bushings (a CAD of one of the pieces is shown to the right) not only included inner walls to enclose the bushings perfectly, but holes to affix the shaft supports in between the bushings as well. Along with this, we included the method for keeping the timing belts taut by cutting through the top of the piece so we could keep the belt there through a simple press-fit. This method worked well, so we decided to keep this and see how it would hold up in further tests. We also included a mount for the X-axis pulley on the right-side Y-axis casing, which we iterated through to ensure it was perfectly in line with the pulley on the motor.
The motor mount was developed similarly to the ball bushings casings, but was intended to be held in one place rather than slide. This ended up working well until the belt was tensioned, when it slowly began sliding inwards. At the end of this sprint, we were still deliberating whether to redesign the piece or put rubber tape in between the mount and linear shafts in order to increase the friction.
The Z axis and henna extrusion were not the priority of this sprint. However, in order to address the additional vertical motion caused by the lead screw, we experimented with a pneumatic extrusion system. The plan was to use a compressor to provide pressure, whose magnitude would be controlled by a regulator. A solenoid valve would control when this pressure would push the plunger down. This could have potentially removed the extruding mechanisms from the applicator housing entirely. However, early trials with the system were extremely finicky. Additionally, in order to achieve the pressure seal necessary to extrude, the tubing would have to be attached permanently to the syringe applicator pen, and the plunger could never be reset to the top. HennaBot with a pneumatic extrusion was simply unable to meet our overarching goals.
An unanticipated obstacle that came up during testing in this sprint was that when the motors are run, the entire gantry system vibrates. This was especially amplified in the henna applicator housing due to its shoddy nature and the fact that the syringe extends out significantly while attached at only one place. This was something that we worked to solve in the final two weeks.
First Iteration
Initially, we approached this project with the aim of getting a basic proof-of-concept for X- and Y-axis movement within the first three weeks of working. We worked in parallel on developing a potential application system for the henna, involving the use of a lead screw to push the henna out of a syringe. This was met with some success!
In terms of the gantry, we experimented with 3D-printing custom timing pulleys for our axes, so we could test movement while our ordered parts arrived. However, after altering number of teeth the pulley worked surprisingly well so decided to keep them in the final design, keeping in mind that this may change depending on gradual wearing down and performance at fast speeds.
In this iteration, we did not develop formal housings for the linear ball bushings or motors, issues that we addressed during our next sprint of two weeks.
In terms of the gantry, we experimented with 3D-printing custom timing pulleys for our axes, so we could test movement while our ordered parts arrived. However, after altering number of teeth the pulley worked surprisingly well so decided to keep them in the final design, keeping in mind that this may change depending on gradual wearing down and performance at fast speeds.
In this iteration, we did not develop formal housings for the linear ball bushings or motors, issues that we addressed during our next sprint of two weeks.
Budget
For the purposes of this project, we were given $250 from our college to spend. We had the option of spending our own money if our costs exceeded that limit, but we tried to acquire many of our materials from our college or team members in order to keep HennaBot as cost-efficient as possible. Below is a record of the materials we purchased and their cost. If acquired for free, their value is estimated cost:
For the purposes of this project, we were given $250 from our college to spend. We had the option of spending our own money if our costs exceeded that limit, but we tried to acquire many of our materials from our college or team members in order to keep HennaBot as cost-efficient as possible. Below is a record of the materials we purchased and their cost. If acquired for free, their value is estimated cost:
Product Name | Quantity | Price | Estimated Price |
Henna | 6 | 6.05 | - |
PLA | 0.25 | 12.00 | - |
8mm shafts | 2 | 48.88 | - |
Ball bushings (pack of 10) |
1 | 13.38 | - |
NEMA 17 stepper motors |
2 | 33.38 | - |
8mm shaft supports (pack of 2) |
2 | 14.46 | - |
Timing belts | 2 | 17 | - |
GT2 timing pulleys | 6 | 35.85 | - |
Motor drivers | 2 | 20.80 | - |
Shaft collars (pack of 4) |
1 | 8.95 | - |
Pneumatic fittings | 2 | 9.26 | - |
Solenoid valve *not used |
1 | 8.55 | - |
Pressure regulators *not used |
1 | 15.99 | - |
Plywood (3/4"x 8ftx4ft) |
1 | Free | 44.98 |
Arduino/breadboard | 1 | Free | 30.00 |
Webcam | 1 | Free | 5.00 |
IR sensor | 1 | Free | 0.50 |
Syringe | 1 | Free | 0.50 |
Felt (12"x12") |
1 | Free | 1.00 |
Wire roll for circuits |
1 | Free | 5.00 |
Velcro strips (pack of 20) |
1 | Free | 5.00 |
Vigor Motor B08 | 1 | Free | 1.87 |
12V DC Motor | 1 | Free | 1.87 |