Bed Mesh Disaster

Post Reply
LostInTheSauce
Reactions:
Posts: 2
Joined: August 25th, 2023, 6:42 pm
3D Printer(s): Customized Kobra Max

Bed Mesh Disaster

Post by LostInTheSauce »

I have 2 heavily customized Anycubic Kobra Maxs running klipper off of a NUC, both have an octopus pro board, Mosquito magnum, BTT smart filament sensor and BL Touch. I had a catastrophic failure on one that broke my hotend off and since then I have not been able to get a Bed mesh to operate correctly. The BLTouch has been replaced as well as the wires back to the board. The Bed Mesh on Kobra001 is my issue, this mesh should appear to be more like that of the image of Kobra 2. The problem here is the printer operates off that god awful mesh and Prints extremely close on the back of the bed, perfect in the center and so high in the front it wont stick. Before my failure this worked excellent and the heightmap was not like this. I have done multiple meshes and get consistent results.

Do any of you have any ideas?

Current bed mesh section

[bed_mesh]
speed: 120
horizontal_move_z: 10
mesh_min: 50, 20
mesh_max: 370, 395
probe_count: 8,8
mesh_pps: 2, 3
algorithm: bicubic
bicubic_tension: 0.2

For the Macro geniuses this is my bed mesh macro.

[gcode_macro BED_MESH_CALIBRATE]
rename_existing: BED_MESH_CALIBRATE_BASE
; gcode parameters
variable_parameter_AREA_START : 0,0
variable_parameter_AREA_END : 0,0
; the clearance between print area and probe area
variable_mesh_area_offset : 5.0
; number of sample per probe point
variable_probe_samples : 3
; minimum probe count
variable_min_probe_count : 3
; scale up the probe count, should be 1.0 ~ < variable_max_probe_count/variable_min_probe_count
variable_probe_count_scale_factor : 1.0
gcode:
G1 Z10 F1000.0
{% if params.AREA_START and params.AREA_END %}
{% set bedMeshConfig = printer["configfile"].config["bed_mesh"] %}
{% set safe_min_x = bedMeshConfig.mesh_min.split(",")[0]|float %}
{% set safe_min_y = bedMeshConfig.mesh_min.split(",")[1]|float %}
{% set safe_max_x = bedMeshConfig.mesh_max.split(",")[0]|float %}
{% set safe_max_y = bedMeshConfig.mesh_max.split(",")[1]|float %}

{% set area_min_x = params.AREA_START.split(",")[0]|float %}
{% set area_min_y = params.AREA_START.split(",")[1]|float %}
{% set area_max_x = params.AREA_END.split(",")[0]|float %}
{% set area_max_y = params.AREA_END.split(",")[1]|float %}

{% set meshPointX = bedMeshConfig.probe_count.split(",")[0]|int %}
{% set meshPointY = bedMeshConfig.probe_count.split(",")[1]|int %}

{% set meshMaxPointX = meshPointX %}
{% set meshMaxPointY = meshPointY %}


{% if (area_min_x < area_max_x) and (area_min_y < area_max_y) %}
{% if area_min_x - mesh_area_offset >= safe_min_x %}
{% set area_min_x = area_min_x - mesh_area_offset %}
{% else %}
{% set area_min_x = safe_min_x %}
{% endif %}

{% if area_min_y - mesh_area_offset >= safe_min_y %}
{% set area_min_y = area_min_y - mesh_area_offset %}
{% else %}
{% set area_min_y = safe_min_y %}
{% endif %}

{% if area_max_x + mesh_area_offset <= safe_max_x %}
{% set area_max_x = area_max_x + mesh_area_offset %}
{% else %}
{% set area_max_x = safe_max_x %}
{% endif %}

{% if area_max_y + mesh_area_offset <= safe_max_y %}
{% set area_max_y = area_max_y + mesh_area_offset %}
{% else %}
{% set area_max_y = safe_max_y %}
{% endif %}

{% set meshPointX = (meshPointX * (area_max_x - area_min_x) / (safe_max_x - safe_min_x) * probe_count_scale_factor)|round(0)|int %}
{% if meshPointX < min_probe_count %}
{% set meshPointX = min_probe_count %}
{% endif %}
{% if meshPointX > meshMaxPointX %}
{% set meshPointX = meshMaxPointX %}
{% endif %}

{% set meshPointY = (meshPointY * (area_max_y -area_min_y ) / (safe_max_y - safe_min_y) * probe_count_scale_factor )|round(0)|int %}
{% if meshPointY < min_probe_count %}
{% set meshPointY = min_probe_count %}
{% endif %}
{% if meshPointY > meshMaxPointY %}
{% set meshPointY = meshMaxPointY %}
{% endif %}

BED_MESH_CALIBRATE_BASE mesh_min={area_min_x},{area_min_y} mesh_max={area_max_x},{area_max_y} probe_count={meshPointX},{meshPointY} samples={probe_samples|int}
{% else %}
BED_MESH_CALIBRATE_BASE
{% endif %}
{% else %}
BED_MESH_CALIBRATE_BASE
{% endif %}
Attachments
Kobra002 Height Map.png
Kobra001 Height Map.png
User avatar
LePaul
Reactions:
Posts: 3970
Joined: February 7th, 2016, 10:26 pm
Location: Bangor, Maine USA
3D Printer(s): 24 - Yes I have a problem!
Contact:

Re: Bed Mesh Disaster

Post by LePaul »

I'm impressed - you've really junked the stock crap from Anycubic and put some quality hardware in there. The Slice Engineering Mosquito Magnum is a great hotend.

I don't know anything about Klipper - I just haven't gotten there yet, so I can't offer anything super constructive. Have you checked Reddit?
LostInTheSauce
Reactions:
Posts: 2
Joined: August 25th, 2023, 6:42 pm
3D Printer(s): Customized Kobra Max

Re: Bed Mesh Disaster

Post by LostInTheSauce »

LePaul wrote: August 29th, 2023, 8:38 pm I'm impressed - you've really junked the stock crap from Anycubic and put some quality hardware in there. The Slice Engineering Mosquito Magnum is a great hotend.

I don't know anything about Klipper - I just haven't gotten there yet, so I can't offer anything super constructive. Have you checked Reddit?
Thanks this has been a hell of a learning curve and when these guys are printing they are printing great. The LGX lite extruder combined in with everything else puts out some pretty decent prints at 100mms. This was a custom project and we had every intention of scrapping that crap out for our custom stuff and the next time i do this for work I am going to just build a 600mm+ core xy from the ground up. These rigs are a real Frankenstein creation.
Post Reply

Return to “General Large Scale Printer Area”