当前位置: 首页 > news >正文

JC系列CAN通信说明

目录

  • 一、CAN协议
  • 二、指令格式
  • 三、通信接线
    • 3.1、一对一通信
    • 3.2、组网通信
  • 四、寄存器定义
  • 五、指令说明
    • 4、读取电源电压
    • 5、读取母线电流
    • 6、读取实时速度
    • 8、读取实时位置
    • 10、读取驱动器温度
    • 11、读取电机温度
    • 12、读取错误信息
    • 32、设定电流
    • 33、设定速度
    • 35、设定绝对位置
    • 37、设定相对位置
  • 六、操作示例

在这里插入图片描述

一、CAN协议

  • 采用 CAN2.0A 标准帧通信协议,
  • 默认波特率500k。可设置:1Mbps、800kbps、500kbps、250kbps、125kbps、100kbps、50kbps、20kbps 、10kbps。
  • ID设置:1-127
  • 帧长度:0-8字节
  • 匹配终端电阻120Ω(可选择是否接入)

二、指令格式

在这里插入图片描述
读1个寄存器(2个字节),发送命令字为0x4B,
读2个寄存器(4个字节),发送命令字为0x43,
回复时,接收命令字与发送命令字一致,
如果接收数据存在错误,接收命令字为0x80,


在这里插入图片描述
写1个寄存器(2个字节),发送命令字为0x2B,
写2个寄存器(4个字节),发送命令字为0x23,
如果数据发送成功,接收命令字为0x60,
如果数据发送失败,接收命令字为0x80,

三、通信接线

3.1、一对一通信

在这里插入图片描述

驱动器需要接入120Ω电阻,提高通信质量。
板载有120Ω电阻,短接驱动板背面的“CAN+R“接入点即可,下图:

在这里插入图片描述

3.2、组网通信

在总线两端分别接入120Ω电阻。

在这里插入图片描述

四、寄存器定义

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

①、错误信息
在这里插入图片描述

②、串口波特率
在这里插入图片描述
③、CAN波特率
在这里插入图片描述

④、电机类型:0=HighCurrent,1=Gimbal。
⑤、编码器类型:
在这里插入图片描述
⑥、控制模式
在这里插入图片描述
⑦、保护使能
在这里插入图片描述
⑧、校准结果
在这里插入图片描述

五、指令说明

以下说明,假设驱动器的ID=1,

4、读取电源电压

上位机发送:标准帧ID:0x601 长度8 数据:4B 00 04 00 00 00 00 00
驱动器回复:标准帧ID:0x581 长度8 数据:4B 00 04 00 00 7B 00 00
在这里插入图片描述
0x7B=123,放大了10倍,电源电压为12.3 V

5、读取母线电流

上位机发送:标准帧ID:0x601 长度8 数据:4B 00 05 00 00 00 00 00
驱动器回复:标准帧ID:0x581 长度8 数据:4B 00 05 00 00 64 00 00
在这里插入图片描述
0x64=100,放大了100倍,母线电流为1 A

6、读取实时速度

上位机发送:标准帧ID:0x601 长度8 数据:43 00 06 00 00 00 00 00
驱动器回复:标准帧ID:0x581 长度8 数据:43 00 06 00 00 00 C3 50
在这里插入图片描述
0x0000C350=50000,放大了100倍,当前速度为500 rpm

假如回复:43 00 06 00 FF FF 3C 99
在这里插入图片描述
0xFFFF3C99=-50023,当前速度为-500.23 rpm

8、读取实时位置

上位机发送:标准帧ID:0x601 长度8 数据:43 00 08 00 00 00 00 00
驱动器回复:标准帧ID:0x581 长度8 数据:43 00 08 00 00 64 00 00
在这里插入图片描述
0x00008CA0=36000,放大了100倍,当前位置为360°

假如回复:43 00 08 00 FF FF B9 83
在这里插入图片描述
0xFFFFB983=-18045,放大了100倍,当前位置为-180.45°

10、读取驱动器温度

上位机发送:标准帧ID:0x601 长度8 数据:4B 00 0A 00 00 00 00 00
驱动器回复:标准帧ID:0x581 长度8 数据:4B 00 0A 00 01 59 00 00
在这里插入图片描述
0x0159=345,放大了10倍,温度为34.5°

11、读取电机温度

上位机发送:标准帧ID:0x601 长度8 数据:4B 00 0B 00 00 00 00 00
驱动器回复:标准帧ID:0x581 长度8 数据:4B 00 0B 00 02 37 00 00
在这里插入图片描述
0x0237=678,放大了10倍,母线电流为67.8°

12、读取错误信息

上位机发送:标准帧ID:0x601 长度8 数据:43 00 0C 00 00 00 00 00
驱动器回复:标准帧ID:0x581 长度8 数据:43 00 0C 00 00 00 00 40
在这里插入图片描述
故障码=0x40,表示编码器SPI通信故障。更多故障码请看第四节寄存器说明。

32、设定电流

