Week 10 – 15 Jul: Can we clamp AND lift?

  • Tried to lift pneumatic unit using the latest clamping mechanism we designed (success!)
  • Arduino coding to configure relay system

Having completed the custom 3d-printed and built clamping mechanism for the pneumatic unit, we proceeded to test the clamping ability by manually lifting the unit using the clamping system. Below are photos of our completed clamping mechanism from two angles. The main features include a mutual locking mechanism where two opposing clamps exert clamping forces in opposite directions for enhanced clamping. There is also a distribution of clamps across the whole unit.

 

 

 

 

 

 

 

 

 

 

 

This is the same clamping mechanism from a different angle.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Below is the video showing us successfully lifting the unit with our hands using the clamping mechanism.

Then, we proceeded to configure the relay control system for the actuators by incorporating arduino + coding.

  • Arduino is advantageous as compared to the previous method of simply wiring the relay system to the DC motor controllers + actuators as Arduino is much more scalable.
  • Along the way, if we wish to add sensors such as weight sensor, position/height/distance sensor, or battery/current/voltage sensors, the sensors can simply be wired up to the Arduino board and configured with a desired code.
  • Not only that, Arduino allows us to code and possibly automate the whole lifting process by storing the positions/trajectories of the pneumatic unit (e.g. pressing button “1” on remote control = unit moves from ground position to a height of 3.3m without the need to manually control the extension/retraction of the 3 actuator systems).

This is a photo of our initial attempt at setting up the Arduino board with wiring. Currently there is not much to elaborate as we are still figuring out how to write the coding and how we should connect the actuators + DC motor controller to the Arduino board.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Week 9 – 12 Jul: Relay that info (manually)

Our relay controller box (with remote control) just arrived! Here is an overview of the components. The relay comes with a set of numbered wires, each helping to relay the signal when a specific button on the remote control is pressed.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Below is the wire mapping on the relay box. For example, wires 1 and 2 are connected to the power supply to provide power to the relay box. As for wire 6, when the number 6 on the remote control is pressed, an electrical signal will be sent to wire 6 (with wire 5 as the ground). Wire 6 can then be connected to one of the actuators, resulting in that actuator extending.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Below is our compilation of the different wires that must be connected to transmit signals when the corresponding buttons on the remote control are pressed.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

This is a close-up of the remote.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

This is a close-up of the wires of the relay system, which have to be connected with the actuators.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The last component needed is the DC motor controller module. After manually connecting the wires to the DC motor controller module and then to one actuator and some troubleshooting, we managed to control the actuator’s extension/retraction using two buttons on the remote control. Pressing up on the remote control sends an electrical signal to wire 6, passing to the DC motor controller module, which then sends a positive signal to the actuator and then back to ground via wire 5. This extends the actuator.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

In contrast, pressing down sends an electrical signal to wire 7, passing to the DC motor controller module, which then sends a negative signal to the actuator and back to the ground via wire 5. This retracts the actuator. The video below shows the actuator responding correctly to the up and down buttons.

 

 

 

 

 

 

Week 11 – 26 Jul: Final Lift (or is it)

We designed a simple battery monitor (using Arduino’s internal voltage sensor + LED light + some coding) for the system such that when the battery’s voltage (normally about 12-12.5V) falls below 11.5V, the LED will light up with an orange color to indicate to the technicians that the battery is low and needs to be recharged/replaced. This video shows the battery lit up to indicate a low battery scenario (for this video, the code was modified for the light to be turned on when the battery was ABOVE 11.5V).

 

We first attached the clamping system to the lifting system via the car gear joint system (v1). It seems to be able to provide the rotation we need (to bring the 1.7m unit into the train which has doors of about 1.45m wide)

car gear joint v1 rotating

However, we also realised with Tony’s help that the rotation ability might not be so good for safety/structural integrity as the pneumatic unit can swing very widely when it is lifted up to mid-air, as shown by this video.

car gear joint v1 scary

Thus, it will require careful handling on the technicians’ part.

Another problem with this car gear joint was that one joint is not enough to provide the rotation we need to install the pneumatic unit into the train. The unit needs to be rotated about 90-180 degrees for the installation, and this was not possible with just one joint. Thus, we added another joint using a series of aluminium profiles, and proceeded to test the system.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

