Progress of project for week 1:
We spent the first week ideating and coming up with different ideas that would be a possible project for us to work on. In total we came up with 4 different projects, a robot spider, wall graffiti printing machine, a nail art design printer and lastly, a massage device. After much deliberation and discussion within our groups and with Professor Ho and Tony, we have ultimately decided on making a massage device, which is our project now!
This is one of our many Zoom meetings and discussions!
After deciding on the project that we are going to move ahead with, we went down to the Making & Tinker (M&T) lab to learn more about the resources that were available and the different devices and equipment that we will have to use for our project. While touring the lab, Tony also taught us how some of the technical terms of the tools available for easier future communication on the tools that we need, to avoid miscommunications.
Progress of project for week 2-4:
After confirming the resources that the lab is able to provide us with, we started designing our device. Due to our lack of experience we had to learn along the way. Hence, we have many versions of our design as we developed and improved upon our initial idea with the feedbacks and teachings from Tony.
Block diagram version 1
Final block diagram
CAD diagram version 1
CAD diagram version 2
CAD diagram final version
(insert schematic maps and stuff). talk abt the changed we had to make n everything.
Initially we planned to use a massage bed, hence in the CAD diagram, the aluminium profile was designed such that the massage gun would be able to cover the back of someone sitting up in a massage chair. However, the height of the structure will be way too high, result in potential instability of the structure. This is especially so together with the vibration and movement of the motors and massage guns, resulting in a risk of injuries. Hence, we changed the idea to a massage bed instead. With the user lying flat down closer to the ground, the height of the structure will be lower and the base width of the structure will also be wider. Hence ensuring greater stability of the structure.
We also studied more about the different systems in different massage guns. We also went down physically to explore and tried out different massage guns from different stores. Once we have studied a few different types of massage guns, we decided on the final one that we ultimately purchased.
Massage gun that we decided on purchasing
Progress of project for week 5-6:
Once we had our designs confirmed, we started making purchases of the different parts such as, stepper motors, controllers and stepper drivers and a massage bed. Our purchases were made mainly online so in between while waiting for delivery, we further worked on our design and read up more on the different softwares and wiring techniques to build up the necessary skills that we would need for project.
Progress of project for week 7 Day 1:
All our stepper motors, stepper drivers, massage beds and controllers arrived. We bought 2 different sets of motors and stepper drivers. Both were from the brand Hanpose but are of 2 different models. The first set, a cheaper model which we intend to trial and practice on is the T600 model which works with an open loop stepper driver. The second set, is a more expensive model which will be used for our actual final product is the CL57 model, operating with a closed loop stepper driver. Both of which operate with the same software, Mach3.
On the first day, we learned how to do wiring first hand on the cheaper set of stepper motors and stepper drivers. We learned to check for connectivity between the wires using a multimeter. This allowed us to know which wires from the stepper motor should be connected to which port(?) in the stepper driver. We then learned about crimping, to protect the health of the wires that we used.
Crimped wires
Screwing in the wires from the stepper motor to the stepper driver
After learning the basics. we started connecting the wires, bridging the different components according to the user manual and the way we want the motor to be controlled and operated. Each motor is connected to a specific direction port(?) on the controller so that each motor is wired such that it controls one direction each. In total with 4 motors we can control the X, Y, Z and A axis.
Bridging of Enable- to Direction- to Pulse-. These 4 separate bridges were all later connected to the same Ground on the controller.
From the left to right, each motor controls direction X, Y, Z and A respectively. To be wired to control direction X, Direction+ on the driver is wired to X Direction+ on the controller and Pulse+ on the driver is wired to X Pulse+ on the controller. The same is repeated for the different directions of the different motors.
Enable+ on the 4 motors is then bridged together into one bridge and finally connected to ground on the controller
Mach3 interface to control the the motors.
Initially we connected the power to 5 Volts. However, once we set up Mach3 and tried to move the motors, they failed to move. After much trouble shooting, trying out different settings on the software and watching multiple tutorials, we figured that it should have been wired to 12 Volts instead. After the changes, we only managed to work the motors controlling axis X,Y and Z.
Progress of project for week 7 Day 2:
Since we only managed to move the 3 axis the previous day, we came in on day 2 with a new goal, to move the fourth axis which we named axis A. The axis was not moving initially. Although we do not necessarily need the fourth axis right now, we wanted to be able to at least move it in case we would like to incorporate it into our project in the later phases. Potential uses will be for kneading of the muscles instead of just the usual moving up and down and pressing straight down onto the user’s body. After much trial and error thinking that it was the software’s issue, we later figured that there were issues with the wiring. Due to the fact that the wires we were using were really thin, we were unable to crimp them. Hence, the wire connecting the fourth axis was accidentally crushed and hence not connected properly. After we fixed the wiring, the fourth axis started moving.
We learnt that we should always just check the connectivity of the wires using the multimeter to prevent such issues from recurring.
After we figured out the fourth axis, we moved on to wire up the actual set of motors and drivers that we will be using for the actual product. We wired it the same exact way we did for the trial set of motors and drivers and when we powered it up the motors were not moving. We then found out that the wiring for the actual set of motors is actually the complete opposite from the trial set. Hence, we rewired all of them and the motors then started working.
Progress Update for Week 8 Day 2:
We tested out a 12-key programmable keyboard and a Xbox controller for issuing commands to the stepper motors. For the keyboard, we used the software provided to re-map the keys and knobs, and for the controller, we used Joy2Key to bind the joysticks directions to keys. Both methods have great potential and we can’t wait to try them out in the future! 🙂
Week 8 Day 3:
The mounting plate and gantries finally arrived this week, and we assembled an axis to test out our design. Initially, we were using 3D printed parts for substitutes, but they were flexing under the torque provided by the stepper motors. After switcvhing in the new parts, the set-up worked great and we are excited to proceed to the next step of our project!
Week 8 day 4 – Week 9 day 2:
We cut the aluminium profiles into the desired length. Since the aluminium profiles that we already had were long enough to cover the entire length of the massage bed and hence the entire length of the body, to minimise waste, we decided to upgrade our massage bed from just the back to the entire body. We learnt how to operate the power saw and ensure maximum accuracy when cutting the aluminium profiles.
After cutting the aluminium profiles and assembling the rough frame for the massage device, we were rethinking our design for our Z axis. We were having a tough time coming up with ideas to properly assemble and orientate the gantry, motor and aluminium profile such that the massage gun will be able to move the way that we would want it to be. We needed a design that would maximise stability due to the strong vibration of the gun while also moving downwards in a consistent and safe manner. After some brainstorming and discussion with Tony, we came up with a few probable designs. We also figured that if we were to assemble the Z axis without setting a home function, the axis will slam downwards once it is powered off which would cause a lot of danger to the user. Hence we decided that it is crucial that we programme a home function such that the Z axis will go back home slowly, to its original position when its powered off to prevent it from just slamming down.
Week 9 Day 3-5:
We tested out the various ideas that we had for the Z axis and managed to get it to move the way that we want it to! However, we later figured that some slight adjustment have to be made as the gantries attached would wobble when we try to move it and is hence not very secure.
Week 10 day 1:
The pulleys and terminals arrived today. We swapped out the temporary terminals and pulleys we borrowed and installed them in. We also secured the Z axis better and made it more secure.
Week 10 day 2:
Today, we filed down the L bracket and connected the gantries with an aluminium profile. We then attached the massage gun to the Z axis and tested it on Mongo Bongo Pongo. He is still alive.
HOORAY!!!!!
Week 11 Day 1 – 2:
We figured that a significant amount of time is spent on assembling and disassembling our project on a daily basis, hence we decided to just keep the structure as it is and lean it against a shelf in the lab and cable tying it to the shelf to prevent it from falling.
The extension cords also arrived to extend the wire for our stepper motor, hence we started on extending the wire.
Due to the gantries and metal plates installed on the motors and the size of the massage gun, there is a limit to which the Z axis and Y axis can move before it hits the aluminium profile. Hence, we installed switches at the maximum limit that the axes can travel to. This is so that once the limit is reached, the metal plates will press against the switch and stop the axes from moving further beyond the set limit.
To better secure the massage gun on top of the bicycle clamp we are already using, we 3D printed a cap to cover the top of the gun and hold it down to better secure the gun.
Week 11 Day 3:
We installed aluminium profiles as legs today. We initially planned to use 40×40 aluminium profiles. However, due to limited supply, we decided to use 30×30 profiles instead. The L brackets that fit the 30×30 profiles does not fit the grooves of the 40×40 profiles, hence we had to break off the parts of the L bracket that was sticking out, to smoothen the surface for it to be flushed with the 40×40 frame. To protect the profile in contact with the ground, we 3D printed leg covers. The leg covers also has a wider surface area to increase the stability.
We also found out that the switches that we previously installed onto the metal mounting plates should not be in direct contact with the plate as the conduction of electricity will damage the switch. Hence we 3D printed an appropriate plate to prevent direct contact.
Week 11 Day 4:
We noticed that the legs could still be a bit unstable and shaky and when force is exerted, they can tilt inwards. To counter this issue, we installed aluminium profiles across, connecting 2 legs together, to further reinforce it. The aluminium profile in between the legs also served as a frame for us to attach the board containing all the motor drivers to the CAD frame.
Week 12 to 13:
We screwed the board containing all the motor drivers to the CAD frame. We mainly worked on wire management and the movement of the axis along with the wires connected. Initially, the wires were really tangled and all over the place and the fact that some of our wires can go up to 5 meters long did not help the situation. It was really messy and difficult to organise the wires also because we extended them and made up to the length by connecting them using terminals. Hence, we removed the terminals and soldered the wires together to extend it instead which neatened up the wires significantly. Wires that are controlling the same axis were then cable tied together.
For the Z axis, the wires were getting in the way of the stepper motors when it moves. We figured that we needed a way for the wires to curve upwards and stay up to not get into the way of the stepper motor. Hence, we searched the lab and decided to utilise a plastic pipe that offers some rigidity and shape and cable tied the wires to the pipe.
For the X axis, the wire is really long and was just laying on the floor which looks really unsightly. Furthermore, when the X axis moves, the wires starts coiling and obstructs proper movement of the stepper motor. Hence, we 3D printed wire organisers to attach to the aluminium profile to hold the wire up. We also neatened up the wire and made sure it curves and moves properly when the X axis moves by attaching a plastic wire tray to the wires to guide the wire as it moves.
We also later found out that the plate that we printed for the switch of on the Z axis positions the switch too low. The position of the switch does not allow the gantry to come into contact with the switch at the appropriate distance. Hence, we reprinted another plate that will position the switch higher.
Week 14 – 15:
Initially the speed of the massage gun can only be controlled via the button on the gun itself. To increase accessibility and ease of usage for the user, we rewired the massage gun so that it can be controlled directly via our controller. The controller allows the user to not only control the position of the massage gun, it can now control the speed of it too.
Week 16:
We installed a webcam on the CAD frame. This allows the user to see where the massage gun is positioned at on the screen so they know which way to move it to get the gun to the position that they want. White strips is also attached to the gantry that the massage gun is attached on, as a visual marker for the user to know not to move the gun such that the line goes out of view as those are the hard limits and going beyond the limit will break the machinery.