跳到内容

电控链路怎么搭:总线、驱动器与频率预算 ​

一台 12 自由度的四足,12 个关节电机、1 个 IMU、几个传感器,全挂在一根 CAN 总线上——带宽够不够? 这个问题在画板子之前就该算清楚,而不是等调不通了再回头查。

这篇把「带宽、周期、采样率」放在一张表里算,给一套能直接套用的预算方法。

一、先分清三种速率,它们不是一回事 ​

名词单位含义典型值
控制环频率Hz控制器多久算一次输出力控 1 kHz,位置环 200–500 Hz
总线带宽bit/s总线一秒能传多少位经典 CAN 1 Mbps,CAN FD 5 Mbps
传感器 ODRHz传感器多久出一帧新数据IMU 100–1000 Hz

三个数要匹配:控制环 1 kHz,意味着每 1 ms 要收齐所有关节的状态、发出所有关节的指令。总线带宽撑不住这个往返,控制环再快也没用。

二、算一笔 CAN 带宽账 ​

以经典 CAN(1 Mbps)为例,一帧大约 100–130 bit(含帧头、CRC、ACK)。12 个关节,每个周期要「读状态 + 写指令」:

每周期帧数 = 12 关节 × 2(读+写)= 24 帧
每帧 ≈ 120 bit
控制环 1 kHz → 每秒 24 × 120 × 1000 = 2.88 Mbit/s

2.88 Mbps > 1 Mbps。结论:经典 CAN 在 1 kHz 下挂 12 个关节不够。你有几条出路:

  1. 降控制环频率:降到 500 Hz → 1.44 Mbps,还是超;降到 200 Hz → 0.58 Mbps,够了
  2. 换 CAN FD:数据段可到 5 Mbps,1 kHz 下 2.88 Mbps 有余量
  3. 分多路总线:4 条 CAN 各挂 3 个关节
  4. 减少每周期帧数:状态打包上报、指令广播

部件库里关节电机的 comm 字段标了支持的接口(CAN / CANFD / EtherCAT)。选型时先把这条总线账算了。

三、频率预算表(直接套) ​

你的目标位置环力控环总线建议
教学 / 演示100 Hz—单路经典 CAN 够
平稳行走200 Hz500 HzCAN FD 或双路 CAN
动态运动(跑跳)500 Hz1 kHz+CAN FD 多路,或 EtherCAT

力控环和位置环可以分开:高频力控在下位机本地跑,低频轨迹从上位机下发。这样总线只承受低频部分。

四、驱动器:集成还是外置 ​

关节电机分两种形态,直接影响你的电控架构:

  • 集成驱动(driver_integrated: true,如多数关节模组):电机里已有驱动板,总线直接插,省一层
  • 电机本体(如 M3508,driver_integrated: false):要另配电调(如 C620),电调和电机之间是动力线,电调再上总线

集成驱动布线干净、上手快;外置方案灵活、可换驱动器调性能,但多了匹配和布线工作。第一台机器建议用集成方案。

五、最容易踩的三个坑 ​

  1. IMU 采样率和控制环不同步:IMU 的 ODR 要 ≥ 状态估计环的频率,且尽量触发同步读,别轮询
  2. 总线终端电阻:CAN 两端各 120 Ω,少一个就莫名丢帧——这是硬件问题,软件查不出来
  3. 地环路:动力地和信号地混在一起,大电流时 IMU 数据全是毛刺。单点接地

相关阅读:第一次做整机选型 · 关节电机参数怎么读

这一页的讨论