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

Canopen的cia402协议控制步进电机

  • 硬件搭建
  • 软件使用
    • 发送写SDO报文格式如下
    • 对于0x27、0x22、0x23、0x27、0x2B、0x2F解释
    • 简单的驱动器相关参数
    • 通常速度模式控制步骤如下
  • 发送数据和驱动器返回数据如下图
    • 发送读SDO报文格式如下

硬件搭建

在某宝上随便买个支持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,发送如下:
在这里插入图片描述

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/315385.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis入门到通关之数据结构解析-SkipList

文章目录 ☃️概述☃️总结 欢迎来到 请回答1024 的博客 🍓🍓🍓欢迎来到 请回答1024的博客 关于博主: 我是 请回答1024,一个追求数学与计算的边界、时间与空间的平衡,0与1的延伸的后端开发者。 博客特色&…

网站被SmartScreen标记为不安全怎么办?

在互联网时代,网站的安全性和可信度是用户选择是否继续访问的重要因素之一,然而,网站运营者偶尔会发现使用Edge浏览器访问网站时,会出现Microsoft Defender SmartScreen(以下简称SmartScreen)提示网站不安全…

文化旅游3D数字孪生可视化管理平台推动文旅产业迈向更加美好的未来

随着数字化、智能化管理成为文旅产业发展的必然趋势,数字孪生公司深圳华锐视点创新性地推出了景区三维可视化数字孪生平台,将线下的实体景区与线上的虚拟世界完美融合,引领智慧文旅新潮流。 我们运用先进的数字孪生、web3D开发和三维可视化等…

免费实用在线小工具

免费在线工具 https://orcc.online/ pdf在线免费转word文档 https://orcc.online/pdf 时间戳转换 https://orcc.online/timestamp Base64 编码解码 https://orcc.online/base64 URL 编码解码 https://orcc.online/url Hash(MD5/SHA1/SHA256…) 计算 https://orcc.online/ha…

论文笔记:Time-LLM: Time Series Forecasting by Reprogramming Large Language Models

iclr 2024 reviewer 评分 3888 1 方法 提出了 Time-LLM, 是一个通用的大模型重编程(LLM Reprogramming)框架将 LLM 轻松用于一般时间序列预测,而无需对大语言模型本身做任何训练 为什么需要时序数据和文本数据对齐:时…

重生之我是Nginx服务专家

nginx服务访问页面白色 问题描述 访问一个域名服务返回页面空白,非响应404。报错如下图。 排查问题 域名解析正常,网络通讯正常,绕过解析地址访问源站IP地址端口访问正常,nginx无异常报错。 在打开文件时,发现无法…

Spring Cloud Alibaba 项目搭建步骤和注意事项

Spring Cloud Alibaba 是一个基于 Spring Cloud 的微服务架构解决方案,它整合了阿里巴巴的多款开源组件,如 Nacos、Sentinel、RocketMQ 等,用于构建分布式微服务系统。 以下是使用 Spring Cloud Alibaba 搭建项目的基本步骤和注意事项&#x…

每日OJ题_DFS回溯剪枝⑦_力扣77. 组合

目录 力扣77. 组合 解析代码 力扣77. 组合 77. 组合 难度 中等 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入:n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,…

Stable Diffusion中的embedding

Stable Diffusion中的embedding 嵌入,也称为文本反转,是在 Stable Diffusion 中控制图像样式的另一种方法。在这篇文章中,我们将学习什么是嵌入,在哪里可以找到它们,以及如何使用它们。 什么是嵌入embedding&#xf…

数据分析:生存分析原理和应用实例

介绍 生存分析的目的是分析某个时间点的“生存概率”是多少。基于这样的研究目的,需要提供生存数据,它是一种由不同的开始时间和结束时间组成的事件-时间的数据,比如在癌症研究领域,研究手术到死亡的过程、治疗到疾病进展等等。 在开展生存分析前,需要了解什么是删失(c…

知网怎么查重 知网查重的详细步骤

知网查重八个步骤:1. 访问官网,注册账号。2. 上传待查文档。3. 选择查重规则。4. 选择相似来源库。5. 提交查重任务。6. 等待查重结果。7. 获取查重报告。8. 下载查重报告。 知网查重的详细步骤 第一步:进入知网查重系统 打开浏览器&#x…

FPGA秋招-笔记整理(1)

一、关键路径 关键路径通常是指同步逻辑电路中,组合逻辑时延最大的路径(这里我认为还需要加上布线的延迟),也就是说关键路径是对设计性能起决定性影响的时序路径。也就是静态时序报告中WNS(Worst Nagative Slack&…

后端端口也可以直接在浏览器访问

比如在浏览器输入http://localhost:8078/hello/helloword访问的是后端的 RestController RequestMapping("/hello") public class HelloWord {RequestMapping("/helloword")public String helloWord(){return "hello word";} }浏览器将会返回

viewerjs在vue中实现点击图片预览、切换、缩放、拖拽、旋转等功能

1、下载依赖&#xff1a; npm i viewerjs 2、定义html结构 <template> <div><ul class"artBody"><li><img src"picture-1.jpg" alt"Picture 1"></li><li><img src"picture-2.jpg" alt&…

计算机找不到vcruntime140_1.dll,无法继续执行代码快速解决方法

vcruntime140_1.dll是一个重要的Windows操作系统中的动态链接库&#xff08;DLL&#xff09;文件&#xff0c;它是微软Visual C Redistributable软件包的组成部分。以下是该文件的详细介绍&#xff1a; 名称含义&#xff1a;“vcruntime”代表Visual C Runtime&#xff0c;表明…

主播美颜工具与视频美颜SDK:技术革新与实践探索

在直播行业&#xff0c;主播们对于自身形象的呈现越来越注重&#xff0c;而主播美颜工具和视频美颜SDK的问世&#xff0c;为他们提供了更多实现完美自我形象的可能性。接下来&#xff0c;我将为您讲解这些技术的技术革新和实践应用。 一、主播美颜工具&#xff1a;技术原理与特…

通过阿里云OOS实现定时备份redis实例转储到OSS

功能背景 随着企业业务数据的快速增长&#xff0c;Redis 作为高性能的内存数据存储方案&#xff0c;在多种应用场景下承担着重要的角色。为确保数据安全&#xff0c;定时备份成为了不可或缺的一环。Redis 实例定时备份是关键数据库管理任务的一个重要组成部分&#xff0c;它主…

由于找不到msvcr120.dll,无法继续执行代码

在日常编程中&#xff0c;缺少关键的msvcr120.dll文件可能会导致代码无法执行&#xff0c;给我们带来不便。针对缺少msvcr120.dll文件的情况&#xff0c;我们可以采取一些有效的解决方法来解决这一问题。通过下载安装或使用Visual C Redistributable工具安装该msvcr120.dll文件…

数据污染对大型语言模型的潜在影响

大型语言模型&#xff08;LLMs&#xff09;中存在的数据污染是一个重要问题&#xff0c;可能会影响它们在各种任务中的表现。这指的是LLMs的训练数据中包含了来自下游任务的测试数据。解决数据污染问题至关重要&#xff0c;因为它可能导致结果偏倚&#xff0c;并影响LLMs在其他…

STL_List与萃取

List 参考文章: https://blog.csdn.net/weixin_45389639/article/details/121618243 List源码 List中节点的定义&#xff1a; list是双向列表&#xff0c;所以其中节点需要包含指向前一节点和后一节点的指针&#xff0c; data是节点中存储的数据类型 template <class _Tp&g…