this post was submitted on 04 Feb 2024
17 points (100.0% liked)

3DPrinting

15648 readers
402 users here now

3DPrinting is a place where makers of all skill levels and walks of life can learn about and discuss 3D printing and development of 3D printed parts and devices.

The r/functionalprint community is now located at: [email protected] or [email protected]

There are CAD communities available at: [email protected] or [email protected]

Rules

If you need an easy way to host pictures, https://catbox.moe may be an option. Be ethical about what you post and donate if you are able or use this a lot. It is just an individual hosting content, not a company. The image embedding syntax for Lemmy is ![](URL)

Moderation policy: Light, mostly invisible

founded 1 year ago
MODERATORS
 

I recently made the switch from the marlin-based stock firmware on my anycubic kobra 2, to klipper. I didn't have issues with bed levelling or first layer on the stock firmware, but I'm having significant issues running klipper. The bed is uneven, the probed mesh shows a deviation of 0.197mm, it was the same when running stock FW+octoprint.

But it seemed to be correcting just fine for this on the stock FW. I got a consistent decent first layer across the entire bed.

With klipper, it's absolutely impossible to get it to correct for this unevenness. Half the bed will get perfect first layer, but then the second half is either way too squished or hardly connecting to the bed. And it's causing further issues as it's also hitting the print when moving, despite having Z-hop of 0.3mm for travel moves.

What the hell is going on? How do I fix this?

all 16 comments
sorted by: hot top controversial new old
[–] DrakeRichards 2 points 9 months ago (2 children)

If you know your deviation, I assume you have a bed probe, right? Are you using your bed mesh? Can you share your start GCode?

[–] [email protected] 2 points 9 months ago (2 children)

[gcode_macro PRINT_BEGIN] description: Begin printing with nozzle wipe gcode: M300 P500 {% set BED_TEMP = params.BED_TEMP|default(60)|float %} {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(210)|float %} BED_MESH_PROFILE LOAD=default M104 S{EXTRUDER_TEMP} M140 S{BED_TEMP} {% if printer.toolhead.homed_axes != "xyz" %} G28 {% endif %} #BED_TILT_CALIBRATE G1 X80 Y240 Z5.0 F3000 ; position nozzle right next to wipe pad M190 S{BED_TEMP} M109 S{EXTRUDER_TEMP} M300 P500 G4 P50 M300 P500 S1500 G1 Z-0.1 ; lower nozzle before wiping G1 X90 F500 ; wipe nozzle across pad in X direction G1 Y235 F500 ; wipe nozze in Y direction G1 Z3 ; lift nozzle to 3mm G1 X90 Y-3 F6000 ; move nozze to front-left center of bed for purging G1 Z0.28 ; lower nozzle to 0.28mm G1 X120 E25 F200 ; extrude 25mm of filament in a 40mm line G92 E0 ; reset extruder position G1 E-1 F2100 ; quickly retract filament 3mm G1 X135 F10000 ; quickly move away from purge
G92 E0

[–] [email protected] 6 points 9 months ago* (last edited 9 months ago) (1 children)

Looks like you have it set to load the profile "default" instead of "bed60"

Also worth asking, did you have your start gcode set in your slicer previously and if so, did you delete it out of there now that you're using klipper macros?

For me, in Cura, I simply have START_PRINT and END_PRINT in the start/end fields in the Cura settings. Based on your macro title, it would be PRINT_BEGIN and PRINT_END

[–] [email protected] 3 points 9 months ago* (last edited 9 months ago) (1 children)

Yeah forgot that I switched to default again to make sure it wasn't something with the different profiles messing it up. I update the mesh before every print now, once it's reached temp.

I did have my start gcode in the slicer before, but that's been replaced with the macro.

[–] [email protected] 3 points 9 months ago (1 children)

I'll try to check mine when I'm back home later. I just use the default profile since I don't ever adjust anything with the bed unless it's out of spec. Even printing at slightly different temps doesn't seem to affect anything as far as bed leveling is concerned.

[–] [email protected] 1 points 9 months ago

Yeah I'm not seeing any significant deviations in the mesh based on temps either.

[–] DrakeRichards 2 points 9 months ago (1 children)

Could you also post the [bed_mesh] section of printer.cfg?

[–] [email protected] 2 points 9 months ago (1 children)

Sure

[bed_mesh] speed: 150 horizontal_move_z: 5 mesh_min: 25, 17 mesh_max: 220, 200 algorithm: bicubic bicubic_tension: 0.5 probe_count: 6, 6

[–] [email protected] 1 points 9 months ago* (last edited 9 months ago)

What type of probe and what's the config on it?

[probe]
pin: PC14
x_offset: 23
y_offset: 5
#z_offset: 0.10
speed: 20.0
samples: 5 
samples_result: average
sample_retract_dist: 1.0
#samples_tolerance: 0.010
#samples_tolerance_retries: 10

Is what I've got my pinda probe configured with, was playing around with sample tolerances like I have on my printer with a tap probe but I just found the inductive probe has a lot of variation, I added more samples to hopefully average out that error.

[Bed_mesh]
algorithm: bicubic
fade_start: 0.6
fade_end: 10.0
bicubic_tension: 0.2
faulty_region_1_max: 120.0, 74.0 
faulty_region_1_min: 85.0, 45.0 # 103,69
faulty_region_2_max: 125.0, 165
faulty_region_2_min: 70, 110 # 103, 137
horizontal_move_z: 2
mesh_max: 228,210
mesh_min: 24, 6
mesh_pps: 2, 2
probe_count: 5,5
speed: 200 

Is my mesh setup, based on a mk3s klipper config. Meshes look a little odd but I ran some bed level prints fine and just ran a full plate of abs with pretty consistent 1st layer.

[–] felipesoc 1 points 9 months ago (1 children)

Is the problem along the X Axis? Maybe you have X Axis Twist. Measure z offset on opposite ends of the bed along X. If they are different you need to enable X Axis Twist Compensation.

[–] [email protected] 2 points 9 months ago (1 children)

I already have axis twist compensation enabled.

[–] SzethFriendOfNimi 1 points 9 months ago* (last edited 9 months ago) (1 children)

I literally went through this the other day on my franken-ender 3v2. Re-leveling the bed, even tried axis twist compensation.

I’ve been using Klipper on this thing for a few years and overall it’s been good but finally decided to figure out why I couldn’t get even extrusion across the entire bed even with my klackender probe.

After days and days of trying to adjust, tighten, loosen screws, redo hot end to be sure it was properly mounted, even axis twist compensation (which it definitely was) I just went back and just took it apart and redid the frame. Making sure it was square, nothing was overtigtened, that the vwheels weren’t binding, tightened just past there being any “slop”, etc.

Then I removed the compensation hoping that the issue was mechanical and what do you know, it worked.

I had way over tightened some things obviously and so just going back to the foundation fixed the issue.

It’s working great now and klipper properly works with the slight warped bed of my Ender.

[–] [email protected] 2 points 9 months ago

Yeah i actually ended upndoing something similar. Took the hotend and entire bed assembly apart, cleaned and lubed the rails and reassembled. It's been working fine since.