Canopen的cia402协议下通过SDO报文控制步进电机

本文详细介绍了如何使用Canopen的cia402协议控制步进电机,包括硬件选择、波特率设定、SDO报文格式(写入和读取)以及速度模式的基本操作步骤。特别关注了0x27、0x22等控制字的含义和使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

硬件搭建

在某宝上随便买个支持CANopen协议的驱动,主打的是性价比高,之后用我的周立功CAN通讯工具。
在这里插入图片描述

在这里插入图片描述

确定步进电机驱动器和上位机的通讯波特率,如果不匹配就无法进行连接。如果懒得去查,那就不断去切换波特率,什么时候有数据返回,就可以了。

软件使用

发送写SDO报文格式如下

在这里插入图片描述

红色:代表ID 因为是写入1号驱动器,所以用ds301中规定好的0x601。
橘色:代表功能,可以用22代替。

0x2F: 一个字节长度 // 1 byte data length
0x2B: 两个字节长度 // 2 byte data length
0x27: 三个字节长度 // 3 byte data length
0x23: 四个字节长度 // 4 byte data length
0x22: 未指定字节长度

绿色:代表索引(注意是小端模式,例如 40 60 实际上是 0x 6040)查询字典或者驱动器ds402可以知道具体含义。
蓝色:子索引 查询字典或者驱动器ds402可以知道具体含义。
紫色:数据 (注意数据的类型,长度) 。

对于0x27、0x22、0x23、0x27、0x2B、0x2F解释

在这里插入图片描述

简单的驱动器相关参数

在这里插入图片描述

通常速度模式控制步骤如下

1、先设置工作模式(6060h-00)为 3,然后监控工作模式(6061h-00)也为 3,表示处于速度模式;
2、写入目标速度(60FFh-00),加速时间(6083h-00),减速时间(6084h-00);
3、往控制字中依次写入 6、7、15,中间间隔 10ms 左右,写入完成后,电机使能, 电机开始运行。

就简简单单的三个步骤,最终例子如下:
在这里插入图片描述

如果需要停下来发送:
在这里插入图片描述
配置模式的时候需要注意下,我发现其他驱动器不支持0x22,必须要0x2F才能成功控制电机启动。具体需要查看手册。

发送数据和驱动器返回数据如下图

在这里插入图片描述
如果此时电机转动了,说明我们的硬件环境没有问题。
为什么电机会转动,是因为我们写入了速度。
我们把速度写入了 60ff 里面。

发送读SDO报文格式如下

在这里插入图片描述
返回数据中的CMD数据则不同,会根据查询索引的长度有所变化。
读取SDO时,CMD统一为0x40。
如果读取成功,反馈回以下格式数据
在这里插入图片描述
返回数据中的CMD数据则不同,会根据查询索引的长度有所变化。

0x4F: 一个字节长度 // 1 byte data length
0x4B: 两个字节长度 // 2 byte data length
0x47: 三个字节长度 // 3 byte data length
0x43: 四个字节长度 // 4 byte data length

举例:查询1号站点的当前状态,对象为6041,发送如下:
在这里插入图片描述

如果读取失败,则返回读取失败命令:
在这里插入图片描述

含以下CANopen 协议及子协议,请选择 DS301 规范了对应用层、通信子协议进行了全面描述外,还为特定的应用提供了扩展架构,定义了更多规则和特殊通信对象。例如:定义 了网络管理对象(节点保护,寿命保护),并定义了使用这些对象的详细规则,是包含通信接口、应用过程以及对象字典的CANopen设备的基本 模型 DS301 应用层 DS302 CANopen 管理结构与可编程驱动器 DS303 1接线接头说明,2国际单位的表示和前缀,3指示灯说明(1,2,3) DS304 网络安全结构及相关说明 DS305 无 DS306 EDS电子数据表说明 DS308 性能测量说明 DS309 TCPIP(1,2,3) 1-通用原则与服务 2-Modbus/TCP 影射 3-ASCII码影射 EDS 文件规范 设备子协议: 通常命名编号为DS4XX DS401 通用IO模块 DS402 电机驱动器 DS404 闭环测控仪器 DS405 可编程设备 DS406 旋转与线性编码器 DS408 无 DS410 角度测量仪 DS412 医疗器械(1,2,6),1--通用定义,2---X光准直仪,3--x光发生器,4--疾人表配置,5--X光标准,6--剂量测量系统 DS414 织布机驱动(1,2) 1--通用定义 2--馈线 DS417 升降控制器 DS418 电池驱动模块 DS419 电池充电器 DS420 挤压设备(1,2,3,4,5,6) DS422 市政车辆 DS801 CANopen Automactic bit-rate detection DS802 CANopen CAN remote frames 远程帧-避免使用 DS808 CANopen CiA 444 应用注释和实施指南 CANopen CiA 444 application note and implementation guideline DS201207 DSV1.1 工业应用的应用层
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谢谢~谢先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值