Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [include mainsail.cfg]
- [mcu]
- canbus_uuid: 68a5d58c4981
- [mcu EBBCan]
- canbus_uuid: 40d9cd16e24f
- [mcu host]
- serial: /tmp/klipper_host_mcu
- [virtual_sdcard]
- path: /home/biqu/printer_data/gcodes
- on_error_gcode: CANCEL_PRINT
- [printer]
- kinematics: corexy
- max_velocity: 500
- max_accel: 30000
- max_z_velocity: 15
- max_z_accel: 100
- [include moonraker_obico_macros.cfg]
- [include KAMP_Settings.cfg]
- [exclude_object]
- [firmware_retraction]
- [force_move]
- enable_force_move: True
- [respond]
- [idle_timeout]
- timeout: 600
- #####################################################################
- # X/Y Stepper Settings X=B Y=A
- #####################################################################
- [stepper_x]
- step_pin: PB12
- dir_pin: PB11
- enable_pin: !PA8
- microsteps: 16
- rotation_distance: 40
- endstop_pin: tmc2240_stepper_x:virtual_endstop
- position_max: 120
- position_min: 0
- position_endstop: 120
- homing_speed: 30
- homing_retract_dist: 0
- homing_positive_dir: true
- [tmc2240 stepper_x]
- cs_pin: PB2
- spi_bus: spi2
- run_current: 0.8
- stealthchop_threshold: 0
- diag0_pin: ^!PC2
- driver_SGT: 2
- interpolate: true
- driver_PWM_AUTOSCALE: true
- driver_PWM_FREQ: 2
- driver_PWM_OFS: 36
- driver_PWM_GRAD: 14
- [stepper_y]
- step_pin: PC8
- dir_pin: PC9
- enable_pin: !PA15
- microsteps: 16
- rotation_distance: 40
- endstop_pin: tmc2240_stepper_y:virtual_endstop
- position_max: 120
- position_min: 0
- position_endstop: 120
- homing_speed: 30
- homing_retract_dist: 0
- homing_positive_dir: true
- [tmc2240 stepper_y]
- cs_pin: PD9
- spi_bus: spi2
- run_current: 0.8
- stealthchop_threshold: 0
- diag0_pin: ^!PD3
- driver_SGT: 2
- interpolate: true
- driver_PWM_AUTOSCALE: true
- driver_PWM_FREQ: 2
- driver_PWM_OFS: 36
- driver_PWM_GRAD: 14
- #####################################################################
- # Z Stepper Settings
- #####################################################################
- [stepper_z]
- step_pin: PA10
- dir_pin: !PA14
- enable_pin: !PA13
- microsteps: 16
- rotation_distance: 8
- position_max: 100
- #endstop_pin: ^PD2
- endstop_pin: probe:z_virtual_endstop
- #position_endstop: 120.0
- homing_speed: 20
- second_homing_speed: 5.0
- homing_retract_dist: 5.0
- position_min: -10
- [tmc2240 stepper_z]
- cs_pin: PD8
- spi_bus: spi2
- run_current: 0.4
- hold_current: 0.05
- stealthchop_threshold: 999999
- #####################################################################
- # Extruder
- #####################################################################
- [extruder]
- step_pin: EBBCan: PD0
- dir_pin: EBBCan: PD1
- enable_pin: !EBBCan: PD2
- microsteps: 16
- rotation_distance: 4.637
- full_steps_per_rotation: 200
- nozzle_diameter: 0.400
- filament_diameter: 1.750
- max_extrude_only_distance: 500
- max_extrude_only_velocity: 120
- max_extrude_cross_section: 5
- heater_pin: EBBCan: PB13
- sensor_type:MAX31865
- sensor_pin: EBBCan: PA4
- spi_bus: spi1
- rtd_nominal_r: 1000
- rtd_reference_r: 4300
- rtd_num_of_wires: 2
- min_temp: 0
- max_temp: 400
- pressure_advance: 0.03
- pressure_advance_smooth_time: 0.040
- [tmc2209 extruder]
- uart_pin: EBBCan: PA15
- run_current: 0.650
- stealthchop_threshold: 0
- interpolate: true
- [fan]
- pin: EBBCan: PA1
- [heater_fan hotend_fan]
- pin: EBBCan: PA0
- heater: extruder
- heater_temp: 50.0
- #####################################################################
- # Bed Heater
- #####################################################################
- [heater_bed]
- heater_pin: PA5
- sensor_type: Generic 3950
- sensor_pin: PA0
- smooth_time: 3.0
- min_temp: 0
- max_temp: 120
- #####################################################################
- # RGB
- #####################################################################
- [neopixel Hotend_rgb]
- pin: EBBCan:PD3
- chain_count: 3
- color_order: GRB
- [led_effect hotend_temp_effect]
- autostart: true
- frame_rate: 24
- heater: extruder
- leds:
- neopixel:Hotend_rgb (1-2)
- layers:
- temperature 100 200 top (0.0, 0.0, 1.0), (1.0, 0.0, 0.0)
- [led_effect hotend_fade_rgb]
- autostart: true
- frame_rate: 24
- leds:
- neopixel:Hotend_rgb (0)
- layers:
- linearfade 3 0 top (0.1, 0.0, 0.0), (0.0, 0.1, 0.0), (0.0, 0.0, 0.1)
- [neopixel Progress_rgb]
- pin: PC14
- chain_count: 20
- color_order: GRB
- [led_effect printer_progress]
- autostart: true
- frame_rate: 24
- leds:
- neopixel:Progress_rgb (20-1)
- layers:
- progress -1 1 add (0.0, 0.5, 0.0), (0.0, 0.5, 0.0)
- static 0 0 top (0.01, 0.01, 0.01)
- [neopixel Chamber_rgb]
- pin: PC11
- chain_count: 20
- color_order: GRB # or RGB/WGRB depending on your LEDs
- initial_RED: 1.0
- initial_GREEN: 1.0
- initial_BLUE: 1.0
- #####################################################################
- # Temps & Fan Control
- #####################################################################
- [temperature_sensor chamber]
- sensor_type: EPCOS 100K B57560G104F
- sensor_pin: PA1
- pullup_resistor: 4700
- min_temp: 0
- max_temp: 80
- [thermistor Z-Stepper]
- temperature1: 18
- resistance1: 11800
- temperature2: 35
- resistance2: 7000
- temperature3: 96
- resistance3: 1140
- [temperature_sensor Z-Stepper]
- sensor_type: Z-Stepper
- sensor_pin: PA2
- #pullup_resistor: 4700
- min_temp: 0
- max_temp: 100
- [temperature_sensor MCU_Temp]
- sensor_type: temperature_mcu
- min_temp: 0
- max_temp: 100
- [temperature_sensor Host_CPU]
- sensor_type: temperature_host
- min_temp: 0
- max_temp: 100
- [temperature_sensor EBB36]
- sensor_type: temperature_mcu
- Sensor_mcu: EBBCan
- [output_pin Board_fan]
- pin:PA3
- value: 1
- # [fan_generic Board_fan]
- # pin: PA3
- # max_power: 1
- # shutdown_speed: 0
- # cycle_time: 0.010
- # hardware_pwm: false
- # kick_start_time: 0.4
- # off_below: 0.1
- [include aux_fan.cfg]
- #####################################################################
- # BTT SFS V2.0
- #####################################################################
- [filament_switch_sensor switch_sensor]
- switch_pin: ^PC3
- pause_on_runout: False
- runout_gcode:
- PAUSE # [pause_resume] is required in printer.cfg
- M117 Filament switch runout
- insert_gcode:
- M117 Filament switch inserted
- [filament_motion_sensor encoder_sensor]
- switch_pin: ^PC15
- detection_length: 2.88 # accuracy of motion sensor 2.88mm
- extruder: extruder
- pause_on_runout: False
- runout_gcode:
- PAUSE # [pause_resume] is required in printer.cfg
- M117 Filament encoder runout
- insert_gcode:
- M117 Filament encoder inserted
- #####################################################################
- # ADXL345
- #####################################################################
- [adxl345]
- cs_pin: EBBCan: PB12
- spi_software_sclk_pin: EBBCan: PB10
- spi_software_mosi_pin: EBBCan: PB11
- spi_software_miso_pin: EBBCan: PB2
- axes_map: -x, z, -y
- #axes_map: x, z, -y
- [resonance_tester]
- accel_chip: adxl345
- accel_per_hz: 75 # default is 75
- probe_points: 60, 60, 20
- #####################################################################
- # Macro Land
- #####################################################################
- [homing_override]
- axes: z
- gcode:
- BRUSH_IN
- SET_KINEMATIC_POSITION Z=0
- G1 Z5
- G28 X Y
- Query_Probe
- _CONDITIONAL_TAKE_PROBE
- G1 X40 Y60
- G28 Z
- G91
- G1 Z1
- G90
- Query_Probe
- _CONDITIONAL_STOW_PROBE
- [probe]
- pin: ~EBBCan: PB6
- x_offset: 20
- y_offset: 0
- #z_offset: 10
- speed: 20.0
- samples: 2
- sample_retract_dist: 5.0
- lift_speed: 30.0
- samples_tolerance: 0.2
- samples_tolerance_retries: 15
- deactivate_on_each_sample: 0
- [bed_mesh]
- speed: 200
- horizontal_move_z: 25
- mesh_min: 20, 5
- mesh_max: 100, 115
- probe_count: 7,7
- algorithm: bicubic
- [servo probeServo]
- pin: PC13
- minimum_pulse_width: 0.000544
- [gcode_macro _PICKUP_POS]
- variable_x: 112
- variable_y: 53
- variable_z: 30
- gcode:
- M118 pickup pos X:{printer["gcode_macro _PICKUP_POS"].x} Y:{printer["gcode_macro _PICKUP_POS"].y} Z:{printer["gcode_macro _PICKUP_POS"].z}
- [gcode_macro DEPLOY]
- gcode:
- SET_SERVO SERVO=probeServo ANGLE=180
- G4 P500 # wait for deploy
- SET_SERVO SERVO=probeServo WIDTH=0 # OFF
- [gcode_macro RETRACT]
- gcode:
- SET_SERVO SERVO=probeServo ANGLE=60
- G4 P500 # wait for retract
- SET_SERVO SERVO=probeServo WIDTH=0 # OFF
- [gcode_macro TAKE_PROBE]
- gcode:
- G1 Z{printer["gcode_macro _PICKUP_POS"].z} F5000
- G1 X{printer["gcode_macro _PICKUP_POS"].x - 20} Y{printer["gcode_macro _PICKUP_POS"].y} F5000
- DEPLOY
- G1 X{printer["gcode_macro _PICKUP_POS"].x}
- G1 Y{printer["gcode_macro _PICKUP_POS"].y + 50}
- G1 X{printer["gcode_macro _PICKUP_POS"].x - 20}
- RETRACT
- [gcode_macro STOW_PROBE]
- gcode:
- G1 Z{printer["gcode_macro _PICKUP_POS"].z} F5000
- G1 X{printer["gcode_macro _PICKUP_POS"].x - 20} Y{printer["gcode_macro _PICKUP_POS"].y + 50} F5000
- DEPLOY
- G1 X{printer["gcode_macro _PICKUP_POS"].x}
- G1 Y{printer["gcode_macro _PICKUP_POS"].y} F2000
- G1 X{printer["gcode_macro _PICKUP_POS"].x - 20} F5000
- RETRACT
- [gcode_macro _CONDITIONAL_TAKE_PROBE]
- gcode:
- {% set P = printer.probe.last_query %}
- {% if P %}
- TAKE_PROBE
- {% endif %}
- [gcode_macro _CONDITIONAL_STOW_PROBE]
- gcode:
- {% set P = printer.probe.last_query %}
- {% if not P %}
- STOW_PROBE
- {% endif %}
- [gcode_macro G29]
- gcode:
- G91
- G1 Z1
- G90
- Query_Probe
- _CONDITIONAL_TAKE_PROBE
- BED_MESH_CALIBRATE
- STOW_PROBE
- [bed_screws]
- screw1: 60,5
- screw1_name: front screw
- screw2: 5,115
- screw2_name: back left
- screw3: 115,115
- screw3_name: back right
- [gcode_macro LOAD_FILAMENT]
- description: Load filament: grab → heat → fast fill → slow purge
- gcode:
- {% set T = params.TEMP|default(210)|float %}
- M83 ; relative extrusion
- G1 E5 F600 ; bite 5 mm @10 mm/s
- M104 T0 S{T} ; start heating
- M109 T0 S{T} ; wait until hot
- G1 E40 F1500 ; fast load 40 mm @25 mm/s
- G1 E40 F300 ; slow purge 40 mm @5 mm/s
- G1 E1 F120 ; ooze a tiny bead
- M82 ; back to absolute
- [gcode_macro UNLOAD_FILAMENT]
- description: Unload filament: bulb → neck → dwell → yank
- gcode:
- {% set T = params.TEMP|default(210)|float %}
- M83
- M104 T0 S{T}
- M109 T0 S{T}
- G1 E5 F300 ; bulb 5 mm @5 mm/s
- G1 E-6 F240 ; neck 6 mm @4 mm/s
- G4 P2500 ; dwell 2.5 s
- G1 E-80 F3000 ; yank 120 mm @50 mm/s
- M82
- [gcode_macro PRINT_START]
- gcode:
- # SET_PIN PIN=Board_fan VALUE=1
- M140 S{params.BED|default(60)} ; Set bed temp and continue without waiting
- M104 S160 ; Start heating nozzle to 160°C for safe probing
- M190 S{params.BED|default(60)} ; Wait for bed to reach target temp
- M109 S160 ; Wait for nozzle to reach pre-probe temp
- G28 ; Home all axes
- Query_Probe
- _CONDITIONAL_STOW_PROBE
- BED_MESH_PROFILE LOAD="default" ; Load adaptive mesh
- #BED_MESH_CALIBRATE
- _Smart_Park ; Move nozzle near print zone safely
- M109 S{params.EXTRUDER|default(210)} ; Final nozzle temp for purge and print
- CLEAN_NOZZLE
- # G1 Z20 F3000 ; Lift nozzle away
- LINE_PURGE ; KAMP's adaptive purge
- [gcode_macro PRINT_END]
- # Use PRINT_END for the slicer ending script - please customize for your slicer of choice
- gcode:
- # SET_PIN PIN=Board_fan VALUE=0
- M400 ; wait for buffer to clear
- G92 E0 ; zero the extruder
- G1 E-2.0 F3600 ; retract filament
- G91 ; relative positioning
- M107 P2 ; Turn off AUX fan
- # 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 X0 F3600 ; park nozzle at rear
- # M84
- [gcode_macro CANCEL_PRINT]
- rename_existing: CANCEL_PRINT_BASE
- gcode:
- PRINT_END
- CANCEL_PRINT_BASE
- [servo NozzleBrush]
- pin: PD2
- initial_angle: 5
- maximum_servo_angle = 180
- minimum_pulse_width = 0.0005
- maximum_pulse_width = 0.0024
- [gcode_macro BRUSH_OUT] #Debug Deploy Arm
- gcode:
- SET_SERVO SERVO=NozzleBrush ANGLE=95 #normally 90 should be enough but for me it is really rectangular with 100
- [gcode_macro BRUSH_IN] #Debug Retract Arm
- gcode:
- SET_SERVO SERVO=NozzleBrush ANGLE=5
- G4 P500 ; wait 0.5 seconds for movement
- SET_SERVO SERVO=NozzleBrush WIDTH=0
- [gcode_macro CLEAN_NOZZLE]
- gcode:
- SAVE_GCODE_STATE ; Save current printer state and position
- G90 ; Set to absolute positioning mode
- G1 X2 Y70 Z25 F5000 ; Move to initial brush wipe position
- BRUSH_OUT ; Set brush servo to UP position
- G1 Y80 F3600 ; Wipe movement: Move backward across brush slowly
- G1 Y118 F5000 ; Move forward quickly across brush
- G1 X3.5 F5000 ; Shift slightly to the right
- G1 Y80 F5000 ; Move backward quickly
- G1 X4.5 F5000 ; Shift right slightly less to limit total rightward movement
- G1 Y118 F5000 ; Move forward quickly across brush again
- G1 X5.5 F3600 ; Shift right at slower speed for final wipe position
- G1 Y80 F3600 ; Move backward across brush slowly for final pass
- BRUSH_IN ; Set brush servo to DOWN position
- RESTORE_GCODE_STATE MOVE=1 MOVE_SPEED=5000 ; Restore saved position and state at specified speed
- [shaketune]
- result_folder: ~/printer_data/config/ShakeTune_results
- # Path where the processed results will be stored. If the folder doesn't exist,
- # it will be automatically created. You can change this if you'd like to store
- # results in a different location.
- number_of_results_to_keep: 10
- # This setting defines how many results you want to keep in the result folder.
- # Once the specified number is exceeded, older results will be automatically deleted
- # to free up space on the SD card and avoid cluttering the results folder.
- keep_raw_data: False
- # If set to True, Shake&Tune will store both the processed graphs and the raw accelerometer
- # .stdata files in the results folder. This can be useful for debugging or archiving purposes.
- # Please always attach them when reporting any issues on GitHub or Discord.
- show_macros_in_webui: True
- # Mainsail and Fluidd doesn't create buttons for system commands (macros that are not part
- # of the printer.cfg file). This option allow Shake&Tune to inject them into the webui at runtime.
- # If set to False, the macros will be hidden but still accessible from the console by typing
- # their names manually, which can be useful if you prefer to encapsulate them into your own macros.
- timeout: 600
- # This defines the maximum processing time (in seconds) to allows to Shake&Tune for generating
- # graphs from a .stdata file. 10 minutes should be more than enough in most cases, but if you have
- # slower hardware (e.g., older SD cards or low-performance devices), increase it to prevent timeouts.
- measurements_chunk_size: 2
- # Each Shake&Tune command uses the accelerometer to take multiple measurements. By default,
- # Shake&Tune will write a chunk of data to disk every two measurements, and at the end of the
- # command will merge these chunks into the final .stdata file for processing. "2" is a very
- # conservative setting to avoid Klipper Timer Too Close errors on lower end devices with little
- # RAM, and should work for everyone. However, if you are using a powerful computer, you may
- # wish to increase this value to keep more measurements in memory (e.g., 15-20) before writing
- # the chunk and avoid stressing the filesystem too much.
- max_freq: 200
- # This setting defines the maximum frequency at which the calculation of the power spectral density
- # is cutoff. The default value should be fine for most machines and accelerometer combinations and
- # avoid touching it unless you know what you're doing.
- dpi: 300
- # Controls the resolution of the generated graphs. The default value of 300 dpi was optimized
- # and strikes a balance between performance and readability, ensuring that graphs are clear
- # without using too much RAM to generate them. Usually, you shouldn't need to change this value.
- #*# <---------------------- SAVE_CONFIG ---------------------->
- #*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
- #*#
- #*# [extruder]
- #*# control = pid
- #*# pid_kp = 21.303
- #*# pid_ki = 1.691
- #*# pid_kd = 67.107
- #*#
- #*# [heater_bed]
- #*# control = pid
- #*# pid_kp = 57.193
- #*# pid_ki = 2.398
- #*# pid_kd = 341.013
- #*#
- #*# [input_shaper]
- #*# shaper_type_x = 3hump_ei
- #*# shaper_freq_x = 111.4
- #*# shaper_type_y = 2hump_ei
- #*# shaper_freq_y = 63.6
- #*#
- #*# [probe]
- #*# z_offset = 16.269
- #*#
- #*# [bed_mesh fysetc smooth]
- #*# version = 1
- #*# points =
- #*# 0.107500, 0.143750, 0.145000, 0.137500, 0.135000, 0.130000, 0.097500
- #*# 0.151250, 0.156250, 0.155000, 0.197500, 0.208750, 0.205000, 0.171250
- #*# 0.226250, 0.232500, 0.225000, 0.215000, 0.208750, 0.200000, 0.172500
- #*# 0.190000, 0.196250, 0.190000, 0.190000, 0.192500, 0.192500, 0.167500
- #*# 0.186250, 0.180000, 0.173750, 0.163750, 0.165000, 0.152500, 0.130000
- #*# 0.127500, 0.122500, 0.117500, 0.117500, 0.120000, 0.127500, 0.100000
- #*# 0.100000, 0.092500, 0.083750, 0.070000, 0.072500, 0.067500, 0.047500
- #*# x_count = 7
- #*# y_count = 7
- #*# mesh_x_pps = 2
- #*# mesh_y_pps = 2
- #*# algo = bicubic
- #*# tension = 0.2
- #*# min_x = 25.0
- #*# max_x = 94.96000000000001
- #*# min_y = 25.0
- #*# max_y = 94.95999999999998
- #*#
- #*# [bed_mesh default]
- #*# version = 1
- #*# points =
- #*# 0.031250, 0.025000, 0.007500, -0.031250, -0.068750, -0.108750, -0.170000
- #*# 0.043750, 0.061250, 0.040000, 0.012500, 0.045000, 0.021250, -0.023750
- #*# 0.022500, 0.176250, 0.142500, 0.105000, 0.097500, 0.062500, 0.023750
- #*# 0.130000, 0.162500, 0.127500, 0.113750, 0.106250, 0.090000, 0.058750
- #*# 0.077500, 0.136250, 0.108750, 0.106250, 0.092500, 0.087500, 0.058750
- #*# 0.062500, 0.096250, 0.070000, 0.075000, 0.070000, 0.093750, 0.087500
- #*# 0.018750, 0.100000, 0.107500, 0.107500, 0.112500, 0.130000, 0.107500
- #*# x_count = 7
- #*# y_count = 7
- #*# mesh_x_pps = 2
- #*# mesh_y_pps = 2
- #*# algo = bicubic
- #*# tension = 0.2
- #*# min_x = 20.0
- #*# max_x = 99.98
- #*# min_y = 5.0
- #*# max_y = 114.97999999999999
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement