0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于步进电机三种加速曲线分析

西西 来源:博客园 作者:小唐的博客 2020-10-05 17:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

STM32F103ZET6微控制器

步进电机的转速由由输出给驱动器的PWM频率而定,使用MCU的一个定时器TIM2_CH1)输出占空比 D=50% 的脉冲。

定时器的时钟频率为72MHz,分频后8Mhz,于是输出PWM的最低频率大约为120Hz。

假定需要在时间 t 内运行 θ 角度,根据驱动器的细分数,齿轮传动比等可以算出所需要的脉冲数 pls_cnt。

1.双曲线加速

刚开始的想法是,前半程加速,后半程减速,加减速时间间隔为 delta_t,由另一定时器的中断周期而定,在定时器ISR里面对频率进行调整,便能让电机平滑地起停。

但是我并不能直接改变输出PWM的频率 freq,能直接改变的只是定时器的自动重载值 period,freq 和 period 之间显然是双曲线的关系:

关于步进电机三种加速曲线分析

其中 tim_freq = 8MHz,

关于步进电机三种加速曲线分析

让 period 线性化,结果导致 freq 呈双曲线变化,加速过程很慢,减速很快,实验现象也是如此,而且这个过程的时间也不好控制。

2.线性加速曲线

要让 freq 线性化,首先确定 freq 的范围,freq_min 我设定为300Hz,freq_max 因该就是这段行程平均速度的2倍了:

关于步进电机三种加速曲线分析

在 [freq_min, freq_max] 内将 freq 线性化:

freq = linspace(freq_min, freq_max, t/delta_t);

然后算出 period:

period = tim_freq 。/ freq;

减速过程的可以将数组其反过来:

1period = [period, fliplr(period)];

可以得到如下的频率曲线:

关于步进电机三种加速曲线分析

实验中电机的加减速还算比较平滑,精度也还可以。

3.S形加速曲线

既然可以用线性加速曲线,那应该可以用更为平滑的加速曲线,在印象中S形曲线是非常平滑的,会得到速度连续,加速度也连续的调速过程。于是用S形曲线再试试。

Sigmoid函数的原型我想是这样子的:

关于步进电机三种加速曲线分析

绘出其在[-5, 5]上的图形:

关于步进电机三种加速曲线分析

这里选择[-5, 5]这段曲线比较合适,加速过程可能有点长,如有要求可以选择[-4, 4]。

然后将其变成我想要的样子:

起始点增益,也就是最低频率:freq_min;

最大增益,也就是最高频率:freq_max;

横轴范围:0~t;

对横坐标做平移变换,然后伸缩变换,再对纵坐标做伸缩变换便得到下式:

关于步进电机三种加速曲线分析

由于在0~t时间段内,指数项不可能为∞,所以起始频率要略高于 freq_min,指数项也不可能为0,所以最高频率要略低于 freq_max。

变换后得到的图像可能是这样:

关于步进电机三种加速曲线分析

其中 t:0~4s,freq_min = 300Hz, freq_max = 1kHz。

上式中 freq_min 可以自己先给定,这样还有一个参数 freq_max,需要确定。

在 0~t 时间段内运动 θ 角度,那么:

这样S形曲线便确定了,然后再算出 period 数组即可。减速过程同样的可以将数组反过来,例如:

