User Tools

Site Tools


klipper_faq:flash_guide:stm32g0b1:btt_skr_mini_e3_v3.0

BTT SKR MINI E3 V3.0 (USB)

Schrittweise Anleitung, um das Bigtree Tech SKR Mini E3 V3.0 Board über USB in Betrieb zu nehmen.

Hinweise
Diese Anleitung gilt für das Board mit der Version 3.0 (Controller STM32G0B1 / STM32G0B0)!
Es gibt inzwischen auch ein Board mit der Version 3.0.1, welches einen anderen Controller verwendet (Controller STM32F401)!

SKR MINI E3 V3.0

YouTube Video #82


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!

Version ermitteln

Wichtig
Die Versionen 3.0 und 3.0.1 haben unterschiedliche µController verbaut und sind von der Konfig teilweise nicht kompatibel!

Die Version kann man relativ einfach auf der Vorderseite nachsehen:

  • (1) Der µController muss ein STM32G0B1 sein
  • (2) Es gibt nur einen Button (Reset) auf dem Board
  • (3) Der Aufdruck zeigt V3.0

Stromversorgung

Auf dem Board gibt es einen Jumper, den man für die 5V USB Versorgung setzen kann:

Jumper (SW_USB) Stromversorgung Controller Verwendung
gesetzt 5V Stromversorgung über USB Anschluss Board liegt “auf dem Tisch”
NICHT gesetzt 5V Stromversorgung über 12/24V Stecker Board ist im Drucker eingebaut
Faustregel
Im Betrieb den 5V Jumper (SW_USB) immer abziehen!

Verkabelung

  • Ganz normale USB Verkabelung
  • GND & 12 bzw. 24V extra zum Board führen
  • Im Betrieb den SW_USB Jumper ziehen!

Klipper flashen

Achtung
Es gibt wohl auch SKR Mini V3.0 mit einem STM32G0B0 Controller! Also vorher genau auf den Controller schauen.

* cd ~/klipper

  • make menuconfig
    :!: Auf den verbauten Controller auf dem Board achten!
    [*] Enable extra low-level configuration options
        Micro-controller Architecture (STMicroelectronics STM32)  --->
        Processor model (STM32G0B1)  --->
        Bootloader offset (8KiB bootloader)  --->
        Clock Reference (8 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
  • Eine SD-Karte mit FAT32 formatieren. Eine 32GB Karte hat bei mir funktioniert. Sollte eure Karte nicht funktionieren, versucht es mit einer Karte ⇐ 4GB.
  • Die Datei ~/klipper/out/klipper.bin vom SBC auf die SD-Karte kopieren.
    • Am einfachsten geht das mit MobaXTerm.
  • Die Datei umbenennen von klipper.bin in firmware.bin
  • Das Board muss ausgeschaltet sein!
  • SD-Karte in das SKR Board stecken und das Board wieder einschalten. Ob über die normale Stromversorgung oder USB spielt keine Rolle.
  • Die Status LED blinkt kurz und nach ~10 Sekunden sollte Klipper geflasht sein.
  • Das Board wieder stromlos machen
  • Ggf. den SW-USB Jumper entfernen
  • Die SD-Karte entnehmen und prüfen, ob die Datei umbenannt wurde in FIRMWARE.CUR. Wenn dem so ist, sollte der Flashvorgang geklappt haben.
  • Prüfen kann man das ebenfalls im SSH Terminal mit dmesg -HW
    pi@Pi3Test:~ $ dmesg -HW
    [Jan12 19:54] usb 1-1.5: new full-speed USB device number 7 using dwc_otg
    [  +0.134564] usb 1-1.5: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00
    [  +0.000026] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [  +0.000008] usb 1-1.5: Product: stm32g0b1xx
    [  +0.000007] usb 1-1.5: Manufacturer: Klipper
    [  +0.000006] usb 1-1.5: SerialNumber: 4D0020000450415339373620
    [  +0.001254] cdc_acm 1-1.5:1.0: ttyACM0: USB ACM device

Port ermitteln

  • Den USB Stecker abziehen
  • dmesg -HW starten
    pi@Pi3Test:~/klipper $ dmesg -HW
    [  +0.296899] usb 1-1.5: new full-speed USB device number 33 using dwc_otg
    [  +0.134540] usb 1-1.5: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00
    [  +0.000038] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [  +0.000017] usb 1-1.5: Product: stm32g0b1xx
    [  +0.000012] usb 1-1.5: Manufacturer: Klipper
    [  +0.000012] usb 1-1.5: SerialNumber: 4D0020000450415339373620
    [  +0.001643] cdc_acm 1-1.5: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 Nov 11 15:15 usb-Klipper_stm32g0b1xx_4D0020000450415339373620-if00 → ../../ttyACM0
    • Achte darauf das am Ende die gleiche tty Bezeichnung steht wie sie im vorherigen Schritt ermittelt wurde (hier also ttyACM0)
    • Was für für die Konfig brauchen ist dann am Ende:
      /dev/serial/by-id/usb-Klipper_stm32g0b1xx_4D0020000450415339373620-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_stm32g0b1xx_4D0020000450415339373620-if00

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

Konfig einspielen

Klipper Update

Das Update der Klipper Firmware wird normal ja im eingebauten Zustand durchgeführt. Da das Board dann eh mit einer Versorgungsspannung betrieben wird, ist der SW-USB Jumper nicht nötig!

  • 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
  • Einmal Reset-Taste drücken am Board hilft :-)
  • Klipper Dienst starten
    sudo systemctl start klipper.service

Sonstiges

Bootloader wiederherstellen

  • st-flash –connect-under-reset write SKR-MINI-E3-V3.0-bootloader-and-firmware.bin 0x8000000

ADXL345 (Input Shaper)

Ein ADXL345 Sensor für Input Shaper kann direkt an das Board angeschlossen werden.

  • Anschluss am Expansion Port
ADXL345 Pin SKR E3 v3.0 SPI Port Pin
GND GND
VCC +5V
CS NSS
INT1 N/A
INT2 N/A
SDO MISO
SDA MOSI
SCL CLK
  • Konfig Anpassung
    [adxl345]
    axes_map     : x,y,z
    cs_pin       : PD9
    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)

Verbindungen

Type Notes
USB Default PA11/PA12
Seriell UART1 PA10/PA9
UART2 PA2/PA3
CAN PB8/PB9

Teaser USB/CAN Bridge

  • 3,3V Buskoppler verwenden
    • Beispiel: SN65HVD23x
klipper_faq/flash_guide/stm32g0b1/btt_skr_mini_e3_v3.0.txt · Last modified: 2024/02/02 14:20 by dominik

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki