Schrittweise Anleitung, um das LDO Leviathan V1.2 Board über USB in Betrieb zu nehmen.
dmesg -HW
Product: DFU in FS Mode
pi@Pi3Test:/boot $ dmesg -HW [Jan23 18:39] usb 1-1.4: USB disconnect, device number 20 [ +0.805709] usb 1-1.4: new full-speed USB device number 21 using dwc_otg [ +0.141330] usb 1-1.4: New USB device found, idVendor=0483, idProduct=df11, bcdDevice=22.00 [ +0.000038] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.000017] usb 1-1.4: Product: STM32 BOOTLOADER [ +0.000013] usb 1-1.4: Manufacturer: STMicroelectronics [ +0.000012] usb 1-1.4: SerialNumber: STM32FxSTM32
STRG+C
drücken, um die Meldungen zu beendenHinweis
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 (STM32F446) ---> Bootloader offset (No bootloader) ---> Clock Reference (12 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> USB ids ---> () GPIO pins to set at micro-controller startup
Q
und Y
make -j4
dfu-util -R -a 0 -s 0x08000000:mass-erase:force -D ~/klipper/out/klipper.bin
File downloaded successfully
dmesg -HW
starten pi@Pi3Test:~/klipper $ dmesg -HW [Jan23 19:11] usb 1-1.4: new full-speed USB device number 29 using dwc_otg [ +0.147013] usb 1-1.4: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00 [ +0.000037] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.000017] usb 1-1.4: Product: stm32f446xx [ +0.000012] usb 1-1.4: Manufacturer: Klipper [ +0.000011] usb 1-1.4: SerialNumber: 350053000851313133353932 [ +0.008035] cdc_acm 1-1.4:1.0: ttyACM0: USB ACM device
STRG+C
drücken, um die Meldungen zu beendenls -lR /dev/ | grep -v '\->\s../tty' | grep -e 'tty[[:alpha:]]' -e serial
/dev/serial/by-id:
: lrwxrwxrwx 1 root root 13 Nov 11 15:15 usb-Klipper_stm32f446xx_350053000851313133353932-if00 → ../../ttyACM0
/dev/serial/by-id/usb-Klipper_stm32f446xx_350053000851313133353932-if00
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_stm32f446xx_350053000851313133353932-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.
cd ~/printer_data/config
wget https://raw.githubusercontent.com/MotorDynamicsLab/Leviathan/master/Klipper_config/voron2_leviathan_v1.2.cfg -O printer.cfg
wget https://raw.githubusercontent.com/MotorDynamicsLab/Leviathan/master/Klipper_config/trident_leviathan_v1.2.cfg -O printer.cfg
nano ~/printer_data/config/printer.cfg
[mcu] ##-------------------------------------------------------------------- serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_350053000851313133353932-if00
serial
entsprechend mit dem ermittelten Pfad von oben anpassensudo systemctl stop klipper.service
cd ~/klipper && make menuconfig
make flash -j4 FLASH_DEVICE=/dev/ttyACM0
File downloaded successfully
sudo systemctl start klipper.service
Diese Punkte sind nicht immer Bestandteil vom YouTube Video, aber nützlich
Das Board verfügt über einen SWD Port. Mit einem entsprechenden ST-Link kann das Board auch direkt geflasht werden.
Das Board hat einen Expansion Port unter dem USB-C Port. Der Port kann im Grunde für alle möglichen Erweiterungen genutzt werden.
Ein ADXL345 Sensor für Input Shaper kann direkt an das Board angeschlossen werden.
ADXL345 Pin | Leviathan V1.2 Expansion Port Pin | STM32 Pin |
---|---|---|
GND | GND (3 / 4 / 27 / 28 ) | |
VCC | +5V (1 / 2) | |
CS | SPI2_CS (26) | PB12 |
INT1 | N/A | |
INT2 | N/A | |
SDO | SPI2_MISO (24) | PB14 |
SDA | SPI2_MOSI (23) | PB15 |
SCL | SPI2_CLK (25) | PB13 |
[adxl345] axes_map : x,y,z cs_pin : PB12 spi_bus : spi2 [resonance_tester] accel_chip : adxl345 probe_points : 150, 150, 20 # Center of your bed, raised up a little
ACCELEROMETER_QUERY
accelerometer values (x, y, z): -1110.308913, 1184.329507, 11414.822920
Invalid adxl345 id (got 0 vs e5)
Der interne Temperatur Sensor des STM32 kann mit folgendem Konfig Schnibsel ausgelesen werden:
[temperature_sensor Levi] sensor_type : temperature_mcu sensor_mcu : mcu