MKS SERVO4257D 闭环步进电机_系列12 STM32_CAN例程

news2024/11/23 22:41:06

第1部分 产品介绍

具备脉冲接口和RS485/CAN串行接口,支持MODBUS-RTU通讯协议,内置高效FOC矢量算法。
硬件开源!

第2部分 相关资料下载

2.1 源代码下载

网盘:
08_例程-STM32系列(CAN)

第3部分 参数配置和注意事项

3.1 电机参数配置

  1. 设置波特率: 菜单 → CanRate → 500K
  2. 设置从机地址: 菜单 → CanID → 01

3.2 注意事项

  1. 需要一个TTL转CAN电平模块。

第4部分 读取参数示例

4.1 读取电机实时位置

  1. 接线说明
    在这里插入图片描述

  2. 代码说明
    代码功能:STM32 主板通过CAN接口读取电机实时位置信息。
    注意事项:工作模式设置为CR_vFOC 或者CR_CLOSE
    程序运行后,可观察到:
    a. TIMER3 定时器中断生成脉冲信号,控制电机转动;
    b. LED灯每秒闪一次,发出查询电机实时位置指令;
    c. watch 窗口添加观察变量realTimeLocation,可以观察到位置数据变化;
    d. 如此不断循环
    在这里插入图片描述

  3. Watch窗口观察结果
    在这里插入图片描述

4.2 读取电机实时转速

  1. 接线说明
    在这里插入图片描述

  2. 代码说明
    代码功能:STM32 主板CAN接口读取电机实时转速。
    注意事项:工作模式设置为CR_vFOC 或者CR_CLOSE
    程序运行后,可观察到:
    a. TIMER3 定时器中断生成脉冲信号,控制电机转动;
    b. LED灯每秒闪一次,发出查询电机实时转速指令;
    c. watch 窗口添加观察变量realTimeSpeed,可以观察到转速数据变化;
    d. 如此不断循环。
    在这里插入图片描述

  3. Watch窗口输出结果
    在这里插入图片描述

4.3 读取电机输入脉冲数

  1. 接线说明
    在这里插入图片描述

  2. 代码说明
    代码功能:STM32 主板CAN接口读取电机输入脉冲数。
    注意事项:工作模式设置为CR_vFOC 或者CR_CLOSE
    程序运行后,可观察到:
    e. TIMER3 定时器中断生成脉冲信号,控制电机转动;
    f. LED灯每秒闪一次,发出查询电机输入脉冲数指令;
    g. watch 窗口添加观察变量inputPulses,可以观察到脉冲数据变化;
    h. 如此不断循环。
    在这里插入图片描述

  3. Watch窗口输出结果
    在这里插入图片描述

4.4 读取电机位置误差

  1. 接线说明
    在这里插入图片描述

  2. 代码说明
    代码功能:STM32 主板CAN接口读取位置误差。
    注意事项:工作模式设置为CR_vFOC 或者CR_CLOSE
    程序运行后,可观察到:
    a. TIMER3 定时器中断生成脉冲信号,控制电机转动;
    b. LED灯每秒闪一次,发出查询电机位置误差指令;
    c. watch 窗口添加观察变量PositionError,可以观察到位置误差变化;
    d. 如此不断循环
    在这里插入图片描述

  3. Watch窗口输出结果
    在这里插入图片描述
    注意:PositionError = 51200 对应角度值360度

4.5 读取电机IO端口状态

  1. 接线说明
    在这里插入图片描述

  2. 代码说明
    代码功能:STM32 主板CAN接口读取IO端口状态。
    程序运行后,可观察到:
    a. LED灯每秒闪一次,发出查询电机IO端口状态指令;
    b. watch 窗口添加观察变量IoStatus,可以观察到IO端口状态变化;
    c. IO端口默认为高电平,用地线触碰IN_1,IN_2 可以看到状态变化;
    在这里插入图片描述

  3. Watch窗口输出输出结果
    在这里插入图片描述
    注: 1-高电平; 0-低电平

第5部分 设置参数示例

5.1 设置电机工作模式

  1. 接线说明
    在这里插入图片描述

  2. 代码说明
    代码功能:STM32 主板通过CAN接口设置工作模式。
    程序运行后,可观察到:
    a. LED灯每秒闪一次,即CAN接口发出设置工作模式指令;
    b. 如果设置成功,LED灯慢闪,可通过屏幕菜单Mode选项,查看设置的工作模式;
    c. 如果设置失败,LED灯快闪。
    在这里插入图片描述

5.2 设置电机工作电流

  1. 接线说明
    接线图同5.1。
  2. 代码说明
    代码功能:STM32 主板通过CAN接口设置工作电流。
    程序运行后,可观察到:
    a. LED灯每秒闪一次,即CAN接口发出设置工作电流指令
    b. 如果设置成功,LED灯慢闪,可通过屏幕菜单Ma选项,查看设置的电流;
    c. 如果设置失败,LED灯快闪。
    在这里插入图片描述

5.3 设置电机工作细分

  1. 接线说明
    接线图同5.1。
  2. 代码说明
    代码功能:STM32 主板通过CAN接口设置工作细分。
    程序运行后,可观察到:
    a. LED灯亮,即CAN接口发出设置细分指令;
    b. 如果设置成功,LED灯慢闪,可通过屏幕菜单MStep选项,查看设置的细分;
    c. 如果设置失败,LED灯快闪。
    在这里插入图片描述

5.4 恢复出厂参数

  1. 接线说明
    接线图同5.1。
  2. 代码说明
    代码功能:STM32 主板通过CAN接口恢复出厂参数。
    程序运行后,可观察到:
    a. LED灯亮,即CAN接口发出恢复出厂参数指令;
    b. 如果恢复成功,LED灯慢闪,屏幕显示“Reload ok”,“Reboot…”,电机会自动重启,需要重新校准电机;
    c. 如果恢复失败,LED灯快闪。
    在这里插入图片描述

第6部分 电机运行示例

6.1 电机速度模式运行

  1. 接线说明
    在这里插入图片描述

  2. 代码说明
    代码功能:STM32 主板通过CAN接口控制电机以速度模式运行。
    注意事项:工作模式设置为SR_vFOC 或者SR_CLOSE
    程序运行后,可观察到:
    a. LED灯亮/灭一次,电机改变一次速度运行,不停循环运行;
    b. 如果运行失败,LED灯快闪;
    在这里插入图片描述

6.2 电机位置模式1-按脉冲数运行

  1. 接线说明
    接线图同6.1。

  2. 代码说明
    代码功能:STM32 主板通过CAN接口控制电机以脉冲数运行。
    注意事项:工作模式设置为SR_vFOC 或者SR_CLOSE
    程序运行后,可观察到:
    a. 电机按设定的脉冲数运行到指定位置(10圈),停止2000ms;
    b. 改变方向,再运行到指定位置(10圈),停止2000ms;
    c. 不停循环运行;
    d. 如果运行失败,LED灯快闪。
    在这里插入图片描述

6.3 电机位置模式2-按相对坐标运行

  1. 接线说明
    接线图同6.1。

  2. 代码说明
    代码功能:STM32 主板通过CAN接口控制电机按相对坐标运行。
    注意事项:工作模式设置为SR_vFOC 或者SR_CLOSE
    程序运行后,可观察到:
    a. 电机按设定的相对坐标(realAxis)运行到指定位置(10圈),停止2000ms;
    b. 相对坐标(realAxis)取反,电机运行到起点位置,停止2000ms;
    c. 不停循环运行;
    d. 如果运行失败,LED灯快闪。
    在这里插入图片描述

6.4 电机位置模式3-按绝对坐标运行

  1. 接线说明
    接线图同6.1。

  2. 代码说明
    代码功能:STM32 主板通过CAN接口控制电机按按绝对坐标运行。
    注意事项:工作模式设置为SR_vFOC 或者SR_CLOSE
    程序运行后,可观察到:
    a. 电机运行到绝对坐标(absoluteAxis=0),停止2000ms;
    b. 电机运行到绝对坐标(absoluteAxis=163840),停止2000ms;
    c. 不停循环运行;
    d. 如果运行失败,LED灯快闪。
    在这里插入图片描述

注:本文同样适合后续产品MKS SERVO28D/35D闭环步进电机
下一篇:《MKS SERVO42&57D 闭环步进电机_系列13 待续》

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

iPhone 15系规格全面出炉,配置大换血看齐安卓旗舰

网上经常有声音说 iPhone 又不行了,产品竞争力不如安卓云云,事实上是这样的吗? 就拿最近 618 智能手机销售情况来看,苹果一家就以 562.8 万部成绩拿下了近一半市场,营收占比更是高达 67%。 来源:Techlnsig…

OpenCV读取一张8位无符号四通道图像并显示

#include <iostream> #include <opencv2/imgcodecs.hpp> #include <opencv2/opencv.hpp> #include

聊聊Compose跨平台与KMM

作者&#xff1a;黄林晴 有许多开发者可能还没有了解过Compose Multiplatform和KMM&#xff0c;那么本次分享将通过以下几点来介绍Compose Multiplatform 与KMM&#xff0c;让我们一起体验Kotlin跨平台的魅力。 Compose Multiplatform 与 KMM的关系Compose Multiplatform 与 K…

RK3588平台开发系列讲解(Camera篇)V4L2 主要特性

文章目录 一、V4L2 介绍1.1、模块化的架构1.2、统一的设备节点1.3、统一的视频数据格式1.4、支持多种视频设备1.5、支持流式 I/O1.6、支持控制参数1.7、支持事件通知二、V4L2使用场景沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章主要讲解V4L2 主要特性。 一、…

赛宁数字孪生靶场:构建验证评估业务的新势能

​​2023年5月1日实施的《关键信息基础设施安全保护要求》中对于关基企业的现有网络安全保障体系提出了更加具体全面的要求&#xff0c;人员、系统、体系是检测评估主要关注的方向。 赛宁数字孪生靶场从验证评估业务的角度出发&#xff0c;借助多云融合能力、多样化仿真能力、…

链式编程艺术:探索 Promise 链的美妙之处

文章目录 1. 什么是 Promise&#xff1f;它解决了什么问题&#xff1f;2. Promise 有哪些状态&#xff0c;并且解释每个状态的含义。3. 如何创建一个 Promise&#xff0c;并描述其基本结构和用法。4. 解释 Promise 的链式调用&#xff08;chaining&#xff09;和方法的执行顺序…

RabbitMQ系列(13)--Direct交换机的简介与实现

1、Direct交换机的介绍 Direct交换机能让消息只发送往绑定了指定routingkey的队列中去&#xff0c;值得注意的是当绑定多个队列的routingkey都相同&#xff0c;则这种情况下的表现与Fanout交换机的类似 2、Direct交换机的实现 (1)新建一个名为fanout的包&#xff0c;用于装发…

QT6在线下载安装慢的问题

由于某“墙”的原因&#xff0c;在国内安装QT是会要了老命的&#xff0c;下载只有几十K&#xff0c;安装QT6保守估计得按天计算了。 经过多次尝试&#xff0c;终于找到了可以“几十MB”速度下载安装的办法。 方法一&#xff1a; qt-unified-windows-x64-4.5.2-online.exe --…

leetcode:移动零

移动零 easy 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0]示例 2: 输入: nums […

回归预测 | MATLAB实现BES-LSSVM秃鹰算法优化最小二乘支持向量机多输入单输出

回归预测 | MATLAB实现BES-LSSVM秃鹰算法优化最小二乘支持向量机多输入单输出 目录 回归预测 | MATLAB实现BES-LSSVM秃鹰算法优化最小二乘支持向量机多输入单输出预测效果基本介绍程序设计参考资料 预测效果 基本介绍 MATLAB实现BES-LSSVM秃鹰算法优化最小二乘支持向量机多输入…

如何用深度强化学习自动炒股

初衷 最近一段时间&#xff0c;受到新冠疫情的影响&#xff0c;股市接连下跌&#xff0c;作为一棵小白菜兼小韭菜&#xff0c;竟然产生了抄底的大胆想法&#xff0c;拿出仅存的一点私房钱梭哈了一把。 第二天&#xff0c;暴跌&#xff0c;俺加仓 第三天&#xff0c;又跌&…

【PCL】(二)CMake编译

&#xff08;二&#xff09;CMake编译 将以下代码写到pcd_write.cpp中&#xff0c;并放到项目/PATH/TO/MY/GRAND/PROJECT/project中。 #include <iostream>#include <pcl/io/pcd_io.h>#include <pcl/point_types.h>intmain (){pcl::PointCloud<pcl::Poin…

黑马头条 作业+解答 day03-自媒体文章发布 自媒体接口

感觉是非常适合新手的练手接口&#xff1b;花了不到半小时吧&#xff0c;主要是因为接口描述很清晰&#xff01; 建议大家仔细自己做了一遍再对照&#xff0c;有更好的写法欢迎留言&#xff01; 1)素材管理 1.1)图片删除 接口描述 说明接口路径/api/v1/material/del_picture/{i…

分布式事务 微服务事务方案和实现 Java分布式事务架构知识点

文章目录 什么是分布式事务分布式的理论的角度看分布式事务的体系刚性事务&#xff1a;柔性事务&#xff1a;两段提交&#xff08;2PC&#xff09;两段提交&#xff08;2PC - Prepare & Commit&#xff09;是指两个阶段的提交&#xff1a;两段提交&#xff08;2PC&#xff…

这些ai自动生成图片软件你值得拥有

小明是一名设计师&#xff0c;最近他接到了一份海报设计的任务。但是&#xff0c;他却发现自己的设计能力有些瓶颈&#xff0c;无法满足客户的需求。就在他苦恼之时&#xff0c;他的朋友小王向他建议了了几款趁手的ai绘画工具&#xff0c;可以帮助它快速绘制出美轮美奂的图片。…

什么是 AOP?对于 Spring IoC 和 AOP 的理解?

什么是 AOP&#xff1f; AOP(Aspect-Oriented Programming)&#xff0c;即 面向切面编程&#xff0c; 它与OOP( ObjectOriented Programming, 面向对象编程) 相辅相成&#xff0c;提供了与OOP 不同的抽象软件结构的视角 在 OOP 中, 我们以类(class)作为我们的基本单元 而 A…

微服务网关SpringCloudGateway实战

目录 微服务网关SpringCloudGateway 1.概述 2.核心概念 快速入门 1.微服务开发 2.网关配置创建一个Gateway服务&#xff0c;引入以下依赖&#xff1a; 微服务网关SpringCloudGateway 1.概述 Spring cloud gateway是spring官方基于Spring 5.0、Spring Boot2.0和Project R…

K8S集群安全升级(CIS CNI Calico)

集群安全升级 1 集群安全升级1.1 环境安全1.1.1 CIS基础1.1.2 测试工具1.1.3 组件测试1.1.4 定制测试1.1.5 测试镜像 1.2 网络安全1.2.1 CNI方案1.2.2 Calico环境1.2.3 Calico部署1.2.4 简单实践1.2.5 BGP实践1.2.6 策略实践1.2.7 流量管控1.2.8 基准测试 1 集群安全升级 1.1 …

怎样成为平面设计师?一文带你快速了解

成为一名优秀的平面设计师需要具备一定的条件和能力&#xff0c;同时也需要与行业的发展趋势保持密切的联系。本文将深入探讨成为一名优秀的平面设计师所需的条件&#xff0c;帮助你成为一名优秀的平面设计师。 1、掌握平面设计工具 是否能熟练掌握设计工具和软件是成为优秀平…

物理层概述(一)

物理层基本概念 在计算机网络中&#xff0c;用来连接计算机的媒体大概可以分为两种&#xff1a; 1.导引型传输媒体 双绞线&#xff0c;同轴电缆&#xff0c;光纤 2.非导引型传输媒体 微波通信&#xff08;2~40GHz&#xff09; 物理层协议的主要任务&#xff1…