User Tools

Site Tools


klipper_faq:flash_guide:stm32f446:leviathan_v1.2_can_bridge

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:stm32f446:leviathan_v1.2_can_bridge [2024/02/01 11:12] – [kurzer Test] dominikklipper_faq:flash_guide:stm32f446:leviathan_v1.2_can_bridge [2024/02/10 07:25] (current) – [Klipper Update] dominik
Line 1: Line 1:
-====== YTVI Leviathan V1.2 (CAN-Bridge) ======+====== Leviathan V1.2 (CAN-Bridge) ======
 Schrittweise Anleitung, um das LDO **Leviathan V1.2** Board über die **USB/CAN Bridge** in Betrieb zu nehmen. Schrittweise Anleitung, um das LDO **Leviathan V1.2** Board über die **USB/CAN Bridge** in Betrieb zu nehmen.
  
 **Leviathan V1.2** \\ {{:klipper_faq:flash_guide:stm32f446:pasted:20240123-182540.png}} **Leviathan V1.2** \\ {{:klipper_faq:flash_guide:stm32f446:pasted:20240123-182540.png}}
  
-===== YouTube Video #86 ===== +===== YouTube Video #87 ===== 
-{{youtube>xxx?half}}+{{youtube>WJEzN7WAjcc?half}}
  
 \\  \\ 
Line 20: Line 20:
   * Das Board kann zum initialen Flashen alleine über den USB-C Port versorgt werden. \\ Das Flashen funktioniert natürlich auch, wenn das Board über 24V betrieben wird.    * Das Board kann zum initialen Flashen alleine über den USB-C Port versorgt werden. \\ Das Flashen funktioniert natürlich auch, wenn das Board über 24V betrieben wird. 
   * Es gibt keinen dedizierten Jumper für die 5V Versorgung.    * Es gibt keinen dedizierten Jumper für die 5V Versorgung. 
-  * Für die beiden TMC5160 muss über dem USB-Port extra eine Stromversorgung installiert werden (24-28V). +  * Für die beiden TMC5160 muss extra eine Stromversorgung installiert werden (24-28V). Der Anschluss befindet sich oberhalb vom USB-Port
-  * Es gibt einen extra Port für die Versorgung des Raspberry Pi. Er liefert 5,06V bei max. 3A - somit sollte auch kein "Undervoltage detected" auftreten. Ein Pi 5 wird sich dennoch über die Stromversorgung beschweren ;-)+  * Es gibt einen extra Port für die Versorgung des Raspberry Pi. Er liefert 5,06V bei max. 3A - somit sollte auch kein "Undervoltage detected" auftreten. \\ Sollte der Raspberry Pi 5 eine Meldung bezüglich der Stromversorgung bringen, lässt sich das über ''usb_max_current_enable=1'' in der ''config.txt'' abstellen.  
  
 ===== Verkabelung ===== ===== Verkabelung =====
Line 102: Line 103:
  
  
-===== Klipper flasehn =====+===== Klipper flashen =====
   * ''cd ~/klipper''   * ''cd ~/klipper''
   * ''make menuconfig'' \\ <code>   * ''make menuconfig'' \\ <code>
Line 116: Line 117:
 ()  GPIO pins to set at micro-controller startup</code> ()  GPIO pins to set at micro-controller startup</code>
   * Klipper kompilieren und flashen (über USB / seriell!) \\ ''make -j4 flash FLASH_DEVICE=/dev/ttyACM0'' \\ <code bash>   * Klipper kompilieren und flashen (über USB / seriell!) \\ ''make -j4 flash FLASH_DEVICE=/dev/ttyACM0'' \\ <code bash>
-pi@Pi3Test:~/klipper $ make -j4 flash FLASH_DEVICE=/dev/ttyACM1+pi@Pi3Test:~/klipper $ make -j4 flash FLASH_DEVICE=/dev/ttyACM0
   Creating symbolic link out/board   Creating symbolic link out/board
   Building out/autoconf.h   Building out/autoconf.h
Line 156: Line 157:
     up ifconfig $IFACE txqueuelen 1024</code>      up ifconfig $IFACE txqueuelen 1024</code> 
   * Testen mit ''ip a'' \\ ''can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state **UP** group default qlen 1024''   * Testen mit ''ip a'' \\ ''can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state **UP** group default qlen 1024''
-  * Sollte das Interface auf ''DOWN'' stehen hilft meist ein \\ ''sudo systemctl restart networking.service''+  * Sollte das Interface auf ''DOWN'' stehen hilft meist ein \\ ''sudo systemctl restart networking.service'' \\ oder ein \\ ''sudo ip link set can0 up type can bitrate 1000000''
  
 ===== Can Query ===== ===== Can Query =====
Line 175: Line 176:
  
 ===== kurzer Test ===== ===== 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 -c can0 44d860c9632b''+Ob das Board korrekt mit Klipper läuft, lässt sich mit folgendem Befehl schnell testen: \\ ''~/klippy-env/bin/python ~/klipper/klippy/console.py -c can0 3c98a1ec0529''
  
 Der Pfad am Ende muss natürlich mit dem übereinstimmen, was ihr im vorherigen Schritt ermittelt habt! Der Pfad am Ende muss natürlich mit dem übereinstimmen, was ihr im vorherigen Schritt ermittelt habt!
Line 185: Line 186:
   * **Beispiel Konfiguration Trident** \\ ''wget https://raw.githubusercontent.com/MotorDynamicsLab/Leviathan/master/Klipper_config/trident_leviathan_v1.2.cfg -O printer.cfg''   * **Beispiel Konfiguration Trident** \\ ''wget https://raw.githubusercontent.com/MotorDynamicsLab/Leviathan/master/Klipper_config/trident_leviathan_v1.2.cfg -O printer.cfg''
   * ''nano ~/printer_data/config/printer.cfg'' \\ <code>[mcu]   * ''nano ~/printer_data/config/printer.cfg'' \\ <code>[mcu]