This is us testing:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Finally, we tried to test the lifting ability. However, this was put on hold by the need to readjust the connection to the CG exactly + a few additional reinforcements

 

Week 11 – 22-25 Jul: Tidying it up & putting it all together

We have finally gotten around to modifying that particular Bell Crank design. Now, our arm is able to go down all the way to right above the base of the trolley (where the pneumatic units will be parked) and is able to go up to the height of 3m. Hurrah!!!

Over the past few days, we have also managed to attached the Arduino + two dc motor controllers with all wires to our 3d-printed housing on the primary arm. This is a close up.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

This is a shot from farther way

.

 

 

 

 

 

 

 

 

 

 

 

 

 

We also connected everything to the battery, placed on the base, instead of the power supplies

Week 10 – 19 Jul: Electrifying Success

We decided to add the wheels into the trolley.

This video shows how we prepared the wheels.

wheel setup

We also had to cut the protruding screws that hold the wheel to the base as these screws were blocking the wheels’ proper rotation.

wheel cut

Lastly, this video shows the wheels in action! They are extremely heavy duty as these 6 wheels can carry a combined weight of up to 8 tonnes! Those are some pretty heavy duty wheels.

wheel working

 

Moving on, We also 3d design and printed housing for arduino + two dc motor controllers and wires. The two DC Motor controllers will be on the left, and the Arduino board will be on the right.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Before we attach the components onto this 3d-printed base, we decided to wire all actuators with dc motor controllers + arduino, modified arduino code (to accommodate all 3 actuator systems + the shift from Ardunio Mega to Arduino Due) and tested the system (success!).

Lastly, we soldered many wires, including the variable resistor to wires and we are currently testing it.

Week 10 – 18 Jul: What’s a Bell Crank? (feat. Timelapse)

Yesterday, we added actuators B and C, as well as an optimised intermediary aluminium profile to solve the problem of the secondary arm not being able to rotate sufficiently downwards to pick up/release the pneumatic unit.

We thought that we should maximise the rotation of the intermediary aluminium profile to maximise the angle of rotation of the secondary arm, but Tony said that we should preserve a minimum angle of 15 degrees for safety reasons. This is because the smaller the angle between actuator B and the intermediary profile (i.e. they become more parallel), the large the force actuator B needs to exert onto the intermediary profile to hold it in place. With actuator C and the secondary arm + the pneumatic unit attached, this force will easily multiply and the whole system will become extremely unstable.

Thus, our revised design looks like this, where the angle between actuator B and the intermediary profile is about 15-20 degrees in this photo when actuator B is fully extended. We have also cut the secondary arm to the desired length, so that it will no longer collide into actuator C/the intermediary profile.

 

 

 

 

 

 

 

Then, we proceeded to test if the desired height of 3m could be reached, with a video of us using a measuring tape to ascertain the height of 3m. Success!

However, we still found that this was not enough for the secondary arm to pick the unit from the ground and bring it to a height of 3m. The angle of rotation was still somewhat limited.

 

 

 

 

 

 

 

 

 

 

 

This video shows the motion from the 3m height to this lowest possible height.

IMG_1671

Thus, we will have to modify the double-actuator configuration to include a Bell Crank to further extend the range of angles available for the whole arm. However, it was getting late, and we decided to continue this another day.

Here are cool timelapses of us working on all of this:

 

Also, we have added several reinforcements to the arm. An example is this:

 

 

 

 

 

 

 

 

 

Its location can be seen here:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Lastly ,we realigned the pillow blocks as they were not exactly aligned (just slightly off). This was necessary to ensure that the secondary arm would be horizontally balanced.

This is how they should be aligned.

 

We had to hammer the aluminium rod into the pillow block to align them.

The end product looks like this:

Week 10 – 17 Jul: Optimisation.

At the start of today, this was the configuration of the actuators (2 x Actuators A in the parallel configuration below) and actuator B on top.

 

 

 

 

 

 

 

 

 

 

 

 

As we were going for the double-actuator system, we proceeded to add the aluminium profile for that, which resulted in the configuration below. The video below shows us in the process of adding the profile and securing it, which requires a fair amount of technical skill and dexterity.

 

 

 

 

 

 

 

 

