User Tools

Site Tools


klipper_faq:flash_guide:stm32h723:mellow_fly-super8pro

Mellow Fly-Super8Pro (USB)

Schrittweise Anleitung, um das Mellow Fly-Super8Pro Board über über USB in Betrieb zu nehmen.

Mellow Fly-Super8Pro

YouTube Video #119


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, 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.
  • :!: 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

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: 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.

Abbrechen kann man die Abfrage mittels STRG + C.

Konfiguration

Klipper Update

  • Klipper Dienst stoppen
    sudo systemctl stop klipper.service
  • cd ~/klipper && make menuconfig
  • 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 8-)

Das Board verfügt über einen ST-Link Port. Mit einem entsprechenden ST-Link Adapter kann das Board auch direkt geflasht werden.

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
klipper_faq/flash_guide/stm32h723/mellow_fly-super8pro.txt · Last modified: 2024/12/01 18:29 by dominik

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki