Zum Hauptinhalt springen

CAN桥接

CAN总线是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。 3D打印机上使用CAN总线来减少打印头连接到主板的走线数量,原来需要十几根线,使用CAN后只需要使用四根线即可,大大减少走线数量,降低布线难度。 本章只简要概述桥接CAN的使用。

工具板使用CAN连接主板

  • 请注意工具板电源线不是接到CAN口,是接到12V-24v电源线上
  • 请注意120Ω跳线要接上

刷主板固件

  • 请确保Gemini主板烧录的固件是USB桥接CAN固件配置

搜索id

CAN配置与ID搜索

  • 如果你需要使用CAN请确定你上位机有进行CAN配置

须知

请确定主板已经连接好上位机后在进行下面操作

warning

请确保上位机的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已经连接上主板

    gefährlich

    注意:文档中所出现的所有ID均为示例,实际每个主板的ID均不一致,请根据实际获取到的ID修改填写。