CAN桥接
CAN总线是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。 3D打印机上使用CAN总线来减少打印头连接到主板的走线数量,原来需要十几根线,使用CAN后只需要使用四根线即可,大大减少走线数量,降低布线难度。 本章只简要概述桥接CAN的使用。
工具板使用CAN连接主板
- 请注意工具板电源线不是接到CAN口,是接到12V-24v电源线上
刷主板固件
- 请确保E3V2主板烧录的固件是
USB桥接CAN固件配置
E3V2烧录固件
搜索id
CAN配置与ID搜索
- 如果你需要使用CAN请确定你上位机有进行CAN配置
须知
请确定主板已经连接好上位机后在进行下面操作
注意
请确保上位机的can网络、桥接主板的CAN速率、CAN工具板的速率完全一致
搜索设备前注意事项
- 搜索CAN ID前,请先连接到SSH
- 请注意需要确保是使用网络登录到SSH而不是串口登录
- 请确保有连接好UTOC或者刷好CAN桥接固件的主板,并且确保连接上位机的数据线具有数据传输功能
搜索设备
- 现在你已经正常登录到上位机了可以输入
lsusb
搜索设备,将会以下几种情况之一- 输入
lsusb
提示找不到ls
指令,则可以输入下方指令来安装指令sudo apt-get install usbutils
- 输入
lsusb
后什么反应都没有,这是系统问题这边无能为力,你需要更换系统或者使用确定正常的系统 - 出现下方图片中的信息,请注意这只是参考。你只需要确定有出现
1d50:606f
即可
- 输入
1d50:606f
属于本次你要用到的设备。后面的提示你不需要管,因为系统问题可能会导致他显示不全或者干脆不显示- 如果有多个
1d50:606f
,建议排除一个,否则会影响后续烧录与固件连接,如FLY MINI PAD
则建议使用板载UTOC不要使用其他CAN桥接设备 - 如果没有,请自行检查数据线是否接好,固件有没有刷对。
注意事项
有1d50:606f
时候才能去搜索CAN ID
搜索CAN ID
- 输入下方指令进行ID搜索
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
- 如果出现ID并在最后面的
Application:
显示Klipper
则代表此ID可以直接使用 - 如果出现ID并在最后面的
Application:
显示CANBOOT
或者Katapult
则代表需要刷固件才可以使用
CAN问题合集
须知
- 找不到CAN ID,请看下方文档
- CAN问题合集
将CAN的ID,填写到到配置里面
-
打开打印机网页界面,在左侧边栏的配置选项里找到:fluidd为:
{…}
;mainsail为:机器
,点击进去,即可找到printer.cfg
-
将查询到的UUID复制,填写到
printer.cfg
配置里的[mcu]
节点的canbus_uuid:
。保存重启后即可连上主板。若Klipper提示固件需要更新,ADC报错等则代表Klipper已经连接上主板危险注意:文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。