第六节、S曲线加减速转动【51单片机-TB6600驱动器-步进电机教程】

news2025/1/11 3:50:47

摘要:本节介绍步进电机S曲线加减速方法,包含了一般形式S曲线方程的推导,以其适配51单片机+TB6600驱动器S曲线运动数据的生成。本节所述S曲线均为标准Sigmod曲线的简称,与其他算法所述的7段式S曲线或者5段式S曲线相比,二者本质属于不同的算法
步进电机加减速通常的处理方式有S曲线加减速、T型加减速、指数曲线加减速、正余弦曲线加减速等,最具代表性的为前两种,下面详细介绍这两种控制方法
在这里插入图片描述
一、 S曲线方程
1.1 S曲线基本形式
y = 1 1 + e − x y=\frac{1}{1+e^{-x} } y=1+ex1
在这里插入图片描述

1.2 S曲线经过平移、缩放后,可以使其经过任意不同两点(X1,Y1),(X2,Y2)且中心对称,示意图及方程如下
y = K 1 + e − ( x − A ) N ( N ≠ 0 , K ≠ 0 ) y=\frac{K}{1+e^{\frac{-(x-A)}{N} } } (N≠0,K≠0) y=1+eN(xA)K(N=0K=0)

N:X轴方向比例变换系数
K:Y轴方向比例变换系数
A:X轴方向平移系数
B:Y轴方向平移系数

N由用户自行设定,作为调节S曲线平滑度参数
在这里插入图片描述

二、步进电机S曲线加减速
将X轴作为时间轴,Y轴作为速度轴,S曲线经过(0,w0),(tn,w1)两点,如果w0<w1,即为S曲线加速图像,如果w0>w1即为减速图像,下面以加速为例进行介绍
在这里插入图片描述
根据位移公式可以得到如下两个方程
a n g l e n = n ∗ s t e p X … … ① angle_{n} =n*\frac{step}{X} ……① anglen=nXstep……
a n g l e n = ∫ 0 t n f ( t ) d t … … ② angle_{n} =\int_{0}^{tn}f(t)\mathrm{d}t ……② anglen=0tnf(t)dt……

f(t):中心对称的S曲线方程
angle_n: 第n步转过的角度
step:步距角
X: 驱动器细分值

其中S曲线的f(t)方程较为复杂,不容易求得原函数,直接积分较为困难,故采用数值积分的方式求得tn(n=1、2、3……n),相邻两步之间的时间差值△tn= tn- t(n-1)即为步进电机两步之间的时间间隔,也是单片机的定时器的定时时间,即实现Sigmod曲线加减速。其具体计算过程为纯数值计算领域的内容,此处不展开讲述,关键词条:辛普森积分

三、生成器介绍
加速过程、减速过程数组生成如下
在这里插入图片描述
在这里插入图片描述
四、测试
烧录hex文件后,单片机上电,步进电机在起步90°内,速度从30RPM增加到500RPM,随后持续匀速转动
请添加图片描述

五、功能扩展
扩展1:
① 增加S曲线减速过程,程序上电后,电机按照S曲线加速-匀速-S曲线减速过程,转动720°
请添加图片描述

扩展2:(实测视频见文末百度网盘)
① 增加4个按键,控制电机启动、方向、角度加、角度减
② 增加数码管,显示信息

扩展3:(实测视频见文末百度网盘)
① 增加4个按键,控制电机启动、方向、角度加、角度减
② 增加数码管,显示信息
③ 增加光电开关,上电后步进电机自动回零点

扩展4:(实测视频见文末百度网盘)
① 增加4个按键,控制电机启动、方向、角度加、角度减
② 增加1602LCD,显示信息

扩展5:(实测视频见文末百度网盘)
① 增加4个按键,控制电机启动、方向、角度加、角度减
② 增加数码管,显示信息
③ 增加1602LCD,上电后步进电机自动回零点

五.总结
该S曲线算法优点是加减速过程十分平滑,产生的冲击较小,缺点是加减速过程固定,适用于大角度转动且加减速可以固化的场景,例如:丝杠滑台运输物料等场景,对于在使用过程中需要反复调整加减速的场景不适用