假如设定电流为0.5A,放大了100倍,50=0x0032,
上位机发送:标准帧ID:0x601 长度8 数据:2B 00 20 00 00 32 00 00
在这里插入图片描述
驱动器回复:标准帧ID:0x581 长度8 数据:60 00 20 00 00 00 00 00

33、设定速度

假如设定速度为500 rpm,放大100倍,50000=0xC350,
上位机发送:标准帧ID:0x601 长度8 数据:23 00 21 00 00 00 C3 50
在这里插入图片描述
驱动器回复:标准帧ID:0x581 长度8 数据:60 00 21 00 00 00 00 00

假如设定速度为-500.23 rpm,放大100倍,-50023=0xFFFF3C99
上位机发送:标准帧ID:0x601 长度8 数据:23 00 21 00 FF FF 3C 99
在这里插入图片描述

35、设定绝对位置

假如设定绝对位置为360°,放大100倍,36000=0x8CA0,
上位机发送:标准帧ID:0x601 长度8 数据:23 00 23 00 00 00 8C A0
在这里插入图片描述
驱动器回复:标准帧ID:0x581 长度8 数据:60 00 23 00 00 00 00 00
假如设定绝对位置为-180.45°,放大100倍,18045=0xFFFFB983
上位机发送:标准帧ID:0x601 长度8 数据:23 00 23 00 FF FF B9 83
在这里插入图片描述

37、设定相对位置

假如设定相对位置为360°,放大100倍,36000=0x8CA0,
上位机发送:标准帧ID:0x601 长度8 数据:23 00 25 00 00 00 8C A0
在这里插入图片描述
驱动器回复:标准帧ID:0x581 长度8 数据:60 00 25 00 00 00 00 00


六、操作示例

假如电机上电已经校准并保存了校准参数:
在这里插入图片描述

  • 1、进入闭环状态:标准帧ID:0x601 长度8 数据:2B 00 A2 00 00 01 00 00
  • 2、绝对位置180°:标准帧ID:0x601 长度8 数据:23 00 23 00 00 00 46 50
  • 3、绝对位置360°:标准帧ID:0x601 长度8 数据:23 00 23 00 00 00 8C A0
  • 4、绝对位置0°:标准帧ID:0x601 长度8 数据:23 00 23 00 00 00 00 00
  • 5、切换为速度模式:标准帧ID:0x601 长度8 数据:2B 00 60 00 00 01 00 00
  • 6、设置速度500rpm:标准帧ID:0x601 长度8 数据:23 00 21 00 00 00 C3 50
  • 7、设置速度0rpm:标准帧ID:0x601 长度8 数据:23 00 21 00 00 00 00 00
  • 8、切换为位置梯形轨迹:标准帧ID:0x601 长度8 数据:2B 00 60 00 00 02 00 00
  • 9、相对位置360°:标准帧ID:0x601 长度8 数据:23 00 25 00 00 00 8C A0
  • 10、进入空闲模式:标准帧ID:0x601 长度8 数据:2B 00 A0 00 00 01 00 00
    在这里插入图片描述




店铺:图锐科技

http://www.lryc.cn/news/458602.html

相关文章:

  • Ubuntu22——安装并配置局域网文件共享系统Samba
  • HTML CSS 基础
  • Nginx 使用 GeoIP 模块阻止特定国家 IP 地址的最佳实践
  • vue3 + vite + cesium项目
  • DR模式 LVS负载均衡群集
  • mysql复制表结构和数据
  • MFC扩展库BCGControlBar Pro v35.1新版亮点:改进网格控件性能
  • Python列表操作详解
  • 畅捷通T+对接聚水潭成功实施案例
  • leetcode-312. 戳气球
  • 程序设计基础I-实验7 函数(编程题)
  • 使用3080ti配置安装blip2
  • vue3组件通信之defineEmits
  • rust gio-rs 挂载 samba 磁盘
  • 幸存者游戏(类)
  • SQL 中UPDATE 和 DELETE 语句的深入理解与应用
  • 在 Windows 上查找和结束占用特定端口占用程序,并杀死
  • sql server尽量避免滥用影响性能的标量函数
  • python画图|二维动态柱状图输出
  • CocosCreator 快速部署 TON 游戏:Web2 游戏如何使用 Ton支付
  • 生信初学者教程(二十八):单细胞数据标准化
  • 【OceanBase诊断调优】—— 错误码 5065 和 5066 的区别
  • Spring Boot RESTful API开发教程
  • <Rust>iced库(0.13.1)学习之番外:如何为窗口添加初始值?
  • Redis:list类型
  • 政府采购方式有哪些,竞争性谈判和竞争性磋商的区别
  • 【JavaScript】移动色块案例 实现一个可以拖动并且在拖动过程中会自动改变颜色的色块(JS 事件监听器)
  • [Linux#62][TCP] 首位长度:封装与分用 | 序号:可靠性原理 | 滑动窗口:流量控制
  • 【中短文】区分神经网络中 表征特征、潜层特征、低秩 概念
  • MySQL8.0环境部署+Navicat17激活教程