当前位置: 首页 > 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
    在这里插入图片描述




店铺:图锐科技

相关文章:

JC系列CAN通信说明

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

Ubuntu22——安装并配置局域网文件共享系统Samba

我们将共享目录设置为 /home/takway/share。以下是基于这个新目录的详细步骤: 在Ubuntu上安装并配置Samba 更新系统包列表 打开终端,执行以下命令来确保你的包列表是最新的: sudo apt update安装Samba 安装Samba及其相关工具: sud…...

HTML CSS 基础

HTML & CSS 基础 HTML一、HTML简介1、网页1.1 什么是网页1.2 什么是HTML1.3 网页的形成1.4总结 2、web标准2.1 为什么需要web标准2.2 Web 标准的构成 二、HTML 标签1、HTML 语法规范1.1基本语法概述1.2 标签关系 2、 HTML 基本结构标签2.1 第一个 HTML 网页2.2 基本结构标签…...

Nginx 使用 GeoIP 模块阻止特定国家 IP 地址的最佳实践

一、概述 为什么要阻止特定国家的 IP 地址? 在全球化的互联网上,网站和服务器可能会面对来自不同国家和地区的用户流量。虽然大多数情况下,我们希望网站能为全球用户提供服务,但在某些特定场景下,阻止来自特定国家的…...

vue3 + vite + cesium项目

GitHub - tingyuxuan2302/cesium-vue3-vite: 项目基于 vue3 vite cesium,已实现常见三维动画场,欢迎有兴趣的同学加入共建,官网服务器相对拉胯,请耐心等候...https://github.com/tingyuxuan2302/cesium-vue3-vite/tree/github...

DR模式 LVS负载均衡群集

DR模式 LVS负载均衡群集 部署共享存储关闭防火墙和核心防护下载,开启nfs服务创建共享文件夹和测试用的静态网页文件编辑nfs配置文件发布共享查看共享 配置 tomcat 服务器关闭防火墙和核心防护安装tomcat配置 tomcat 多实例 配置 nginx 服务器关闭防火墙和核心防护配…...

mysql复制表结构和数据

1.实例 #复制一张和test 一摸一样的表结构 CREATE TABLE test_one like test#往复制的表结构中复制数据 INSERT INTO test_one SELECT * FROM test#两者一起使用相当于 cv大法2.总结 完全实现了表结构和数据的复制,但是两条sql 得分两步执行 2.1 复制表结构 #复制…...

MFC扩展库BCGControlBar Pro v35.1新版亮点:改进网格控件性能

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中,并为您节省数百个开发和调试时间。 BCGControlBar专业版 v35.1已全新发布了,这个版本改进网格控件的性能、增强工具栏编辑器功能等。 …...

Python列表操作详解

1 列表的基本概念 在Python中,列表是一种非常常用的数据结构,它可以存储任意类型的元素,并且支持多种操作。下面将详细介绍Python列表的各种操作。 2列表的操作方法 2.1创建列表 Python可以直接使用方括号[]来创建一个空列表。 示例&am…...

畅捷通T+对接聚水潭成功实施案例

在当今竞争激烈的商业环境中,企业数字化转型已成为提升竞争力的关键。广东某实业有限公司的数字化规划,目前财务系统使用的畅捷通T,电商系统使用的聚水潭。目前两个系统数据割裂导致各个部门的协同效率低下。通过借助轻易云数据集成平台&…...

leetcode-312. 戳气球

题目描述 有 n 个气球,编号为0 到 n - 1,每个气球上都标有一个数字,这些数字存在数组 nums 中。 现在要求你戳破所有的气球。戳破第 i 个气球,你可以获得 nums[i - 1] * nums[i] * nums[i 1] 枚硬币。 这里的 i - 1 和 i 1 代…...

程序设计基础I-实验7 函数(编程题)

7-1 sdut- C语言实验—计算表达式 计算下列表达式值: 输入格式: 输入x和n的值,其中x为非负实数,n为正整数。 输出格式: 输出f(x,n),保留2位小数。 输入样例: 3 2输出样例: 在这里给出相应的输出。例如: 2.00 …...

