CAN Bridging
The CAN bus is a serial communication protocol bus used for real-time applications. It uses twisted pair cables to transmit signals and is one of the most widely used field buses in the world. The CAN protocol is used for communication between various components in automobiles to replace expensive and bulky wiring harnesses. The robustness of the protocol extends its use to other automation and industrial applications. Characteristics of the CAN protocol include complete serial data communication integrity, real-time support, transmission rates up to 1Mb/s, 11-bit addressing, and error detection capabilities. The CAN bus is used in 3D printers to reduce the number of wires needed to connect the print head to the mainboard; originally requiring dozens of wires, with CAN, only four are needed, greatly reducing the number of wires and simplifying the wiring process. This chapter only briefly outlines the use of bridging CAN.
Using CAN to Connect Tool Board to Mainboard
- Please note that the power line of the tool board is not connected to the CAN port, but to the 12V-24V power line.
Flashing the Mainboard Firmware
- Please ensure that the firmware flashed on the SUPER8 PRO mainboard is the
USB Bridging CAN Firmware Configuration
.
Search ID
CAN Configuration and ID Search
- If you need to use CAN, make sure your host computer has undergone CAN configuration.
Please ensure the motherboard is properly connected to the host computer before proceeding with the following operations.
Please ensure that the CAN network on the host computer, the CAN rate of the bridge motherboard, and the CAN tool board rate are all consistent.
Precautions Before Device Search
- Before searching for CAN IDs, please first connect to SSH.
- Please note that you need to ensure you are logging into SSH via the network, not via serial port.
- Please ensure that the UTOC or a motherboard with CAN bridge firmware installed is properly connected, and the data cable connecting to the host computer has data transfer capability.
Device Search
- Now that you have successfully logged into the host computer, you can enter
lsusb
to search for devices. You will encounter one of the following situations:- Entering
lsusb
prompts that thels
command is not found; in this case, you can enter the following command to install the command:sudo apt-get install usbutils
- Entering
lsusb
produces no response. This is a system issue beyond our control; you will need to replace the system or use a confirmed working system. - The information shown below appears. Please note that this is only for reference. You only need to confirm that
1d50:606f
appears.
- Entering
1d50:606f
belongs to the device you will be using. Ignore any subsequent prompts as they may be incomplete or not displayed due to system issues.- If there are multiple
1d50:606f
, it is recommended to exclude one, otherwise it may affect subsequent firmware burning and connection, such as when using theFLY MINI PAD
, it is recommended to use the onboard UTOC and not other CAN bridge devices. - If none appear, please check if the data cable is properly connected and if the firmware is correctly installed.
You can only proceed with CAN ID search when 1d50:606f
is present.
CAN ID Search
- Enter the following command to search for IDs:
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
- If an ID appears and the
Application:
at the end showsKlipper
, it means this ID can be used directly. - If an ID appears and the
Application:
at the end showsCANBOOT
orKatapult
, it means you need to flash the firmware to use it.
CAN Issue Collection
- If you cannot find a CAN ID, refer to the documentation below.
- CAN Issue Collection
Fill in the CAN ID into the Configuration
-
Open the printer's web interface. In the configuration options on the left sidebar, find
fluidd
:{...}
;mainsail
:Machine
, then click to accessprinter.cfg
. -
Copy the queried UUID and paste it into the
[mcu]
section of theprinter.cfg
configuration undercanbus_uuid:
. After saving and restarting, you should be able to connect to the motherboard. If Klipper prompts for firmware updates, ADC errors, etc., it indicates that Klipper has successfully connected to the motherboard.dangerousNote: All IDs mentioned in the document are examples. Each motherboard's ID is unique, so please modify according to the actual ID obtained.