KOSSEL DELTA manual REPETIER and MARLIN FIRMWARE (last update 17-07-2019)

Get Started. It's Free
or sign up with your email address
KOSSEL DELTA manual REPETIER and MARLIN FIRMWARE (last update 17-07-2019) by Mind Map: KOSSEL DELTA manual REPETIER and MARLIN FIRMWARE (last update 17-07-2019)

1. Buy Kossel XL or XXL 3D printer KIT

1.1. link

1.2. XXL

2. WARNING

2.1. Connecting or disconnecting a stepper motor while the driver is powered can destroy the driver. (More generally, rewiring anything while it is powered is asking for trouble.)

2.2. .

2.3. Remove power when changing "steps per mm" setting in EEPROM.

3. Stepper drivers

3.1. MICROSTEPPING INFO

3.1.1. DRV8825

3.1.1.1. max 1/32 micro stepping

3.1.1.2. 1/16 micro stepping (for autocalibration)

3.1.1.3. modes

3.1.2. A4988

3.1.2.1. max 1/16 micro stepping

3.1.2.2. modes

3.2. 1. Limit the current 2. Steps per mm

3.2.1. Why?

3.2.1.1. When we buy stepper drivers they come "fully opened" and will allow to much current through motors. And it will produce a lot of heat on itself and in motor.

3.2.2. How?

3.2.2.1. We limit current by setting voltage on small potentiometer on stepper driver itself.

3.2.3. (Simple way to "adjust" current limit is to test how hot heatsink is. If it is hot to touch that current is to high. I always adjust voltage on potenciometer and that observe heatsink temp. )

3.2.4. All 3 jumpers on each driver is 1/32 for the 8825's and 1/16 on the 4988's. Just 1 jumper on the most right slot is 1/16 for the 8825s.

3.2.5. DRV8825 stepper driver

3.2.5.1. set poti voltage to 0,6V to limit the current

3.2.5.2. Current Limit = VREF × 2

3.2.5.3. steps per mm: 200

3.2.5.3.1. POWER OFF MAIN PRINTER POWER WHEN CHANGING THIS SETTING

3.2.5.4. extruder steps per mm: 190

3.2.6. A4988 stepper driver

3.2.6.1. set poti voltage to 0,6V to limit the current

3.2.6.2. Current Limit = VREF × 1.85

3.2.6.3. steps per mm: 100

3.2.6.3.1. POWER OFF MAIN PRINTER POWER WHEN CHANGING THIS SETTING

3.2.6.4. extruder: steps per mm - 95

3.2.7. MKS TMC2100 stepper driver

3.2.7.1. orient like DRV8825

3.2.7.2. YouTube

3.2.7.3. Wiki

3.2.7.4. default was 0,75V and I left it there

3.3. change to TMC2100 drivers

3.3.1. what to do to change to TM21000

3.3.1.1. info

3.3.1.2. info

3.3.1.3. orient like DRV8825

3.3.1.4. limit current

3.3.1.4.1. set voltage to cca 0,7Vdc (0,75Vdc)

3.3.1.5. set new drivers in firmware (configuration.h)

3.3.1.6. In Repetier host set "steps per mm" in EEPROM to 100

3.3.1.7. run manually and check movement direction

3.3.1.7.1. if not OK reverse motor cables of swap in firmware

3.3.1.7.2. or change direction in firmware (configuration.h)

4. Repetier/Marlin: import EEPROM settings

4.1. If I gave you EEPROM file import it in Repetier EEPROM configuration

4.2. Open configuration

4.3. Import EEPROM data

5. Repetier/Marlin: EEPROM settings MECHANICAL CONSTANTS

5.1. Alt+E

5.2. Homing feedrate [mm/s]

5.2.1. 10 - first tests

5.2.2. 40 - "normal"

5.3. What are mechanical constants?

5.3.1. This are the constants that "tell" firmware what kind of mechanics we have. When they are correct printer will move correct amount in 3D space. And it will move parallel to glass.

5.3.1.1. If we use Arduino board we enter them in Repetier software in EEPROM settings.

5.3.1.2. If we use Soothieboard we write them in config file on SD card. (And reset board after change.)

5.4. MECHANICAL CONSTANTS

