CAN总线位移传感器入门

CAN 总线是车上和工业里常用的多主总线,位移传感器挂上去,多个节点共享两线,实时性好、抗干扰强。
接线 CAN_H、CAN_L 双绞线,两端 120Ω 终端电阻,速率越高线越短。所有节点共地。
优点是多传感器共线、报文带 ID、出错自动重发,适合分布式监测,比如一条产线十几个测点。
坑点:终端电阻忘加、H/L 接反、地线悬空,通信就丢帧。先用 USB-CAN 适配器抓报文最快定位。
上面四条是结论,下面讲现场具体怎么做。协议本身的原理——广播、仲裁、帧结构——另一篇讲过了,这里只谈把传感器挂上总线这一段。
先定波特率,再定线长
波特率和线长是绑在一起的一对参数,定不下来就别开工:
- 500k:总线全长控制在 100 米以内
- 250k:250 米左右,工业上最常用的一档
- 125k:500 米上下
- 50k 及以下:能到 1000 米
这些数字是现场经验值,和线材、节点数、现场干扰都有关系,不是硬标准条文。位移系统里如果是液压闭环或者伺服反馈,250k 基本够用;只有多轴联动、读数周期要求很短的场合才考虑 500k。
终端电阻只加两头
最常见的错误是在每个节点上都焊一个 120Ω。并联之后总阻值掉到 60Ω 甚至更低,总线负载过重,短距离看着没事,一跑长线就丢帧。
- 只有物理上最远的两个节点各接一个 120Ω
- 中间节点一个都不接
- 节点没接传感器时,接插件内部自带的终端电阻要记得断开
验收时量一下:断电状态下量 CAN_H 和 CAN_L 之间的电阻,正常应该是 60Ω 左右。量出来 120Ω 说明少接了一个,40Ω 说明多接了。这一步能筛掉一大半的接线问题。
多个测点的 ID 怎么分配
这是 CAN 上挂多台位移传感器的关键,也是 RS485 那种问答式总线不需要操心的:
- 每个传感器占用的报文 ID 必须唯一,先规划再接线,别装完才发现撞号
- 位移数据一般两三帧一包,把同一通道的帧 ID 排在一起,上位机好解析
- 留出一段 ID 号段给心跳帧或状态帧,别和数据帧抢位置
ID 就是优先级。数字越小越优先,所以把运动控制用的实时数据放在小号段,诊断和状态信息往后排。
丢帧怎么查
按这个顺序走,基本不会绕弯:
- 先量电阻:断电量 CAN_H 和 CAN_L,应该 60Ω 左右
- 再查接线:H 对 H、L 对 L,别交叉;屏蔽层单端接地
- 查共地:所有节点必须有一个共同参考地,全悬空必然出问题
- 查波特率和位定时:新接入的节点要和原网络一致
- 最后抓报文:USB-CAN 接上去看有没有错误帧,错误计数涨得快说明物理层有问题
顺序很重要。前四条是物理层,物理层没排除就去改代码,纯属浪费功夫。
传感器侧要确认的两件事
- 供电:CAN 传感器一般 24V 供电,别拿总线上的电源去带一堆传感器,压降和纹波会反过来影响通信
- 参数:量程、波特率、节点 ID 大多要靠厂商的上位机软件配置,出厂默认值不一定是你需要的
这两件事在传感器到货后就要确认。等到装进设备里再改,很多位置手都伸不进去。
文中提到的相关产品

WSS系列拉绳位移传感器
WSS系列拉绳位移传感器:绳索拉伸测距、量程大,支持电压/电流/脉冲/RS485 等多种输出,适合安装空间受限的位移与位置测量。
查看详情 →
WS系列拉绳位移传感器
WS系列拉绳位移传感器:绳索拉伸测距、量程大,支持电压/电流/脉冲/RS485 等多种输出,适合安装空间受限的位移与位置测量。
查看详情 →
WM系列拉绳位移传感器
WM系列拉绳位移传感器:绳索拉伸测距、量程大,支持电压/电流/脉冲/RS485 等多种输出,适合安装空间受限的位移与位置测量。
查看详情 →
WML系列位移传感器
WML系列位移传感器:绳索拉伸测距、量程大,支持电压/电流/脉冲/RS485 等多种输出,适合安装空间受限的位移与位置测量。
查看详情 →