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, Extruder, SCARA 3D Printer

The Cold End, Bowden Style

The idea behind this cold end is that it too is well placed behind the sheet metal. Here is the inital concept. Because this printer will eventually have two extruders, it was important to build them in such a way that fillement could be fed from either side. This is because the extruders will be mounted on each side of the printer. This can be best shown in the Solidworks rendering below.



Note the location of the light gray stepper motors to each side of the main geared stepper motors. These are the locations for the extruders.

Assem cold end2


The hobbed gear is purple in the rendering above. The bearing carrier is green and the main block is the brown part. Notice the small hole in the main block. This is where the filemant will passes through. There is an identical hole on the other side resulting in the feed direction being reversable. This cuts down on the number of different parts that must be designed and machined.


Machining the bearing carrier.


The stud and the bearing carrier are all one part. This decreases complexity and also the number of parts made.


The main block with the bearing carrier installed.


Resting on the stepper motor. Note that the bearing carrier is upside down in this picture to better illustrate the assembly.


This is the proper orientation for the cold end. The carrier is pushed from right to left against spring compression in order to load filament. There is a spring pushing against the central post which returns the bearing carrier and maintains compression on the filament. It is adjusted through the use of a set screw. The NEMA 17 stepper motor is mounted using an L bracket purchased from Phidgets.


And finally, here is the cold end mounted to the sheet metal. Four 4-40 bolts are used to hold it in place. The compression adjustment set screw is more clearly seen in the picture above. The other cold end will be mounted in the mirror position on the frame. Though the holes for the filement to pass through  have not been drilled yet, they will allow the PTFE tubing to pass behind the geared stepper motors and come around from the opposit side, maximizing lenght so that the filament does not experience too sharp of a bend on its way to the hot end.

3D Printer, SCARA 3D Printer, Sheet Metal

Front Facade

A bit more sheet metal work is in order. The front facade is necesary for both aesthetics and functionality. It helps to stiffen the frame in addition to enclosing the electronics. Made from the same 22 gauge mild steel used for the frame. Liberal use of machinist blue was needed for scribing the lines for the sheet metal brake.


The front is then marked with a Sharpie for the area of material needing removal in order for the arms and platform to operate. Holes were drilled at each corner, then a nibbler was used to follow the lines.



Finished with the sheet metal. The facade neatly encloses all the electronics.



3D Printer, SCARA 3D Printer, Sheet Metal

Sheet Metal Frame

A large part of making this 3D printer portable is the ability to stow all the components in a protective shell. The frame also must be rigid enough to mount the components within. Starting with a sheet of 22 gauge mild steel, machinist blue was applied and the dimensions were scribed on the surface. A few minutes with the electric shears and the basic shape began to emerge.


Using the sheetmetal brake to form the sides. The depth of each side is 2.5 inches.


Holes for the arms to rotate through were cut into the back. This will give the arms a larger range of motion so that more of the platform can be utilized.


Laying the all the parts in the sheetmetal frame to check the fit. The Arduino Mega and RAMPS 1.4 board will sit along side the power supply unit. In the picture below the platform is shown in its stowed position.


Platform in printing position. The Z axis motor is sitting in its eventual orientation. The bracket holes have not yet been drilled for the stepper motor mount. The Z axis will ride on a 5/16″ x 18 allthread rod.


Holes drilled throught the sheet metal and arms mounted to the frame.