peng-zhihui / Dummy-Robot

我的超迷你机械臂机器人项目。
11.89k stars 2.63k forks source link

CAN Bus 傳輸問題 #188

Closed Kevin75311 closed 11 months ago

Kevin75311 commented 11 months ago

稚暉君您好, 目前可以用 USB 和 REF 板子溝通,但無法透過 ref_tool CAN 跟馬達板溝通 (目前只連接 ID=1 的馬達),

  1. 有檢查過 CAN1, CAN2 initialize 都正常,馬達連接 CAN1
  2. 測試連接一個馬達,終端電阻有焊接,CAN BUS 上電阻為 60 ohms
  3. 無操作時 CAN_H 電壓 2.23V,CAN_L 電壓 2.20V

想請問一下,目前可以量測到發出的訊號如下:

CAN Bus 上會一直出現固定的訊號如下,不確定是不是正常的: image image

非常感謝~

lixinswitchpi commented 11 months ago

参考一下下面的视频关于REF与Motor CAN BUS 通信例程,尝试debug motor 1 端的CAN BUS接收数据,看看能不能发现问题。另外,CAN BUS的两条线是双绞线,并行的话会出现此类问题。 https://www.bilibili.com/video/BV1E34y1K7KZ/

Kevin75311 commented 11 months ago

您好,非常感謝您,您的影片非常有幫助。 有一些電路接線的細節,想請問我理解有沒有錯誤: 1.如果接1個馬達,這樣一個 120-ohm 的電阻在電機電路板上,另外一個終端電阻要在自行焊接 (因為REF板上沒有電阻)? 2.如果接6個馬達,這樣在頭尾的電機電路板焊接120 ohm的電阻即可,其餘中間的電機電路板皆不必焊接電阻? 中間的連線接用雙絞線連接。

非常感謝您~

lixinswitchpi commented 11 months ago
  1. 是的,motor端需要接上终端电阻,稚晖君的ref上有设计终端电阻,这个需要始终enable
  2. 对,CAN总线的两端都需要接120欧姆终端电阻,以匹配总线特性阻抗,保证信号质量。中间motor不需要接 我有一个改版的motor驱动板最近会发布,加上了一个switch,可以方便的打开或关闭120欧姆终端电阻,另外pcb重新布局,布线,优化了模拟信号,gnd,电源gnd等等,你可以关注我的b站