User Tools

Site Tools


klipper_faq:flash_guide:stm32h723:fysetc_spider_h7_usb

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
klipper_faq:flash_guide:stm32h723:fysetc_spider_h7_usb [2024/09/27 04:17] – removed - external edit (Unknown date) 127.0.0.1klipper_faq:flash_guide:stm32h723:fysetc_spider_h7_usb [2024/09/27 04:17] (current) – ↷ Links adapted because of a move operation dominik
Line 1: Line 1:
 +====== Fysetc Spider H7 (USB) ======
 +Schrittweise Anleitung, um das Fysetc **Spider H7** Board über über **USB** in Betrieb zu nehmen.
  
 +**Fysetc Spider Board H7** \\ {{:klipper_faq:flash_guide:stm32h723:pasted:20240904-062030.png}}
 +
 +===== YouTube Video #108 =====
 +{{youtube>I2pKr37gh0A?half}}
 +
 +\\ 
 +
 +===== Hinweise =====
 +  * **SBC** bedeutet in der Anleitung **S**ingle **B**oard **C**omputer. 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, einfach ''dmesg -Hw'' verwenden. 
 +  * Der SD-Slot ist bei diesem Controller komplett überflüssig 8-)
 +
 +===== Verkabelung =====
 +
 +==== Stromversorgung ====
 +  * Der Jumper ist entweder mit ''DC5V / U5V'', ''DC5V / USB5V'' oder nur ''U5V'' 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 **<color #ed1c24>nicht</color> mit 24V versorgt**. \\ Den Jumper auf Position ''U5V'' (oder ''USB5V'') setzen.
 +    * Das Board wird **mit 24V betrieben**. \\ Den Jumper auf Position ''DC5V'' 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). 
 +<code bash>
 +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
 +</code>
 +
 +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**'' oder ''**Product: DFU in FS Mode**'' \\ <code bash>
 +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
 +</code>
 +    * ''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'' \\ <code>
 +[*] 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</code>
 +    * beenden mit ''Q'' und ''Y''
 +  * Klipper kompilieren \\ ''make -j4''
 +  * Klipper flashen \\ ''dfu-util -R -a 0 -s 0x08000000:mass-erase:force -D ~/klipper/out/klipper.bin'' \\ Das Ergebnis sollte sein ''File downloaded successfully''
 +
 +===== Port ermitteln =====
 +  * Den USB Stecker abziehen
 +  * ''dmesg -HW'' starten und USB wieder anstecken \\ <code>
 +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
 +</code>
 +    * 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  **<color #ed1c24>usb-Klipper_stm32h723xx_31000E000951323530343536-if00</color>** -> ../../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 ''<color #22b14c>**connected**</color>'' am Anfang des Textes seht, ist das Board richtig geflasht. \\ {{:klipper_faq:flash_guide:stm32g0b1:pasted:20231111-152555.png}}
 +
 +Abbrechen kann man die Abfrage mittels ''STRG + C''.
 +
 +===== Konfiguration =====
 +  * ''cd ~/printer_data/config''
 +  * <color #ed1c24>ACHTUNG NOCH KEINE AKTUELLE KONFIG</color> \\ **Beispiel Konfiguration** \\ ''wget <del>https://raw.githubusercontent.com/FYSETC/FYSETC-SPIDER/main/firmware/Klipper/printer.cfg</del> -O printer.cfg''
 +  * ''nano ~/printer_data/config/printer.cfg'' \\ <code>[mcu]
 +serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_390028000950315239323320-if00
 +</code>
 +    * Die Zeile mit ''serial'' entsprechend mit dem ermittelten Pfad von oben anpassen
 +
 +**Meine vorläufige Konfig** \\ {{ :klipper_faq:flash_guide:stm32h723:spiderh7config.zip | 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_faq:flash_guide:stm32h723:fysetc_spider_h7_usb#klipper_flashen|Klipper flashen]]
 +  * ''make flash -j4 FLASH_DEVICE=/dev/ttyACM0''
 +    * Wie man an den Port (hier ttyACM0) kommt, ist [[klipper_faq:flash_guide:stm32h723:fysetc_spider_h7_usb#port_ermitteln|hier]] beschrieben
 +    * Am Ende kann es zu einem Fehler kommen. Davon nicht irritieren lassen. Wichtig ist diese Zeile: \\ ''File downloaded <color #22b14c>**successfully**</color>''
 +  * 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 8-)
 +
 +==== ST-Link (SWD) ====
 +Das Board verfügt über einen SWD Port. Mit einem entsprechenden ST-Link kann das Board auch direkt geflasht werden. 
 +
 +{{:klipper_faq:flash_guide:stm32h723:pasted:20240904-080524.png}}
 +
 +  * 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. 
 +
 +Bis Board 2.2 \\ {{:klipper_faq:flash_guide:stm32f446:pasted:20240302-070927.png}}
 +
 +Ab Board 2.3 \\ {{:klipper_faq:flash_guide:stm32f446:pasted:20240302-071015.png}}
 +
 +^ 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 \\ <code>
 +[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 
 +</code>
 +  * **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: 
 +<code>
 +[temperature_sensor Levi]
 +sensor_type              : temperature_mcu
 +sensor_mcu               : mcu
 +</code>
 +
 +===== Links =====
 +  * Github Repo \\ https://github.com/FYSETC/FYSETC-SPIDER-H7
 +  * Schaltplan \\ **Spider H7** https://github.com/FYSETC/FYSETC-SPIDER-H7/blob/0a01a5dd6fb8491fde522b36390bc144476f1634/Schematic/SPIDER_H7_SCH.pdf
 +  * Klipper Konfig \\ <color #ed1c24>TBD !</color>

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki