====== Cartographer 3D ======
>**Hinweis** \\ Diese Anleitung bezieht sich auf einen **Voron 2.4 Umbau**. Der Cartographer kann natürlich auch in jedem anderen Drucker eingebaut werden - nur müsst ihr dann schauen das ihr die richtige Halterung findet / habt / zeichnet. Was die Einrichtung angeht ist es für alle Drucker gleich.
:!: Die Anleitung beschreibt die Einrichtung mit der **Touch** Funktion!
===== YouTube Video #128 =====
{{youtube>jK3GcLOiEEM?half}}
\\
===== Hardware =====
* Es empfiehlt sich auf jeden Fall den **CNC Mount** zu kaufen. Den gibt es beim Hersteller oder bei Ali für ca. 20€.
* Der CNC Mount erleichtert ganz enorm die Kabelverlegung, ist deutlich stabiler / verwindungssteifer und wiegt nur wenig mehr wir die gedruckte Variante.
* Der gedruckte Mount der von auf der Cartographer Seite genannt wird ( https://www.teamfdm.com/files/file/686-beacon-cw2-stealthburner-alternative-mounts/ ) funktioniert nicht wirklich gut! Es fehlen gute 3mm Höhe beim Cartographer die z.B. durch Unterlegscheiben ausgeglichen werden müssen.
===== Abstände messen =====
* Wenn der XCarriage Mount installiert ist, kann man mit dem "Cartographer probe nozzle offset tool by Esoterical" ( https://www.printables.com/model/1060868-cartographer-probe-nozzle-offset-tool ) den Abstand prüfen.
* Wenn das Offset Tool an die Stelle vom Cartographer geschraubt wird, dann sollte man am Rad drehen bis der Abstand zur Nozzel 0mm ist. Jetzt sollte auf dem Rad ein Abstand von 2,6-3 mm zu sehen sein: \\ {{:klipper_faq:eddy:pasted:20250121-183100.png}}
* **Wenn der Abstand nicht zwischen 2,6 und 3mm ist, dann muss die Höhe vom Cartographer justiert werden!!**
===== Verkabelung =====
* Die Kabel (CAN & X Endschalter) werden (wie im Video gezeigt) einfach hinter dem Stealtburner her gelegt. Dank des CNC Mount ist dort genug Platz.
* Das CAN Kabel wird seitlich (rechts von vorne gesehen) nach vorne verlegt. In etwa auf der Höhe wo auch das Stromkabel für die Heizpatrone verlegt ist.
* //Bei dem gedruckten X Carriage ist die Kabelführung weit komplizierter da weniger Platz vorhanden ist!//
===== Version prüfen =====
* Es ist eine gute Idee **vor dem Einbau** zu prüfen welche Firmware auf dem Cartographer installiert ist. Das kann USB oder CAN sein!
* Zunächst mal in der SSH Konsole folgenden Befehl starten \\ ''dmesg -Hw'' \\ Damit zeigt uns Linux alles an was an den Rechner angeschlossen wird (vereinfacht gesagt).
* Jetzt den Cartographer über das original USB Kabel einfach mit dem SBC (z.B. Raspberry Pi) verbinden.
* **USB Version** \\ Wenn der Cartographer für USB geflasht ist, dann kommt in etwa folgende Meldung:
[Jan21 18:06] usb 1-1.1: new full-speed USB device number 9 using xhci_hcd
[ +0.109273] usb 1-1.1: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00
[ +0.000029] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ +0.000012] usb 1-1.1: Manufacturer: Cartographer
[ +0.000010] usb 1-1.1: SerialNumber: 02001F001143304146393320
[ +0.009633] cdc_acm 1-1.1:1.0: ttyACM0: USB ACM device
* **CAN Version** \\ Wenn der Cartographer für CAN geflasht ist, passiert hier einfach gar nichts! \\ **Hinweis** \\ Wenn CAN schon geflasht ist, sagt das leider noch nichts über die CAN Geschwindigkeit aus. Wenn ihr die nicht wisst, dann würde ich den Cartographer per DFU Methode komplett neu flashen : https://docs.cartographer3d.com/cartographer-probe/firmware/firmware-updating/via-dfu
==== USB nach CAN ====
Die folgende Anleitung beschreibt, wie man einen **Cartographer von USB auf CAN** flasht! Die Anleitung basiert auf dem Original von Cartographer : https://docs.cartographer3d.com/cartographer-probe/firmware/firmware-switching/usb-to-canbus
* Der Cartographer ist **per USB an den SBC** (z.B. den Raspberry Pi) angeschlossen.
* In der SSH Konsole die Cartographer Repo holen
* ''cd ~''
* ''git clone https://github.com/Cartographer3D/cartographer-klipper.git''
* Jetzt müssen wir Katapult - ein Bootloader damit wir über CAN später flashen können - auf den Cartographer flashen.
* ''~/cartographer-klipper/scripts/firmware.py -f usb -t''
* ''-f usb'' bedeutet wir flashen über USB, denn noch ist der Cartographer ja im USB Modus
* ''-t'' bedeutet wir wollen Katapult flashen
* Den Cartographer finden mit 1 \\ {{:klipper_faq:eddy:pasted:20250121-185510.png}}
* Den Cartographer auswählen - hier auch die 1 \\ {{:klipper_faq:eddy:pasted:20250121-185724.png}} \\ Drauf achten das im Name auch Cartographer steht !
* Jetzt auswählen mit welcher CAN Bus Geschwindigkeit ihr arbeitet. Die Einstellung findet man in der Datei \\ ''sudo nano /etc/network/interfaces.d/can0'' \\ {{:klipper_faq:eddy:pasted:20250121-185836.png}} \\ Hier dann die entsprechende Zahl wählen für 250k, 500k oder 1m.
* Jetzt zeigt uns das Setup noch eine Zusammenfassung und man kann mittels **Flash Selected Firmware** und dann **Yes** den Flash Vorgang starten.
* Das sollte dann in etwa so aussehen \\ {{:klipper_faq:eddy:pasted:20250121-190413.png}} \\ Jetzt noch 2x Enter bestätigen und der Katapult Bootloader für CAN Betrieb ist geflasht.
==== CAN nach USB ====
* Sollte wer auf die Idee kommen von CAN nach USB zu wechseln, so ist das hier beschrieben: https://docs.cartographer3d.com/cartographer-probe/firmware/firmware-switching/canbus-to-usb
===== Einbau =====
* Wenn noch nicht passiert den Cartographer in den Drucker einbauen.
* Den Cartographer per CAN anschließen (das 4 polige Kabel).
* Drucker starten :-)
===== Can Query =====
> **Hinweis** \\ Die folgenden Schritte setzen natürlich voraus, das der CAN Bus korrekt im Vorfeld eingerichtet wurde!
Wenn das Board über CAN verbunden ist, dann kann man mit den folgenden Schritten prüfen, ob Katapult geflasht wurde:
* Klipper Dienst stoppen \\ ''sudo systemctl stop klipper.service''
* ''~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0'' \\ Wenn der Cartographer gefunden wird, dann sollte in etwa folgende Ausgabe erscheinen: \\
pi@make-voron2:~ $ ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
Found canbus_uuid=340cfffaff61, Application: CanBoot
Found canbus_uuid=87106788f45f, Application: Klipper
Total 2 uuids found
* Die **UUID 340cfffaff61** meldet sich mit CanBoot. Das ist der Cartographer!
* Diese UUID brauchen wir später zum Flashen wieder - also notieren!
* Die **UUID 87106788f45f** in diesem Beispiel ist mein SB2209 Kopfboard - das meldet sich auch direkt mit Klipper.
==== Nichts erscheint ====
Wenn beim Can Bus Query sowas kommt ...
pi@make-voron2:~ $ ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
Found canbus_uuid=87106788f45f, Application: Klipper
Total 1 uuids found
oder sowas
pi@make-voron2:~ $ ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
Total 0 uuids found
dann sollte man erstmal folgendes prüfen:
* CAN Verkabelung - CAN H und CAN L richtig rum ?
* 120 Ohm Endwiderstände richtig
* Klipper Dienst gestoppt?
Es kann auch manchmal helfen, den Klipperdienst komplett zu entfernen um den Bus zu scannen:
* ''sudo systemctl disable klipper''
* ''sudo poweroff''
* Jetzt den Drucker einmal komplett ausschalten, kurz warten und wieder einschalten. \\ Dadurch werden alle CAN Boards resettet.
* Can bus scannen \\ ''~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0''
* Klipper wieder aktivieren \\ ''sudo systemctl enable klipper'' \\ ''sudo systemctl start klipper''
===== CAN Firmware flashen =====
* ''~/cartographer-klipper/scripts/firmware.py -f can''
* ''-f can'' bedeutet wir flashen über CAN
* Cartographer suchen \\ ''1. Find Cartographer Device''
* UUID die wir ermittelt haben nutzen \\ ''2. Enter UUID''
* UUID eingeben (in meinem Fall ist das jetzt 340cfffaff61) und mit Enter bestätigen
* Firmware auswählen \\ ''2. Select CAN Firmware''
* Die CAN Geschwindigkeit ermittelt er automatisch!
* Firmware flashen \\ ''4. Flash Selected Firmware'' \\ **Anmerkung** \\ Da wir später die Touch Funktion nutzen möchten (für Auto Z Kalibrierung) muss man darauf achten das mindestens Version 5.1 der Firmware installiert wird. Die Version findet man in dem Dialog oben ''Firmware to Flash: 5.1.0/Survey_Cartographer_CAN_1000000_8kib_offset.bin''
* Bestätigen \\ ''1. Yes, proceed to flash''
* Wenn am Ende folgendes erscheint: \\ {{:klipper_faq:eddy:pasted:20250121-200211.png}} \\ dann war das Flashen erfolgreich!
* 2x mit Enter bestätigen und Fertig :-)
===== kurzer Test =====
* Ein Query sollte jetzt als Application Klipper ergeben \\
pi@make-voron2:~ $ ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
Found canbus_uuid=340cfffaff61, Application: Klipper
Total 1 uuids found
* Zudem kann man die Console nutzen um den Cartograhper zu prüfen \\ ''~/klippy-env/bin/python ~/klipper/klippy/console.py -c can0 340cfffaff61'' (Die UUID von eurem Board eintragen!) \\
==================== attempting to connect ====================
INFO:root:Starting CAN connect
INFO:can.interfaces.socketcan.socketcan:Created a socket
Loaded 74 commands (CARTOGRAPHER 5.1.0 / )
MCU config: ADC_MAX=4095 BUS_PINS_i2c1=PB6,PB7 BUS_PINS_spi1=PA6,PA7,PA5 CANBUS_FREQUENCY=1000000 CARTOGRAPHER_ADC_SMOOTH_COUNT=16 CLOCK_FREQ=48000000 MCU=stm32f042x6 PWM_MAX=2 RECEIVE_WINDOW=192 RESERVE_PINS_CAN=PA11,PA12 RESERVE_PINS_crystal=PF0,PF1 STATS_SUMSQ_BASE=256 STEPPER_BOTH_EDGE=1
WARNING:root:got {'clock': 1772600106, 'data': 33508404, 'temp': 54609, '#name': 'cartographer_data', '#sent_time': 1874.901105438, '#receive_time': 1874.9421245859999}
==================== connected ====================
001.252: cartographer_data clock=1792600312 data=33508404 temp=54610
...
* Beenden kann man das mit STRG + C
===== Konfiguration =====
* ./cartographer-klipper/install.sh \\ Wenn man das nicht aufruft kriegt man probe Fehler (Unknown pin chip name 'probe')! ODer [scanner] no valid Config Element.
===== Initiales Kalibrieren =====
[force_move]
enable_force_move: true
PROBE_SWITCH MODE=touch
SAVE_CONFIG
G28 X Y
G0 X150 Y150
-> Check Endstops
SET_KINEMATIC_POSITION X=150 Y=150 Z=200
-> Z runter fahren bis 1cm vor Bett
CARTOGRAPHER_CALIBRATE METHOD=manual
TESTZ Z=-0.01.....
ACCEPT
SAVE_CONFIG
G28
PROBE_ACCURACY
CARTOGRAPHER_ESTIMATE_BACKLASH
backlash_comp eintragen (delta Wert)
Ecken nach quad_gantry_level Konfig Checken
G0 X50 Y25
G0 X50 Y225
G0 X250 Y225
G0 X250 Y25
QUAD_GANTRY_LEVEL
BED_MESH_CALIBRATE
===== Touch Kalibrieren =====
===== Start Makro =====
===== Neues Druckplatte =====
* Wenn der Abstand nicht passen sollte, empfiehlt es sich die Touch Kalibrierung zu wiederholen.
* Ansonsten kann der Z Offset auch im Slicer angepasst werden \\ https://docs.cartographer3d.com/cartographer-probe/fine-tuning/extras
===== Links =====
* https://cartographer3d.com/
* https://docs.cartographer3d.com/