5.4.1. delta XXL 1000

5.4.1.1. Rods: 420mm

5.4.1.1.1. Printer example: diagonal rods length: 416,0 horizontal rod: 236.75

5.4.1.2. Rods: 450mm

5.4.1.2.1. Printer example: diagonal rods length: 453.5 horizontal rod: 232.0

5.4.1.3. Rods: 475mm

5.4.1.3.1. Printer 1 example: diagonal rods length: 478,0 horizontal rod: 228,0 Z max lenght: 347.2

5.4.1.3.2. Printer 2 example: diagonal rods length: 475,0 horizontal rod: 230,0 Z max lenght: 310.0

5.4.2. STAR 750

5.4.2.1. diagonal rods length: 350,0 horizontal rod: 180,00 Z max lenght: 182

5.4.3. XL

5.4.3.1. Kossel 750 1515: DELTA_DIAGONAL_ROD: 333,5mm DELTA_EFFECTOR_OFFSET: 33,0mm DELTA_RADIUS: 161,7mm DELTA_CARRIAGE_OFFSET: 25,0mm

5.4.3.2. Kossel 750 1515 - 06-11-2015: steps/mm: 80 diag. rod: 334,0 Zmax: 263,0 horizontal rod: 165,00

6. Print size dependent on rods lenght

6.1. Many times people ask me what is max print size so I made this list to clarify.

6.2. Of course it depends on rods lenght and effector type.

6.3. delta XXL

6.3.1. rods length = 410mm

6.3.1.1. effector with hot end on top

6.3.1.1.1. Zmax = cca 400mm

6.3.1.1.2. print diameter = cca 375mm

6.3.1.2. effector with hot end below

6.3.1.2.1. Zmax = cca 345mm

6.3.1.2.2. print diameter = cca 320mm

6.3.2. rods length = 450mm

6.3.2.1. effector with hot end on top

6.3.2.1.1. Zmax = cca 400mm

6.3.2.1.2. print diameter = cca 375mm

6.3.2.2. effector with hot end below

6.3.2.2.1. Zmax = cca 342mm

6.3.2.2.2. print diameter = cca 375mm

6.3.3. rods length = 475mm

6.3.3.1. effector with hot end on top

6.3.3.1.1. Zmax = cca 375mm

6.3.3.1.2. print diameter = cca 375mm

6.3.3.2. effector with hot end bellow

6.3.3.2.1. Zmax = cca 322mm

6.3.3.2.2. print diameter = cca 375mm

6.3.4. rods length = 500mm

6.3.4.1. effector with hot end on top

6.3.4.1.1. Zmax = cca 348mm

6.3.4.1.2. print diameter = cca 375mm

6.3.4.2. effector with hot end below

6.3.4.2.1. Zmax = cca 295mm

6.3.4.2.2. print diameter = cca 375mm

7. Delta printer kinematics

7.1. X, Y and Z directions on delta printer:

7.2. Delta

7.3. Zoom

8. Test end-switches

8.1. this must be confirmed before using first HOME command

8.2. REPETIER:

8.2.1. Use M119 code to read states

8.2.1.1. x_max=L

8.2.1.1.1. X switch not covered

8.2.1.2. x_max=H

8.2.1.2.1. X switch covered

8.2.2. Firmware response on code example

8.3. MARLIN:

8.3.1. M119

8.3.2. return in log

8.3.3. open: end stop not pressed/triggered

8.3.4. "Switch" in hot end triggered > hot end is presed into the bed/glass

8.4. Test all 3 to see all are electricaly OK. 4 if you have hot end with "end stop".

9. Enter/edit scripts

9.1. Enter scripts

9.1.1. If we want we can enter/save scripts for faster work. So we dont need to type g-code commands so many times.

9.2. In Repetier > Config > Printer Settings > Scripts (tab)

9.3. Script 1- CENTER

9.3.1. G1 X0 Y0 Z10 G1 X0 Y0 Z5

9.4. Script 2 - X tower

9.4.1. G1 X-105 Y-65 Z10 G1 X-105 Y-65 Z5

9.5. Script 3 - Y tower

9.5.1. G1 X105 Y-65 Z10 G1 X105 Y-65 Z5

