Jak to přesně funguje?
Cartographer je postaven na indukčním převodníku LDC1612. Tento čip vytváří oscilující elektrické pole, které indukuje odpovídající pole v kovu ocelového plechu (nebo přímo v podložce, pokud je dostatečně blízko). Následně měří rezonanční frekvenci tohoto pole a převádí ji na digitální signál, který zpracovává hlavní řídicí jednotka (MCU).
Rezonanční frekvence se mění v závislosti na vzdálenosti mezi cívkou a podložkou (nebo jiným kovovým materiálem, na který senzor reaguje). Čím blíže je Cartographer k podložce, tím vyšší je frekvence. Naprosto zjednodušeně funguje jako detektor kovů, jen je mnohem menší.

Cartographer Survey Touch
Na rozdíl od Scan starší verze Carto Survey Touch nepracuje s absolutní hodnotou frekvence ani konkrétní výškou Z. Místo toho sleduje změnu signálu – konkrétně detekuje, kdy se rychlost změny frekvence změní.
Když se Carto pomalu přibližuje k podložce, frekvence se zvyšuje stabilním tempem, což lze znázornit jako sklon na grafu. Jakmile se tryska dotkne podložky, sklon se změní a graf se vyrovná. Cartographer Survey tento bod detekuje a tím přesně určí, kdy se tryska dotkla podložky.

Důležité je, že Carto stále indukuje elektrické pole do nejbližšího kovového povrchu (obvykle pružinový ocelový plech nebo podložka). Aby Carto Survey správně fungoval, musí se pod ním nacházet kovová plocha v dosahu několika milimetrů.
Výhoda Carto Survey
Protože systém sleduje pouze změnu sklonu a ne absolutní hodnotu frekvence, nezáleží na tom, že frekvence se mění kvůli teplotě. Díky tomu není potřeba žádná teplotní kompenzace – detekce bodu dotyku trysky zůstává vždy spolehlivá.
Cartographer můžete koupit zde:

Oficiální CZ/SK/EU distribuce
A to i ve výhodné variantě s CNC pro Stealthburner, nebo jiným kompatibilními toolheady.
Dost bylo teorie, pojďme si jeden cartographer nainstalovat….
„Předletová příprava“
Zde je seznam, který byste měli zkontrolovat a splňovat než začnete Cartographer touch používat:
- Cartographer musí být namontován tak, aby byl v rozmezí 2,6–3 mm nad špičkou trysky.
- Sonda je namontovaná vodorovně, nikoliv pod úhlem.
- Tryska i tiskový plát jsou čisté.
- Tisková hlava by měla být co nejpevnější, minimální vůle na lineárech atd.
- Správně připojit napájení (cartographer sestaven do pravého úhlu má piny přehozeny), vždy ověřte proti tomu co je napsáno na tištěném spoji a případně konektor přepinujte. Sonda je napájena výhradně 5 V. Připojení na 24 V ji může zničit.
- USB kabel není vedený energetickým řetězem, pokud pro takové namáhání není určený.
- Při CAN zapojení jsou vodiče CAN H a CAN L zkroucené přibližně jednou za 24 mm.
- Zkontrolujte napnutí řemenů A/B nebo X/Y a Z v případě 2.4
- Pokud máte Tridenta: zkontrolujte vodicí šrouby.
- Pro Touch režim nepoužíváte podložku s integrovanými magnety, například některé podložky Original Prusa nebo Mandala Roseworks.
- Nad Cartographer senzorem nesmí být nic kovového co by narušovalo měření:

Sestavení Cartographeru

Pokud si Cartographer sestavujete sami, dávejte si pozor na správné sestavení a kvalitní pájení spojů. Používejte mikropájku. Sestavené to má vypadat takto:
Standard:

Do pravého úhlu:

X Carriage pro VORON
Pro stealthburner lze použít CNC nebo tištěnou variantu ke stažení zde: stealthburner x carriage
Pro změření vzdálenosti od trysky je zde: Cartographer probe nozzle offset tool
A na printables najdete i spostu jiných modifikací jako kryty jine x carriage mounty atd: printables cartographer
Připojení:
Cartographer lze připojit, dvěma způsoby, a to skrz USB, nebo CANBUS.
USB z tiskové hlavy až do RPI, nebo pokud používáte LDO nitehawk USB desku tak stačí Cartographer s USB firmwarem propojit krátkým kablíkem.
USB:

