Week 1: Ideating & Finalising Project (13/05 – 17/05)
After many back and forth discussions with each other and with Tony, our group finalised our project idea, the 4-Wheel Drive Remote-controlled Heavy Duty Trolley. This means that each wheel has its own motor and rotation, allowing for multi-directional movement with different modes, such as stationary turning and ‘crab-driving’. As a result, the trolley can easily navigate tight spaces. Furthermore, the remote-control aspect enables the user to control it without the need to physically push the trolley.
To illustrate this, we constructed a prototype model of our trolley, where each wheel can rotate on its own as shown below.
Week 2: Tweaking & Modelling our Design (20/05 – 24/05)
Since the main idea of our project has been approved and confirmed, the next step was to develop the details of our project. To do so, we constructed a simplified block diagram to represent the principal parts of our trolley and how they were all interconnected.
We also created the initial 3D model of our wheel with the dimensions of parts we planned to buy. This included the servo motor, the wheel, shaft and aluminium profiles which we planned to use for assembly.
Week 3: Shopping Time!! (27/05 – 31/05)
After modelling our design, it was finally time to go shopping! This kicked off a flurry of shopping links to various components for our project. We sorted through different wheel models, servo motors, batteries, drivers, and more. The list seemed endless, but in the end, we consolidated all the suitable parts needed for our project and created our very first shopping list!
Week 4: Break Week (03/06 – 07/06)
Our group took a break from our project for this week to enjoy our summer breaks! As our group split to travel on our respective Overseas Learning Trips with the CN Yang Scholar’s Program. Our group were spread across the globe with 3 of us in Switzerland, 1 in Denmark and 1 in China!! XD
Week 5: Risk Assessment :/ + Wheel Model Ver 2.0 (10/06 – 14/06)
Since everyone from our group is back from our respective trips, it was time to start MnT-ing!! Before we got started, we had to first get our risk assessments done, which was what we set out to do before starting work in the lab.
Additionally, we also had slight changes in our wheel model. After several discussions, we realised that there were potential load bearing issues that may arise if we were to attempt to place our ideal goal of 50kg per wheel. Moreover, we failed to account for wiring difficulties from the wheel to the driver, as version 1.0 of our wheel could potentially get tangled up in its own wires. Hence, we tweaked our design to have a smaller width and have the wheel bear the load directly, as compared to its side. To illustrate our idea better, we constructed version 2.0 of our model!
Week 6: Ordered Supplies (17/06 – 21/06)
After having our first check-in with Dr Ho and Hanyang, we finalised the design and went ahead to purchase our first set of parts, which included 2 different wheel models for us to test out, as well as the remaining pieces to our model. RIP to Lloyd’s wallet, we appreciate your sacrifice 😭
Week 7: Waiting for Parts to Arrive :/ (24/06 – 28/06)
Having placed orders for our parts, all we could do was play the waiting game as we wait for our parts to arrive…
Week 8: Starting Work in the MnT Lab!! (01/07 – 05/07)
Our parts have arrived, and it’s time to get to work!
We started off the week with a lesson on soldering from Jeremy, where we learnt how to solder using a DIY clock soldering set.
1. BATTERY SCAM ;(
Our battery had been delivered however upon inspection, the battery was too light to be a proper working battery and the charger also did not work. To prevent any possible accidents in the lab, we decided it was best to not use the battery we ordered, and instead resorted to using the table top power source generators for now.
2. SERVO MOTOR TESTING
This week our servo motor had arrived, which allowed us to start testing our code. However, with our first few rounds of testing, we realised that the servo motor does not turn accurately when angles were specified, and it could only turned clockwise.
Additionally, we tried attaching our servo motor to the shaft to start, which made us realise that we needed a frame to house our wheel to attach the wheel to the servo. We built a temporary prototype of the servo attached to aluminium profiles. Thus, we started modelling different variations of a possible connector between the shaft and wheel as shown below. However, after getting it checked with Fuden, we realised it would most likely crack under the weight of the load of our trolley…
3. 1ST WHEEL MODEL (INTRODUCING BOB)
In week 6, we had decided to order 2 different wheel models to trial and error before confirming which wheel model to use. Since one of the models had arrived, we decided to start testing with it first. So, let us introduce our first wheel, Bob!
However, when we tried to solder the motor and hall wires from the wheel to the driver, we realised that the supplier had not provided the data sheet for our wheel. This was a problem as if we were to connect the wires in the wrong order, it could cause our driver to be fried. Hence, we resorted to using a data sheet for a wheel that was a similar model to the one we had.
On the bright side, our group now has a box in the MnT Lab!! 😀
Week 9: Solving our Problems (08/07 – 12/07)
1. ATTACHING BOB TO THE DRIVER
Over the weekend, we managed to contact the supplier and they provided us with the data sheet for the wire connections, hence we went ahead with the soldering of the wires to the driver.
After which, we started to attach the Bob to the Arduino to get started on controlling the wheel.
Once we managed to get it to spin, we started testing if it could take a heavy load. This was done by constructing a metal frame to allow the wheel to push a box filled with heavy load. However, after some trial and error, it was found that Bob could not push the box forward, instead it kept stopping whenever it was placed on the ground. This was when we realised the wheel starts off from high speed, causing the motor to stall every time it was met with a resisting force (aka the floor when we placed it down) Hence, we came up with an alternative solution, which was to attach Bob to a skateboard which carried the heavy load, so instead of pushing, it will pull the load. Additionally, we went back to relook at our code for the wheel again, to attempt to rewrite it such that there will be a gradual increase in speed, instead of immediately starting at high speed. (rip to Noah)
The next day, we came in with new code to test out Bob’s ability to carry heavy loads again. However, when we were testing out the code by itself, Bob just didn’t turn… :0 Even when we tried to use the original code from the previous day, the wheel still wouldn’t turn. After multiple rounds of testing and troubleshooting, we started to suspect that the driver had fried as it showed the signs of a fried driver (aka wheel turns for a split second and stops then continues making whirring noises), so the plan for the next week was to desolder Bob from its driver to attach it to a new one.
2. SERVO TURNING SUCCESS!!
After our failure in controlling the servo motor from the previous week, we came back determined to fix it. With some help from online sources and advice from Jeremy and Fuden, we realised that we messed up our code for the servo motor and had been inputting the wrong angles for the motor to turn. So after some recalibration (and math), we finally got the servo motor to turn smoothly!! YAY 😀
3. SOLUTION TO ATTACH SERVO TO WHEEL
When we checked our new 3D designs with Fuden, we realised that no matter how we redesign our connector piece, it was bound to crack as the 3D printed part would not be able to withstand the heavy load. Thus, we went back to the drawing board to come up with a new solution. That was when we found metal shaft supports that could help join our wheel to the servo shaft in place of our connector piece! So the new plan was the create a metal housing out of aluminium profiles for our wheel, and attach the shaft support piece to the top, to allow the servo the turn the wheel.
4. SEARCHING FOR RCs & RECEIVERS
Now that we have managed to make our wheel and servo motor turn, we decided to start looking into different remote controllers and receivers. After some searching and advice from Yao Xiang, we decided on the remote shown below and bought it, so that we could start testing the wheel and servo with the RC.
Week 10: Pivoting & Unfortunate Events (15/07 – 19/07)
1. CHANGE OF PLANS
Over the weekend, our group discussed our progress on the project. With the amount of time we have left and the project still stuck at only 1 wheel (aka Bob) that was now no longer working, we pivoted from our original plan of 4-wheel drive trolley and downsized to a 2-wheel drive trolley with 2 dummy wheels. With this new plan, we started to 3D model our new trolley with 5-inch dummy wheels that we sourced.
2. PUTTING BOB ON LIFE SUPPORT/TRYING TO PERFORM CPR
Coming back into the lab, we started off by desoldering Bob from the suspected fried driver and solder it to a new driver. After which, we reran our tests with the old and new code, however nothing seemed to be working. This was when we started to test the different hall and motor wires to see if it was a problem with the connection. Finally, we managed to diagnose the problem with Bob…the conclusion was that the motors in the wheel had most likely stalled while we were testing its ability to push the load. Due to the sudden resistance force when we dropped it to the floor, it probably caused the motors to stall and break. Thus, we had no choice but to pronounce Bob dead, and unplug its life support…RIP BOB 😭
3. INTRODUCING JIMMY!!!
With Bob gone, it was time for us to move on to our second wheel model that we had bought in week 6, who we’ve decided to name Jimmy! 😀
Our journey with Jimmy began with soldering it to a new driver! After some troubleshooting and playing around with different connections from Arduino to wheel, we managed to get Jimmy to spin!!
Now that we know that Jimmy can spin, we started testing if we could control its direction, which we managed to do with little problem 🙂
It was time to move on to the next step, aka the scariest step…Bob’s cause of death…heavy load testing. Having learnt our lesson from Bob, we decided to start directly with the skateboard method. However, this was when issues started to arise. When we turned on the power supply for Jimmy, the wires started to spin along with the wheel and the clamp does not stop the axle from turning. 😱
After some research, we realised Jimmy was a scooter wheel that required a specific scooter fork to clamp it to hold it steady. Thus, we set out to find one that is suitable for our wheel. (aka Jimmy needs crutches :/ )
4. TRYING TO CONTROL SERVO MOTORS WITH RC
Now that our wheel issues had been settled, it was time to move on to testing the individual parts with the remote control. Starting off with the servo motors! However, while we could control it clockwise smoothly, the anticlockwise direction was causing issues, which was to be solved next week.
5. RECEIVER NEEDS TO BE WITHIN FOV OF CONTROLLER
As we were playing around with the controller, we also realised that the receiver of the remote control has to be within the field of vision of the remote control in order to receive signal from the control. This caused issues with our original design for the electronics housing which was meant to be under the base of our trolley. So, we redesigned, and now our we plan to have it at the tail end of the trolley.
Week 11: Break Week + We Lost Our Sanity!! (22/07 – 26/07)
Amidst the hustle and bustle of MnT, orientation period came around, so we all took a week break from MnT, to focus on the various orientation camps.
After our orientation camp ended, we had a MnT check-in presentation, but we had lost our minds due to orientation 😭 So, introducing the characters of our Mario Cart…
MEET THE CREW:
Bob – Wheel Model 1 (RIP)
Jimmy & Timmy – Wheel Model 2 (motorised wheels)
Clementine & Clementia – Dummy Wheels 1 & 2
Philipéé/Philip/Philippé/Filip (the Phamily) – Servo Motors
Archie – Remote Control
Week 12: Problem Solving (29/07 – 02/08)
1. JIMMY’S CRUTCHES
Coming back from our break week, we looked back at the problems that arose in week 10. We managed to innovate a solution to our axle turning which involved two triangle brackets clamping the wheel’s axle still.
2. CONTROLLING JIMMY WITH THE RC
This week we started working on connecting the RC to the wheel. By the end, we managed to control the direction of the wheel (forward and backward) as well as the speed of the wheel (e.g slowly ramping up speed)
3. THE PHAMILY IS COMING TOGETHER!!
During this week, we also managed to get 2 of the 4 servo motors to work together!!
4. PREP WORK FOR THE FRAME
Now with all of our parts working separately, it was time to start preparing to construct our actual trolley and piece everything together! To do so, we started off by finalising the sizes and dimensions of each part on Fusion360 to get the sizes of aluminium profiles we needed to measure and cut as shown below:
Week 13: Preparing to Assemble (05/08 – 09/08)
1. BRING OUT THE MACHINES!!
With our final measurements done, it was time to start cutting!! So, with the help from the lab managers, our group started to cut all 64 of our aluminium profiles and drill holes into our wooden board.
Week 14: Assemble the Army!! (12/08 – 16/08)
1. LEGO FOR ADULTS
With all 64 aluminium profiles cut and sorted, it was time to start assembling the individual frames for each of the wheels! After a lot of tightening of screws to T-nuts, a bunch of corner brackets, hammering of shafts, (brain power, crying and noise pollution) later, we finally assembled frames for all Timmy, Jimmy, Clementia and Clementine!! As our group likes to call it, Lego but 10 times harder…
T-T
2. COMBINING THE SERVO & WHEEL
After fixing up the frames for the wheels, it was time to start putting the various parts together! So, we started off simple, one wheel and one servo, to make sure that the servo was able to handle the weight of the wheel and still turn smoothly. Much to our surprise, it worked! This was when we moved on to 2 wheels + 2 servo motors, (w/o one wheel as Timmy was still on its way to Singapore)
3. TIMMY HAS ARRIVED!!
Just when our frames were completed, Timmy decided to make its appearance! So, we got to work immediately in attaching it to the frame and driver…and guess what? What is MnT without failure? Well, week 14 was going a bit too smoothly wasn’t it? Timmy could have had performance anxiety being new so it decided it would not work with the driver attached…
Week 15: Reviving Timmy (19/08 – 23/08)
1. FIXING TIMMY
Suspecting that it was an issue with the wires, we started with testing whether the recycled wires used to connect Timmy to the driver were working using a multimeter. However, it was not going to be that simple…all wires were working fine. Soon, we realised that the driver connected to Timmy was getting hot extremely fast, despite power being supplied for only a few seconds and the heat sink being properly attached! Thus, we hypothesised that the driver may have been fried. So, we decided to resolder Timmy to the spare drivers we had.
However, after some soldering work later, we quickly realised that Timmy was still not running with the new driver…this was when we nearly gave up on Timmy when there was a suggestion to swap the drivers of Jimmy and Timmy (since Jimmy’s driver definitely works) And it was almost like a miracle…Timmy was running smoothly again!!
So with this, it was time to test our luck and play a game of Russian Roulette…which of our remaining 3 spare drivers works…
After many rounds of soldering later, down to the last driver, we finally found the one working driver left!! HALLELUJAH!!! And with that we had 2 working motorised wheels and drivers!
Week 16: Wire Spaghetti (26/08 – 30/08)
1. BATTERY AND EMERGENCY STOPS
Now that we have working wheels and drivers, it was time to start sourcing for a LEGITIMATE battery. After consulting Yao Xiang and Fuden, it was decided to purchase an On-and-Off Switch to control the power supply, as well as buck convertors to regulate and limit the current running through the system.
2. SPIDERMAN
This week we also started to attach everything to the board to run everything together! So, this meant all 4 wheels and 4 servos were going to be attached and supposedly run all together which was how we ended up with our Spiderman terminal block that stretched across all 4 servos…oops…(a telltale sign that it was time for some cable management – aka Eli’s turn to come in with his housing for the wires, Thanks Eli!!)
Here we have Eli’s real time reaction to our Spiderman!
Week 17-18: Break for Semester Studying (01/09 – 13/09)
Before we knew it, it was September, the semester’s workload was coming at us with full force and our parts were still being delivered, so we decided to put MnT on hold and focused on our school work :/
Week 19: Back to Work (16/09 – 20/09)
1. TESTING OUR BATTERY
With the arrival of our new parts, it was time for us to head back into lab for more work! We started off by playing around with the voltage regulator and switch, figuring out how each part worked and how to properly connect it to our cart.
2. DIY HOUSING
We also took a look at our cable management, and tried to make a proper housing for all our electronics. After some measurements, we came up with the prototype for our housing made using the boxes lying around the lab!
Week 20: Midterm Season (23/09 – 27/09)
Just as we were getting back into the groove of MnT, midterm season was here and we took the week off to focus on our studies…
Week 21: Recess Week (30/09 – 04/10)
1. REPAIR & MAINTENANCE
Coming into the MnT Lab this week, we soon realised our frames for the wheels were falling apart and was collapsing on itself 😱 This called for emergency maintenance of the frames so back to T-nuts and screws with Allen keys… During this time, we also moved around some of the brackets, hoping that it would provide more support to the frame!
2. FIRST SUCCESSFUL RUN??
During this week, after some tweaking and jumpscares, we managed to get everything to run together smoothly!! We had our cart zooming around the area outside the MnT Lab!!
However, once we brought the cart back into lab, we soon realised the frame was coming out again, so it was back to tightening everything together. We also had our second successful run around the MnT Lab, which went a lot smoother than our first one.
Week 22-23: The Last Push! (14/10 – 25/10)
1. CLEANING UP OUR SPAGHETTI
Coming back after finally getting everything to run together, it was time to organise the wires across our board. With the wires stretching across the board from the servo motors to the Arduino and from the wheels to the drivers etc, there was no space on the cart for any load to be added. To do so, we went back and forth on a few ideas…
-
Attach another board on top of the electronics as another layer to act as the platform to add load (rejected) – with only a few weeks left to finish our project, we did not have the time to find a new board, drill it and reassemble it on the cart
-
Attaching the box housing from week 19 to the bottom of our cart so that the top will be clear of electronics (rejected) – we were afraid the box may interfere with the movement of the wheels + should we need to check the connection of the wires it would be very difficult to access it
-
Move all the electronics to one side of the board, so that there is enough space for us to mount load on the cart
The last option was what we ended up doing! So, an hour of brainstorming later it was time to reorganise everything. We used the box housing from week 19 as the main circuit board that had the drivers, Arduino, buck convertor and receiver attached to it, which was held up by a makeshift frame on top of the cart. Meanwhile, we also started extending some of our wires and cleaning up the cart so that there was sufficient space for our load.
2. ADDING LOAD
Finally, with the housing fixed, and many tests later to ensure everything was working together + a few near scares of fried drivers and dead wheels later, we managed to get our cart to run with load!! And with that, our group was done with our project and it was time to prepare for the presentation and exhibition!
Week 26: Presentation Week!! (11/11 – 15/11)
1. STRESS TEST WITH HUMANS!!
🥲😥
Estimate load: ~100kg