====== Mellow Fly-Super8Pro (USB) ====== Schrittweise Anleitung, um das Mellow **Fly-Super8Pro** Board über über **USB** in Betrieb zu nehmen. **Mellow Fly-Super8Pro** \\ {{:klipper_faq:flash_guide:stm32h723:pasted:20241127-062220.png}} ===== YouTube Video #119 ===== {{youtube>smm12y70KkM?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 direkt hinter dem USB-C Anschluss muss gesetzt sein wenn das Board nur am USB Port hängt und **nicht an 24V**. \\ {{:klipper_faq:flash_guide:stm32h723:pasted:20241129-182311.png}} * :!: Der Jumper muss im normalen Betrieb gezogen werden! * **Betrieb** * Im Betrieb wird das Board mit 24V versorgt (Anschluss POWER Board / + -) * :!: Der Jumper für 5V muss gezogen sein! * **Firmware flashen** * Das Board wird **nicht mit 24V versorgt**. \\ Den Jumper muss gesteckt sein! * Das Board wird **mit 24V betrieben**. \\ Den Jumper muss gezogen sein! * Anschluss \\ {{:klipper_faq:flash_guide:stm32h723:pasted:20241129-181835.png}} ==== Versorgung Raspberry Pi ==== Auf dem Board ist unter dem USB Port ein 4 Port Connector mit 5V, GND und Tx/Rx. Hier könnte ein Raspberry Pi direkt versorgt und mit dem Board betrieben werden. Das führt aber fast immer zu Unterspannungswarnungen. Besser mit USB Verkabeln und den Pi extra versorgen! ==== 48V Anschluss ==== Alle Treiber können mit 12V, 24V oder 48V betrieben werden. ===== Bootloader sichern ===== Das Board wird mit RepRap Firmware ausgeliefert (Stand 29.11.2024). pi@TestPi4:~ $ dmesg -HW [Nov29 17:53] usb 1-1.1: new full-speed USB device number 13 using xhci_hcd [ +0.111909] usb 1-1.1: New USB device found, idVendor=16c0, idProduct=27dd, bcdDevice= 1.00 [ +0.000017] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.000004] usb 1-1.1: Product: RepRapFirmware [ +0.000004] usb 1-1.1: Manufacturer: RepRapFirmware [ +0.000003] usb 1-1.1: SerialNumber: 2F0015000951313430323835 [ +0.005831] cdc_acm 1-1.1:1.0: ttyACM1: USB ACM device Es ist ein Bootloader im Flasch und die Firmware startet ab 0x20000h (128k). \\ Ein Abzug (inkl. Bootloader) kann hier geladen werden: {{ :klipper_faq:flash_guide:stm32h723:orgfirmware_29_11_2024.zip}} \\ Das Backup kann mittels ST-Link oder DFU Mode wieder aufgespielt werden. Es muss nur an Adresse 0x0 geschrieben werden! ===== DFU Modus ===== Das Board in den DFU Modus bringen: * Im Terminal folgendes eingeben \\ ''dmesg -HW'' * Auf dem Board ist direkt am Controller ein 2 Pin Header mit der Beschriftung "BT0/3.3V". Hier muss ein Jumper gesetzt werden. Dann das Board 1x stromlos machen oder einfach die Reset Taste drücken. * Das Board meldet sich mit ''**Product: STM32 BOOTLOADER**'' oder ''**Product: DFU in FS Mode**'' \\ pi@Pi4Test:~ $ dmesg -HW [Nov29 17:59] usb 1-1.1: new full-speed USB device number 15 using xhci_hcd [ +0.101997] usb 1-1.1: not running at top speed; connect to a high speed hub [ +0.006042] usb 1-1.1: New USB device found, idVendor=0483, idProduct=df11, bcdDevice= 2.00 [ +0.000024] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.000013] usb 1-1.1: Product: DFU in FS Mode [ +0.000010] usb 1-1.1: Manufacturer: STMicroelectronics [ +0.000010] usb 1-1.1: SerialNumber: 354D325F3431 * ''STRG+C'' drücken, um die Meldungen zu beenden ===== Klipper flashen ===== > **Hinweis** \\ Wenn das Board mit USB betrieben wird, braucht es **keinen extra Bootloader**! * ''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'' 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 \\ pi@TestPi5:~/klipper $ dmesg -Hw [1099936.376851] usb 1-1.2: new full-speed USB device number 20 using xhci_hcd [1099936.488756] usb 1-1.2: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00 [1099936.488772] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [1099936.488776] usb 1-1.2: Product: stm32h723xx [1099936.488780] usb 1-1.2: Manufacturer: Klipper [1099936.488783] usb 1-1.2: SerialNumber: 2F0015000951313430323835 [1099936.494606] cdc_acm 1-1.2:1.0: ttyACM1: 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_2F0015000951313430323835-if00** -> ../../ttyACM1'' * 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_2F0015000951313430323835-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_2F0015000951313430323835-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. \\ {{:klipper_faq:flash_guide:stm32g0b1:pasted:20231111-152555.png}} Abbrechen kann man die Abfrage mittels ''STRG + C''. ===== Konfiguration ===== * ''cd ~/printer_data/config'' * **Beispiel Konfiguration** \\ https://mellow.klipper.cn/en/docs/ProductDoc/MainBoard/fly-super/fly-super8-pro/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 ===== 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 **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 8-) ==== ST-Link (SWD) ==== Das Board verfügt über einen ST-Link Port. Mit einem entsprechenden ST-Link Adapter kann das Board auch direkt geflasht werden. {{:klipper_faq:flash_guide:stm32h723:pasted:20241129-182419.png}} Von links nach rechts * grau -> Reset * gelb -> CLK -> SWCLK vom ST-Link * blau -> IO -> SWDIO vom ST-Link * schwarz -> GND -> Masse Anschluss * :!: rot -> 3V3 -> 3,3V Anschluss \\ Achtung, der 3,3V Anschluss wird nur beim ST-Link V3 benötigt. Bei den billigen China **V2 Adaptern** darf dieser Pin **nicht angeschlossen** werden! ==== 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 ===== * https://mellow-3d.github.io/fly_super8_pro_h723_general.html * https://mellow.klipper.cn/en/docs/ProductDoc/MainBoard/fly-super/fly-super8-pro/ * Github Repo \\ https://github.com/Mellow-3D/Fly-Super8Pro * Schaltplan \\ https://github.com/Mellow-3D/Fly-Super8Pro/blob/0b982743ea8ddf187300ba3878263ac45f9bf40b/Hardware/Super8Pro_Schematic.pdf * Klipper Konfig \\ https://mellow.klipper.cn/en/docs/ProductDoc/MainBoard/fly-super/fly-super8-pro/cfg/