1 / 2
Formbot Xplorer Tool0 Cargographer Mount — zdjęcie 1
1 / 2

Formbot Xplorer Tool0 Cargographer Mount

Zamów wydruk tego modelu

Obliczymy ostateczną cenę na podstawie wybranego pliku. Sprawdzisz ją i zaakceptujesz przed płatnością.

Zapisane na tym urządzeniu.

Instead of the inductive probe mount, this mod allows for a cartographer and probably a beacon eddy probe mount.

Ocena
0 / 5
Polubienia
2
Pobrania
15
Wydruki
0
Wyświetlenia
72
Oceny
0

Aktualizacja u źródła:

Informacje o modelu

Źródło
Printables
Licencja
Creative Commons — Attribution — Noncommercial

This model implements a the cartographer probe, and by proxy likely a beacon probe for z probing and bed meshing. This has been tested for several hundred hours on pretty custom formbot explorer printer and works pretty nicely. There are two models, one for doing the RGB LED modded tool OR stock LEDs. 

Step 0: Determine your canbus uuid or serial

Once you have the carto installed, you should be able to navigate to the devices section of mainsail, refresh the list,  and find your appropriate ID. If you do not find it, do not proceed to Step 1. You need this to proceed. Once you find it, make note of it and proceed. 

Step 1: Config, Macros, and Overrides Installation

Navigate to machine > Config Files, and click through to /config/01__User_Custom__CFG. Create a new file named carto.cfg and press create. Paste in the following configuration. In the cartographer section, uncomment either serial or canbus lines to add your reference from step 0 above! Critical or you'll make klipper real sad and it won't start on restart.

[cartographer]
mcu: cartographer
#serial: meow
#canbus_uuid: meow
x_offset: 0
y_offset: -19.07
verbose: yes # For extra output

[temperature_sensor cartographer] sensor_type: temperature_mcu sensor_mcu: cartographer min_temp: 5 max_temp: 105

[cartographer scan] mesh_runs: 2 mesh_height: 2

####################################

Hack Probe Macros (Cartographer/Beacon aware)

####################################

This file centralizes probing-related macros so alternative probes

(Cartographer, Beacon) can be supported automatically when present.

[gcode_macro Z_SENSOR_PROBE_ONCE] description: This macro is run in the overridden PROBE macro to handle probe duties with respect to various probes gcode:   {% if printer["cartographer"] is defined %}       CARTOGRAPHER_TOUCH_PROBE   {% elif printer["beacon"] is defined %}       BEACON_PROBE   {% else %}       BASE_PROBE   {% endif %}

############################################ #OVERRIDES and Renames from Xplorer Configs# ############################################

[gcode_macro PROBE] rename_existing: BASE_PROBE variable_probex: 0.0 variable_probey: 0.0 gcode:   {% if printer.toolhead.extruder != "extruder" %}       {% set current_x = printer.toolhead.position.x %}       {% set current_y = printer.toolhead.position.y %}       SET_GCODE_VARIABLE MACRO=PROBE VARIABLE=probex VALUE={current_x|float}       SET_GCODE_VARIABLE MACRO=PROBE VARIABLE=probey VALUE={current_y|float}       {% if current_x < 20 or current_x > 340 or current_y < 25 or current_y > 40 0 %}           M118 Probe Position outside the probing area!       {% else %}           T0           G1 X{current_x} Y{current_y} F10000           Z_SENSOR_PROBE_ONCE       {% endif %}   {% else %}       {% if printer.toolhead.position.x < 20 or printer.toolhead.position.y < 25 or printer.toolhead.position.y > 400 %}           M118 Probe Position outside the probing area!       {% else %}           Z_SENSOR_PROBE_ONCE       {% endif %}   {% endif %}

###################################

SET Z-Motors offsets

###################################

[gcode_macro set_zmotors_offset] gcode:   {% set xplorer = printer['gcode_macro _XPLORER_VARIABLES'] %}   Tool0   CHECK_HOME   G90   G1 Z10 F5000   G1 X{xplorer.dg_mzx} Y{xplorer.dg_mzy} F10000 # Motor Z, reference   Z_SENSOR_PROBE_ONCE   _save_off_motorz   G90   G1 Z10 F5000   G1 X{xplorer.dg_mz1x} Y{xplorer.dg_mz1y} F10000 # Motor Z1   Z_SENSOR_PROBE_ONCE   _save_off_motorz1   G90   G1 Z10 F5000   G1 X{xplorer.dg_mz2x} Y{xplorer.dg_mz2y} F10000 # Motor Z2   Z_SENSOR_PROBE_ONCE   _save_off_motorz2   G1 Z10 F5000   G28 X   G28 Y

###################################

Z_TILT_ADJUST wrapper

###################################

[gcode_macro Z_TILT_ADJUST] rename_existing: Z_TILT_ADJUST_BASE gcode:   SAVE_GCODE_STATE NAME=STATE_Z_TILT   BED_MESH_CLEAR   {% if not printer.z_tilt.applied %}       Z_TILT_ADJUST_BASE horizontal_move_z=10 retry_tolerance=1   {% endif %}   Z_TILT_ADJUST_BASE horizontal_move_z=2   RESTORE_GCODE_STATE NAME=STATE_Z_TILT

####################################

Save Z-Motors offsets

####################################

[gcode_macro _save_off_motorz] gcode:   {% set val = none %}   {% if printer["probe"] is defined %}       {% set val = printer["probe"].last_z_result|round(6) %}   {% elif printer["beacon"] is defined %}       {% set val = printer["beacon"].last_z_result|round(6) %}   {% elif printer["cartographer"] is defined %}       {% set val = printer["cartographer"].last_z_result|round(6) %}   {% endif %}   {% if val is not none %}       SAVE_VARIABLE VARIABLE=mot_z VALUE={val}       M118 "Stored Motor Z Offset is : {val}"   {% else %}       M118 "Error: Missing probe data."   {% endif %}

[gcode_macro _save_off_motorz1] gcode:   {% set val = none %}   {% if printer["probe"] is defined %}       {% set val = printer["probe"].last_z_result|round(6) %}   {% elif printer["beacon"] is defined %}       {% set val = printer["beacon"].last_z_result|round(6) %}   {% elif printer["cartographer"] is defined %}       {% set val = printer["cartographer"].last_z_result|round(6) %}   {% endif %}   {% if val is not none %}       SAVE_VARIABLE VARIABLE=mot_z1 VALUE={val}       M118 "Stored Motor Z1 Offset is : {val}"   {% else %}       M118 "Error: Missing probe data."   {% endif %}

[gcode_macro _save_off_motorz2] gcode:   {% set val = none %}   {% if printer["probe"] is defined %}       {% set val = printer["probe"].last_z_result|round(6) %}   {% elif printer["beacon"] is defined %}       {% set val = printer["beacon"].last_z_result|round(6) %}   {% elif printer["cartographer"] is defined %}       {% set val = printer["cartographer"].last_z_result|round(6) %}   {% endif %}   {% if val is not none %}       SAVE_VARIABLE VARIABLE=mot_z2 VALUE={val}       M118 "Stored Motor Z2 Offset is : {val}"   {% else %}       M118 "Error: Missing probe data."   {% endif %}trans@xplorer:~/printer_data/config$

Save the file, do not restart! 

Step 2: Include the new carto config

Navigate to the config file root folder and edit the printer.cfg to include our new carto file. Locate the section that starts with this banner:

#### --> User custom CFGs <--################ ############### --> Added by the user <-- ###

Paste this line below that:

[include ./01__User_Custom__CFG/carto.cfg]

Save, but do not restart yet! 

Step 3: Follow Carto Software Installation Instructions

Start here →  https://docs.cartographer3d.com/cartographer-probe/installation-and-setup/software-configuration/klipper-setup

From the CLI using SSH, you need to copy and paste the command referenced in the Installation Klipper plugin section. Once this completes without error, you can quit the terminal section. 

Next you do the section headlined with Configure Moonraker Update Manager. You can do this from mainsail in the config editor section as the moonraker config is in the root of your config directory. Just copy and paste the block to the end of your configuration. 

SKIP THE SECTION HEADLINED WITH Configure Klipper!!! We did that in Step 1! 

Finally, click save and restart. Klipper should start back up normally and we are ready to proceed.

Step 4: Carto Calibration!

From here, you are implementing cartographer as documented from their docs. Just click the next button at the bottom of the page from the link in step 2. 

Tagi