Table of Contents
Fysetc Spider H7 (USB)
Schrittweise Anleitung, um das Fysetc Spider H7 Board über über USB in Betrieb zu nehmen.
YouTube Video #108
Hinweise
- SBC bedeutet in der Anleitung Single Board Computer. Also meistens wohl ein Raspberry Pi.
- Es wird davon ausgegangen das auf dem SBC Klipper und MainSail eingerichtet ist.
- Ein Zugang zum SBC über SSH ist notwendig!
- Wenn
dmesg -HW
einen Fehler bringt, einfachdmesg -Hw
verwenden. - Der SD-Slot ist bei diesem Controller komplett überflüssig
Verkabelung
Stromversorgung
- Der Jumper ist entweder mit
DC5V / U5V
,DC5V / USB5V
oder nurU5V
gekennzeichnet. - Der Jumper
DC5V / U5V
befindet sich hinter dem USB-C Anschluss. - Bei 24V Versorgung muss der Jumper immer auf die Position
DC5V
- Betrieb
- Im Betrieb wird das Board mit 24V versorgt (Anschluss PWR-IN GND / 24V)
- Der Jumper auf Position
DC5V
setzen!
- Firmware flashen
- Das Board wird nicht mit 24V versorgt.
Den Jumper auf PositionU5V
(oderUSB5V
) setzen. - Das Board wird mit 24V betrieben.
Den Jumper auf PositionDC5V
setzen!
Versorgung Raspberry Pi
- Ein Raspberry Pi kann direkt über das Board versorgt werden. Ein passendes Kabel liegt bei.
- Über diesen Anschluss wird auch gleich TX / RX verbunden mit dem Pi. Damit wäre ein Betrieb über UART möglich.
48V Anschluss
- Alle Treiber können per Jumper selektierbar mit 24V oder 48V betrieben werden.
- Die 48V am Eingang werden nur für die Treiber genutzt!
- 24V müssen trotzdem anliegen!
Bootloader sichern
Das Board wird mit Marlin ausgeliefert (Stand 04.09.2024).
pi@TestPi5:~ $ dmesg -HW [Sep 4 06:54] usb 3-1: USB disconnect, device number 2 [ +0.405181] usb 3-1: new full-speed USB device number 3 using xhci-hcd [ +0.183840] usb 3-1: New USB device found, idVendor=0483, idProduct=5740, bcdDevice= 0.00 [ +0.000005] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.000002] usb 3-1: Product: MARLIN_STM32H723VG CDC in FS Mode [ +0.000002] usb 3-1: Manufacturer: STMicroelectronics [ +0.000002] usb 3-1: SerialNumber: 364334613532 [ +0.028036] cdc_acm 3-1:1.0: ttyACM0: USB ACM device
Mit den original Bootloader Settings (128k) lässt sich das Board nicht betreiben. Der Hex Abzug zeigt auch das da scheinbar gar kein Bootloader installiert ist / war! Es gibt also nichts zu sichern …
DFU Modus
Das Board in den DFU Modus bringen:
- Im Terminal folgendes eingeben
dmesg -HW
- An der Seite sind zwei Taster. Der Taster der zum USB-C Port zeigt ist BT0. Der da drüber ist Reset.
Den BT0 Taster gedrückt halten, einmal auf Reset drücken und dann BT0 wieder loslassen. - Das Board meldet sich mit
Product: STM32 BOOTLOADER
oderProduct: DFU in FS Mode
pi@Pi4Test:~ $ dmesg -HW [Sep 4 06:55] usb 3-1: USB disconnect, device number 3 [ +0.448648] usb 3-1: new full-speed USB device number 4 using xhci-hcd [ +0.154183] usb 3-1: not running at top speed; connect to a high speed hub [ +0.024000] usb 3-1: New USB device found, idVendor=0483, idProduct=df11, bcdDevice= 2.00 [ +0.000005] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.000002] usb 3-1: Product: DFU in FS Mode [ +0.000002] usb 3-1: Manufacturer: STMicroelectronics [ +0.000002] usb 3-1: SerialNumber: 364334613532
STRG+C
drücken, um die Meldungen zu beenden
Klipper flashen
Hinweis
Wenn das Board mit USB betrieben wird, braucht es keinen extra Bootloader!
Es ist auch default keiner installiert!
cd ~/klipper
make menuconfig
[*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32H723) ---> Bootloader offset (No bootloader) ---> Clock Reference (25 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> USB ids ---> () GPIO pins to set at micro-controller startup
- beenden mit
Q
undY
- Klipper kompilieren
make -j4
- Klipper flashen
dfu-util -R -a 0 -s 0x08000000:mass-erase:force -D ~/klipper/out/klipper.bin
Das Ergebnis sollte seinFile downloaded successfully
Port ermitteln
- Den USB Stecker abziehen
dmesg -HW
starten und USB wieder anstecken
pi@TestPi5:~/klipper $ dmesg -HW [Sep 4 07:56] usb 3-1: USB disconnect, device number 10 [ +0.437458] usb 3-1: new full-speed USB device number 11 using xhci-hcd [ +0.190009] usb 3-1: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00 [ +0.000005] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.000002] usb 3-1: Product: stm32h723xx [ +0.000002] usb 3-1: Manufacturer: Klipper [ +0.000001] usb 3-1: SerialNumber: 31000E000951323530343536 [ +0.241050] cdc_acm 3-1:1.0: ttyACM0: USB ACM device
- Wir brauchen die Information mit tty… also in diesem Fall ttyACM0
STRG+C
drücken, um die Meldungen zu beenden
- Den zugehörigen Link ermitteln
ls -lR /dev/ | grep -v '\->\s../tty' | grep -e 'tty[[:alpha:]]' -e serial
- Wir brauchen die Info unter
/dev/serial/by-id:
:
lrwxrwxrwx 1 root root 13 Mar 2 06:59 usb-Klipper_stm32h723xx_31000E000951323530343536-if00 → ../../ttyACM0
- Achte darauf das am Ende die gleiche tty Bezeichnung steht wie sie im vorherigen Schritt ermittelt wurde (hier also ttyACM0)
- Was wir für die Konfig brauchen ist dann am Ende:
/dev/serial/by-id/usb-Klipper_stm32h723xx_31000E000951323530343536-if00
kurzer Test
Ob das Board korrekt mit Klipper läuft, lässt sich mit folgendem Befehl schnell testen:
~/klippy-env/bin/python ~/klipper/klippy/console.py /dev/serial/by-id/usb-Klipper_stm32h723xx_31000E000951323530343536-if00
Der Pfad am Ende muss natürlich mit dem übereinstimmen was ihr im vorherigen Schritt ermittelt habt!
Wenn ihr ein connected
am Anfang des Textes seht, ist das Board richtig geflasht.
Abbrechen kann man die Abfrage mittels STRG + C
.
Konfiguration
cd ~/printer_data/config
- ACHTUNG NOCH KEINE AKTUELLE KONFIG
Beispiel Konfiguration
wget
https://raw.githubusercontent.com/FYSETC/FYSETC-SPIDER/main/firmware/Klipper/printer.cfg-O printer.cfg nano ~/printer_data/config/printer.cfg
[mcu] serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_390028000950315239323320-if00
- Die Zeile mit
serial
entsprechend mit dem ermittelten Pfad von oben anpassen
Meine vorläufige Konfig
Spider H7 Konfig
Klipper Update
- Klipper Dienst stoppen
sudo systemctl stop klipper.service
cd ~/klipper && make menuconfig
- Die Einstellungen sind genauso wie im Kapitel Klipper flashen
make flash -j4 FLASH_DEVICE=/dev/ttyACM0
- Wie man an den Port (hier ttyACM0) kommt, ist hier beschrieben
- Am Ende kann es zu einem Fehler kommen. Davon nicht irritieren lassen. Wichtig ist diese Zeile:
File downloaded successfully
- Klipper Dienst starten
sudo systemctl start klipper.service
- Sollte sich das Board nicht melden, am besten den Drucker einmal stromlos machen und neu starten.
Sonstiges
Diese Punkte sind nicht immer Bestandteil vom YouTube Video, aber nützlich
ST-Link (SWD)
Das Board verfügt über einen SWD Port. Mit einem entsprechenden ST-Link kann das Board auch direkt geflasht werden.
- 3V3 → 3,3V Anschluss
- G → Masse Anschluss
- IO → SWDIO vom ST-Link
- CLK → SWCLK vom ST-Link
ADXL345 (Input Shaper)
Ein ADXL345 Sensor für Input Shaper kann direkt an das Board angeschlossen werden.
ADXL345 Pin | Spider Board (SPI1) | STM32 Pin |
---|---|---|
GND | GND | |
VCC | +5V | |
CS | CS | PA4 |
INT1 | N/A | |
INT2 | N/A | |
SDO | MISO | PA6 |
SDA | MOSI | PA7 |
SCL | CLK | PA5 |
- Konfig Anpassung
[adxl345] axes_map : x,y,z cs_pin : PA4 spi_bus : spi1 [resonance_tester] accel_chip : adxl345 probe_points : 150, 150, 20 # Center of your bed, raised up a little
- Test in der MainSail Konsole mittels
ACCELEROMETER_QUERY
Als Ergebnis sollte in etwa sowas kommen:
accelerometer values (x, y, z): -1110.308913, 1184.329507, 11414.822920
- Sollte der Test folgenden Fehler bringen ist die Verkabelung falsch!
Invalid adxl345 id (got 0 vs e5)
STM32 Temperatur
Der interne Temperatur Sensor des STM32 kann mit folgendem Konfig Schnibsel ausgelesen werden:
[temperature_sensor Levi] sensor_type : temperature_mcu sensor_mcu : mcu
Links
- Github Repo
https://github.com/FYSETC/FYSETC-SPIDER-H7 - Klipper Konfig
TBD !