CAN Bridge
CAN bus is a serial communication protocol bus designed for real-time applications, which can transmit signals using twisted-pair wires and is one of the most widely used field buses in the world. The CAN protocol is used for communication between various different components in a car, thereby replacing expensive and cumbersome wiring harnesses. The robustness of this protocol has extended its use to other automation and industrial applications. Features of the CAN protocol include complete serial data communication, real-time support, transmission rates up to 1Mb/s, 11-bit addressing, and error detection capabilities. On 3D printers, CAN bus is used to reduce the number of wires connecting the print head to the motherboard. Originally, it required over ten wires; with CAN, only four wires are needed, significantly reducing the number of wires and simplifying the wiring process. This chapter provides a brief overview of using the CAN bridge.
Using CAN to Connect to the Motherboard
- Note that the power line of the tool board is not connected to the CAN port but to the 12V-24V power supply.
- Note that the 120Ω jumper must be connected.
Flashing the Motherboard Firmware
- Ensure that the firmware burned onto the D5 motherboard is
USB Bridge CAN Firmware Configuration
.
Searching for 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.