Designing a delta tripod based robot fused deposition modelling 3 dimensional printer using an open-source Arduino development platform

The pinnacle of 3D printing is its effect on the field of rapid prototyping. The major advantage comes from the fact that designers can quickly materialize a part or object, which then could be tested in practice, and can be effortlessly modified if needed. This obviously cuts the development expenses and time by a significant percent. Moreover, it’s possible to create complex and precise shapes with the technology, which would take more time and would be resource intensive if done by older methods, for example manual or automatic machining.


Introduction
The University of Debrecen's Building Automation Research Faculty houses numerous projects of the Faculty of Engineering [1].These projects always inspire us for further research, like our IoT (Internet of Things) enabled FDM (Fused Deposition Modelling) 3D printer [2].During studies, smaller projects always required a modest amount of mechanical parts, which were often needed to be of a special size, or hard to manufacture, and would cost a great deal amount of money.The explosion of CAD (Computer-Aided Design) systems in 1980 drastically changed the field of engineering, and enabled us to quickly create and manufacture parts at a negligible cost and time.This whole principle made us consider the project.In comparison to the "classical" Cartesian 3D printers, the decision was made to use a less common, Delta mechanism, as an essential challenge.The problem comes from the much more complex kinematical and calibration issues of said parallel delta systems.The project started in the 2nd semester of year 2016 to 2017, within the framework of the University of Debrecen's Program for Gifted Students (DETEP).

Design points
One of the most crucial design point was cost efficiency, that's why Open-Source Arduino platform was chosen.[3].For the Control Software, Arduino firmware Marlin was selected, which is specially designed for Delta 3D printers [4] The other control and slicing software communicates via USB (Universal Serial Bus).Delta robots can have two types of movement, linear and radial, linear was favourable.Furthermore, the aim was to create a workspace capable of manufacturing parts of standard sizes and general uses, not only example of concept smaller ones.Delta tripods consist of three vertical axes, each rotated from 60 [°] from one another.By comparing different present designs, toothed belt was approved as a method of moving the system, as it's fast, and precise enough for our demands [5].
The drive consists of a toothed belt of 2 [mm] pitched, GT2 belt and a gear with 20 teeth driven by hybrid stepper motors.The choice was a Nema 17 type bipolar stepper motor, with the dimensions of 42,3 x 42,3 x 34 [mm] [6].The sled structure consists of 2-2 pieces of ∅8 [mm] diameter circular steel pieces connected with linear bearings.
To reach the entire working area with the hotend, 5 parameters needed adjustments: height of axis(H), radius of delta (DR), consisting of the circle included by the 3 axis, length of pushrod (L), that connects the sled and the effector, offset of the effector (EO), and the offset of the sled (SZO).
The sled structure is downloaded from an Open-Source STL (stereolithography) file sharing site, printed from ABS (Acrylonitrile Butadiene Styrene), and designed for LM8UU type bearings and GT2 toothed belt [7].The pushrod is made out of carbon fibre, and has ball joints on each end.The heating solution of the hotend is a E3D V6 type element.To connect the pushrods to the hotend, an adapter is needed, a so-called effector, this connects the 6 pushrods to the hotend.As the MK2Y type was chosen, d = 220 [mm] diameter heated bed, printing work area was designed as well.On the Z axis, 110 [mm] maximum height was aimed for.pushrods we need to reach the correct area on the X-Y plane.This brings the need to lengthen the axis as well, to keep the movement range on the Z axis as well.The pushrods' angle with the bed at the robot's HOME position is: α.However, during movements pushrod's angle with the bed cannot go under 20°, so the angle in the endpoint is: γ.

Height of Axis [mm] 460
After laying down design points, free Autodesk Inventor was used to create the 3D model of our system [8], which was necessary for further planning.The 3D model enables the verification of the fitting and usability of any part that will be added to the system later.It's also beneficial that collisions in a simulation can be checked, preventing real accidents.A Bowden solution was used for the feeder unit, which means that the extruder motor is not directly above the hotend, but connected to the top tray and connected via a Teflon tube, which guides the thermoplastic material [9].On the plus side, the total moved weight is less.However, it requires a motor with higher torque, some leftover filament will remain in the pipe, this is not suitable for feeding flexible materials.
During the assembly, tensioners to fasten the toothed belts were used, and it is advantageous to use some kind of elastic connecting element in between the pushrod pairs.

The completed circuit
Next task was to install the electronic components.The servo drivers and the other necessary components were connected to an Arduino Mega with a Ramps 1.4 as a shield, which is a specialized instrument for 3D printers.The shield runs on 12 [V] DC (Direct Current), provided by a 280 [W] ATX PSU (Power Supply).It possesses two 5 [A] outputs, one for the hotend, which is in charge of heating the thermoplastic material, and one for the fan, to cool down the already extruded layers.Additionally, it includes an 11 [A] output, which provides the required power for the heated bed.Up to 3 thermistors can be connected to it, in this case 100 [kΩ] resistance ones were used.Moreover, 6 limit switches were added, of which 3 were used as the top endpoints, as basic mechanical NO (Normally Open) switches.Ramps 1.4 can support up to five stepper drivers, currently 3 are used for movement, and 1 for the extruder, so in the future an extra extruder can be added for a second hotend.
The chosen stepper motors technical data: 1,3 [A], 0,22 [Nm] torque, 1,8° per step.We used DRV8825 (Pololu) drivers to control the motors [10].This IC (Integrated Circuit) also houses the necessary resistors and potentiometers to operate the motors.One of the greatest benefit of the IC is the so-called microstep function, which enables the user to split the steps of the motor to even more steps.In microstep, the user can distinguish 1/2, 1/4, 1/8, 1/16, 1/32 step angles, depending on the setting of the circuit.The correct microstep on the jumper on the driver can be set.Because DRV8825 is capable of 1/32 microstepping, this option was chosen.The maximum amperage and voltage is 2,2 [A], and 8-45 [V] over the motors in the case of Pololu.
The following formulas were used to calculate the movement resolution: [11]:

