Firmware and Endstops

The Armstrong uses a fork of Marlin developed by ttsalo. It was configured by him to support SCARA movement and can be found here: https://github.com/ttsalo/Armstrong-SCARA. Some explanation and modification are in order, however. Under configuration.h, the arm lenghts are adjusted to that of the printer in use by changing the variable scara_seg1_len and scara_seg2_len. Scara_axis_spacing is the distance between the arms’ stepper motors. It is very important that the hotend starts at a predetermined position, governed by the variable scara_axis_y. This refers to the distance from the outside edge of the build platform moving inward along the y axis towards the machine. For example, my build platform is set to 200 mm, and scara_axis_y is set to -82, meaning that measuring from the outside edge, the hotend should be postioned 82 mm inward from the edge of the platform for the print to be accurate.

In order for the prints to begin in an accurate position, endstops are very handy, but the stock firmware does not have them enabled. To do this, navigate to the marlin_main.cpp section and scroll down to G28. It will be disabled with a break command. Delete the break, then navigate to the configuration.h section and locate the code that governs homing direction. Set the Y axis to home to the negative direction and the X axis to home to the positive. Finally, in the Slicer of your choice add the following commands to the custom start Gcode:

G28 //Home all Axis

G92 X0 Y0 Z0 // Set current position to zero

This will take care of the homeing of the arms. Make sure that the final position set by the G92 command is the same position denoted by the scara_axis_y setting. The Armstrong endstops are comletely adjustable and fold up out of the way for storage.




Reprap Morgan Configuration

A big issue with the arms configuartion as they are is that there is no firmware support for end stops. What this means in real terms is that before a print is started, the arms must be manually placed in a specific location to a reasonable degree of accuracy. This is dificult and time consuming. The firmware choosen to run this printer was developed by a Reprap forum member named ttsalo. Unfortunetly , he is no longer an active member of the board, and so the fork of Marlin he was developing has stalled. Because I am not a programmer I have been forced to look at other options in order to get this machine fully functional. To that end I have decided to utilize the wonderful low cost design created by Quentin Harley, the Reprap Morgan. It too is a SCARA type printer, however it uses a central pole for a pivot for both arms.


The great thing about using this configuration is the firmware is far more developed. It supports both end stops as well as a form of bed leveling/ arm leveling. This will simplify the platform leveling needed to run the machine. To this end, new arms were machined, as well as the central post for holding the assembly.


Beside the old configuration.



Gears will be used to transfer motion from the stepper motors to the axels. First gears were printed to ensure the dimensions were correct.


Then all the gears were machined form aluminum.


Now, a test fit.



The arms will again be spring loaded. The springs, not yet built, will pull the arms back. This pulls the backlash to one side of the gear train in a similar manner as the previous arm configuration.



A short video of one of the first test prints. It is a model train car. Notice how straight the sides are as well as the consistancy of the print, proving that no backlash in the gear train is being transfered to the print.

3D Printer, SCARA 3D Printer, Uncategorized

Build Platform

The build platform must be as rigid as possible yet still retain the ability to fold for storage. Two bearing blocks each hold two linear bearings for the 5/16″ diameter stainless steel rods to pass through. They are machined from 1 inch 6061 square aluminum stock. The platform is held in place perpendicularly by two arms which pivot on 1/4” bolts. The arms are in turn held with removable braces. This allows the platform to rotate down and lay flat for storage when the braces are removed. The aluminum plate for the build platform can be seen in the background of the following picture with a caliper resting on it.


The build platform consists of a 1/4 inch thick 6061 aluminium plate. The bottom was machined to lighten yet retain stiffness.


Because this milling machine only has 6 inches of travel in the Y direction and the final build platform is 8″ x 9.5″, the machining process was broken into two operations. First one side was machined as can be seen above. Once this was complete, the plate was then rotated 180 degrees, and taking care to square up and index the part using a dial indicator and an edge finder, the plate was reclamped securely and the operation was completed using a 3/16″ three flute carbide end mill.



And finally a view from the bottom, all bolted up. Four 8/32″ bolts are used to secure the plarform to the arms.


A cross brace can be seen in the photo above reaching from one bearing block to the other. The hole in the center is where the threaded rod for the Z axis will pass.


Z Axis




First, a quick mockup. The lumber acts as a stand to see how the arms will look in their proper orientation. A scrap piece of oak represents the build platform, and a pencil takes the place of the hot end.





When in this position, the arms were then checked for proper pretensioning. The range of motion and repeatability were both excellent. Next, four rod brackets were machined from 6061 aluminum and bolted to the stepper motor brackets. The Z axis rods are made of 5/16″ cold rolled 304 stainless steel. They are held in in place with 4-40 bolts. The lower aluminum bracket will hold the Z axis stepper motor.