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