Week 5 (14 June – 20 June)
The linear actuator purchased in week 3 arrived and we tested its capabilities. Unfortunately, the specifications listed on its product page do not match its actual performance. The listed speed of the actuator was 30 mm/s while the measured speed was closer to 15mm/s. Additionally, due to the lead screw design of the linear actuator, a backlash error is present which compromises the precision of the position of the platform. Due to this, we decide to choose belt-driven linear actuators instead to run our platform.
While trying to use Marlin 2.0 as the firmware for our platform, we realized that Marlin 2.0 does not natively support 6 stepper axes, this results in a lack of support for homing and other features for the unsupported axes. Hence, the coding team needed to use a prerelease version of Marlin in order to implement 6 stepper axes support. After building and uploading this version of Marlin to the Arduino, we tested the motor movements using Pronterface as a host to see if stepper motors worked properly. Unfortunately, this was not the case as the resultant movements of the stepper motors were glitchy and stable. Further optimization of the code has to be done before testing actual linear actuators. A solution to convert inputs into actuator lengths and streaming to Marlin is also needed to be coded.
Due to the hexagonal nature of the orientation of the actuators, attaching them to the uniformly spaced breadboard requires individual custom parts for attachment. The hardware team has to design and fabricate this part while leaving very little play to ensure the precision of the platform is not compromised.
The Arduino Ramps 1.4 only natively supports 5 stepper drivers on the board, hence an expansion board has to be purchased and connected in order for all 6 stepper drivers to be run off the same Arduino.