六、附件
Hex测试程序+测试视频请见百度网盘
链接: https://pan.baidu.com/s/1-3fxN9FEJl6fnrPyxUyNtg
提取码: 1x29

Keil源码请见某宝,搜索:【皮皮黄步进电机】

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

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

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

相关文章

【青牛科技】拥有两个独立的、高增益、内部相位补偿的双运算放大器,可适用于单电源或双电源工作——D4558

概述&#xff1a; D4558内部包括有两个独立的、高增益、内部相位补偿的双运算放大器&#xff0c;可适用于单电源或双电源工作。该电路具有电压增益高、噪声低等特点。主要应用于音频信号放大&#xff0c;有源滤波器等场合。 D4558采用DIP8、SOP8的封装形式 主要特点&#xff…

chrome使用问题记录

1. http自动跳转https问题 step1. 地址栏输入&#xff1a; chrome://net-internals/#hsts step2. 找到底部Delete domain security policies一栏&#xff0c;输入想处理的域名&#xff0c;点击delete。 注意&#xff1a;输入域名时去掉前缀http step3. 搞定了&#xff0c;再…

【深度学习】手机SIM卡托缺陷检测【附链接】

一、手机SIM卡托用途 SIM卡托是用于固定和保护SIM卡的部件&#xff0c;通过连接SIM卡与手机主板的方式&#xff0c;允许设备访问移动网络&#xff0c;用户可以通过SIM卡进行通话、发送短信和使用数据服务。 二、手机SIM卡托不良影响 SIM卡接触不良&#xff0c;造成信号中断&…

从Web3到智能合约:探索新一代数据交互模式

随着互联网技术的不断演进&#xff0c;Web3的到来标志着互联网的一个新纪元。与传统的Web2相比&#xff0c;Web3倡导去中心化、更加开放和透明的网络架构&#xff0c;而智能合约则是其中的核心技术之一。本文将介绍Web3与智能合约的概念、应用以及它们如何改变数据交互模式&…

嵌入式Linux,标准I/O探究,I/O缓冲,以及函数讲解

出于速度和效率的考虑&#xff0c;系统 I/O 调用&#xff08;即文件 I/O &#xff0c; open 、 read 、 write 等&#xff09;和标准 C 语言库 I/O 函数&#xff08;即标准 I/O 函数&#xff09;在操作磁盘文件时会对数据进行缓冲。 1. 文件 I/O 的内核缓冲 read() 和…

从单体到微服务:如何借助 Spring Cloud 实现架构转型

一、Spring Cloud简介 Spring Cloud 是一套基于 Spring 框架的微服务架构解决方案&#xff0c;它提供了一系列的工具和组件&#xff0c;帮助开发者快速构建分布式系统&#xff0c;尤其是微服务架构。 Spring Cloud 提供了诸如服务发现、配置管理、负载均衡、断路器、消息总线…

服务器数据恢复—LINUX下各文件系统删除/格式化的数据恢复可行性分析

Linux操作系统是世界上流行的操作系统之一&#xff0c;被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统&#xff08;EXT2/EXT3/EXT4/Reiserfs/Xfs&#xff0…

<future> 注释3:conditional_t<T...>,void_t<T> 用于构成特化模板,

&#xff08;14&#xff09; 模板 conditional_t<T…> &#xff0c;定义于 < xtr1common > &#xff0c; 在本 模板里也会用到&#xff1a; &#xff08;15&#xff09;void_t 用于构成特化模板&#xff0c;只要 T 可以被编译器推断为某种类型&#xff0c;void_t 就…

一文速读:高速信号的完整性测试

随着人工智能的飞速发展&#xff0c;云计算的大量应用&#xff0c;汽车的电动、网联、智能化等催生高速互连器件行业技术变革和市场巨量增长。 从形态上来讲高速互连器件包括:高速线缆&#xff0c;连接器&#xff0c;高速背板和其他带高速接口的 PCB 板。从信号特征上来讲&…

Neo4j (desktop) 使用记录

1. neo4j community 使用 第一次使用Neo4j&#xff0c;根据网上的教程安装并配置了community版本&#xff0c; 在终端使用 neo4j.bat console 可以正常打开网页端 但是&#xff0c; 使用 neo4j start , neo4j stop 时会提示 ‘neo4j’ 时非法指令&#xff0c;无法识别 查明原…

