1. Marlin: PID temp auto tune
1.1. Marlin info
1.2. example: M303 C3 E0 S100
1.2.1. M303 ... code to start PID auto tune
1.2.2. C0 ... repeat 3 times
1.2.3. E0 ... do it on hotend
1.2.4. S100 ... 100 degC target temp
1.3. example: M303 C5 E0 S210
1.4. my result
1.4.1. Kp = 21.39 Ki = 1.27 Kd = 90.24
2. MARLIN - G29 - Bed Leveling (Unified)
2.1. Marlin info
2.2. Firmware (configuration.h)
2.2.1. enable bilinear ABL
2.2.1.1. #define AUTO_BED_LEVELING_UBL
2.2.2. set your Z probe trigger height
2.2.2.1. #define Z_PROBE_OFFSET_FROM_EXTRUDER 0.4
2.2.3. probing times per point
2.2.3.1. #define MULTIPLE_PROBING 2
2.2.4. calibration area
2.2.4.1. #define DELTA_CALIBRATION_RADIUS 70.0
2.2.5. grid size [70x70mm]
2.2.5.1. #define DELTA_CALIBRATION_RADIUS 70.0
3. X-Y dimensions correction and CURVATURE CORECTION influence
3.1. This is what complicates calibration on delta printers.
3.2. When we change "Diagonal_rod_lenght" it influences curvature and when we change "horizontal rod radius" we change XY movement.
3.3. That is why we need to check bouth when we are calibrating.
3.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.
3.5. temp (not finished yet)
3.5.1. By increasing "horizontal_rod_radius" we increase XY movement.
3.5.1.1. INCREASE "diagonal_rod_lenght"
3.5.2. By increasing "diagonal_rod_lenght" we increase last three numbers in 4 point calibration.
3.5.2.1. INCREASE "horizontal_rod_radius"
4. MOVEMENT CURVATURE CORECTION: Standard 4-point delta calibration MEASUREMENT
4.1. Put paper in the middle of glass.
4.2. Manually drive hot-end so low that you feel nozzle stoping the paper (Point 1) OR use Script 1.
4.2.1. Write the Z height number down.
4.3. Go to Point 2 manually OR use Script 2.
4.3.1. Write the Z height number down.
4.4. Go to Point 3 manually OR use Script 3.
4.4.1. Write the Z height number down.
4.5. Go to Point 4 manually OR use Script 4.
4.5.1. Write the Z height number down.
4.6. Lets look at the numbers! Ideal is that ALL are as close as possiable!
5. Delta printer kinematics
5.1. X, Y and Z directions on delta printer:
5.2. Delta
5.3. Zoom
6. Test end-switches
6.1. this must be confirmed before using first HOME command
6.2. REPETIER:
6.2.1. Use M119 code to read states
6.2.1.1. x_max=L
6.2.1.1.1. X switch not covered
6.2.1.2. x_max=H
6.2.1.2.1. X switch covered
6.2.2. Firmware response on code example
6.3. MARLIN:
6.3.1. M119
6.3.2. return in log
6.3.3. open: end stop not pressed/triggered
6.3.4. "Switch" in hot end triggered > hot end is presed into the bed/glass
6.4. Test all 3 to see all are electricaly OK. 4 if you have hot end with "end stop".
7. Repetier/Marlin: EEPROM settings MECHANICAL CONSTANTS
7.1. Alt+E
7.2. Homing feedrate [mm/s]
7.2.1. 10 - first tests
7.2.2. 40 - "normal"
7.3. What are mechanical constants?
7.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.
7.3.1.1. If we use Arduino board we enter them in Repetier software in EEPROM settings.
7.3.1.2. If we use Soothieboard we write them in config file on SD card. (And reset board after change.)
7.4. MECHANICAL CONSTANTS
7.4.1. delta XXL 1000
7.4.1.1. Rods: 420mm
7.4.1.1.1. Printer example: diagonal rods length: 416,0 horizontal rod: 236.75
7.4.1.2. Rods: 450mm
7.4.1.2.1. Printer example: diagonal rods length: 453.5 horizontal rod: 232.0
7.4.1.3. Rods: 475mm
7.4.1.3.1. Printer 1 example: diagonal rods length: 478,0 horizontal rod: 228,0 Z max lenght: 347.2
7.4.1.3.2. Printer 2 example: diagonal rods length: 475,0 horizontal rod: 230,0 Z max lenght: 310.0
7.4.2. STAR 750
7.4.2.1. diagonal rods length: 350,0 horizontal rod: 180,00 Z max lenght: 182
7.4.3. XL
7.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
7.4.3.2. Kossel 750 1515 - 06-11-2015: steps/mm: 80 diag. rod: 334,0 Zmax: 263,0 horizontal rod: 165,00
8. Print size dependent on rods lenght
8.1. Many times people ask me what is max print size so I made this list to clarify.
8.2. Of course it depends on rods lenght and effector type.
8.3. delta XXL
8.3.1. rods length = 410mm
8.3.1.1. effector with hot end on top
8.3.1.1.1. Zmax = cca 400mm
8.3.1.1.2. print diameter = cca 375mm
8.3.1.2. effector with hot end below
8.3.1.2.1. Zmax = cca 345mm
8.3.1.2.2. print diameter = cca 320mm
8.3.2. rods length = 450mm
8.3.2.1. effector with hot end on top
8.3.2.1.1. Zmax = cca 400mm
8.3.2.1.2. print diameter = cca 375mm
8.3.2.2. effector with hot end below
8.3.2.2.1. Zmax = cca 342mm
8.3.2.2.2. print diameter = cca 375mm
8.3.3. rods length = 475mm
8.3.3.1. effector with hot end on top
8.3.3.1.1. Zmax = cca 375mm
8.3.3.1.2. print diameter = cca 375mm
8.3.3.2. effector with hot end bellow
8.3.3.2.1. Zmax = cca 322mm
8.3.3.2.2. print diameter = cca 375mm
8.3.4. rods length = 500mm
8.3.4.1. effector with hot end on top
8.3.4.1.1. Zmax = cca 348mm
8.3.4.1.2. print diameter = cca 375mm
8.3.4.2. effector with hot end below
8.3.4.2.1. Zmax = cca 295mm
8.3.4.2.2. print diameter = cca 375mm
9. GENERAL IDEA
9.1. What is calibration of 3D delta printer?
9.1.1. 1. Printed model dimensions are correct in all 3 axis.
9.1.1.1. We change DIAGONAL_ROD_LENGHT as needed.
9.1.2. 2. Hot end in center bed position "knows" where is print bed.
9.1.2.1. Z-height calibration
9.1.3. 3. Hot end moves horizontaly over print bed.
9.1.3.1. We change HORIZONTAL_ROD_RADUS as needed.
9.1.4. 4. Extruder in pushing correct amount of filament in hot end.
9.1.4.1. We change parameter EXTRUDER1 STEPS PER MM in EEPROM.
10. Enter/edit scripts
10.1. Enter scripts
10.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.
10.2. In Repetier > Config > Printer Settings > Scripts (tab)
10.3. Script 1- CENTER
10.3.1. G1 X0 Y0 Z10 G1 X0 Y0 Z5
10.4. Script 2 - X tower
10.4.1. G1 X-105 Y-65 Z10 G1 X-105 Y-65 Z5
10.5. Script 3 - Y tower
10.5.1. G1 X105 Y-65 Z10 G1 X105 Y-65 Z5
10.6. Script 4 - Z tower
10.6.1. G1 X0 Y105 Z10 G1 X0 Y105 Z5
11. X-Y dimensions correction Repetier and Marlin
11.1. In general:
11.1.1. Take a paper and draw a line. Mark center point and 2 points left and right 200mm apart.
11.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.
11.1.2.1. http://minow.blogspot.si/
11.1.3. Manually move hot end +/- 100mm and observe how much nozzle actually travels.
11.1.4. Change DELTA_DIAGONAL_ROD / Diagonal_rod_lenght setting in EEPROM accordingly.
11.1.5. Movement is to big
11.1.5.1. INCREASE Diagonal_rod_lenght
11.1.5.2. Home and measure again
11.1.6. Movement is to small
11.1.6.1. DECREASE Diagonal_rod_lenght
11.1.6.2. Home and measure again
11.2. MARLIN
11.2.1. Change in Repetier Host program > EEPROM settings > delta radius
11.2.1.1. smaller number means smaller nozzle movement (smaller print dimension)
12. Standard 4-point delta calibration SITUATION NO.1 - JUST ONE POINT IS OFF
12.1. Correct it by moving end stop lower or higher
12.2. Measure all 4 points and write it down.
12.3. Better?
12.3.1. YES
12.3.1.1. Move it more or less as needed.
12.3.1.2. Repeat the proces ...
12.3.2. NO
12.3.2.1. Move end-stop in other direction.
13. Standard 4-point delta calibration SITUATION NO.2 - HEAD WANTS TO GO LOWER IN THE MIDDLE
13.1. Table
13.2. Situation
13.3. Decrease HORIZONTAL_ROD_RADIUS in EEPROM settings.
13.4. Home printer.
13.5. Measure all 4 points and write it down.
13.6. Repeat the proces ...
14. MARLIN: Z-height calibration (hotend/nozzle in center position)
14.1. Measure distance between nozzle and bed (glass) when hot end is in Home position
14.2. Marlin MENU info
14.3. I do it like this:
14.3.1. Measure distance from glass to nozzle and enter it here. PLUS PLAIN PAPER HEIGHT!
14.3.2. Prepare > Delta calibration > Delta settings > Height
15. Standard 4-point delta calibration SITUATION NO.3 - HEAD WANTS TO GO LOWER ON THE SIDES
15.1. Table
15.2. Situation
15.3. Increase HORIZONTAL_ROD_RADIUS in EEPROM settings.
15.4. Home printer.
15.5. Measure all 4 points and write it down.
15.6. Repeat the proces ...
16. Standard 4-point delta calibration FINISHED (ALL DISTANCES ARE SAME)
16.1. Table
16.2. In the above situation offset Zmax in EEPROM for the same number. So decrease for 1,2mm the number that is there.
16.3. Measure all 4 points and write it down.
16.4. They should be 0 or very close to 0.
17. Real life example
17.1. Table - 1. measeurement of 4 points
17.2. Point 4 (Z tower) number correction.
17.2.1. Here the nozzle is going lower than on X and Y points. So we need to lower Z tower end stop.
17.2.2. For 1mm change we need to turn the Z screw twice.
17.3. Table - 2. measeurement of 4 points
17.4. Better. But I need to do lower it more.
17.5. Table - 3. measeurement of 4 points
17.6. Better again.
17.7. lower X end stop - 1/4 screw turn rise Z end stop - 1/2 screw turn
17.8. Table - 4. measeurement of 4 points
17.9. Now tower are OK
17.10. We have concave nozzle movement. So we need to decrease HORIZONTAL ROD RADIUS parameter in EEPROM.
17.11. Repetier > Config > Firmware EEPROM Configuration
17.12. Was 170. Decrease to 168.
17.13. Table - 5. measeurement of 4 points
17.14. Better. Need to decrease more.
17.15. Was 168. Decrease to 166.
17.16. Table - 6. measeurement of 4 points
17.17. Almost perfect. Gut enough for me.
17.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.
17.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.
17.17.3. But even then you can use Z-BABYSTEPPING function on printer LCD, to rise/lower nozzle in real time (while printing).
18. Extruder - Hot End
18.1. Extruder calibration
18.1.1. This calibration is much simpler.
18.1.2. Our gool is to extrude correct length of fillament.
18.1.2.1. If we manually move extruder for 100mm it needs to push/extrude 100mm of filament.
18.1.3. EXAMPLE (Dont just copy numbers. Use workflow and do your own calibration.):
18.1.3.1. Filamet should be in extruder.
18.1.3.2. Remove plastic tube from hot-end.
18.1.3.3. Cut the filament at the end of tube.
18.1.3.4. In Repetier use M302 code. (Cold extrusio alowed.)
18.1.3.5. In Repetier manually move extruder for 10mm just to see if it moving and that you are using right direction.
18.1.3.6. Cut filament.
18.1.3.7. Manually move it for 100mm.
18.1.3.8. Extruder will push filament.
18.1.3.9. Cut the extruded filament and measure it.
18.1.3.10. I got 51mm.
18.1.3.11. So I am missing almost 100%.
18.1.3.12. In EEPROM settings I need to double variable Extr. 1 steps per mm
18.1.3.12.1. 370 -> 740
18.1.3.13. I got 103mm of filament.
18.1.3.14. Let do it again.
18.1.3.15. 740 -> 720
18.1.3.16. Cut filament.
18.1.3.17. Manually move it for 100mm.
18.1.3.18. Measure.
18.1.3.19. I got 101mm.
18.1.3.19.1. Gut enough.
18.2. Extruder PID tunning
18.2.1. M303 P0 S220
18.2.2. This will only tell you need PID numbers. We still need to enter them in EEPROM.
18.2.3. start
18.2.4. trends
18.2.5. result
18.2.6. trend before PID tunning
18.2.7. trend after PID tunning
19. End-stops adjustment
19.1. Why do we need it?
19.1.1. By changing end-stops position we influence the movement of hot end over the bed.
19.2. When there is need to move end stops here is how you do it
19.3. Zoom
19.4. MECHANICAL ADJUSTMENT
19.4.1. How do we use them?
19.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.
19.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.
19.5. SOFTWARE ADJUSTMENT
19.5.1. When you adjust end-stops close to what you want you can use software fine adjustment in EEPROM.
19.5.1.1. Be careful. This numbers are in steps.
20. REPETIER: Z-height calibration (hotend/nozzle in center position)
20.1. Measure distance between nozzle and bed (glass) when hot end is in Home position
20.2. We need this distance to start setting Z-height
20.3. EEPROM (Alt+E): Z max length: change existing number with measured one + 2mm
20.3.1. We added 2mm so we alowe nozzle to go lower than bed!
20.3.2. BE CAREFULL NOW YOU CAN HIT GLASS WITH NOZZLE
20.4. Put the paper over glass.
20.5. Manually move nozzle so it touches paper (bed center)
20.5.1. First move it for 10mm.
20.5.2. When closer use 1mm.
20.5.3. When very close use 0,1mm.
20.5.4. I dont use 0,01mm.
20.6. In my case Z position it was 1,2mm.
20.6.1. This means that hotend (nozzle) would go 1,2mm bellow bed in the bed center!
20.7. Manually move nozzle left/rigt (X direction) to see what is it doint.
20.7.1. We need to determine is hotend (nozzle) moving into or away from bed.
20.7.2. Our gool of course is that movement in X and Y direction is parallel to bed.
20.8. In my case it moved a bit up when moved to X+120 and X-120 position
20.9. This means I need to decrease Horizontal rod radius in EEPROM settings.
20.10. Try it for Y direction too.
21. Repetier Firmware: some usefull settings
21.1. LCD (Configuration.h)
21.1.1. #define FEATURE_CONTROLLER 0 no LCD
21.1.2. #define FEATURE_CONTROLLER 2 classical LCD
21.1.3. #define FEATURE_CONTROLLER 11 graphical LCD
21.2. Bed heat manager
21.2.1. Manager = 2 > Bang-Bang control SPREMENI V EEPROMU!
21.2.2. Hot end naj ima nastavitev na 3 torej PID, drugače temp močno niha.
21.3. Extruder default PREHEAT PLA
21.3.1. #define UI_SET_PRESET_EXTRUDER_TEMP_PLA 230
21.3.2. #define UI_SET_PRESET_HEATED_BED_TEMP_PLA 60
21.4. LCD: change button direction
21.5. Change printer name
21.6. LCD: "dec" message
22. WARNING
22.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.)
22.2. .
22.3. Remove power when changing "steps per mm" setting in EEPROM.
23. Stepper drivers
23.1. MICROSTEPPING INFO
23.1.1. DRV8825
23.1.1.1. max 1/32 micro stepping
23.1.1.2. 1/16 micro stepping (for autocalibration)
23.1.1.3. modes
23.1.2. A4988
23.1.2.1. max 1/16 micro stepping
23.1.2.2. modes
23.2. 1. Limit the current 2. Steps per mm
23.2.1. Why?
23.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.
23.2.2. How?
23.2.2.1. We limit current by setting voltage on small potentiometer on stepper driver itself.
23.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. )
23.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.
23.2.5. DRV8825 stepper driver
23.2.5.1. set poti voltage to 0,6V to limit the current
23.2.5.2. Current Limit = VREF × 2
23.2.5.3. steps per mm: 200
23.2.5.3.1. POWER OFF MAIN PRINTER POWER WHEN CHANGING THIS SETTING
23.2.5.4. extruder steps per mm: 190
23.2.6. A4988 stepper driver
23.2.6.1. set poti voltage to 0,6V to limit the current
23.2.6.2. Current Limit = VREF × 1.85
23.2.6.3. steps per mm: 100
23.2.6.3.1. POWER OFF MAIN PRINTER POWER WHEN CHANGING THIS SETTING
23.2.6.4. extruder: steps per mm - 95
23.2.7. MKS TMC2100 stepper driver
23.2.7.1. orient like DRV8825
23.2.7.2. YouTube
23.2.7.3. Wiki
23.2.7.4. default was 0,75V and I left it there
23.3. change to TMC2100 drivers
23.3.1. what to do to change to TM21000
23.3.1.1. info
23.3.1.2. info
23.3.1.3. orient like DRV8825
23.3.1.4. limit current
23.3.1.4.1. set voltage to cca 0,7Vdc (0,75Vdc)
23.3.1.5. set new drivers in firmware (configuration.h)
23.3.1.6. In Repetier host set "steps per mm" in EEPROM to 100
23.3.1.7. run manually and check movement direction
23.3.1.7.1. if not OK reverse motor cables of swap in firmware
23.3.1.7.2. or change direction in firmware (configuration.h)