实验中S形曲线自然是最为平滑的,精度不算太好,如有可能的话,可用编码器进行修正。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    49

    文章

    8880

    浏览量

    165732
  • 步进电机
    +关注

    关注

    153

    文章

    3271

    浏览量

    152765
  • 定时器
    +关注

    关注

    23

    文章

    3373

    浏览量

    124556
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    一块开发板搞定步进、伺服、直流三种电机?TMC9660-STP合一驱动方案!

    一块开发板搞定步进伺服直流三种电机TMC9660-STP合一驱动方案当你手边同时有步进电机、无
    的头像 发表于 04-20 15:02 103次阅读
    一块开发板搞定<b class='flag-5'>步进</b>、伺服、直流<b class='flag-5'>三种</b><b class='flag-5'>电机</b>?TMC9660-STP<b class='flag-5'>三</b>合一驱动方案!

    步进电机“啸叫”的真相:搞懂这3个原因,选型比调参更有效

    实验室里,步进电机发出的高频尖啸声,相信不少工程师都经历过。我们往往下意识地打开代码,开始调整速度曲线、修改细分设置、反复尝试不同的电流衰减模式——希望下一次烧录后,那个恼人的声音能消失。在开始第
    的头像 发表于 04-01 14:31 361次阅读
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b>“啸叫”的真相:搞懂这3个原因,选型比调参更有效

    电机加减速曲线控制的选择

    电机加减速曲线的选择,本质上是在 平滑性、响应速度和系统复杂性 之间做权衡。没有一曲线是万能的,最合适的取决于你的负载特性和性能要求。 下面是三种
    的头像 发表于 03-16 16:41 320次阅读
    <b class='flag-5'>电机</b>加减速<b class='flag-5'>曲线</b>控制的选择

    步进电机空载时发热大还是带载时发热大?原因分析

    步进电机作为一将电脉冲信号转换为角位移的执行机构,广泛应用于自动化控制领域。关于其空载与带载工况下的发热问题,需要从工作原理、能量转换机制和实际应用场景等多个维度进行综合
    的头像 发表于 03-12 16:51 334次阅读
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b>空载时发热大还是带载时发热大?原因<b class='flag-5'>分析</b>

    关于两相、相及五相步进电机的区别

    步进电机在构造上有三种主要类型:反应式(Variable Reluctance,VR)、永磁式(Permanent Magnet,PM)和混合式(Hybrid Stepping,HS)。
    的头像 发表于 03-04 10:51 1118次阅读
    <b class='flag-5'>关于</b>两相、<b class='flag-5'>三</b>相及五相<b class='flag-5'>步进</b><b class='flag-5'>电机</b>的区别

    关于步进电机脉冲和步距角相关的问题

    步进电机作为一将电脉冲信号转换为角位移或线位移的执行元件,其核心控制参数——脉冲与步距角的关系直接决定了系统的精度与动态性能。要深入理解这一机制,需从步进
    的头像 发表于 02-27 16:49 601次阅读
    <b class='flag-5'>关于</b><b class='flag-5'>步进</b><b class='flag-5'>电机</b>脉冲和步距角相关的问题

    步进电机发热问题及对策

    步进电机作为一将电脉冲信号转换为角位移或线位移的开环控制元件,在自动化设备、3D打印机、数控机床等领域应用广泛。然而在实际使用过程中,电机发热问题始终困扰着工程师和技术人员。过高的
    的头像 发表于 02-18 07:33 6152次阅读
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b>发热问题及对策

    TMC4361A:实现步进电机S形曲线高速平稳运行!

    效的运动控制的。TMC4361A是一款高度集成的小型运动控制芯片,专为步进电机驱动设计。它不仅支持经典的梯形速度曲线,更内置了S形斜坡和SixPoint斜坡发生器,
    的头像 发表于 02-05 15:24 411次阅读
    TMC4361A:实现<b class='flag-5'>步进</b><b class='flag-5'>电机</b>S形<b class='flag-5'>曲线</b>高速平稳运行!

    ‌DRV8805单极性步进电机驱动IC技术文档总结

    该DRV8805为驱动单极步进电机提供了集成解决方案。它 包括四个具有过流保护的低侧驱动器,并提供内置二极管进行箝位 电机绕组产生的关断瞬变。 使用简单的步进/方向接口控制单极
    的头像 发表于 10-20 13:44 793次阅读
    ‌DRV8805单极性<b class='flag-5'>步进</b><b class='flag-5'>电机</b>驱动IC技术文档总结

    伺服电机三种制动方式有什么区别?

    伺服电机作为自动化控制系统中执行元件的核心部件,其制动性能直接影响设备的定位精度和安全可靠性。目前主流的伺服电机制动方式包括动态制动、再生制动和电磁机械制动三种,它们在制动原理、应用场景及技术特点上
    的头像 发表于 09-19 18:26 2237次阅读
    伺服<b class='flag-5'>电机</b>的<b class='flag-5'>三种</b>制动方式有什么区别?

    三种SPWM波形生成算法的分析与实现

    摘要:变频技术作为现代电力电子的核心技术,集现代电子、信息和智能技术于一体。而SPW(正弦波脉宽调制)波的产生和控制则是变频技术的核心之一。本文对SPI波形生成的三种算法-对称规则采样法、不对称规则
    发表于 07-31 13:34

    同步电机步进运动性能分析

    对同步电动机采用步进控制,模拟仿真该动态下电机各种参数对性能的影响,同时提出如何选取初值和确定合适的参数。 纯分享帖,需要者可点击附件免费获取完整资料~~~*附件:同步电机步进运动性能
    发表于 06-20 17:38

    升降速曲线对直线电机系统性能影响的研究

    摘要:对一次速度曲线升降速,二次速度曲线升降速,次速度曲线升降速以及角函数速度曲线升降速
    发表于 06-17 08:48

    二相步进电机驱动电路的设计

    介绍了BYG通用系列二相步进电机最常采用的的单极性和双极性2驱动电路的设计方案,从原理上体现了一相步进电机的控制方法,增加了
    发表于 05-28 15:38

    实时生成步进电机速度曲线

    用于步进电机加速度的新算法可以实现速度曲线的实时参数化和计算。该算法可以在低端微控制器上运行,只使用简单的定点算术运算并且不使用数据表。
    发表于 05-14 15:09