9.6. Script 4 - Z tower

9.6.1. G1 X0 Y105 Z10 G1 X0 Y105 Z5

10. End-stops adjustment

10.1. Why do we need it?

10.1.1. By changing end-stops position we influence the movement of hot end over the bed.

10.2. When there is need to move end stops here is how you do it

10.3. Zoom

10.4. MECHANICAL ADJUSTMENT

10.4.1. How do we use them?

10.4.1.1. - By turning the screw in CW direction (RED ARROW) end stop will phisically move UP. - Home printer. - Nozzle will move HIGHER over glass near that tower.

10.4.1.2. - By turning the screw in CCW direction (BLUE ARROW) end stop will phisically move DOWN. - Home printer. - Nozzle will move LOWER over glass near that tower.

10.5. SOFTWARE ADJUSTMENT

10.5.1. When you adjust end-stops close to what you want you can use software fine adjustment in EEPROM.

10.5.1.1. Be careful. This numbers are in steps.

11. GENERAL IDEA

11.1. What is calibration of 3D delta printer?

11.1.1. 1. Printed model dimensions are correct in all 3 axis.

11.1.1.1. We change DIAGONAL_ROD_LENGHT as needed.

11.1.2. 2. Hot end in center bed position "knows" where is print bed.

11.1.2.1. Z-height calibration

11.1.3. 3. Hot end moves horizontaly over print bed.

11.1.3.1. We change HORIZONTAL_ROD_RADUS as needed.

11.1.4. 4. Extruder in pushing correct amount of filament in hot end.

11.1.4.1. We change parameter EXTRUDER1 STEPS PER MM in EEPROM.

12. REPETIER: Z-height calibration (hotend/nozzle in center position)

12.1. Measure distance between nozzle and bed (glass) when hot end is in Home position

12.2. We need this distance to start setting Z-height

12.3. EEPROM (Alt+E): Z max length: change existing number with measured one + 2mm

12.3.1. We added 2mm so we alowe nozzle to go lower than bed!

12.3.2. BE CAREFULL NOW YOU CAN HIT GLASS WITH NOZZLE

12.4. Put the paper over glass.

12.5. Manually move nozzle so it touches paper (bed center)

12.5.1. First move it for 10mm.

12.5.2. When closer use 1mm.

12.5.3. When very close use 0,1mm.

12.5.4. I dont use 0,01mm.

12.6. In my case Z position it was 1,2mm.

12.6.1. This means that hotend (nozzle) would go 1,2mm bellow bed in the bed center!

12.7. Manually move nozzle left/rigt (X direction) to see what is it doint.

12.7.1. We need to determine is hotend (nozzle) moving into or away from bed.

12.7.2. Our gool of course is that movement in X and Y direction is parallel to bed.

12.8. In my case it moved a bit up when moved to X+120 and X-120 position

12.9. This means  I need to decrease Horizontal rod radius in EEPROM settings.

12.10. Try it for Y direction too.

13. MARLIN: Z-height calibration (hotend/nozzle in center position)

13.1. Measure distance between nozzle and bed (glass) when hot end is in Home position

13.2. Marlin MENU info

13.3. I do it like this:

13.3.1. Measure distance from glass to nozzle and enter it here. PLUS PLAIN PAPER HEIGHT!

13.3.2. Prepare > Delta calibration > Delta settings > Height

14. X-Y dimensions correction Repetier and Marlin

14.1. In general:

14.1.1. Take a paper and draw a line. Mark center point and 2 points left and right 200mm apart.

14.1.2. We need to do this before curvature movement correction. We do it by changing DELTA_DIAGONAL_ROD / Diagonal_rod_lenght in EEPROM - Repetier firmware.

14.1.2.1. http://minow.blogspot.si/

14.1.3. Manually move hot end +/- 100mm and observe how much nozzle actually travels.

14.1.4. Change DELTA_DIAGONAL_ROD / Diagonal_rod_lenght setting in EEPROM accordingly.

14.1.5. Movement is to big

14.1.5.1. INCREASE Diagonal_rod_lenght

14.1.5.2. Home and measure again

14.1.6. Movement is to small

14.1.6.1. DECREASE Diagonal_rod_lenght