关于信号隔离转换器

isolate converter是隔离转换器‌。它是一种在电子电路中用于实现电路隔离、电压转换或信号隔离的设备‌。隔离转换器能在很多场合发挥关键作用&#xff0c;比如可以保护电路、提高安全性&#xff0c;还能帮助不同电压或信号之间的转换与传递‌。 ‌一、产品概述‌ ‌简介‌&a…

如何通过自学成长为一名后端开发工程师?

大家好&#xff0c;我是袁庭新。最近&#xff0c;有星友向我提出了一个很好的问题&#xff1a;如何通过自学成为一名后端开发工程师&#xff1f; 为了解答这个疑问&#xff0c;我特意制作了一个视频来详细分享我的看法和建议。 戳链接&#xff1a;如何通过自学成长为一名后端开…

基于“微店 Park”模式下 2+1 链动模式商城小程序的创新发展与应用研究

摘要&#xff1a;本文以“微店 Park”从“开店工具”向“众创平台”的转型为背景&#xff0c;深入探讨 21 链动模式商城小程序在该平台情境下的应用潜力与创新发展路径。通过剖析“微店 Park”的运营模式&#xff0c;包括灵活承租、低成本入驻、多元流量引流等特点&#xff0c;…

[代码随想录09]字符串2的总结

前言 处理字符串主要是有思路&#xff0c;同时总结方法。 题目链接 151. 反转字符串中的单词 - 力扣&#xff08;LeetCode&#xff09; 55. 右旋字符串&#xff08;第八期模拟笔试&#xff09; 一、翻转字符串里的单词 这个题目的主要思路&#xff0c;代码采用从后往前遍历字…

海外的bug-hunters,不一样的403bypass

一种绕过403的新技术&#xff0c;跟大家分享一下。研究HTTP协议已经有一段时间了。发现HTTP协议的1.0版本可以绕过403。于是开始对lyncdiscover.microsoft.com域做FUZZ并且发现了几个403Forbidden的文件。 &#xff08;访问fsip.svc为403&#xff09; 在经过尝试后&#xff0…

【STM32 Modbus编程】-作为主设备读取保持/输入寄存器

作为主设备读取保持/输入寄存器 文章目录 作为主设备读取保持/输入寄存器1、硬件准备与连接1.1 RS485模块介绍1.2 硬件配置与接线1.3 软件准备2、读保持寄存器2.1 主设备发送请求2.2 从设备响应请求2.3 主机接收数据3、读输入寄存器4、结果4.1 保持寄存器4.2 输入寄存器在前面的…

数字图像处理 实验三 数字图像的几何运算

一、实验目的 掌握图像的基本几何变换的方法 1. 图像的平移 2. 图像的旋转 二、实验环境 1. PC计算机 2. MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox) 3. 实验所需要的图片 三、实验原理 提示&#xff1a;图片平移就是实现运算 四、实验图像 图片名称&a…

卷积神经网络比于全连接神经网络强在哪?

卷积神经网络&#xff08;Convolutional Neural Networks&#xff0c;简称CNN&#xff09;与全连接神经网络&#xff08;Fully Connected Neural Networks&#xff0c;简称FFNN&#xff09;是深度学习和神经网络领域中两种最为常见的网络结构。两者在结构、工作原理及应用场景上…

超融合承载 PostgreSQL 数据库和 AI 系统的性能评测|金融行业实践

随着人工智能技术的日渐成熟&#xff0c;不少金融用户也开发了自己的 AI 应用系统&#xff0c;协助实际业务中诸如文字识别、图像转换、信息录入等工作&#xff0c;提升业务效率。不过&#xff0c;AI 应用系统普遍依赖 GPU 提供强大算力&#xff0c;对底层存储的性能也有较高的…

VBA信息获取与处理第四个专题第二节:将工作表数据写入VBA数组

《VBA信息获取与处理》教程(版权10178984)是我推出第六套教程&#xff0c;目前已经是第一版修订了。这套教程定位于最高级&#xff0c;是学完初级&#xff0c;中级后的教程。这部教程给大家讲解的内容有&#xff1a;跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互…