使用3080ti配置安装blip2

使用3080ti运行blip2的案例 本机环境(大家主要看GPU,ubuntu版本和cuda版本即可):安装流程我最后安装的所有包的信息(python 3.9 )以供参考(environment.yml): 本机环境&a…...

vue3组件通信之defineEmits

一、defineEmits是什么&#xff1f; defineEmits 是vue3提供的方法&#xff0c;又称为自定义事件&#xff0c;不需要引入可以直接使用&#xff0c;用于子组件与父组件通信。 二、使用样例 1.父组件代码 代码如下&#xff08;示例&#xff09;&#xff1a; <template>…...

rust gio-rs 挂载 samba 磁盘

linux 使用的 gio 管理工具 这个工具如下 这是 gio 的rust版本 https://crates.io/crates/gio 可以用 rust 语言实现下面所有操作 gio mout 挂载 samba 如下 //https://valadoc.org/gio-2.0/GLib.MountOperation.html pub async fn gio_mount(uri路径:&str, 用户名:Opti…...

幸存者游戏(类)

#include <iostream> #include <graphics.h> #include <stdio.h> #include <conio.h> #include <vector> #include <string> using namespace std; int idx_player_anim 0; const int player_anim_num 6;//这里要把动画帧数定位const i…...

SQL 中UPDATE 和 DELETE 语句的深入理解与应用

在 SQL 中&#xff0c;UPDATE和DELETE语句是用于操作表数据的重要工具&#xff0c;它们允许我们对已存在的数据进行修改和删除。 一、UPDATE 语句 &#xff08;一&#xff09;基本语法 UPDATE语句的基本语法如下&#xff1a; UPDATE table_name SET column1 value1, colum…...

在 Windows 上查找和结束占用特定端口占用程序,并杀死

在 Windows 上查找和结束占用特定端口&#xff08;如 9003&#xff09;的程序&#xff0c;你可以使用以下步骤&#xff1a; 步骤 1&#xff1a;找到占用端口的进程 ID (PID) 打开命令提示符&#xff08;按 Win R&#xff0c;输入 cmd&#xff0c;然后按回车&#xff09;。输…...

sql server尽量避免滥用影响性能的标量函数

相信很多新手学了 函数的用法就不可避免的想把学到的东西用起来&#xff0c;然而这个函数使用却有坑&#xff0c; 在实际用的时候我发现一个简单的计算封装 &#xff0c;不用函数和用函数执行耗时差太多了。 能避免列上进行函数则尽量避免&#xff0c;这是在实际上遇到的坑 &am…...

python画图|二维动态柱状图输出

【1】引言 在前面的学习过程中&#xff0c;已经探索过二维柱状图和三维柱状图的绘制教程&#xff0c;包括且不限于的文章链接有&#xff1a; python画图|水平直方图绘制_绘制水平直方图-CSDN博客 python画图|3D bar进阶探索_ax.bar3d-CSDN博客 此外也学习了动态的直线输出和…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块&#xff0c;用于对本地知识库系统中的知识库进行增删改查&#xff08;CRUD&#xff09;操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 &#x1f4d8; 一、整体功能概述 该模块…...

关于easyexcel动态下拉选问题处理

前些日子突然碰到一个问题&#xff0c;说是客户的导入文件模版想支持部分导入内容的下拉选&#xff0c;于是我就找了easyexcel官网寻找解决方案&#xff0c;并没有找到合适的方案&#xff0c;没办法只能自己动手并分享出来&#xff0c;针对Java生成Excel下拉菜单时因选项过多导…...

掌握 HTTP 请求:理解 cURL GET 语法

cURL 是一个强大的命令行工具&#xff0c;用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中&#xff0c;cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...

go 里面的指针

指针 在 Go 中&#xff0c;指针&#xff08;pointer&#xff09;是一个变量的内存地址&#xff0c;就像 C 语言那样&#xff1a; a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10&#xff0c;通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...