I have recently purchased a Kosssel Delta printer from aliexpress.
Trying to set this thing up was a lot more involved than I was hoping, and in addition having a family tends to not leave a lot of time to play. And the instructions are in chinglish , saying that I managed to construct the printer following the user manual supplied, so its not that bad. However the calibration is a bit more involved.
If you are reading this and a kossel delta printer is going to be your first printer I would recommend you purchase a normal 3d printer, they are a lot easier to get up and running.
Anyway, like most of my blog, these are notes really for more myself. So I am assuming some knowledge pronterface/arduino.
Set Max Height
Pronterface:
Click Home (G28)
Current Pos (M114) – Note Z reading (Zmax)
Now get the head down close to the bed using the controls in pronterface put the head near the printer bed. Place a piece of paper between the head and the platform bed, using the controls (0.1mm each step) get the head down onto the paper, until you are unable to move the paper.
Current Pos (M114) – Note Z reading (Zmin)
Now work out the Z range
Zmax – Zmin = Zrange
294.60 – (-5.69) = 300.29
Now disconnect pronterface from the printer.
Fire up arduino software and open the Marlin.ino file, this will open the project. We need to edit the configuration.h file. We need to update MANUAL_Z_HOME_POS
// The position of the homing switches
#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used
#define BED_CENTER_AT_0_0 // If defined, the center of the bed is at (X=0, Y=0)
//Manual homing switch locations:
// For deltabots this means top and center of the cartesian print volume.
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 300.29 // For delta: Distance between nozzle and print surface after homing.
OK, so now the bed height at [X0 Y0] should be 0. So we will call this Zm.
Ok, so we are started. The Z height is set. now lets do some manual leveling… We are going to take the Z readings from various points (X,Y) over the bed.
Using the same method we used to get the Z reading a X=0, Y=0. edge the head down until you unable to move the A4 paper.
- [G1 X0 Y66 Z10] (Z Tower)
- Adjust the height until you cannot move A4 paper
- [M114] = X0 Y66 Za – record Za
- Adjust the stop screw on the roller for the nearest tower. If Za is positive we need to decrease the height of the screw and vice versa.
- [G28] (home)
- Try again, until Za is 0.
Now repeat for
- [G1 X-66 Y-66 Z10] (X Tower): Zb
- [G1 X566 Y-66 Z10] (Y Tower): Zc
Once you have Za, Zb, Zc readings at 0. Read them all again to ensure they are all still 0, adjust if necessary,
G28 return to home
Now we are going to adjust for the curvature (not sure that is the right term but we are going to be setting the SMOOTH_ROD_OFFSET setting in the configuration.h file.)
Now lets read the Z bed at [G1 X0 Y0] again (using the A4 process). Lets call this Zz. You should find its no longer 0. Now there probably is some scientific way to do this but my manual was just trial and error…. Now Zm was 0.
- Zz < Zm : increase SMOOTH_ROD_OFFSET
- Zz > Zm : decrease SMOOTH_ROD_OFFSET
Adjust in the configuration.h file and upload to arduino again.
-0.5 is less than 0, so I need to increase
// Horizontal offset from middle of printer to smooth rod center.
#define DELTA_SMOOTH_ROD_OFFSET 154// mm
So I adjusted to 155
// Horizontal offset from middle of printer to smooth rod center.
#define DELTA_SMOOTH_ROD_OFFSET 155// mm
Now we are just trying to get Za,Zb,Zc,Zz to the same value, so don’t expect Zz to change. You must keep taking measurement of all and adjust the various settings…. Its a pain…
I had to adjust the stops again on the Z Tower roller. Then I retook the readings. Zz was –0.7 and Za,Zb,Zc were –0.5. So increase the ROD offset
// Horizontal offset from middle of printer to smooth rod center.
#define DELTA_SMOOTH_ROD_OFFSET 155.5// mm
With this settings and a few adjusts of the stops on each roller I got all Z values to match at -0.7
Ok, now we need to set the max height again.
Zmax – Zmin = Zrange
300.29 – (-0.7) = 300.99
#define MANUAL_Z_HOME_POS 300.29
Note: In trying to setup my printer I had to go through this process about 15 times (thats no joke). Many failed prints…
Things learnt, don’t adjust the flowrate, i thought some of my jams were being caused by this. But in the end I reckon I just made it worse.
Best result I got was setting temp to 195. I did jump into repetier and adjust the speed in the slicer config. but in the end did that fix anything… who knows….
One thing I did in one of the many hot end rebuids was to push the filament sleeve all the way down inside the hot end. Original I just pushed it into the connector as I thought it was just guiding the filament in. However I now think this provides guidance and some heat protection as it travels down. I think this was a caused of the jams I was having.
Also I believe I had the feed wheels clamped too tight, which was marking/crushing the filament. As such this caused the filament to jam.
In all I think I have spent around 20 –30 hours setting this thing up…
The future is now….
p.s. One other thing when rebuilding the hot end, let it heat up and then tighten again. I did a run without doing this and it leaked out from the screw threads…
Setting Kossel Delta 3D printer