Calibration
During calibration, differentiation must be made between Software and Hardware calibration.During the Software calibration, the Arduino program is set up, and the slicing software to the correct configuration.In the firmware Marlin, physical parameters of the printer have to be submitted, the data for the driver, limit switches, and temperature data and also the pinouts.The free slicing software Ultimaker Cura even possesses an official manual, to set the correct work area, correct communication, and the diameter of the nozzle [12].The parameters for the current print are set here as well, for example: fill factor, print speed, and the filament's specified heat values.Before the physical calibration of the printer, individual part calibration is needed as well.Such parts are like the limit switches, that need an individual checkup for each component.Moreover, it's important to set the current limit for the stepper motors, thus to achieve the highest torque, a driver with higher current flow than the maximum current needs to be used on the stepper.Overpowering of the motors is not desirable, the maximum set current should be the highest possible power draw of the motor.The correct calibrations result in cooler motors, and no loss of steps.After the parameters are set correctly, the units can be connected to the system.For the correct settings, reference voltage of the instrument must be measured.The DRV8825 method follows the equation: Because the chosen motors maximum current per phase is 1,3 [A], formula no. 6. enables calculation of the reference voltage: Uref = 650 [mV].
The first step of calibrating a Delta-Tripod type printer is to set the P(0,0,0) mechanical null point in advance, manually.The robot set in the HOME position will be moved along the Z axis in the negative direction (down) until the hotend reaches the glass plane covered with a sheet of ordinary paper, but it shouldn't press it onto the glass.Because a sheet of paper usually has about ≈0,1 [mm] thickness, the correct parameters can be entered into the Arduino program from the total distance corrected with the girth of the sheet.This is the so-called paper test [13].
These corrections are followed by refining the limit switches.This is done by printing a one layer, but thick test prop, to measure the difference between the thickness of the layer approaching to the axes from the centre.If the measured values do not correspond to the pre-set thickness of the layer, the difference can be used for correction purposes again.
The latest task is to set the dimensions.This can be done with two methods.In the first one an equilateral triangle based prism was used.By measuring the height of the object on different edges and sides, some errors can be concluded, such as loose belts.
On the other hand, a cube can be used as our test print as well, but all in all, the main goal is to measure the dimensions, correct the erroneous calibrations, then print once more, and measure once more as well, repeatedly, until the same values on the physical manifestation are corresponding with those given in the program.

Reference prints
With the calibration prints, the following conclusions can be made:  X and Z axes had marginal differences, but on the Y axis at 20 [mm] had -0,1 [mm] difference. At 80 [mm/s] print speed, tear-free fill factors can still be used.
After accomplishing the correct print conditions a nozzle was implemented to cool down the extruded material, to further increase the print quality.Tensioners were also fabricated for the belts, and a filament drum holder with bearings, to ease the feeding process.
The opportunity was given to print out a three finger gripping tool designed by Viktor Varga, an undergraduate colleague, for the KUKA KR5, located at the Mechatronical Faculty of the Engineering Department, University of Debrecen.1,75 [mm] diameter PLA (Polylactic Acid) filament was used, with its correct heat values visible in the table bellow The print consisted of the three fingers, and the pushrods and rotary elements as well.Additionally, a holder for the tool was printed for secure storing when not in use.All parts have been made with 0,2 [mm] layer thickness, 30 [%] fill factor and 50 [mm/s] print speed.

Conclusion
After carefully designing the mechanical frame, installation of the electronic components proceeded as well.After setting up the chosen programs, the greatest challenge of configuring, calibrating, and correcting the robot in every aspect was met.In addition to theoretical knowledge of the field, practical experience was acquired in the field of FDM 3D technology.The final task of printing the aforementioned 3-finger gripping tool, gave presentation of the ability to quickly and efficiently use the printer for rapid prototyping.
For future development, removal of human factor as a constant surveillance for the printing process, implementation and Open-Source Linux-based remote surveillance system accessible via Internet can be added, enabling the user to print or get real-time footage of the printing process ongoing from anywhere.

Fig. 3 .
Fig. 3. Pushrods and rotary elementThe Pushrods' print time was: 3 minutes per piece, and the rotary element took 10 minutes total.The total print time per finger was: 85 minutes, and required supporting material, the additional holder took another 163 minutes.The total print time did not go over 8 hours and their total weight is only 52,2 [g].

Fig. 4 .
Fig. 4. The finished griping tool on the holder