[include moonraker_obico_macros.cfg] #[include mmu/base/*.cfg] #[include mmu/optional/client_macros.cfg] [include mainsail.cfg] # host MCU service is preinstalled and ready to use with: [mcu CB1] serial: /tmp/klipper_host_mcu [mcu] canbus_uuid: a39755b6c75c [mcu printhead] canbus_uuid: 6e5db542668c [printer] kinematics: corexy max_velocity: 1000 max_accel: 20000 max_z_velocity: 20 max_z_accel: 350 square_corner_velocity: 5.0 [temperature_sensor Electronics] sensor_type: temperature_mcu [temperature_sensor CPU] 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.1209 full_steps_per_rotation:400 #set to 400 for 0.9 degree stepper endstop_pin: ^PF4 position_min: 0 position_endstop: 350 position_max: 350 homing_speed: 25 #Max 100 homing_retract_dist: 5 homing_positive_dir: true [tmc5160 stepper_x] cs_pin: PC13 spi_software_mosi_pin: PG6 spi_software_miso_pin: PG7 spi_software_sclk_pin: PG8 run_current: 1.414 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.3964 endstop_pin: ^PF3 full_steps_per_rotation:400 #set to 400 for 0.9 degree stepper position_min: 0 position_endstop: 355 position_max: 355 homing_speed: 25 #Max 100 homing_retract_dist: 5 homing_positive_dir: true [tmc5160 stepper_y] cs_pin: PE3 spi_software_mosi_pin: PG6 spi_software_miso_pin: PG7 spi_software_sclk_pin: PG8 run_current: 1.414 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: 41.3288 gear_ratio: 80:16 microsteps: 16 endstop_pin: probe:z_virtual_endstop ## Z-position of nozzle (in mm) to z-endstop trigger point relative to print surface (Z0) ## (+) value = endstop above Z0, (-) value = endstop below ## Increasing position_endstop brings nozzle closer to the bed ## After you run Z_ENDSTOP_CALIBRATE, position_endstop will be stored at the very end of your config #position_endstop: -2 position_max: 300 position_min: -5 homing_speed: 5 second_homing_speed: 3 homing_retract_dist: 3 [tmc5160 stepper_z] cs_pin: PB9 spi_software_mosi_pin: PG6 spi_software_miso_pin: PG7 spi_software_sclk_pin: PG8 run_current: 1 stealthchop_threshold: 0 ## Z1 Stepper - Rear Left on Motor5 [stepper_z1] step_pin: PG13 dir_pin: !PG12 enable_pin: !PG15 rotation_distance: 40 gear_ratio: 80:16 microsteps: 16 [tmc5160 stepper_z1] cs_pin: PG14 spi_software_mosi_pin: PG6 spi_software_miso_pin: PG7 spi_software_sclk_pin: PG8 run_current: 1 stealthchop_threshold: 0 ## Z2 Stepper - Rear Right on Motor6 [stepper_z2] step_pin: PG9 dir_pin: PD7 enable_pin: !PG11 rotation_distance: 40 gear_ratio: 80:16 microsteps: 16 [tmc5160 stepper_z2] cs_pin: PG10 spi_software_mosi_pin: PG6 spi_software_miso_pin: PG7 spi_software_sclk_pin: PG8 run_current: 1 stealthchop_threshold: 0 ## Z3 Stepper - Front Right on Motor7 [stepper_z3] step_pin: PD4 dir_pin: !PD3 enable_pin: !PD6 rotation_distance: 40 gear_ratio: 80:16 microsteps: 16 [tmc5160 stepper_z3] cs_pin: PD5 spi_software_mosi_pin: PG6 spi_software_miso_pin: PG7 spi_software_sclk_pin: PG8 run_current: 1 stealthchop_threshold: 0 ##################################################################### # Extruder ##################################################################### [extruder] step_pin: printhead: PD0 dir_pin: printhead: PD1 enable_pin: !printhead: PD2 rotation_distance: 5.7 gear_ratio: 1:1 microsteps: 16 full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree nozzle_diameter: 0.400 filament_diameter: 1.75 spi_speed: 4000000 heater_pin: printhead: PB13 sensor_type: MAX31865 sensor_pin: printhead: PA4 spi_bus: spi1 rtd_nominal_r: 1000 rtd_reference_r: 4300 rtd_num_of_wires: 4 min_temp: 10 max_temp: 350 max_power: 1.0 min_extrude_temp: 170 control = pid pid_kp = 23.189 pid_ki = 1.562 pid_kd = 86.089 ## Try to keep pressure_advance below 1.0 pressure_advance: 0.05 ## Default is 0.040, leave stock pressure_advance_smooth_time: 0.040 [tmc2209 extruder] uart_pin: printhead: PA15 interpolate: false run_current: 0.707 stealthchop_threshold: 0 [adxl345] cs_pin: printhead: PB12 spi_software_sclk_pin: printhead: PB10 spi_software_mosi_pin: printhead: PB11 spi_software_miso_pin: printhead: PB2 axes_map: x,z,y [resonance_tester] accel_chip: adxl345 probe_points: 175, 175, 30 ##################################################################### # Filament Sensor ##################################################################### [filament_switch_sensor switch_sensor] switch_pin: ^PF0 pause_on_runout: True runout_gcode: PAUSE M117 Filament switch runout insert_gcode: M117 Filament switch inserted [filament_motion_sensor encoder_sensor] switch_pin: ^PC15 detection_length: 15 extruder: extruder pause_on_runout: True runout_gcode: PAUSE M117 Filament encoder runout insert_gcode: M117 Filament encoder inserted ##################################################################### # Bed Heater ##################################################################### ## SSR Pin - HE2 [heater_bed] heater_pin: PA3 sensor_type: Generic 3950 sensor_pin: PB1 max_power: 1 min_temp: 0 max_temp: 120 control = pid pid_kp = 62.274 pid_ki = 3.218 pid_kd = 301.250 ##################################################################### # Probe ##################################################################### [probe] ## Inductive Probe ## This probe is not used for Z height, only Quad Gantry Leveling ## NPN and PNP proximity switch types can be set by jumper pin: printhead: PB6 x_offset: 0 y_offset: 25.0 #z_offset: 0 speed: 30.0 samples: 3 samples_result: median sample_retract_dist: 5.0 samples_tolerance: 0.01 samples_tolerance_retries: 6 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)) } M106 S255 M109 S{ PROBE_TEMP } M106 S0 {% 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 %} ##################################################################### # Enclosure Temperature Control ##################################################################### [temperature_sensor chamber] sensor_type: Generic 3950 sensor_pin: PB0 ##################################################################### # Fan Control ##################################################################### [fan_generic part_cooling_fan] ## Print Cooling Fan - CNC_FAN0 pin: !PA4 kick_start_time: 0 ## Depending on your fan, you may need to increase this value ## if your fan will not start. Can change cycle_time (increase) ## if your fan is not able to slow down effectively off_below: 0.28 [heater_fan hotend_fan] ## Hotend Fan - CNC_FAN1 pin: printhead: PA0 max_power: 1.0 kick_start_time: 0.5 heater: extruder heater_temp: 50.0 fan_speed: 1.0 [fan_generic exhaust_fan] # Exhaust fan - CNC_FAN3 pin: PF6 max_power: 1.0 shutdown_speed: 0.0 kick_start_time: 5.0 [multi_pin controller_fans] pins: PF7,PF9 [controller_fan controller_fan] ## Controller fan - CNC_FAN2 pin: multi_pin:controller_fans kick_start_time: 0.5 idle_speed: 0.5 heater: heater_bed idle_timeout: 120 ##################################################################### # LED Control ##################################################################### [neopixel caselight] pin: PD15 chain_count: 30 color_order: GRB [neopixel hotend_rgb] pin: printhead: PD3 chain_count: 6 color_order: GRB,RBG,GRB,RGB,RGB,RGB ##################################################################### # Idle Timeout ##################################################################### [idle_timeout] timeout: 1800 ##################################################################### # Homing and Gantry Adjustment Routines ##################################################################### [safe_z_home] ## XY Location of the Z Endstop Switch ## Update -10,-10 to the XY coordinates of your endstop pin ## (such as 157,305) after going through Z Endstop Pin ## Location Definition step. home_xy_position:170,170 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: -60,-60 410,410 points: 50,50 50,300 300,300 300,50 speed: 500 horizontal_move_z: 10 retries: 10 retry_tolerance: 0.01 max_adjust: 15 [bed_mesh] speed: 500 horizontal_move_z: 5 mesh_min: 30,50 mesh_max: 320,340 probe_count: 5,5 ##################################################################### # Pin Definitions ##################################################################### [board_pins] aliases: # EXP1 header EXP1_1=PE9, EXP1_2=PE10, EXP1_3=PE11, EXP1_4=PE12, EXP1_5=PE13, EXP1_6=PE14, # Slot in the socket on this side EXP1_7=PE15, EXP1_8=PB10, EXP1_9=, EXP1_10=<5V>, # EXP2 header EXP2_1=PB14, EXP2_2=PB13, EXP2_3=PF7, EXP2_4=PB12, EXP2_5=PE7, EXP2_6=PB11, # Slot in the socket on this side EXP2_7=PE8, EXP2_8=, EXP2_9=, EXP2_10=PC5 ##################################################################### # Optional G-Codes ##################################################################### [gcode_arcs] resolution: 0.1 [exclude_object] [pause_resume] recover_velocity: 100 [firmware_retraction] retract_length: 0.8 retract_speed: 40 unretract_extra_length: 0 unretract_speed: 40 [respond] default_type: echo ##################################################################### # Macros ##################################################################### [gcode_macro CANCEL_PRINT] rename_existing: BASE_CANCEL_PRINT gcode: M220 S100 ; reset speed factor override percentage to default (100%) M221 S100 ; reset extrusion factor override percentage to default (100%) {% if printer.extruder.temperature > 170 %} ; if extruder is hot, retract filament G1 E-3.0 F3600 ; retract filament by 3mm {% endif %} {% if printer.toolhead.homed_axis == "xyz" %} ; if XYZ is homed, we can move the nozzle G91 ; relative positioning G1 Z+5 F3600 ; move nozzle up 5mm G90 ; absolute positioning PARK_NOZZLE_REAR ; park nozzle {% endif %} CLEAR_PAUSE BASE_CANCEL_PRINT [gcode_macro G32] gcode: G28 QUAD_GANTRY_LEVEL BED_MESH_CALIBRATE G28 G0 X345 Y345 Z30 F3600 [gcode_macro PARK_NOZZLE_REAR] gcode: G0 X345 Y345 F3600 [gcode_macro PARK_NOZZLE_FRONT] gcode: G0 X15 Y15 F3600 [gcode_macro PRINT_START] gcode: SET_LED LED="caselight" RED=0.898 GREEN=1 BLUE=0 SYNC=0 TRANSMIT=1 M140 S{ params.BED | float } ; set bed temperature {% set PROBE_TEMP = 150 %} {% set ACTUAL_TEMP = printer.extruder.temperature %} {% if ACTUAL_TEMP > PROBE_TEMP %} M106 S255 M109 S{ PROBE_TEMP } M106 S0 {% else %} M109 S{ PROBE_TEMP } {% endif %} ; get nozzle to probing temperture M190 S{ params.BED | float } ; wait for bed to reach temperture ; If QGL is NO, only do G28 (axis homing) ; If QGL is YES or not defined, do G32 (axis homing + QGL) ; First Check if QGL exists, then check if it is YES {% if params.QGL is defined and params.QGL == "NO" %} G28 {% else %} G32 {% endif %} G1 Z20 F3000 ; move nozzle away from bed M109 S{ params.EXTRUDER | float } ; wait for nozzle to reach temperture SET_LED LED="hotend_rgb" RED=1 GREEN=0 BLUE=1 SYNC=0 TRANSMIT=1 ; turn on hotend LED SET_LED LED="caselight" RED=1 GREEN=1 BLUE=1 SYNC=0 TRANSMIT=1 ; turn on case light [gcode_macro PRINT_PURGE_LINE] gcode: G0 X10Y10Z0.25 F10000 G0 X200Y10Z0.25 E50 F1000 [gcode_macro PRINT_END] gcode: 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 ; turn off heaters M107 ; turn off fan G1 Z2 F3000 ; move nozzle up 2mm G90 ; absolute positioning PARK_NOZZLE_REAR ; park nozzle #M84 ; disable motors (optional) SET_LED LED="hotend_rgb" RED=0 GREEN=0 BLUE=0 SYNC=0 TRANSMIT=1 ; turn off hotend LED SET_LED LED="caselight" RED=0 GREEN=0 BLUE=0 SYNC=0 TRANSMIT=1 [gcode_macro LOAD_FILAMENT] gcode: M83 G1 E50 F300 G1 E30 F150 [gcode_macro UNLOAD_FILAMENT] gcode: M83 G1 E-35 F8000 G1 E26 F750 G4 P1000 G1 E-50 F8000 G1 E-50 F8000 [gcode_macro M106] gcode: # P0: Part cooling fan, P3: Exhaust fan # If no P parameter is given, assume Part Cooling Fan {% set speed = (params.S|float / 255 if params.S is defined else 1.0) %} {% set fan_id = (params.P)|int if params.P is defined else 0 %} {% if fan_id == 0 %} SET_FAN_SPEED FAN=part_cooling_fan SPEED={speed} {% elif fan_id == 3 %} SET_FAN_SPEED FAN=exhaust_fan SPEED={speed} {% endif %} ##################################################################### # Palette 2 ##################################################################### [palette2] serial: /dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_DM02HVOW-if00-port0 feedrate_splice: 0.3 feedrate_normal: 1.0 auto_load_speed: 2 auto_cancel_variation: 0.1 #*# <---------------------- SAVE_CONFIG ----------------------> #*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. #*# #*# [input_shaper] #*# shaper_type_x = zv #*# shaper_freq_x = 57.6 #*# shaper_type_y = 3hump_ei #*# shaper_freq_y = 48.0 #*# #*# [probe] #*# z_offset = -1.695 #*# #*# [extruder] #*# #*# [heater_bed] #*# #*# [bed_mesh default] #*# version = 1 #*# points = #*# 0.139631, 0.113800, 0.170627, 0.118966, 0.018227 #*# 0.018227, 0.196458, 0.095719, 0.062139, -0.007603 #*# 0.041475, -0.017935, -0.025684, -0.030851, -0.064430 #*# -0.028268, 0.010478, -0.007603, 0.036309, -0.023101 #*# 0.077638, 0.137048, 0.155129, 0.147380, 0.069888 #*# x_count = 5 #*# y_count = 5 #*# mesh_x_pps = 2 #*# mesh_y_pps = 2 #*# algo = lagrange #*# tension = 0.2 #*# min_x = 30.0 #*# max_x = 320.0 #*# min_y = 50.0 #*# max_y = 340.0