-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvoron0.1-dragonHF-formbot.cfg
436 lines (377 loc) · 14.8 KB
/
voron0.1-dragonHF-formbot.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
# This config is based on the one from the official Voron repo
# Can be found at https://github.com/VoronDesign/Voron-0
# Currently my working config, consider it as a reference for those using the Formbot kit with Okueda motors and a Dragon HF
# 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 'sensor types' list at end of file
## 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_39FFD3055654353818531743-if00
[printer]
kinematics: corexy
max_velocity: 200
max_accel: 15000
#18000 limited for skipping reasons
max_z_velocity: 15
max_z_accel: 45
square_corner_velocity: 6.0
[input_shaper]
shaper_freq_x: 82.0
shaper_type_x: mzv
shaper_freq_y: 79.6
shaper_type_y: mzv
#####################################################################
# 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: 64
full_steps_per_rotation: 200 # Set to 400 for 0.9° degree stepper motor, 200 is for 1.8° stepper motors
endstop_pin: ^PC0
position_endstop: 120
position_max: 120
homing_speed: 100 # Can be increased after initial setup, Max 100
homing_retract_dist: 5
homing_positive_dir: true
[tmc2209 stepper_x]
uart_pin: PC11
tx_pin: PC10
uart_address: 0
interpolate: False
#interpolate: True
run_current: 0.65
sense_resistor: 0.110
stealthchop_threshold: 999999 # Set to 999999 to turn stealthchop on, and 0 to use spreadcycle
[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: 64
full_steps_per_rotation: 200 # Set to 400 for 0.9° degree stepper motor, 200 is for 1.8° stepper motors
endstop_pin: ^PC1
position_endstop: 120
position_max: 120
homing_speed: 100 # Can be increased after initial setup, Max 100
homing_retract_dist: 5
homing_positive_dir: true
[tmc2209 stepper_y]
uart_pin: PC11
tx_pin: PC10
uart_address: 2
interpolate: False
#interpolate: True
run_current: 0.65
sense_resistor: 0.110
stealthchop_threshold: 999999 # Set to 999999 to turn stealthchop on, and 0 to use spreadcycle
#####################################################################
# 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.37
sense_resistor: 0.110
stealthchop_threshold: 999999 # Set to 999999 to turn stealthchop on, and 0 to use spreadcycle
#####################################################################
# Thermistor definitions
#####################################################################
[thermistor Trianglelab NTC100K B3950]
## values calibrated against a PT100 reference
temperature1: 25.0
resistance1: 103180.0
temperature2: 150.0
resistance2: 1366.2
temperature3: 250.0
resistance3: 168.6
#####################################################################
# 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: 64
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC8
sensor_type: EPCOS 100K B57560G104F # Adjust for your hotend thermistor. See 'sensor types' list at end of file
sensor_pin: PA0
control: pid # Do PID calibration after initial checks
pid_kp = 26.448
pid_ki = 1.399
pid_kd = 124.968
min_temp: 0
max_temp: 290
min_extrude_temp: 170
max_extrude_only_distance: 150
max_extrude_cross_section: 0.8
pressure_advance: 0.0 # 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.750 # for LDO 36STH17-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
sensor_type: NTC 100K MGB18-104F39050L32 # For Keenovo, verify yours
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 = 65.587
pid_ki = 3.802
pid_kd = 282.845
#####################################################################
# 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
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
G1 E-4.0 F3600 ; retract filament
G91 ; relative positioning
# 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 - 2) %}
{% set z_safe = 2.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} F3600 ; park nozzle at rear
[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
[gcode_macro PURGE_LINE]
gcode:
G0 Y0 X40 ; go to tongue of print bed
G1 Z0.2 F500.0 ; move bed to nozzle
G92 E0.0 ; reset extruder
G1 E4 F500 ; pre-purge prime LENGTH SHOULD MATCH YOUR PRINT_END RETRACT
G1 X80 E8.0 F500.0 ; intro line 1
#G1 Y0.3 ; move in a little
#G1 X40 E8.0 F500.0 ; second line
G92 E0.0 ; reset extruder
G1 Z2.0 ; move nozzle to prevent scratch
[virtual_sdcard]
path: ~/gcode_files
[display_status]
[pause_resume]
[gcode_macro PAUSE]
description: Pause the actual running print
rename_existing: PAUSE_BASE
# change this if you need more or less extrusion
variable_extrude: 1.0
gcode:
##### read E from pause macro #####
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
##### 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 %}
##### 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 - 2.0) %}
{% set z_safe = 2.0 %}
{% else %}
{% set z_safe = max_z - act_z %}
{% endif %}
##### end of definitions #####
PAUSE_BASE
G91
{% if printer.extruder.can_extrude|lower == 'true' %}
G1 E-{E} F2100
{% else %}
{action_respond_info("Extruder not hot enough")}
{% endif %}
{% if "xyz" in printer.toolhead.homed_axes %}
G1 Z{z_safe} F900
G90
G1 X{x_park} Y{y_park} F6000
{% else %}
{action_respond_info("Printer not homed")}
{% endif %}
[gcode_macro RESUME]
description: Resume the actual running print
rename_existing: RESUME_BASE
gcode:
##### read E from pause macro #####
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
#### 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' %}
G91
G1 E{E} F2100
{% 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
gcode:
TURN_OFF_HEATERS
G91
G0 Z20
G90
CANCEL_PRINT_BASE
[mcu rpi]
serial: /tmp/klipper_host_mcu
[adxl345]
cs_pin: rpi:None
[resonance_tester]
accel_chip: adxl345
probe_points:
50, 50, 25 # an example
## Sensor Types
## "Trianglelab NTC100K B3950" (Beta 3950 used in LDO kits)
## "EPCOS 100K B57560G104F"
## "ATC Semitec 104GT-2"
## "Generic 3950"
## "Honeywell 100K 135-104LAG-J01"
## "NTC 100K MGB18-104F39050L32" (Keenovo Heater Pad)
## "AD595"
## "PT100 INA826"
## "PT1000"
## For more information: https://www.klipper3d.org/Config_Reference.html#temperature_sensor
## Footnote about Beta 3950:
## https://github.com/Klipper3d/klipper/issues/4054
## https://github.com/Klipper3d/klipper/pull/4859
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [heater_bed]
#*#
#*# [extruder]
#*# control = pid
#*# pid_kp = 26.448
#*# pid_ki = 1.399
#*# pid_kd = 124.968