630 lines
14 KiB
INI
630 lines
14 KiB
INI
[include mainsail.cfg]
|
|
|
|
[mcu]
|
|
canbus_uuid: 52a031bd2939
|
|
|
|
[mcu EBBCan]
|
|
canbus_uuid: 29e87b131cca
|
|
|
|
[printer]
|
|
kinematics: corexy
|
|
max_velocity: 300
|
|
max_accel: 10000
|
|
max_z_velocity: 30
|
|
max_z_accel: 350
|
|
square_corner_velocity: 5.0
|
|
|
|
[temperature_sensor MCU]
|
|
sensor_type: temperature_mcu
|
|
|
|
[temperature_sensor SoC]
|
|
sensor_type: temperature_host
|
|
|
|
#####################################################################
|
|
# X/Y Stepper Settings
|
|
#####################################################################
|
|
|
|
## X Stepper on Motor1 (B Motor)
|
|
[stepper_x]
|
|
step_pin: PE6
|
|
dir_pin: PE5
|
|
enable_pin: !PC14
|
|
microsteps: 16
|
|
rotation_distance: 40
|
|
full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper
|
|
endstop_pin: ^EBBCan:gpio24
|
|
position_min: 0
|
|
##--------------------------------------------------------------------
|
|
|
|
## Uncomment below for 250mm build
|
|
#position_endstop: 250
|
|
#position_max: 250
|
|
|
|
## Uncomment for 300mm build
|
|
position_endstop: 300
|
|
position_max: 300
|
|
|
|
## Uncomment for 350mm build
|
|
#position_endstop: 350
|
|
#position_max: 350
|
|
|
|
##--------------------------------------------------------------------
|
|
homing_speed: 25
|
|
homing_retract_dist: 5
|
|
homing_positive_dir: true
|
|
|
|
|
|
[tmc2209 stepper_x]
|
|
uart_pin: PC13
|
|
interpolate: True
|
|
run_current: 0.9
|
|
sense_resistor: 0.110
|
|
stealthchop_threshold: 0
|
|
|
|
## Y Stepper on Motor2 (A Motor)
|
|
[stepper_y]
|
|
step_pin: PE2
|
|
dir_pin: PE1
|
|
enable_pin: !PE4
|
|
microsteps: 16
|
|
rotation_distance: 40
|
|
endstop_pin: ^PF3
|
|
full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper
|
|
position_min: 0
|
|
##--------------------------------------------------------------------
|
|
|
|
## Uncomment for 250mm build
|
|
#position_endstop: 250
|
|
#position_max: 250
|
|
|
|
## Uncomment for 300mm build
|
|
position_endstop: 300
|
|
position_max: 300
|
|
|
|
## Uncomment for 350mm build
|
|
#position_endstop: 350
|
|
#position_max: 350
|
|
|
|
##--------------------------------------------------------------------
|
|
homing_speed: 25
|
|
homing_retract_dist: 5
|
|
homing_positive_dir: true
|
|
|
|
|
|
[tmc2209 stepper_y]
|
|
uart_pin: PE3
|
|
interpolate: True
|
|
run_current: 0.9
|
|
sense_resistor: 0.110
|
|
stealthchop_threshold: 0
|
|
|
|
|
|
#####################################################################
|
|
# Z Stepper Settings
|
|
#####################################################################
|
|
|
|
## Z0 Stepper - Front Left on MOTOR3_A
|
|
[stepper_z]
|
|
step_pin: PB8
|
|
dir_pin: PB7
|
|
enable_pin: !PE0
|
|
rotation_distance: 40
|
|
gear_ratio: 80:16
|
|
microsteps: 16
|
|
endstop_pin: probe:z_virtual_endstop
|
|
##--------------------------------------------------------------------
|
|
|
|
## Uncomment below for 250mm build
|
|
#position_max: 240
|
|
|
|
## Uncomment below for 300mm build
|
|
position_max: 290
|
|
|
|
## Uncomment below for 350mm build
|
|
#position_max: 340
|
|
|
|
##--------------------------------------------------------------------
|
|
position_min: -5
|
|
homing_speed: 8
|
|
second_homing_speed: 3
|
|
homing_retract_dist: 3
|
|
|
|
|
|
[tmc2209 stepper_z]
|
|
uart_pin: PB9
|
|
interpolate: true
|
|
run_current: 0.8
|
|
sense_resistor: 0.110
|
|
stealthchop_threshold: 0
|
|
|
|
## Z1 Stepper - Rear Left on Motor5
|
|
[stepper_z1]
|
|
step_pin: PB4
|
|
dir_pin: !PB3
|
|
enable_pin: !PB6
|
|
rotation_distance: 40
|
|
gear_ratio: 80:16
|
|
microsteps: 16
|
|
|
|
|
|
[tmc2209 stepper_z1]
|
|
uart_pin: PB5
|
|
interpolate: true
|
|
run_current: 0.8
|
|
sense_resistor: 0.110
|
|
stealthchop_threshold: 0
|
|
|
|
## Z2 Stepper - Rear Right on Motor6
|
|
[stepper_z2]
|
|
step_pin: PG13
|
|
dir_pin: PG12
|
|
enable_pin: !PG15
|
|
rotation_distance: 40
|
|
gear_ratio: 80:16
|
|
microsteps: 16
|
|
|
|
|
|
[tmc2209 stepper_z2]
|
|
uart_pin: PG14
|
|
interpolate: true
|
|
run_current: 0.8
|
|
sense_resistor: 0.110
|
|
stealthchop_threshold: 0
|
|
|
|
## Z3 Stepper - Front Right on Motor7
|
|
[stepper_z3]
|
|
step_pin: PG9
|
|
dir_pin: !PD7
|
|
enable_pin: !PG11
|
|
rotation_distance: 40
|
|
gear_ratio: 80:16
|
|
microsteps: 16
|
|
|
|
|
|
[tmc2209 stepper_z3]
|
|
uart_pin: PG10
|
|
interpolate: true
|
|
run_current: 0.8
|
|
sense_resistor: 0.110
|
|
stealthchop_threshold: 0
|
|
|
|
#####################################################################
|
|
# Extruder
|
|
#####################################################################
|
|
|
|
# E0 on SB2209
|
|
[extruder]
|
|
step_pin: EBBCan:gpio18
|
|
dir_pin: EBBCan:gpio19
|
|
enable_pin: !EBBCan:gpio17
|
|
microsteps: 16
|
|
rotation_distance: 22.905740611
|
|
gear_ratio: 50:10
|
|
nozzle_diameter: 0.400
|
|
filament_diameter: 1.750
|
|
heater_pin: EBBCan:gpio7
|
|
#control: pid
|
|
min_temp: 0
|
|
max_temp: 300
|
|
max_extrude_only_distance: 105
|
|
max_extrude_cross_section: 2
|
|
#pid_kp: 57.369
|
|
#pid_ki: 2.533
|
|
#pid_kd: 324.854
|
|
sensor_type: MAX31865
|
|
sensor_pin: EBBCan:gpio9
|
|
spi_software_sclk_pin: EBBCan:gpio10
|
|
spi_software_mosi_pin: EBBCan:gpio8
|
|
spi_software_miso_pin: EBBCan:gpio11
|
|
rtd_nominal_r: 100
|
|
rtd_reference_r: 430
|
|
rtd_num_of_wires: 2
|
|
pressure_advance: 0.03
|
|
|
|
[tmc2209 extruder]
|
|
uart_pin: EBBCan:gpio20
|
|
run_current: 0.65
|
|
stealthchop_threshold: 0
|
|
|
|
|
|
#####################################################################
|
|
# Bed Heater
|
|
#####################################################################
|
|
|
|
[heater_bed]
|
|
heater_pin: PA1
|
|
sensor_type: Generic 3950
|
|
sensor_pin: PB1
|
|
max_power: 1.0
|
|
min_temp: 0
|
|
max_temp: 115
|
|
#control: pid
|
|
#pid_kp: 58.437
|
|
#pid_ki: 2.347
|
|
#pid_kd: 363.769
|
|
|
|
|
|
#####################################################################
|
|
# Probe
|
|
#####################################################################
|
|
|
|
[probe]
|
|
pin: ^EBBCan:gpio22
|
|
x_offset: 0
|
|
y_offset: 0
|
|
#z_offset: 0
|
|
lift_speed: 30
|
|
activate_gcode:
|
|
{% set PROBE_TEMP = 150 %}
|
|
{% set MAX_TEMP = PROBE_TEMP + 5 %}
|
|
{% set ACTUAL_TEMP = printer.extruder.temperature %}
|
|
{% set TARGET_TEMP = printer.extruder.target %}
|
|
|
|
{% if TARGET_TEMP > PROBE_TEMP %}
|
|
{ action_respond_info('Extruder temperature target of %.1fC is too high, lowering to %.1fC' % (TARGET_TEMP, PROBE_TEMP)) }
|
|
M109 S{ PROBE_TEMP }
|
|
{% else %}
|
|
# Temperature target is already low enough, but nozzle may still be too hot.
|
|
{% if ACTUAL_TEMP > MAX_TEMP %}
|
|
{ action_respond_info('Extruder temperature %.1fC is still too high, waiting until below %.1fC' % (ACTUAL_TEMP, MAX_TEMP)) }
|
|
TEMPERATURE_WAIT SENSOR=extruder MAXIMUM={ MAX_TEMP }
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
#####################################################################
|
|
# Fan Control
|
|
#####################################################################
|
|
|
|
[fan]
|
|
pin: EBBCan:gpio13
|
|
|
|
[heater_fan hotend_fan]
|
|
pin: EBBCan:gpio14
|
|
heater: extruder
|
|
heater_temp: 70.0
|
|
|
|
|
|
[fan_generic nevermore]
|
|
## Print Cooling Fan - CNC_FAN0
|
|
pin: PF8
|
|
kick_start_time: 0.5
|
|
off_below: 0.10
|
|
|
|
[controller_fan controller_fan_1]
|
|
## Hotend Fan - CNC_FAN1
|
|
pin: PF9
|
|
max_power: 1.0
|
|
kick_start_time: 0.5
|
|
fan_speed: 0.66
|
|
|
|
|
|
[heater_fan controller_fan_2]
|
|
## Controller fan - CNC_FAN2
|
|
pin: PF6
|
|
kick_start_time: 0.5
|
|
heater: heater_bed
|
|
heater_temp: 80
|
|
fan_speed: 0.66
|
|
|
|
[fan_generic exhaust_fan]
|
|
# Exhaust fan - CNC_FAN0
|
|
pin: PF7
|
|
max_power: 1.0
|
|
shutdown_speed: 0.0
|
|
kick_start_time: 0.5
|
|
|
|
#####################################################################
|
|
# LED Control
|
|
#####################################################################
|
|
|
|
#[neopixel toolhead_light]
|
|
#pin: EBBCan:gpio16
|
|
#chain_count: 3
|
|
#color_order: GRBW
|
|
[include stealthburner_leds.cfg]
|
|
|
|
[output_pin caselight]
|
|
#Chamber Lighting - HE3 Connector
|
|
pin: PA3
|
|
pwm:true
|
|
shutdown_value: 0
|
|
cycle_time: 0.01
|
|
|
|
#####################################################################
|
|
# Homing and Gantry Adjustment Routines
|
|
#####################################################################
|
|
|
|
[idle_timeout]
|
|
timeout: 3300
|
|
|
|
[safe_z_home]
|
|
##--------------------------------------------------------------------
|
|
|
|
## Uncomment below for 250mm build
|
|
#home_xy_position: 125,125
|
|
|
|
## Uncomment below for 300mm build
|
|
home_xy_position: 150,150
|
|
|
|
## Uncomment below for 350mm build
|
|
#home_xy_position: 175,175
|
|
|
|
##--------------------------------------------------------------------
|
|
speed: 100
|
|
z_hop: 10
|
|
|
|
[quad_gantry_level]
|
|
## Use QUAD_GANTRY_LEVEL to level a gantry.
|
|
## Min & Max gantry corners - measure from nozzle at MIN (0,0) and
|
|
## MAX (250, 250), (300,300), or (350,350) depending on your printer size
|
|
## to respective belt positions
|
|
|
|
#--------------------------------------------------------------------
|
|
## Gantry Corners for 250mm Build
|
|
## Uncomment for 250mm build
|
|
#gantry_corners:
|
|
# -60,-10
|
|
# 310, 320
|
|
## Probe points
|
|
#points:
|
|
# 50,25
|
|
# 50,175
|
|
# 200,175
|
|
# 200,25
|
|
|
|
## Gantry Corners for 300mm Build
|
|
## Uncomment for 300mm build
|
|
gantry_corners:
|
|
-60,-10
|
|
360,370
|
|
|
|
# Probe points
|
|
points:
|
|
275,25
|
|
25,25
|
|
25,275
|
|
275,275
|
|
|
|
## Gantry Corners for 350mm Build
|
|
## Uncomment for 350mm build
|
|
#gantry_corners:
|
|
# -60,-10
|
|
# 410,420
|
|
## Probe points
|
|
#points:
|
|
# 50,25
|
|
# 50,275
|
|
# 300,275
|
|
# 300,25
|
|
|
|
#--------------------------------------------------------------------
|
|
speed: 100
|
|
horizontal_move_z: 10
|
|
retries: 10
|
|
retry_tolerance: 0.0075
|
|
max_adjust: 10
|
|
|
|
[bed_mesh]
|
|
mesh_min: 10,10
|
|
##--------------------------------------------------------------------
|
|
|
|
## Uncomment below for 250mm build
|
|
#mesh_max: 240,240
|
|
|
|
## Uncomment below for 300mm build
|
|
mesh_max: 290,290
|
|
|
|
|
|
## Uncomment below for 350mm build
|
|
#mesh_max: 340,340
|
|
|
|
##--------------------------------------------------------------------
|
|
|
|
[adxl345]
|
|
cs_pin: EBBCan:gpio1
|
|
spi_software_sclk_pin: EBBCan:gpio2
|
|
spi_software_mosi_pin: EBBCan:gpio0
|
|
spi_software_miso_pin: EBBCan:gpio3
|
|
axes_map: z,-y,x
|
|
|
|
[resonance_tester]
|
|
accel_chip: adxl345
|
|
probe_points:
|
|
# Somewhere slightly above the middle of your print bed
|
|
150,150, 20
|
|
|
|
|
|
[board_pins]
|
|
aliases:
|
|
# EXP1 header
|
|
EXP1_1=PE7, EXP1_2=PG1,
|
|
EXP1_3=PG0, EXP1_4=PF15,
|
|
EXP1_5=PF14, EXP1_6=PF13, # Slot in the socket on this side
|
|
EXP1_7=PF12, EXP1_8=PF11,
|
|
EXP1_9=<GND>, EXP1_10=<5V>,
|
|
|
|
# EXP2 header
|
|
EXP2_1=PE13, EXP2_2=PE12,
|
|
EXP2_3=PE15, EXP2_4=PE11,
|
|
EXP2_5=PE10, EXP2_6=PE14, # Slot in the socket on this side
|
|
EXP2_7=PE8, EXP2_8=<RST>,
|
|
EXP2_9=<GND>, EXP2_10=<NC>
|
|
|
|
|
|
#####################################################################
|
|
# Macros
|
|
#####################################################################
|
|
|
|
# Conditional G28 (home if not already homed)
|
|
[gcode_macro CG28]
|
|
gcode:
|
|
{% if "x" not in printer.toolhead.homed_axes or "y" not in printer.toolhead.homed_axes or "z" not in printer.toolhead.homed_axes %}
|
|
M117 Homing
|
|
G28
|
|
{% endif %}
|
|
|
|
|
|
|
|
#[gcode_macro G32]
|
|
#gcode:
|
|
# BED_MESH_CLEAR
|
|
# CG28 ; Home if not homed to get everything turned on
|
|
# QUAD_GANTRY_LEVEL ; Level
|
|
# #G28 X Y ; Home the X and Y
|
|
# G0 X130 Y355 Z2 F9000 ; Move to brush
|
|
# G0 X75 F750 ; Move across the brush
|
|
# G0 X130 F750 ; Move across the brush
|
|
# G28 Z ; Home the Z now that nozzle is clean
|
|
# G0 X150 Y150 Z20 F6000 ; Return to center of bed
|
|
|
|
|
|
[gcode_macro G32]
|
|
gcode:
|
|
|
|
STATUS_HOMING
|
|
BED_MESH_CLEAR
|
|
CG28
|
|
|
|
STATUS_LEVELING
|
|
M117 Leveling Gantry
|
|
QUAD_GANTRY_LEVEL
|
|
G28
|
|
## Uncomment for for your size printer:
|
|
#--------------------------------------------------------------------
|
|
## Uncomment for 250mm build
|
|
#G0 X125 Y125 Z30 F3600
|
|
|
|
## Uncomment for 300 build
|
|
G0 X150 Y150 Z30 F3600
|
|
|
|
## Uncomment for 350mm build
|
|
#G0 X175 Y175 Z30 F3600
|
|
#--------------------------------------------------------------------
|
|
|
|
M117
|
|
STATUS_READY
|
|
|
|
[gcode_macro PRINT_START]
|
|
gcode:
|
|
{% set BED = params.BED|default(60)|int %}
|
|
{% set EXTRUDER = params.EXTRUDER|default(210)|int %}
|
|
{% set mat = params.FILAMENT_TYPE|default("PLA") %}
|
|
|
|
{% if mat == "ABS" %}
|
|
M118 Turning on exhaust for ABS
|
|
SET_FAN_SPEED FAN=exhaust_fan SPEED=0.05
|
|
{% elif mat == "PETG" %}
|
|
M118 Turning on exhaust for PETG
|
|
SET_FAN_SPEED FAN=exhaust_fan SPEED=0.20
|
|
{% elif mat == "PLA" %}
|
|
M118 Turning on exhaust for PLA
|
|
SET_FAN_SPEED FAN=exhaust_fan SPEED=0.40
|
|
{% endif %}
|
|
|
|
SAVE_GCODE_STATE NAME=start
|
|
|
|
SET_PIN pin=caselight value=0.50
|
|
|
|
STATUS_HEATING
|
|
M117 Starting warmup
|
|
|
|
SET_FAN_SPEED FAN=nevermore SPEED=0.75
|
|
_CHECK_CANCEL
|
|
M140 S{BED}
|
|
_CHECK_CANCEL
|
|
CG28
|
|
G1 Z20 F3000 ; move nozzle away from bed
|
|
|
|
# Heat bed first
|
|
# Heat nozzle to 140
|
|
M117 Heating Bed
|
|
STATUS_HEATING
|
|
M104 S140
|
|
M190 S{BED}
|
|
_CHECK_CANCEL
|
|
|
|
# Home and QGL while nozzle is cold
|
|
M117 Homing
|
|
G32
|
|
|
|
# Now heat nozzle
|
|
_CHECK_CANCEL
|
|
M117 Heating Nozzle
|
|
STATUS_HEATING
|
|
M109 S{EXTRUDER}
|
|
|
|
M117 #Clear Status
|
|
STATUS_PRINTING
|
|
|
|
RESTORE_GCODE_STATE NAME=start
|
|
|
|
|
|
[gcode_macro PRINT_END]
|
|
# Use PRINT_END for the slicer ending script - please customise for your slicer of choice
|
|
gcode:
|
|
SAVE_GCODE_STATE NAME=STATE_PRINT_END
|
|
|
|
M400 ; wait for buffer to clear
|
|
G92 E0 ; zero the extruder
|
|
G1 E-10.0 F3600 ; retract filament
|
|
|
|
G91 ; relative positioning
|
|
G0 Z1.00 X20.0 Y20.0 F20000 ; move nozzle to remove stringing
|
|
TURN_OFF_HEATERS
|
|
M107 ; turn off fan
|
|
G1 Z2 F3000 ; move nozzle up 2mm
|
|
G90 ; absolute positioning
|
|
G0 X125 Y250 F3600 ; park nozzle at rear
|
|
|
|
SET_PIN pin=caselight value=0.03
|
|
|
|
BED_MESH_CLEAR
|
|
|
|
# Wait 3 minutes before turning off fans
|
|
G4 P180000
|
|
SET_FAN_SPEED FAN=nevermore SPEED=0.00
|
|
SET_FAN_SPEED FAN=exhaust_fan SPEED=0.00
|
|
|
|
STATUS_READY
|
|
|
|
# The purpose of the SAVE_GCODE_STATE/RESTORE_GCODE_STATE
|
|
# command pair is to restore the printer's coordinate system
|
|
# and speed settings since the commands above change them.
|
|
# However, to prevent any accidental, unintentional toolhead
|
|
# moves when restoring the state, explicitly set MOVE=0.
|
|
RESTORE_GCODE_STATE NAME=STATE_PRINT_END MOVE=0
|
|
|
|
[gcode_macro _CHECK_CANCEL]
|
|
gcode:
|
|
{% if printer.print_stats.state == "cancelling" %}
|
|
action_respond_info("Macro cancelled")
|
|
raise
|
|
{% endif %}
|
|
|
|
[force_move]
|
|
enable_force_move: true
|
|
|
|
#*# <---------------------- SAVE_CONFIG ---------------------->
|
|
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
|
|
#*#
|
|
#*# [heater_bed]
|
|
#*# control = pid
|
|
#*# pid_kp = 63.521
|
|
#*# pid_ki = 2.900
|
|
#*# pid_kd = 347.777
|
|
#*#
|
|
#*# [extruder]
|
|
#*# control = pid
|
|
#*# pid_kp = 16.710
|
|
#*# pid_ki = 1.061
|
|
#*# pid_kd = 65.795
|
|
#*#
|
|
#*# [probe]
|
|
#*# z_offset = -1.575
|
|
#*#
|
|
#*# [input_shaper]
|
|
#*# shaper_type_x = 2hump_ei
|
|
#*# shaper_freq_x = 71.4
|
|
#*# shaper_type_y = mzv
|
|
#*# shaper_freq_y = 30.0
|