-
Notifications
You must be signed in to change notification settings - Fork 0
/
printer.cfg
440 lines (387 loc) · 16 KB
/
printer.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
# This file contains common pin mappings for the BIGTREETECH SKR
# MINI 2.0. To use this config, the firmware should be compiled for
# the STM32F103 with a "28KiB bootloader". Also select "enable extra
# low-level configuration options" and configure "GPIO pins to set
# at micro-controller startup" to "!PA14".
# The "make flash" command does not work on the SKR mini. Instead,
# after running "make", copy the generated "out/klipper.bin" file to a
# file named "firmware.bin" on an SD card and then restart the SKR
# mini with that SD card.
## Voron Design VORON 0.1 SKR Mini E3 V2 config
## *** THINGS TO CHANGE/CHECK: ***
## MCU path [mcu] section
## Z and Extruder motor currents [tmc2209 stepper_*] sections. Uncomment the stepper motor you have
## Full steps per rotation for Extruder [extruder] section
## Thermistor types [extruder] and [heater_bed] sections - See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types
## Extruder motor currents [extruder] section
## PID tune [extruder] and [heater_bed] sections
## Fine tune E steps [extruder] section
## For more info check https://docs.vorondesign.com/build/startup/#v0
[mcu]
#####################################################################
# Obtain definition by "ls -l /dev/serial/by-id/"
#####################################################################
serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_32FFD9054D59323122721651-if00
[printer]
kinematics: corexy
max_velocity: 500
max_accel: 8000
max_z_velocity: 15
max_z_accel: 45
square_corner_velocity: 6.0
#####################################################################
# X/Y Stepper Settings
#####################################################################
[stepper_x]
step_pin: PB13
## Refer to https://docs.vorondesign.com/build/startup/#v0
dir_pin: PB12 # Check motor direction in link above. If inverted, add a ! before PB12
enable_pin: !PB14
rotation_distance: 40
microsteps: 32
full_steps_per_rotation: 200 # Set to 400 for 0.9° degree stepper motor, 200 is for 1.8° stepper motors
endstop_pin: tmc2209_stepper_x:virtual_endstop
position_endstop: 120
position_max: 120
homing_speed: 50 # Can be increased after initial setup, Max 100
homing_retract_dist: 0
homing_positive_dir: true
[tmc2209 stepper_x]
uart_pin: PC11
tx_pin: PC10
uart_address: 0
interpolate: False
run_current: 0.5
sense_resistor: 0.110
stealthchop_threshold: 0 # Set to 999999 to turn stealthchop on, and 0 to use spreadcycle
diag_pin: ^PC0 # use the same pin that was previously the endstop_pin!
driver_SGTHRS: 110 # 255 is most sensitive value, 0 is least sensitive
[stepper_y]
step_pin: PB10
## Refer to https://docs.vorondesign.com/build/startup/#v0
dir_pin: PB2 # Check motor direction in link above. If inverted, add a ! before PB2
enable_pin: !PB11
rotation_distance: 40
microsteps: 32
full_steps_per_rotation: 200 # Set to 400 for 0.9° degree stepper motor, 200 is for 1.8° stepper motors
endstop_pin: tmc2209_stepper_y:virtual_endstop
position_endstop: 120
position_max: 120
homing_speed: 50 # Can be increased after initial setup, Max 100
homing_retract_dist: 0
homing_positive_dir: true
[tmc2209 stepper_y]
uart_pin: PC11
tx_pin: PC10
uart_address: 2
interpolate: False
run_current: 0.5
sense_resistor: 0.110
stealthchop_threshold: 0 # Set to 999999 to turn stealthchop on, and 0 to use spreadcycle
diag_pin: ^PC1 # use the same pin that was previously the endstop_pin!
driver_SGTHRS: 110 # 255 is most sensitive value, 0 is least sensitive
#####################################################################
# Z Stepper Settings
#####################################################################
[stepper_z]
step_pin: PB0
dir_pin: !PC5 # Remove the ! before PC5 if motor direction is inverted.
enable_pin: !PB1
rotation_distance: 8 # For T8x8 integrated lead screw
microsteps: 32
endstop_pin: ^PC2
#position_endstop: -0.10
position_max: 120
position_min: -1.5
homing_speed: 10
second_homing_speed: 3.0
homing_retract_dist: 3.0
[tmc2209 stepper_z]
uart_pin: PC11
tx_pin: PC10
uart_address: 1
interpolate: False
## For OMC (StepperOnline) 17LS13-0404E-200G 0.4A
#run_current: 0.2
## For LDO-42STH25-1004CL200E 1.0A
run_current: 0.42 # default is 0.37 changed was having issues with the motor slipping/bed not going up. changing to 0.42 fixed this.
sense_resistor: 0.110
stealthchop_threshold: 0 # Set to 999999 to turn stealthchop on, and 0 to use spreadcycle
#####################################################################
# Extruder
#####################################################################
[extruder]
step_pin: PB3
dir_pin: !PB4 # Add ! if moving opposite direction
enable_pin: !PD2
full_steps_per_rotation: 200 # Set to 200 for LDO 1.8° stepper motor, and set to 400 for OMC(StepperOnline) 0.9° stepper motor
rotation_distance: 22.23 # See calibrating rotation_distance on extruders doc
gear_ratio: 50:10 # For Mini Afterburner
microsteps: 32
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC8
## Check what thermistor type you have. See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types.
## Use "Generic 3950" for NTC 100k 3950 thermistors
sensor_type: Generic 3950
sensor_pin: PA0
#control: pid # Do PID calibration after initial checks
#pid_Kp: 28.182
#pid_Ki: 1.978
#pid_Kd: 100.397
min_temp: 0
max_temp: 300
min_extrude_temp: 170
max_extrude_only_distance: 150
max_extrude_cross_section: 0.8
pressure_advance: 0.04 # See tuning pressure advance doc
pressure_advance_smooth_time: 0.040
[tmc2209 extruder]
uart_pin: PC11
tx_pin: PC10
uart_address: 3
interpolate: False
## For OMC (StepperOnline) 14HR07-1004VRN 1A 0.9°
#run_current: 0.5 # for OMC 14HR07-1004VRN rated at 1A
## For LDO LDO 36STH17-1004AHG 1A 1.8°
#run_current: 0.3 # for LDO 36STH17-1004AHG
## For LDO LDO 36STH20-1004AHG 1A 1.8°
run_current: 0.6 # for LDO 36STH20-1004AHG
sense_resistor: 0.110
stealthchop_threshold: 0 # Set to 0 for spreadcycle, avoid using stealthchop on extruder
#####################################################################
# Bed Heater
#####################################################################
[heater_bed]
heater_pin: PC9
## Check what thermistor type you have. See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types.
## Use "Generic 3950" for Keenovo heaters
sensor_type: Generic 3950
sensor_pin: PC3
smooth_time: 3.0
#max_power: 0.6 # Only needed for 100w pads
min_temp: 0
max_temp: 120
#control: pid # Do PID calibration after initial checks
#pid_kp: 68.453
#pid_ki: 2.749
#pid_kd: 426.122
#####################################################################
# Fan Control
#####################################################################
[heater_fan hotend_fan]
pin: PC7
max_power: 1.0
kick_start_time: 0.5
heater: extruder
heater_temp: 50.0
#fan_speed: 1.0 # You can't PWM the delta fan unless using blue wire
[fan]
pin: PC6
max_power: 1.0
kick_start_time: 0.5 # Depending on your fan, you may need to increase this value if your fan will not start
off_below: 0.13
cycle_time: 0.010
#####################################################################
# Homing and Gantry Adjustment Routines
#####################################################################
[idle_timeout]
timeout: 1800
# [safe_z_home]
# home_xy_position: 120,120
# speed: 50.0
# z_hop: 5
## To be used with BED_SCREWS_ADJUST
[bed_screws]
screw1: 60,5
screw1_name: front screw
screw2: 5,115
screw2_name: back left
screw3: 115,115
screw3_name: back right
#####################################################################
# Macros
#####################################################################
[gcode_macro PRINT_START]
# Use PRINT_START for the slicer starting script - please customize for your slicer of choice
gcode:
G28 ; home all axes
G90 ; absolute positioning
G1 Z20 F3000 ; move nozzle away from bed
[gcode_macro PRINT_END]
# Use PRINT_END for the slicer ending script - please customize for your slicer of choice
gcode:
M400 ; wait for buffer to clear
G92 E0 ; zero the extruder
G91 ; relative positioning
G1 Z0.2 E-4.0 F3600 ; raise z and retract filament
# Get Boundaries
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
{% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %}
{% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %}
# Check end position to determine safe direction to move
{% if printer.toolhead.position.x < (max_x - 20) %}
{% set x_safe = 20.0 %}
{% else %}
{% set x_safe = -20.0 %}
{% endif %}
{% if printer.toolhead.position.y < (max_y - 20) %}
{% set y_safe = 20.0 %}
{% else %}
{% set y_safe = -20.0 %}
{% endif %}
{% if printer.toolhead.position.z < (max_z - 10) %}
{% set z_safe = 10.0 %}
{% else %}
{% set z_safe = max_z - printer.toolhead.position.z %}
{% endif %}
G0 Z{z_safe} F3600 ; move nozzle up
G0 X{x_safe} Y{y_safe} F20000 ; move nozzle to remove stringing
TURN_OFF_HEATERS
M107 ; turn off fan
G90 ; absolute positioning
G0 X60 Y{max_y - 20} F3600 ; park nozzle at rear
M84 # Disable steppers
# Print message on LCD
M117 Print Completed!
[gcode_macro LOAD_FILAMENT]
gcode:
M83 ; set extruder to relative
G1 E30 F300 ; load
G1 E15 F150 ; prime nozzle with filament
M82 ; set extruder to absolute
[gcode_macro UNLOAD_FILAMENT]
gcode:
M83 ; set extruder to relative
G1 E10 F300 ; extrude a little to soften tip
G1 E-40 F1800 ; retract some, but not too much or it will jam
M82 ; set extruder to absolute
# useful for changing nozzle, filament, and cleaning/inspection of the toolhead
[gcode_macro FRONT_AND_CENTER]
gcode:
G28 ; home all axes
G90 ; absolute positioning
G1 Y5 F6000 ; move the nozzle to y = 5
G1 X60 F6000 ; move the nozzle to x = 60
G1 Z110 F6000 ; move the bed to z = 110
[gcode_macro PREHEAT_28080]
gcode:
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=80
SET_HEATER_TEMPERATURE HEATER=extruder TARGET=280
################################################################
# from https://docs.mainsail.xyz/configuration
################################################################
[virtual_sdcard]
path: ~/printer_data/gcodes #default path: ~/gcode_files
[display_status]
[pause_resume]
[gcode_macro PAUSE]
description: Pause the actual running print
rename_existing: PAUSE_BASE
gcode:
PAUSE_BASE
_TOOLHEAD_PARK_PAUSE_CANCEL
[gcode_macro RESUME]
description: Resume the actual running print
rename_existing: RESUME_BASE
gcode:
##### read extrude from _TOOLHEAD_PARK_PAUSE_CANCEL macro #####
{% set extrude = printer['gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL'].extrude %}
#### get VELOCITY parameter if specified ####
{% if 'VELOCITY' in params|upper %}
{% set get_params = ('VELOCITY=' + params.VELOCITY) %}
{%else %}
{% set get_params = "" %}
{% endif %}
##### end of definitions #####
{% if printer.extruder.can_extrude|lower == 'true' %}
M83
G1 E{extrude} F2100
{% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %}
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
RESUME_BASE {get_params}
[gcode_macro CANCEL_PRINT]
description: Cancel the actual running print
rename_existing: CANCEL_PRINT_BASE
variable_park: True
gcode:
## Move head and retract only if not already in the pause state and park set to true
{% if printer.pause_resume.is_paused|lower == 'false' and park|lower == 'true'%}
_TOOLHEAD_PARK_PAUSE_CANCEL
{% endif %}
TURN_OFF_HEATERS
CANCEL_PRINT_BASE
[gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL]
description: Helper: park toolhead used in PAUSE and CANCEL_PRINT
variable_extrude: 1.0
gcode:
##### set park positon for x and y #####
# default is your max posion from your printer.cfg
{% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %}
{% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %}
{% set z_park_delta = 2.0 %}
##### calculate save lift position #####
{% set max_z = printer.toolhead.axis_maximum.z|float %}
{% set act_z = printer.toolhead.position.z|float %}
{% if act_z < (max_z - z_park_delta) %}
{% set z_safe = z_park_delta %}
{% else %}
{% set z_safe = max_z - act_z %}
{% endif %}
##### end of definitions #####
{% if printer.extruder.can_extrude|lower == 'true' %}
M83
G1 E-{extrude} F2100
{% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %}
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% if "xyz" in printer.toolhead.homed_axes %}
G91
G1 Z{z_safe} F900
G90
G1 X{x_park} Y{y_park} F6000
{% if printer.gcode_move.absolute_coordinates|lower == 'false' %} G91 {% endif %}
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
################################################################
# end from https://docs.mainsail.xyz/configuration
################################################################
[neopixel my_leds]
pin: PA8
chain_count: 1
color_order: GRB
initial_RED: 1.0
initial_GREEN: 0.0
initial_BLUE: 0.0
# uncomment to to input shaper testing
#[include PIS.cfg]
[input_shaper]
# Recommended shaper is ei @ 95.0 Hz
shaper_freq_x: 95.0
shaper_type_x: ei
# Recommended shaper is zv @ 119.6 Hz
shaper_freq_y: 119.6
shaper_type_y: zv
# sensorless x/y config
[include sensorless.cfg]
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [heater_bed]
#*# control = pid
#*# pid_kp = 68.128
#*# pid_ki = 3.221
#*# pid_kd = 360.228
#*#
#*# [extruder]
#*# control = pid
#*# pid_kp = 24.288
#*# pid_ki = 1.669
#*# pid_kd = 88.346
#*#
#*# [stepper_z]
#*# position_endstop = 0.200