Zapojení USB konetoru je v tomto pořadí:
- Zem GND černá
- DATA + zelená
- DATA – bílá
- 5V červená
CAN:
Dávejte pozor na zapojení správných barev v konektoru, při instalaci do pravého úhlu jsou barvy v konektoru naopak. Konektor musíte přepinovat.
- Zem GND černá
- CAN H + žlutá
- CAN L – bílá
- 5V červená

Terminace CAN rozhrani
| Varianta Cartographer | Výchozí terminace |
|---|---|
| V2 CAN | vypnutá |
| V3 USB/CAN s LIS2DW | zapnutá v CAN režimu |
| V3 USB/CAN s ADXL345 | vypnutá |
| V4 USB/CAN | vypnutá |
Nejjednodušší je použít terminaci na CAN desce pro toolhead a na Cartographeru nepoužívat nic.
Pokud chcete použít terminaci na Cartographeru, musíte propájet toto spojení, po tomto kroku nelze použít režim USB, museli by jste spojení zase rozpojit.

A poté musíte odstranit CAN terminaci na toolhead CAN desce. Při dvojité terminaci může docházet k problémům s komunikací.
Spousta desek k extruderu ať už od BTT, oblíbené EBB36, 42m nebo taky od Mellow starší verze nemusí mít konektor pro další CAN zařízení. I tak si lze pomoct a při troše zkušeností CAN vodice H a L připájet rovnou k desce. H je žlutý a L je bílý vodič. Vždy si nastudujte dokumentaci k vlastní desce kde má vývody.

Instalace modulu Cartographer Klipper
Naklonujte modul Klipper z GitHubu pomocí následujících příkazů, poté spusťte instalační skript:
curl -s -L https://raw.githubusercontent.com/Cartographer3D/cartographer3d-plugin/refs/heads/main/scripts/install.sh | bash -s -- --klipper ~/klipper --klippy-env ~/klippy-env
Stáhně repozitáž s firmware
cd ~
git clone https://github.com/Cartographer3D/cartographer_firmware.git
Správa aktualizací přes Moonraker
Aby bylo možné udržovat nejnovější vydanou verzi pluginu a firmware , přidejte následující konfiguraci na konec souboru moonraker.conf.
[update_manager cartographer_plugin]
type: python
channel: stable
virtualenv: ~/klippy-env
project_name: cartographer3d-plugin
is_system_service: False
managed_services: klipper
info_tags: desc=Cartographer Plugin
[update_manager Cartographer Firmware]
type: git_repo
path: ~/cartographer_firmware
is_system_service: False
origin: https://github.com/Cartographer3D/cartographer_firmware.git
Po dokončení stiskněte SAVE & RESTART a nyní by se měla zobrazit v sekci aktualizací buď v Mainsail, nebo Fluidd.

Dalším krokem je aktuazace, případně přechod na jinou variantu CAN, nebo USB, vypadá s tou spoustou obrázků složitě, ale ve skutečnosti je to velmi jednoduché, jednodušší než flashnutí jakékoliv desky, nic tak jednoduše jsem ještě nepřehrával a neaktualizoval. Pokud je Cartographer správně připojen, deteková, tak je to pak opravdu hračka. Kdyby to bylo jednou takto u všeho …
Firmware, firmware, firmware
bude doplněno
Nastavení klipperu v tiskárně
Nalezení sériového čísla nebo UUID
Je třeba v konfiguračním souboru printer.cfg nahradit sériovou cestu, nebo UUID vašeho snímače, které lze zjistit spuštěním následujících příkazů:
Pro připojení přes USB:
ls /dev/serial/by-id/
Pro připojení přes CANBUS:
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
Poznamenejte si buď sériové ID, nebo UUID.
V mém případě je canbus/katapult UUID 12095daa0ec
V printer.cfg je potřeba odstranit vše k předchozímu senzoru, například klicky nebo TAPu a přidáme toto:
#####################################################################
# Cartographer
#####################################################################
[mcu cartographer]
canbus_uuid: 12095daa0ec7
#serial: /dev/serial/by-id/usb-cartographer_cartographer_
[cartographer]
mcu: cartographer
# 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.
x_offset: 0
# adjust for your cartographers offset from nozzle to middle of coil
y_offset: 22
# adjust for your cartographers offset from nozzle to middle of coil
#backlash_comp: 0.015
# Backlash compensation distance for removing Z backlash before measuring
# the sensor response.
[temperature_sensor cartographer]
sensor_type: temperature_mcu
sensor_mcu: cartographer
min_temp: 5
max_temp: 105
Můžete si přidat i ADXL senzor:
[adxl345]
# Vyberte spravny pin podle verze cartographeru ktery mate.
# Spatne zvoleny pin zpusobi nekonecny Bootloop!
#cs_pin: cartographer:PA3 # pro Cartographer V3
#cs_pin: cartographer:PA0 # pro Cartographer V4
spi_bus: spi1
[resonance_tester]
accel_chip: adxl345
probe_points:
175, 175, 20 # pouzijte stred vasi velikosti podlozky
accel_per_hz: 100
sweeping_accel: 400
sweeping_period: 0
Upravte si taky nastavení pro bedmesh, rychlost by neměla překračovat 200, rozlišení meshe používám 11×11, ale klidně zkuste 30×30 🙂
[bed_mesh]
zero_reference_position: 175, 175 # pouzijte stred vasi velikosti podlozky
# set this to the middle of your bed
speed: 300
# rychleost poohybu pri bedmesh
horizontal_move_z: 3
# vyska skaneru behem bedmesh
mesh_min: 40, 18 # pouzijte vasi velikosti podlozky
# start point of bed mesh [X, Y]
mesh_max: 310, 288 # pouzijte vasi velikosti podlozky
# end point of bed mesh [X, Y]
probe_count: 11, 11 # klidne nastavte 30, 30
adaptive_margin: 10
mesh_pps: 0,0
Upravíme safe z home v mém případě pro Vorona 2.4 350 to bude 175,175
[safe_z_home]
home_xy_position: 175,175 # pouzijte vasi velikosti podlozky
# Example home_xy_position: 175,175 - This would be for a 350 * 350mm bed.
z_hop: 10
Upravíme nastavení endstopu pro osu Z takto:
[stepper_z]
endstop_pin: probe:z_virtual_endstop # pouzije cartographer jako virtualni endstop
homing_retract_dist: 0 # cartographer potrebuje toto nastaveno na 0
#position_endstop: 5 # cartographer potrebuje mit toto zakomentovano
Print start makro
Je potřeba upravit start makro tak, aby se využilo funkce cartographeru, postup pokud máte vyhřátou tiskarnu a počkáte na roztažení všech profilů, lineáru atd … tiskárnu už mám nahřátou, tak ve stručnosti to vypadá takto: home all, QGL nebo Z_TILT, home Z, bed mesh, cartographer touch a tisk.
Příkazy s popisem vypadají pak takto:
Toto prosím nekopírujte, nebude vám to fungovat, je to jen zestručněno co vaše start makro pro správnou fukci cartographeru a mesh potřebuje!!!
[gcode_macro PRINT_START_EXAMPLE!!!]
gcode:
G28 ; Home všech os
M140 S{BED_TEMP} ; Nastavení teploty podložky (bedu)
M109 S150 ; Čeknání až teplota extruderu dosáhne 150°C
M190 S{BED_TEMP} ; Nastavení finální teploty podložky
G28 Z ; Home osy Z
M112 #Remove this line ; Je to vaše chyba pokud toto kopírujete!!!
QUAD_GANTRY_LEVEL / Z_TILT_ADJUST ; Provedení QGL nebo Z_TILT
G28 Z ; Home osy Z
BED_MESH_CALIBRATE ; Kalibrace podložky
CARTOGRAPHER_TOUCH_HOME ; Kalibrace osy z dotykem
M109 S{EXTRUDER_TEMP} ; Nastavení finální teploty trysky
PROSÍM NEPOUŽÍVEJTE TOTO - JE TO JEN PŘÍKLAD!!!
Kablibrace Cartographeru
Scan kalibrace
V konzoli zadáte pro home XY
G28 X Y
Tímto se tisková hlava přesune do nulové referenční polohy a spustí se kalibrace. Na displeji tiskárny, nebo v Mainsail GUI doladíte výšku trysky.
Posuňte trysku do výšky 0,1 mm nad podložku, nejjednodučeni na lehké drhnutí o kancelářský papír.
CARTOGRAPHER_SCAN_CALIBRATE
Potvrdíte na displeji nebo v GUI v konzoli zadáte ACCEPT
Tryska se přesune nahoru nad podložku a při zaznamenávání frekvenční odezvy klesne pomalu dolů. Uistěte se, že je tiskárna stabilní, a nedotýkejte se podložky ani gantry.
ACCEPT
A nakonec uložíme konfiguraci tlačítkem Safe config v gui nebo rovnou příkazem:
SAVE_CONFIG
Další krok je kalibrace dotyku (Touch Calibration)
Provedeme kompletní home pro všechny osy
G28 X Y
Pokud máte 2.4 tak zadejte:
QUAD_GANTRY_LEVEL
U tridenta:
Z_TILT_ADJUST
Home jen v ose Z
G28 Z
Proovedeme scan prahu citlivosti.
CARTOGRAPHER_TOUCH_CALIBRATE
Uložíme
SAVE_CONFIG
Poté doporučuji změrit a nastavit backslash, což je vůle na celé hlavě tisky při dotyku podložky, čím menší číslo naměříte tím jste na tom lepe. Změříte příkazem:
CARTOGRAPHER_ESTIMATE_BACKLASH CALIBRATE=1
Výstup pak vypadá takto:
Median distance moving up 1.99571, down 2.00417, delta 0.00845 over 20 samples
V mém případě mi to změřilo: 0.00845 v printer.cfg v sekci scanner dopňte vaši změřenou hodnotu:
backlash_comp: 0.0085
A poslední věc co se doladí až při prvním tisku je jen drobné doladění z offsetu, pomoci GUI nebo Kipperscreenu. Doporučuji tisknou kostku 50x50x0.6 mm a drobně doladit.
A po konci tisku jen uložit:
SAVE_CONFIG
Vypočtený z-offset po dolazdění se uloží a máte hotovo.
Tisku zdar! 🙂

Případné problémy a jejich řešení:
Communication time out během homování
Pokud jste zkontrolovali všechny konektory u cabusu, nemáte nikde studený spoj ani poškozený kabela nevidíte žádné chyby a retranslace na canbus rozhraní tak je chyba trošku jinde. Je to obecný problém multimcu řešení, stává se to na canbusu, nebo i použití senzoru na USB. RPI3 při použití s USB kamerou a s canbusem vykazval mcu problém častěji, cpu nestačilo odpovídat … to na RPI4 není až tak časté, ale stále se to může dít. Divoká ledková diskotéka na toolheadu taky umí pěkně zatížit rozhraní a problém může nastávat častěji. Tak to moc nepřehánějte 🙂 On je problém v takzvaném multi mcu homing timeout … nedostane data včas od druhého mcu. „Opravit“ lze jen zásahem do souboru klipperu:
Stačí změnit TRSYNC_TIMEOUT hodnotu v souboru: “/home/pi/klipper/klippy/mcu.py” zde zvyšte z 0.025 na 0.050, původně zde je “TRSYNC_TIMEOUT = 0.025”, a po úpravě na “TRSYNC_TIMEOUT = 0.050”, a chyba “Communication timeout during homing probe” zmizí. Po updatu klipperu musíte upravit znova. Což je dost nepraktické.
Další a lepší variantou řešení je přejít na fork Klipperu se jménem Kalico – který má možnost nastavit timeout v konfiguračním souboru tiskárny v printer.cfg.
Fork = je velmi zjednodušeně jiná vývojová větev, jako Prusaslicer, z něj je Bambulab studio z něj zase fork Orcaslicer. Kalico je takový lehce upravený Klipper.
Zde to lze jednoduše přidat: multi_mcu_trsync_timeout: 0.025 a stačí jej zvednout na dvojnásobek 0.05 vice přímo v dokumentaci Kalico:
Cartographer můžete koupit zde:

Oficiální CZ/SK/EU distribuce
A to i ve výhodné variantě s CNC pro Stealthburner, nebo jiným kompaktibilnimi toolheady.
