Hi,
I’m pretty new to 3d printing, but otherwise quite tech savy.
I have a new Ender 3 S1 which I want to use with Klipper. I set up Klipper as documented at Installation - Klipper documentation. Communication and printing works fine, I already did some calibration work.
What sadly does not work is using the bed mesh. For me it looks like the mesh is probed correctly, but are not correctly applied during the print.
Steps done once:
- Tramming the bed using
SCREWS_TILT_CALCULATE
- Probe Z offset configuration (x/y offsets were already present i default config and seem correct)
Steps done for the test print
- Preheating bed to printing temps (205°/60°)
-
BED_MESH_CLEAR
→ Just to be sure… -
G28
homing → To allow for calibration -
BED_MESH_CALIBRATE
→ Calibrate -
SAVE_CONFIG
→ I want to store the config - Displaying the mesh in octopi bed visualizer → Looks reasonable to me. See reply below, I can only embed one image.
- Preheat again → To prepare printing
- Start print of CE3_z-calibrate25.zip (36.9 KB) → Simple test pattern, see below
- Wait for the print to finish
- Check the result
The result:
(X/Y Origin is bottom left)
As you can see in the picture, the quality of the first layer changes drastically from square to square. I’m new to 3d printing (so feel free to correct my interpretation), but it seems to me that the oudside squares all have the print head too close to the bed, while the center squares look much better. That’s what I would expect if no z offset was applied at all (and the mesh is ignored).
My Questions
Did I do something wrong while configuring/using Klipper? Is this indicating some mechanical problems? What can I do to fix this?
Thanks in advance
Charno
My printer.cfg:
# This file contains pin mappings for the stock 2021 Creality Ender 3
# S1. To use this config, check the STM32 Chip on the V2.4S1 Board
# then during "make menuconfig" select either the STM32F103 with a
# "28KiB bootloader" or select the STM32F401 with a "64KiB bootloader"
# and serial (on USB PA10/PA9) communication for both depending on the
# STM32 Chip installed on your printers Motherboard.
# If you prefer a direct serial connection, in "make menuconfig"
# select "Enable extra low-level configuration options" and select
# serial (on USB PA10/PA9), which is broken out on the 10 pin IDC
# cable used for the LCD module as follows:
# 3: Tx, 4: Rx, 9: GND, 10: VCC
# Flash this firmware by copying "out/klipper.bin" to a SD card and
# turning on the printer with the card inserted. The firmware
# filename must changed to "firmware.bin"
# See docs/Config_Reference.md for a description of parameters.
[stepper_x]
step_pin: PC2
dir_pin: PB9
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: !PA5
position_endstop: -5
position_max: 220
position_min: -5
homing_speed: 50
[stepper_y]
step_pin: PB8
dir_pin: PB7
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: !PA6
position_endstop: -5
position_max: 220
position_min: -5
homing_speed: 50
[stepper_z]
step_pin: PB6
dir_pin: !PB5
enable_pin: !PC3
microsteps: 16
rotation_distance: 8
endstop_pin: probe:z_virtual_endstop
position_max: 270
position_min: -3
[extruder]
step_pin: PB4
dir_pin: PB3
enable_pin: !PC3
microsteps: 16
gear_ratio: 3.5:1
rotation_distance: 26
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA1
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC5
control: pid
pid_Kp=23.561
pid_Ki=1.208
pid_Kd=114.859
min_temp: 0
max_temp: 250
pressure_advance: 0.17
[heater_bed]
heater_pin: PA7
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC4
control: pid
pid_Kp=71.867
pid_Ki=1.536
pid_Kd=840.843
min_temp: 0
max_temp: 130
[heater_fan hotend_fan]
pin: PC0
heater: extruder
heater_temp: 50.0
[fan]
pin: PA0
[mcu]
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
restart_method: command
[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 2000
max_z_velocity: 5
max_z_accel: 100
[bltouch]
sensor_pin: ^PC14
control_pin: PC13
x_offset: -37
y_offset: -39
z_offset: 2.130
probe_with_touch_mode: true
stow_on_each_sample: false
samples: 3
[bed_mesh]
speed: 120
mesh_min: 10, 10
mesh_max: 183,181
probe_count: 6,6
algorithm: bicubic
[safe_z_home]
home_xy_position: 141.8,150.5
speed: 75
z_hop: 5
z_hop_speed: 5
move_to_previous: true
[filament_switch_sensor e0_sensor]
switch_pin: !PC15
pause_on_runout: true
runout_gcode: PAUSE
[pause_resume]
recover_velocity: 25
[screws_tilt_adjust]
screw1: 60, 70
screw1_name: vl
screw2: 60, 220
screw2_name: hl
screw3: 220, 70
screw3_name: vr
screw4: 220, 220
screw4_name: hr
screw_thread: CW-M3
horizontal_move_z: 10
speed: 50
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*# 0.227500, 0.115000, 0.077500, 0.061667, 0.134167, 0.197500
#*# 0.106667, 0.019167, 0.005833, -0.026667, 0.072500, 0.095833
#*# 0.107500, 0.020833, 0.005833, 0.024167, 0.122500, 0.187500
#*# 0.105000, 0.043333, 0.004167, 0.020833, 0.104167, 0.155833
#*# 0.078333, -0.004167, 0.013333, 0.013333, 0.098333, 0.133333
#*# 0.114167, 0.035000, 0.031667, -0.005833, 0.071667, 0.100000
#*# tension = 0.2
#*# min_x = 10.0
#*# algo = bicubic
#*# y_count = 6
#*# mesh_y_pps = 2
#*# min_y = 10.0
#*# x_count = 6
#*# max_y = 181.0
#*# mesh_x_pps = 2
#*# max_x = 183.0