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形曲线自然是最为平滑的,精度不算太好,如有可能的话,可用编码器进行修正。

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

    关注

    48

    文章

    8265

    浏览量

    162748
  • 步进电机
    +关注

    关注

    152

    文章

    3221

    浏览量

    151623
  • 定时器
    +关注

    关注

    23

    文章

    3361

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    ‌DRV8711 步进电机控制器技术文档总结

    DRV8711器件是一个步进电机控制器,它使用外部 N 沟道 MOSFET 驱动一个双极步进电机或两个有刷直流电机。集成了微
    的头像 发表于 10-17 15:09 627次阅读
    ‌DRV8711 <b class='flag-5'>步进</b><b class='flag-5'>电机</b>控制器技术文档总结

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

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

    刹车步进电机的特点

    刹车步进电机作为一结合了步进电机精确控制与制动功能的特种电机,其独特的设计和工作原理使其在需要
    的头像 发表于 04-25 15:34 1136次阅读
    刹车<b class='flag-5'>步进</b><b class='flag-5'>电机</b>的特点

    redis三种集群方案详解

    在Redis中提供的集群方案总共有三种(一般一个redis节点不超过10G内存)。
    的头像 发表于 03-31 10:46 1309次阅读
    redis<b class='flag-5'>三种</b>集群方案详解

    GaN、超级SI、SiC这三种MOS器件的用途区别

    如果想要说明白GaN、超级SI、SiC这三种MOS器件的用途区别,首先要做的是搞清楚这三种功率器件的特性,然后再根据材料特性分析具体应用。
    的头像 发表于 03-14 18:05 2271次阅读

    网络笔记分享-实时生成步进电机速度曲线

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

    步进电机的控制实现方法

          步进电机,作为一将电脉冲信号转换为相应角位移或线位移的电动机,是现代数字控制系统中不可或缺的重要组件。其工作原理基于电磁学原理,通过接收数字控制信号(电脉冲信号)并转化为机械位移,
    的头像 发表于 01-21 16:43 2336次阅读
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b>的控制实现方法

    中空轴步进电机概述

    中空轴步进电机是一特殊设计的步进电机,其核心工作原理基于电磁感应定律。当导线线圈中的电流发生变化时,会在其周围产生磁场,这个磁场会对附近的
    的头像 发表于 01-06 15:06 1599次阅读
    中空轴<b class='flag-5'>步进</b><b class='flag-5'>电机</b>概述

    步进电机的详解解答

    步进电机,别名脉冲马达,是一将电脉冲信号转变为角位移或线位移的开环控制电机。它是现代数字程序控制系统中的主要执行元件,广泛应用于数控机床、智能仪器和自动控制等领域。
    的头像 发表于 12-29 09:41 1623次阅读