跳到主要内容

CAN固件连接注意事项

接线说明

请按顺序完成以下三步操作:

第一步:设置拨码开关

  1. 先断电:拔掉所有电源。
  2. 找拨码:将工具板翻过来.找到背面的拨码开关组。
  3. 拨到位:为了使用CAN模式.需将所有开关拨到下方示例的位置。

重要提示:修改拨码后.必须重新烧录对应的固件(本指南使用CAN固件)。

第二步:连接线路

  1. 保持断电:接线全程请勿通电。
  2. 准备线材:使用 XT30(2+2)-F 四芯数据线.其颜色定义如下:
    • 红 (VCC):接 12V-24V 电源正极
    • 黑 (GND):接电源负极
    • 黄 (CAN-H):接CAN扩展口的H
    • 白/绿 (CAN-L):接CAN扩展口的L
  3. 连接设备:
    • 将线的XT30(2+2)-F接口插到工具板上。
    • 将线的接线端子接到 UTOC模块 或已刷好“USB桥接CAN”固件的主板上。
    • 最后.通过USB线将UTOC模块或主板连接到您的上位机(如FLY派或者树莓派)。

第三步:配置并检查终端电阻

为确保信号稳定.必须正确连接终端电阻。请按照下表配置.并在断电状态下测量:

设备操作说明
工具板找到并插上标有 120Ω 的跳线帽。
主板如连接主板.请同样插上其 120Ω 跳线帽。
UTOC模块自带电阻*。

如何检查:

  1. 保持完全断电
  2. 使用万用表测量工具板CAN口的 CAN-H与CAN-L 之间的电阻。
  3. 结果判断:
    • 约60Ω:正常.两端电阻已正确连接。
    • 约140Ω:可能CAN-H与CAN-L接反了。
    • 约120Ω:没有安装120Ω 或者断线。
    • 约90Ω:只安装了一个120Ω
    • 约40Ω:可能有多余的电阻.请检查中间节点。

一句话总结:先断电.拨好拨码.插对线.再接好两头的120Ω跳线帽.最后测一下电阻是不是60Ω左右。

检查清单:

  • 全程断电操作
  • 拨码已全部拨下(CAN模式)
  • 工具板 120Ω 跳线帽已插
  • 主板(如适用)120Ω 跳线帽已插
  • CAN数据线连接牢固
  • 测量电阻值约60Ω

CAN网络配置与故障排查

第一步:检查上位机是否识别CAN设备

  1. 登录上位机.输入命令:
    lsusb
  2. 观察结果:
    • 看到1d50:606f → 设备识别成功
    • 提示找不到ls指令 → 执行:sudo apt-get install usbutils
    • 没有任何反应 → 可能是系统问题.建议更换系统
    • 有多个1d50:606f → 建议只保留一个设备(如使用UTOC就断开其他刷了USB桥接CAN固件的设备)

⚠️ 重要:只有看到1d50:606f才能继续搜索CAN ID

第二步:配置CAN网络

根据系统类型选择配置方法:

如果已经配置过或者使用FlyOS-FAST系统则不需要此步!

普通Linux系统配置方法

设置1M速率(推荐):

sudo /bin/sh -c "cat > /etc/network/interfaces.d/can0" << EOF
allow-hotplug can0
iface can0 can static
bitrate 1000000
up ifconfig \$IFACE txqueuelen 1024
pre-up ip link set can0 type can bitrate 1000000
pre-up ip link set can0 txqueuelen 1024
EOF

设置500K速率:

sudo /bin/sh -c "cat > /etc/network/interfaces.d/can0" << EOF
allow-hotplug can0
iface can0 can static
bitrate 500000
up ifconfig \$IFACE txqueuelen 1024
pre-up ip link set can0 type can bitrate 500000
pre-up ip link set can0 txqueuelen 1024
EOF

注意:FAST系统不需要执行此操作!

  1. 重启系统生效:
    sudo reboot

第三步:搜索CAN ID

检查CAN状态:

ip -details link show can0
  • 下图圈起来的地方为上位机CAN速率与缓存
  • 上方1024是当前CAN0缓存
  • 下方1000000是当前CAN0速率

搜索设备:

~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0

正常会显示:Found canbus_uuid=xxxx...

常见错误解决

错误信息原因解决方法
OSError: [Errno 19] No such device找不到CAN设备1. 检查USB连接
2. 确认固件正确
3. 执行lsusb验证
can.CanError: Failed to transmit: [Errno 100] Network is downCAN网络未配置1. 执行上方配置步骤
2. 重启系统
can.CanError: Failed to transmit: [Errno 105] No buffer space available缓存不足1. 确认CAN缓存是否为1024
2. 重启系统

搜不到CAN ID的检查步骤

第一步:基本检查

  • 执行lsusb能看到1d50:606f
  • CAN设备和工具板都已通电
  • 数据线连接牢固

第二步:配置检查

  • CAN网络已正确配置
  • 上位机CAN速率与工具板固件一致(默认1M)
  • 已重启系统

第三步:硬件检查

  • CAN总线两端都有120Ω终端电阻
  • 断电测量CAN-H与CAN-L电阻≈60Ω
  • 检查线路无断裂
  • CAN-H和CAN-L没有接反

第四步:特殊情况处理

  • 如果Klipper已占用ID:

    1. 屏蔽Klipper中的对应配置
    2. 完全断电1分钟
    3. 重新上电搜索
  • 终端电阻测量值:

    • ≈60Ω:正常
    • ≈120Ω:只有一端有电阻
    • ≈40Ω:有三端有电阻
    • ≈140Ω:可能线接反了

快速排查顺序

  1. 先看设备:lsusb → 有1d50:606f
  2. 再看配置:ip -details link show can0 → 速率正确?
  3. 最后硬件:断电测电阻 → 约60Ω?

全部检查后仍不行:尝试更换数据线或设备.或联系技术支持。

工具板固件更新步骤

第一步:准备工作

  1. 按教程编译好新的固件文件
  2. 停止Klipper服务:
    sudo systemctl stop klipper

第二步:获取工具板ID

在Klipper配置文件中找到对应工具板的CAN UUID(例如:241696050c56)

第三步:执行固件更新

使用以下命令刷写固件(将241696050c56替换为您的实际CAN UUID):

python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56

第四步:验证结果

  • 看到 CAN Flash Success 提示 → 烧录成功
  • 看到其他错误信息 → 烧录失败.请检查UUID和连接

注意:-u后面必须有一个空格.然后是您工具板的CAN UUID

第五步:重启服务

sudo systemctl start klipper

更新完成!

Loading...
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
Loading...