14.1.6.2. Home and measure again

14.2. MARLIN

14.2.1. Change in Repetier Host program > EEPROM settings > delta radius

14.2.1.1. smaller number means smaller nozzle movement (smaller print dimension)

15. MOVEMENT CURVATURE CORECTION: Standard 4-point delta calibration MEASUREMENT

15.1. Put paper in the middle of glass.

15.2. Manually drive hot-end so low that you feel nozzle stoping the paper (Point 1) OR use Script 1.

15.2.1. Write the Z height number down.

15.3. Go to Point 2 manually OR use Script 2.

15.3.1. Write the Z height number down.

15.4. Go to Point 3 manually OR use Script 3.

15.4.1. Write the Z height number down.

15.5. Go to Point 4 manually OR use Script 4.

15.5.1. Write the Z height number down.

15.6. Lets look at the numbers! Ideal is that ALL are as close as possiable!

16. Standard 4-point delta calibration SITUATION NO.1 - JUST ONE POINT IS OFF

16.1. Correct it by moving end stop lower or higher

16.2. Measure all 4 points and write it down.

16.3. Better?

16.3.1. YES

16.3.1.1. Move it more or less as needed.

16.3.1.2. Repeat the proces ...

16.3.2. NO

16.3.2.1. Move end-stop in other direction.

17. Standard 4-point delta calibration SITUATION NO.2 - HEAD WANTS TO GO LOWER IN THE MIDDLE

17.1. Table

17.2. Situation

17.3. Decrease HORIZONTAL_ROD_RADIUS in EEPROM settings.

17.4. Home printer.

17.5. Measure all 4 points and write it down.

17.6. Repeat the proces ...

18. Standard 4-point delta calibration SITUATION NO.3 - HEAD WANTS TO GO LOWER ON THE SIDES

18.1. Table

18.2. Situation

18.3. Increase HORIZONTAL_ROD_RADIUS in EEPROM settings.

18.4. Home printer.

18.5. Measure all 4 points and write it down.

18.6. Repeat the proces ...

19. Standard 4-point delta calibration FINISHED (ALL DISTANCES ARE SAME)

19.1. Table

19.2. In the above situation offset Zmax in EEPROM for the same number. So decrease for 1,2mm the number that is there.

19.3. Measure all 4 points and write it down.

19.4. They should be 0 or very close to 0.

20. X-Y dimensions correction and CURVATURE CORECTION influence

20.1. This is what complicates calibration on delta printers.

20.2. When we change "Diagonal_rod_lenght" it influences curvature and when we change "horizontal rod radius" we change XY movement.

20.3. That is why we need to check bouth when we are calibrating.

20.4. If we are gonna print toys and vases we can only focus on curvature corection. But if we are gonna print parts for other machines we need both.

20.5. temp (not finished yet)

20.5.1. By increasing "horizontal_rod_radius" we increase XY movement.

20.5.1.1. INCREASE "diagonal_rod_lenght"

20.5.2. By increasing "diagonal_rod_lenght" we increase last three numbers in 4 point calibration.

20.5.2.1. INCREASE "horizontal_rod_radius"

21. Real life example

21.1. Table - 1. measeurement of 4 points

21.2. Point 4 (Z tower) number correction.

21.2.1. Here the nozzle is going lower than on X and Y points. So we need to lower Z tower end stop.

21.2.2. For 1mm change we need to turn the Z screw twice.

21.3. Table - 2. measeurement of 4 points

21.4. Better. But I need to do lower it more.

21.5. Table - 3. measeurement of 4 points

21.6. Better again.

21.7. lower X end stop - 1/4 screw turn rise Z end stop - 1/2 screw turn

21.8. Table - 4. measeurement of 4 points

21.9. Now tower are OK

21.10. We have concave nozzle movement. So we need to decrease HORIZONTAL ROD RADIUS parameter in EEPROM.

21.11. Repetier > Config > Firmware EEPROM Configuration

21.12. Was 170. Decrease to 168.

21.13. Table - 5. measeurement of 4 points

21.14. Better. Need to decrease more.

21.15. Was 168. Decrease to 166.

21.16. Table - 6. measeurement of 4 points

