So I have always been interested in delta printers and I have finally gotten my Mendel Max 2 working well enough where I can begin to print parts to build one. I spent some time on reprap.org and Thingaverse and decided to go with the following topology:
For the frame I chose the Kossel Alt. LM8UU bearings have worked well for me in the past with my Reprap Prusa, but I like the aluminum extrusion frame used in the Kossel. The Kossel Alt frame on Thingaverse seems to be a good incorporation of both designs. I used 20mm extrusion from Mitsumi.
Parts BOM:
I already had M3 screws, M5 screws, bearings, and various gauges of wire from previous projects.
The first challenge I had was getting a good flow setting to print brackets that were able to fit the extrusions. I noticed that increasing my flow rate make a much nicer/stronger print, but I had trouble fitting the aluminum extrusion because the inside dimensions of the hole were too small. Eventually, I figured out that I had to slightly increase my nozzle diameter in slicr to 0.42mm. I was then able to fit the extrusion with a little filing.
Image may be NSFW.
Clik here to view.
One I printed all the supports, I was ready to start assembling the frame. I used M5 bolts which required a little drilling to fit nicely.
Image may be NSFW.
Clik here to view.
Once the frame was complete, I started to print the carriage and platform. I went with the following Rostock part http://www.thingiverse.com/thing:31642
Image may be NSFW.
Clik here to view.
For the J-Head holder I used this: http://www.thingiverse.com/thing:156860 minus the fitting holder ( the J-head already had the tube fitting attached).
To keep the machine neat, I designed a holder for the Mega and RAMPS that will fit underneath the print bed.
Image may be NSFW.
Clik here to view.
Next I printed the Airtripper Bowdwen Extruder BSP: http://www.thingiverse.com/thing:126778 and attached the stepper and the MK8 Gear. I had to play a bit with slicing to get the best print; I printed it using Slic3r and KissSlicer and then selected the best parts.
Image may be NSFW.
Clik here to view.
Now for the fun part: wiring everything up!
Image may be NSFW.
Clik here to view.
Wiring took about 4 hours. I made sure to solder all joints as well as use heat shrink tubing and wire connectors from Ultimachine https://ultimachine.com/content/254mm-1×3-connector-positive-latch-housing-kit-6-pack
With all the wiring complete, I now had to install the firmware. I have been fairly happy with Repetier http://www.repetier.com/ and decided to go with it again since it had delta support. In Configuration.h, I selected a Delta motion with a RAMPS motherboard, a DELTA_DIAGONAL_ROD length of 339mm, and PRINTER_RADIUS of 205mm. Once programmed, though, I was getting invalid delta move errors. I played with settings and found that lowering the DELTA_DIAGONAL_ROD to 250 would stop the errors. I read a few forums and determined it may be due to a integer overflow. I backed off the micro-stepping from 1/16th to 1/8th and I was able to keep my rod length at 339mm.
My first print was not really great. Also, I burnt up all my fans! I knew they were 5 volt fans so I just dropped the duty cycle to 40%. However the internal electronics did not like that and they started smoking. Unfortunately, I cannot find a 12V version of those little 20x20mm fans at a reasonable price, so I will probably have to make a new mount and use a 40x40mm 12V fan.
Image may be NSFW.
Clik here to view.
I was not expecting a perfect print, as I knew the rods were way to long and perhaps not all the same length. So I build a small jig and cut the tubes down to create a DIAGONAL_ROD_LENGTH of exactly 250mm.
Image may be NSFW.
Clik here to view.
I also used some epoxy glue to make sure the 4mm bolt stayed in place. After the glue fully cured, I installed the new rods, updated the firmware, and tried some more prints.
Image may be NSFW.
Clik here to view.
Image may be NSFW.
Clik here to view.
The Lucy Cat I printed came out fairly well except for some problems around the neck. I have not installed the end stops yet, so I had to manually home the machine. I did this by setting all the carriages to a fixed height and then lowering z-axis till the tip just touched the bed. I then had to restart the RAMPS board so it would use that position as zero; clicking the home button or sending G28 would not zero the machine after I jogged it manually.
For the end stops I went with a traditional design that just clamps to the smooth rod.
Image may be NSFW.
Clik here to view.
In order to home the machine, I used the following Repetier firmware settings:
#define ENDSTOP_PULLUP_X_MIN false #define ENDSTOP_PULLUP_Y_MIN false #define ENDSTOP_PULLUP_Z_MIN false #define ENDSTOP_PULLUP_X_MAX true #define ENDSTOP_PULLUP_Y_MAX true #define ENDSTOP_PULLUP_Z_MAX true //set to true to invert the logic of the endstops #define ENDSTOP_X_MIN_INVERTING true #define ENDSTOP_Y_MIN_INVERTING true #define ENDSTOP_Z_MIN_INVERTING true #define ENDSTOP_X_MAX_INVERTING true #define ENDSTOP_Y_MAX_INVERTING true #define ENDSTOP_Z_MAX_INVERTING true // Set the values true where you have a hardware endstop. The Pin number is taken from pins.h. #define MIN_HARDWARE_ENDSTOP_X false #define MIN_HARDWARE_ENDSTOP_Y false #define MIN_HARDWARE_ENDSTOP_Z false #define MAX_HARDWARE_ENDSTOP_X true #define MAX_HARDWARE_ENDSTOP_Y true #define MAX_HARDWARE_ENDSTOP_Z true //If your axes are only moving in one direction, make sure the endstops are connected properly. //If your axes move in one direction ONLY when the endstops are triggered, set ENDSTOPS_INVERTING to true here //// ADVANCED SETTINGS - to tweak parameters // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 #define X_ENABLE_ON 0 #define Y_ENABLE_ON 0 #define Z_ENABLE_ON 0 // Disables axis when it's not being used. #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false #define DISABLE_E false // Inverting axis direction #define INVERT_X_DIR true #define INVERT_Y_DIR true #define INVERT_Z_DIR true //// ENDSTOP SETTINGS: // Sets direction of endstops when homing; 1=MAX, -1=MIN #define X_HOME_DIR 1 #define Y_HOME_DIR 1 #define Z_HOME_DIR // Delta robot radius endstop #define max_software_endstop_r true //If true, axis won't move to coordinates less than zero. #define min_software_endstop_x false #define min_software_endstop_y false #define min_software_endstop_z false
After some prints, I noticed a lot of play in the smooth rods and am fairly sure it was effecting print quality on things with a lot of jerky moves. I decided to provide more support for the rods on the top of the machine to try and fix the problem. I accomplished this by moving the top support down a few inches and then adding an additional support.
Image may be NSFW.
Clik here to view.
This greatly increased the stability of the smooth rod and helped overall performance, but at the cost of reducing the printable height. This printer is so tall that even after this modification it still has almost twice the height as my Prusa or MendelMax2.
Image may be NSFW.
Clik here to view.
Now that the print motions are working fairly well, I am noticing some extruding problems, especially with layer heights of less or equal to 3mm. After spending some time researching, I believe the problem is due to lack of microstepping on my extruder. In my initial parts order, two of the five stepper drivers were defective; one would not work at all and the other did not allow me to select microstepping. To get started, I put the semi-working one on the extruder. I figured it would not matter and the extruder could use the extra torque provided by not microstepping, anyway. My steps per millimeter are around 20 on a direct drive extruder using an MK8 drive-gear. This is not nearly enough and the machine leaves a blob every time the extruder ticks. I have talked to the seller of the electronics and waiting for replacement stepper drivers. Once I receive the drivers I will post the results.