-##-------------------------------------------------------------------- +canbus_uuid: 3c98a1ec0529 
-serial/dev/serial/by-id/usb-Klipper_stm32f446xx_350053000851313133353932-if00+#restart_methodcommand
 </code> </code>
-    * Die Zeile mit ''serial'' entsprechend mit dem ermittelten Pfad von oben anpassen +    * Die Zeile mit ''serial'' löschen oder auskommentieren 
-===== Reset ===== +    * Die Zeile mit ''restart_method'' löschen oder auskommentieren 
-  * interfaces.d/can0 auf hotplug macht keinen Sinn  +    Die Zeile mit ''canbus_uuid'' entsprechend mit der ermittelten UUID von oben anpassen 
-    * Man kriegt den 109 Client nicht tot weil er sofort wierder hoch kommt  +  * Klipper starten \\ ''sudo systemctl start klipper.service''
-    * Somit kriegt man die UUID nicht raus  +
-  * ''grep canbus_uuid ~/printer_data/config/* -n'' +
-  * ''~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -i can0 -u 3c98a1ec0529 -r'' +
-  * ''dmesg |tail -n 10'' +
-   +
-  * ''sudo systemctl stop klipper.service'' +
-  * ''cansniffer can0'' +
-  * ''sudo ip link set can0 up type can bitrate 1000000'' +
-  * ''~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0''+
  
 ===== Klipper Update ===== ===== Klipper Update =====
-  Reset per CAN in Katapult  +**Hinweis:** \\ Das Klipper Update wird über USB eingespielt! Über den CAN-Bus ist ein Update nicht möglich wenn das Board als USB/Can Bridge arbeitet. 
-    * ''~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0'' + 
-    * ''~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -i can0 -u 3c98a1ec0529 -r'' +  Klipper Dienst stoppen \\ ''sudo systemctl stop klipper.service'' 
-    * <code bash>+  * Alle CAN UUID's ermitteln \\ ''grep canbus_uuid ~/printer_data/config/* -n'' \\ <code bash> 
 +pi@Pi3Test:~/klipper $ grep canbus_uuid ~/printer_data/config/* -n 
 +/home/pi/printer_data/config/BTT_EBB.cfg:10:canbus_uuid: 44d860c9632b 
 +/home/pi/printer_data/config/printer.cfg:30:canbus_uuid: 3c98a1ec0529</code> 
 +  Das Leviathan Board per flshtool.py resetten. Welche UUID das Leviathan hat kann man bei mehreren Busteilnehmern leider nicht ohne weitere erkennen. \\ ''~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -i can0 -u <LEVIATHAN UUID> -r'' \\ <code bash>
 pi@Pi3Test:~/klipper $ ~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -i can0 -u 3c98a1ec0529 -r pi@Pi3Test:~/klipper $ ~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -i can0 -u 3c98a1ec0529 -r
 Sending bootloader jump command... Sending bootloader jump command...
 Bootloader request command sent Bootloader request command sent
-Flash Success +Flash Success</code> 
-</code> +    * Die Status LED sollte jetzt anfangen zu blinken 
-  * Update über USB +  * Den Port ermitteln \\ ''dmesg |tail -n 10'' \\ <code bash> 
-    * ''make flash FLASH_DEVICE=/dev/ttyACM0'' +pi@Pi3Test:~/klipper $ dmesg |tail -n 10 
- +[76418.167383] IPv6: ADDRCONF(NETDEV_CHANGE): can0: link becomes ready 
- +[76867.446711] usb 1-1.4: USB disconnect, device number 37 
- +[76867.446933] gs_usb 1-1.4:1.0 can0: Couldnt shutdown device (err=-19) 
- +[76867.787311] usb 1-1.4: new full-speed USB device number 38 using dwc_otg 
- +[76867.933716] usb 1-1.4: New USB device found, idVendor=1d50, idProduct=6177, bcdDevice= 1.00 
- +[76867.933741] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 
- +[76867.933749] usb 1-1.4: Product: stm32f446xx 
 +[76867.933755] usb 1-1.4: Manufacturer: katapult 
 +[76867.933761] usb 1-1.4: SerialNumber: 350053000851313133353932 
 +[76867.938929] cdc_acm 1-1.4:1.0: ttyACM0: USB ACM device 
 +</code> Wie immer brauchen wir die tty... Angabe. In diesem Fall ist is **ttyACM0** wie man in der letzten Zeile sehen kann.   
 +  * ''cd ~/klipper'' 
 +  * ''make menuconfig'' \\ -> Die Einstellungen sind dieselben wie oben unter [[klipper_faq:flash_guide:stm32f446:leviathan_v1.2_can_bridge#klipper_flashen|Klipper flashen]] angegeben.  
 +  * Klipper flashen \\ ''make -j4 flash FLASH_DEVICE=/dev/ttyACM0'' \\ Den ermittelten Port halt am Ende ggf. anpassen. 
 +  * Klipper starten \\ ''sudo systemctl start klipper.service''
 ===== Links ===== ===== Links =====
   * Github Repo \\ https://github.com/MotorDynamicsLab/Leviathan/tree/master   * Github Repo \\ https://github.com/MotorDynamicsLab/Leviathan/tree/master
klipper_faq/flash_guide/stm32f446/leviathan_v1.2_can_bridge.1706782346.txt.gz · Last modified: by dominik

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki