5-3、S曲线生成器【51单片机+L298N步进电机系列教程】

↑↑↑点击上方【目录】,查看本系列全部文章

摘要:本节介绍步进电机S曲线生成器的计算以及使用

一.计算原理
根据上一节内容,已经计算了一条任意S曲线的函数。在步进电机S曲线加减速的控制中,需要的S曲线如图1所示,横轴为时间,纵轴为角速度,其中w0为起始角速度,w1为终止角速度
在这里插入图片描述
在S曲线加减速控制中,加减速的角度是已知的,根据第五节内容公式③,已经计算了角度与步数的函数关系式为下式
在这里插入图片描述
根据第五节内容公式⑥,已经计算了定时器初值与速度的函数关系式为下式,其中速度变量n的单位为RPM
在这里插入图片描述
将图1的横轴变换为步数,纵轴变换的转速(RPM)后,得到图2关系图
在这里插入图片描述
根据第五节内容公式⑤,S曲线的函数为下式,其中该S曲线的起点P1与终点P2坐标分别为(1,n0), (step_num,n1),带入公式后即可求得K,B值,曲线方程即计算完成。然后计算从第一步到最后一步对应的定时器C值,即可求得S曲线加减速对应的数组表,在单片机控制过程中,调用该表格数据即可。(补充说明:为简化计算此处X轴步数采用均分,实际情况应该是前疏后密,后续有空余时间再补充严格计算方法)
在这里插入图片描述
优点是计算过程提前计算好,不消耗单片机可怜的算力,缺点是加减速较为固定,灵活程度不足,下面给出具体的S曲线生成器

二.S曲线生成器介绍
曲线参数栏包含电机转动的角度、起始速度、终止速度、平滑度,其中最后一项是曲线的对称性,默认生成的曲线是中心对称曲线,取消勾选后,可以调整曲线左右偏移量,实现非对称加减速的效果
硬件参数栏包含硬件对应参数,参考数据栏包含该段曲线电机的转动步数及时间,并计算了电机速度的可设置范围
左侧文本框为生成的数组结果,生成后复制到单片机程序使用,中部生成对应的S曲线
在这里插入图片描述

三、附件
S曲线生成器百度网盘下载链接:
链接:https://pan.baidu.com/s/1Nki_p_jxiFhb65wco6l8EA
提取码:ur9g

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

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

相关文章

QML用ListView实现带section的GridView

QML自带的GridView只能定义delegate,没有section,类似手机相册带时间分组标签的样式就没法做。最简单的方式就是组合ListViewGridView,或者ListViewFlow,但是嵌套View时,子级View一般是完全展开的,只显示该…

【VUE】UniAPP之uview组件库,自定义tag封装,支持添加u-icon图标

组件代码 <template><view class"tag" :class"[props.mode, props.shape]"><slot name"left"><!-- icon图标 没有传入图标时不显示 --><u-icon v-if"props.icon ! " :name"props.icon" :color&…

【数据分享】1929-2023年全球站点的逐月平均能见度(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、能见度等指标&#xff0c;说到气象数据&#xff0c;最详细的气象数据是具体到气象监测站点的数据&#xff01; 之前我们分享过1929-2023年全球气象站点的逐月平均气温数据、逐月最高气温数据…

说说vue的diff算法

Vue的diff算法 是什么比较方式 – 深度优先&#xff0c;同层比较 比较只会在同层级进行&#xff0c;不会跨层级比较比较的过程中&#xff0c;循环从两边向中间收拢 diff 算法更新的例子原理分析 patchpatchVnodeupdateChildren 小结 Vue的diff算法 此文章&#xff0c;来源于印…

Could not connect to Redis at 127.0.0.1:6379:由于目标计算机积极拒绝,无法连接...问题解决方法之一

一、问题描述 将Redis压缩包解压后&#xff0c;安装Redis过程中出现问题Could not connect to Redis at 127.0.0.1:6379:由于目标计算机积极拒绝&#xff0c;无法连接... 官网windows下redis开机自启动的指令如下&#xff1a; 1、在redis目录下执行 redis-server --service-in…

Java面向对象 创建类 创建对象

目录 创建类类的属性类的方法实例分析 创建对象创建Test类测试分析 创建类 类的属性 属性用于定义该类或该类对象包含的数据或者说静态特征。属性作用范围是整个类体。 属性定义格式&#xff1a; [修饰符] 属性类型 属性名 [默认值] ;类的方法 方法用于定义该类或该类实例…

释放资源的方式

try - catch - finally finally代码区的特点&#xff1a;无论try中的程序是正常执行力&#xff0c;还是出现了异常&#xff0c;最后都一定会执行finally区&#xff0c;除非JVM终止。 作用&#xff1a;一般用于在程序执行完成后进行资源的释放操作&#xff08;专业级做法&#x…

用 Delphi 程序调用 Python 代码画曲线图

用 Python 的库画图 Python 代码如下&#xff1a; import matplotlib.pyplot as pltsquares [1, 4, 9, 16, 25]; plt.plot(squares); plt.grid(True) # 网格线 plt.show(); # 这句话会弹出个窗口出来&#xff0c;里面是上述数据的曲线。 把以上代码&#xff0c;放进 PyS…

对于模糊查询的SQL,怎么优先返回等值记录

说明&#xff1a;记录一次SQL改进的方法&#xff0c;希望能对大家有启发。 场景 前端项目有一个输入框&#xff0c;根据输入的银行名称&#xff0c;去模糊查询对应的数据库表&#xff0c;返回结果集&#xff0c;显示到下拉列表中。 因为银行名称字段包括了分行名&#xff0c…

如何进行游戏服务器的负载均衡和扩展性设计?

​在进行游戏服务器的负载均衡和扩展性设计时&#xff0c;需要考虑多个方面&#xff0c;以确保服务器的稳定性和可扩展性。以下是一些关键的步骤和考虑因素&#xff1a; 负载均衡的需求分析 在进行负载均衡设计之前&#xff0c;需要深入了解游戏服务器的负载特性和需求。这包括…

DevOps落地笔记-15|混沌工程:通过问题注入提高系统可靠性

上一课时介绍了通过搭建一套部署流水线&#xff0c;高效、可靠的将软件部署到测试环境以及生产环境。到目前为止&#xff0c;我们学习了从用户需求到软件部署到生产环境交付给用户的全过程。随着软件工程不断发展&#xff0c;近几年&#xff0c;出现了一种新的实践&#xff0c;…

idea(2023.3.3 ) spring boot热部署,修改热部署延迟时间

1、添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional> </dependency>载入依赖 2、设置编辑器 设置两个选项 设置热部署更新延迟时…