21.17. Almost perfect. Gut enough for me.

21.17.1. As you see you have to play with it. Try what makes the situation closer to ideal. It will never be perfect, but it will be good enought.

21.17.2. You dont do this many times. YOu do it ones per month or when you see nozzle is to close/far from the glass.

21.17.3. But even then you can use Z-BABYSTEPPING function on printer LCD, to rise/lower nozzle in real time (while printing).

22. Extruder - Hot End

22.1. Extruder calibration

22.1.1. This calibration is much simpler.

22.1.2. Our gool is to extrude correct length of fillament.

22.1.2.1. If we manually move extruder for 100mm it needs to push/extrude 100mm of filament.

22.1.3. EXAMPLE (Dont just copy numbers. Use workflow and do your own calibration.):

22.1.3.1. Filamet should be in extruder.

22.1.3.2. Remove plastic tube from hot-end.

22.1.3.3. Cut the filament at the end of tube.

22.1.3.4. In Repetier use M302 code. (Cold extrusio alowed.)

22.1.3.5. In Repetier manually move extruder for 10mm just to see if it moving and that you are using right direction.

22.1.3.6. Cut filament.

22.1.3.7. Manually move it for 100mm.

22.1.3.8. Extruder will push filament.

22.1.3.9. Cut the extruded filament and measure it.

22.1.3.10. I got 51mm.

22.1.3.11. So I am missing almost 100%.

22.1.3.12. In EEPROM settings I need to double variable Extr. 1 steps per mm

22.1.3.12.1. 370 -> 740

22.1.3.13. I got 103mm of filament.

22.1.3.14. Let do it again.

22.1.3.15. 740 -> 720

22.1.3.16. Cut filament.

22.1.3.17. Manually move it for 100mm.

22.1.3.18. Measure.

22.1.3.19. I got 101mm.

22.1.3.19.1. Gut enough.

22.2. Extruder PID tunning

22.2.1. M303 P0 S220

22.2.2. This will only tell you need PID numbers. We still need to enter them in EEPROM.

22.2.3. start

22.2.4. trends

22.2.5. result

22.2.6. trend before PID tunning

22.2.7. trend after PID tunning

23. Repetier Firmware: some usefull settings

23.1. LCD (Configuration.h)

23.1.1. #define FEATURE_CONTROLLER 0 no LCD

23.1.2. #define FEATURE_CONTROLLER 2 classical LCD

23.1.3. #define FEATURE_CONTROLLER 11 graphical LCD

23.2. Bed heat manager

23.2.1. Manager = 2 > Bang-Bang control SPREMENI V EEPROMU!

23.2.2. Hot end naj ima nastavitev na 3 torej PID, drugače temp močno niha.

23.3. Extruder default PREHEAT PLA

23.3.1. #define UI_SET_PRESET_EXTRUDER_TEMP_PLA 230

23.3.2. #define UI_SET_PRESET_HEATED_BED_TEMP_PLA 60

23.4. LCD: change button direction

23.5. Change printer name

23.6. LCD: "dec" message

24. Marlin: PID temp auto tune

24.1. Marlin info

24.2. example: M303 C3 E0 S100

24.2.1. M303 ... code to start PID auto tune

24.2.2. C0 ... repeat 3 times

24.2.3. E0 ... do it on hotend

24.2.4. S100 ... 100 degC target temp

24.3. example: M303 C5 E0 S210

24.4. my result

24.4.1. Kp = 21.39 Ki = 1.27 Kd = 90.24

25. MARLIN - G29 - Bed Leveling (Unified)

25.1. Marlin info

25.2. Firmware (configuration.h)

25.2.1. enable bilinear ABL

25.2.1.1. #define AUTO_BED_LEVELING_UBL

25.2.2. set your Z probe trigger height

25.2.2.1. #define Z_PROBE_OFFSET_FROM_EXTRUDER 0.4

25.2.3. probing times per point

25.2.3.1. #define MULTIPLE_PROBING 2

25.2.4. calibration area

25.2.4.1. #define DELTA_CALIBRATION_RADIUS 70.0

25.2.5. grid size [70x70mm]

25.2.5.1. #define DELTA_CALIBRATION_RADIUS 70.0