Cartographer to Survey Touch mode[Nov/26]

※What is: Survey Touch Mode

The cartographer in the SIBOOR KIT defaults to using the Classic mode, while the new Survey Touch mode improves accuracy and offers enhanced reliability. The main differences between the two modes are:

  • Classic Mode: It uses the traditional scanning method as the Z-axis endstop, determining the nozzle's position by reading frequency changes. However, the frequency is affected by both the bed distance and the coil temperature, requiring temperature compensation.

  • Survey Touch Mode: It doesn’t focus on absolute frequency values but detects when the rate of frequency change occurs, indicating that the nozzle has touched the bed. This method doesn’t require temperature compensation and ensures a more accurate first layer each time you print.

The advantage of switching to Survey Touch mode is that it eliminates the need for frequent adjustments or calibrations during printing, ensuring that the nozzle accurately touches the bed every time, thus improving print precision and consistency.

This guide provides detailed steps on how to update the Cartographer software via Git, flash the firmware using scripts, and modify the configuration files.

Update Cartographer Software

Use SSH tools to connect to the device. The method can be found in the link below:

Ssh Quick Guide
  1. Navigate to the Cartographer folder: Switch to the cartographer-klipper folder:

    cd ./cartographer-klipper
  2. Pull the latest updates: Use the command to pull the latest version of the software:

    git pull
  3. Rerun the installation script: After pulling the latest updates, run the installation script to ensure that all dependencies and settings are correctly installed:

    ./install.sh

Refresh Cartographer Firmware

  1. Access the device and run the installation program: SSH into the device and run the following command to start the firmware update:

    bash <(wget -qO - firmware.cartographer3d.com/firmware.sh)

Type "yes" and press Enter, then wait for the katapult toolkit to download.

  1. Choose to flash the firmware: After the installation program runs, the following message will appear,Enter 6 to select the option to flash the firmware via CANBUS.

  1. Select Survey Touch functionality: The system will prompt you to choose whether to include Survey Touch functionality,Enter 1 to select "with Survey Touch.":

  1. Select the firmware file: The system will then prompt you to choose the firmware file to flash,Enter 1 to select the Survey_Cartographer_CAN_1000000_8kib_offset.bin file for flashing.:

  1. Firmware flashing process: The flashing process will display the following output,Press Enter to continue:

In certain situations, you will be prompted to enter a password. Please enter 'biqu' and press Enter to send.

  1. Reboot the device: To ensure proper operation, type "r" and press Enter to restart the system.

Modify printer.cfg Configuration File

Open the web interface. Since the printer.cfg hasn't been updated yet, an error will appear. Once the configuration is modified, it will return to normal.

  1. Delete Cartographer-related sections: Open the printer.cfg configuration file, locate the existing [cartographer] section, and record the canbus_uuid before deleting it. Then, replace the section with the following configuration, and insert the recorded UUID into the new configuration:

[scanner]
canbus_uuid:
#    Fill in the UUID that was just recorded           
x_offset: 0                          
#    adjust for your cartographers offset from nozzle to middle of coil
y_offset: 21                         
#    adjust for your cartographers offset from nozzle to middle of coil
backlash_comp: 0.5
#   Backlash compensation distance for removing Z backlash before measuring
#   the sensor response.
# 
#   Offsets are measured from the centre of your coil, to the tip of your nozzle 
#   on a level axis. It is vital that this is accurate. 
calibration_method: touch
#    leave this as touch unless you want to use scan only for everything. 
sensor: cartographer
#    this must be set as cartographer unless using IDM etc.
sensor_alt: carto
#    alternate name to call commands. CARTO_TOUCH etc
scanner_touch_z_offset: 0.05         
#    This is the default and will be overwritten and added to the DO NOT SAVE area by using UI to save z offset
mesh_runs: 2
#    Number of passes to make during mesh scan.
  1. Update ADXL345 Configuration

Please locate the existing [adxl345]/ section in your printer.cfg configuration file and replace it with the following content:

[adxl345]
cs_pin: scanner:PA3
spi_bus: spi1
  1. Replace [bed_mesh] configuration:

Locate the existing [bed_mesh] section and replace it with the following:

[bed_mesh]
zero_reference_position: 150,150  
#    This option is suitable for the 300 model. 
#    set this to the middle of your bed
speed: 200
#    movement speed of toolhead during bed mesh
horizontal_move_z: 5
#    height of scanner during bed mesh scan
mesh_min: 30, 30
#    start point of bed mesh [X, Y]
mesh_max: 270, 270
#    end point of bed mesh [X, Y]
probe_count: 30, 30
algorithm: bicubic
  1. Example macro definition to delete:

[gcode_macro PROBE_CALIBRATE]
gcode:     CARTOGRAPHER_CALIBRATE  # Command for calibration
  1. Replace [gcode_macro PRINT_START] configuration

Locate the existing [gcode_macro PRINT_START] section and replace it with the following:

[gcode_macro PRINT_START]
gcode:
  {% set target_bed = params.BED|int %}                  # Target bed temperature
  {% set target_extruder = params.EXTRUDER|int %}        # Target nozzle temperature
  {% set x_wait = printer.toolhead.axis_maximum.x|float / 2 %}  # Bed center X
  {% set y_wait = printer.toolhead.axis_maximum.y|float / 2 %}  # Bed center Y

  SET_GCODE_OFFSET Z=0                                   # Reset Z offset
  G28                                                    # Home all axes
  G90                                                    # Set to absolute positioning

  SET_DISPLAY_TEXT MSG="Heating Bed: {target_bed}°C"     # Display bed heating message
  G1 X{x_wait} Y{y_wait} Z15 F9000                       # Move to bed center
  M190 S{target_bed}                                     # Wait for bed to reach target temperature

  SET_DISPLAY_TEXT MSG="Leveling..."                     # Display leveling message
  QUAD_GANTRY_LEVEL                                      # Perform Z tilt adjustment
  G28 Z                                                  # Re-home Z after adjustment

  SET_DISPLAY_TEXT MSG="Bed Mesh Calibration"            # Display mesh calibration message
  BED_MESH_CALIBRATE                                     # Perform bed mesh calibration

  SET_DISPLAY_TEXT MSG="Calibrating Z Offset"            # Display Z offset calibration message
  CARTOGRAPHER_TOUCH                                     # Calibrate Z offset

  SET_DISPLAY_TEXT MSG="Heating Nozzle: {target_extruder}°C" # Display nozzle heating message
  G1 X{x_wait} Y{y_wait} Z15 F9000                       # Move to bed center
  M109 S{target_extruder}                                # Heat nozzle to target temperature

  SET_DISPLAY_TEXT MSG="Preparing to Print..."           # Display preparation message
  G0 X{x_wait - 50} Y4 F10000                            # Move to primeline start point
  G0 Z0.4                                                # Raise Z to 0.4mm
  G91                                                    # Switch to relative positioning
  G1 X100 E20 F1000                                      # Extrude primeline
  G90                                                    # Switch back to absolute positioning
  1. Remove any Cartographer-related settings, usually found towards the end of the file.

#*# [cartographer model default]
#*# model_coef = 1.426862614716632,
#*# 	1.8558255558426364,
#*# 	0.7742018059868012,
#*# 	0.3252655520447722,
#*# 	0.2776569553460886,
#*# 	0.42881253282479914,
#*# 	-0.06594607453793942,
#*# 	-0.38061868932287996,
#*# 	0.13779563913383894,
#*# 	0.22375434813301365
#*# model_domain = 3.2444340079592527e-07,3.3462365477294063e-07
#*# model_range = 0.100000,5.000000
#*# model_temp = 41.740129
#*# model_offset = -0.11500
#*#

7.Translate to English: Modify the printer start G-code in the slicing software.

; Start macro: Heat bed and nozzle simultaneously
M104 S150                                           ; Preheat nozzle to 150°C (non-blocking)
M140 S[bed_temperature_initial_layer_single]        ; Set bed target temperature (non-blocking)
M190 S[bed_temperature_initial_layer_single]        ; Wait for bed to reach target temperature
M109 S150                                           ; Wait for nozzle to reach 150°C
PRINT_START EXTRUDER=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single]
  • Save and restart Klipper: After modifying the configuration file, save the changes and restart the Klipper service to apply the updates.

Restart and Calibration

  1. Check firmware version: After successfully connecting, verify whether the firmware has been updated to the Cartographer V5 version. You can check the firmware information in the Klipper web interface .

    Ensure the displayed version is CARTOGRAPHER 5.0.0.

In the next calibration process, we will switch to the Cartographer documentation for a more comprehensive experience.

Last updated