This was followed by  attaching actuator C to the just-added intermediary aluminium profile. The photo below shows the secondary arm achieving a substantial height of about ~2.5m (even with actuators A still retracted), made possible by the double actuator configuration.

 

 

 

 

 

 

 

However, we found that with this configuration (and after cutting the secondary arm to allow it to rotate downwards without colliding into the intermediary aluminium profile between actuators B and C), the angle of rotation is NOT sufficient for the arm to reach the ground and pick up/release the pneumatic unit. Thus, we have to extend the length of the intermediary profile and optimise the positions of actuators B and C.

The photo below shows the significantly longer intermediary aluminium profile, as well as actuator B which has been shifted forward to increase the downward angle of rotation of the secondary arm.

 

 

 

 

 

 

 

 

 

 

 

 

We then tested out the position of the intermediary profile when actuator B is fully extended.

As you can see, even when actuator B is fully extended, the intermediary profile can still be pushed downwards. Thus, we shifted actuator B forward, nearer the intermediary profile.

 

 

 

 

 

 

With this, we can achieve a very substantial rotation of the intermediary aluminium profile, onto which actuator C will be attached.

 

Moving onto the not so mechanical stuff…

One of the main reasons for choosing Arduino instead of manual relay wiring (no coding) was its programmability and scalibility. Essentially, we have the capability of storing positions of the pneumatic unit and letting the lifting system move from position A to position B by just pressing a button (which calls the appropriate function).

Here is a block diagram of the whole system.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

To achieve this, we considered various ways to monitor the position of the actuators/the pneumatic unit as it is being lifted.

Our choices included:

  • Encoder

The encoder consists of a rotatable component and an electrical module that converts the angular rotation into analog values which are then transmitted to the Arduino board. One way is to open up the linear actuators and modify it by attaching the encoder to the motor inside the actuator. The rotation of the motor could then be monitored by the encoder, which then allows us to calculate the extension of that actuator (after calibration).

If we chose this, we would have to source for an appropriate encoder module with the desired precision and power usage. Currently, we do not have any appropriate encoders in the MnT lab.

  • VL53L0X Distance Sensor

This is a distance sensing module that emits infrared radiation, which is then reflected by a surface/object at a distance and then received back at the module. The time taken for the infrared radiation to be received back is then processed to calculate the distance of that surface/object from the distance sensor.

The VL53L0X module could be placed on the left circle below, and a small, flat 3d-printed plate could be secured onto the right circle to serve as the reflector. This way, the extension of this actuator can be monitored using the Arduino board.

However, the disadvantage is that the reflector must remain perpendicular to the infrared rays’ path all the time as the actuator extends/retracts and as the pneumatic unit is lifted up. When the linear actuator is under stress, this may not always be the case, and slight deviations may result, which makes the distance sensor imprecise. Furthermore, we would have to buy the module, which means extra cost and time spent waiting for it to arrive.

 

 

 

 

 

 

Thus, the final option we chose for now is to simply use a rotatable variable resistor, which the MnT lab has plenty of. This meant that we could start trying it out immediately. However, variable resistors would not be as precise as the encoder. So, if the variable resistor turns out to be inaccurate, our backup plan would be to get the encoder.

We started by designing and 3d-printing a customised holder for the variable resistor. The position of this holder needs to be carefully considered as the variable resistor needs to capture the rotation of the arm throughout the full range of motion (and not get stuck anywhere during the motion).

This video shows the holder being stuck as it is placed too low.

These videos show the holder no longer stuck as it is placed higher up.

 

 

We also found designs from Thinkiverse for rubber caps to coat the ends of 2020 aluminium profiles as spacers for the clamping mechanism. We found 4 different designs as shown below, but only the leftmost one fit (needed some hammering to fit, which is good as it ensures a tight fit). The other 3 had incorrect designs and were unable to fit into the profile.

 

 

 

 

 

 

 

 

 

 

 

Lastly, we went down to Pioneer Point near Pioneer MRT to purchase 2x 12V dry cell DC Car Batteries! They are 45Ah batteries. This is a photo of the two batteries.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Test

Skip to toolbar