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

    文章

    7668

    浏览量

    152254
  • 步进电机
    +关注

    关注

    152

    文章

    3121

    浏览量

    147941
  • 定时器
    +关注

    关注

    23

    文章

    3256

    浏览量

    115516
收藏 人收藏

    评论

    相关推荐

    行星减速步进电机步进电机的区别

    步进电机是一将电脉冲信号转变为角位移或线位移的开环控制电机。其工作原理是通过电子电路将直流电分为多相序控制电流,使用这种电流给步进
    的头像 发表于 11-16 15:11 442次阅读
    行星减速<b class='flag-5'>步进</b><b class='flag-5'>电机</b>与<b class='flag-5'>步进</b><b class='flag-5'>电机</b>的区别

    步进电机如何自适应控制?步进电机如何细分驱动控制?

    步进电机是一将电脉冲信号转换为角位移或线位移的电机,广泛应用于各种自动化控制系统中。为了提高步进电机
    的头像 发表于 10-23 10:04 853次阅读

    步进电机转速怎么控制高低

    步进电机是一将电脉冲信号转换为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当
    的头像 发表于 10-22 15:55 808次阅读

    什么是混合式步进电机?举例分析

    在工业自动化和精密控制领域,步进电机因其精确的步进控制和易于实现的开环控制而广受欢迎。步进电机主要分为两大类:永磁式
    的头像 发表于 10-22 13:48 509次阅读

    步进电机伺服控制系统的作用

    步进电机伺服控制系统是一精密的电机控制系统,它通过精确控制电机步进角度来实现对机械运动的精确
    的头像 发表于 09-04 09:46 834次阅读

    步进电机型号与步进电机命名规则

    混合式步进电机代码:SM。 系列代码:H、高性能二相步进电机;C、步进
    的头像 发表于 08-26 09:42 286次阅读
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b>型号与<b class='flag-5'>步进</b><b class='flag-5'>电机</b>命名规则

    丝杆步进电机步进电机有什么区别?

    丝杆步进电机步进电机的区别收集整理于网络,仅供学习参考。丝杆步进电机
    的头像 发表于 08-23 10:09 543次阅读

    如何改变步进电机方向的方法

    步进电机作为一精密的控制电机,其方向控制对于许多应用至关重要。本文将详细介绍几种改变步进电机
    的头像 发表于 06-14 09:56 3012次阅读

    步进电机如何实现调速

    步进电机调速是实现精确控制和高效运行的关键技术之一。本文将详细介绍步进电机的调速原理、方
    的头像 发表于 06-12 09:19 900次阅读

    研控8线步进电机最简单个步骤

    步进电机是一将电脉冲信号转换为机械角位移的电机,广泛应用于各种自动化设备和机器人中。研控8线步进电机
    的头像 发表于 06-12 09:16 1429次阅读

    反应式、永磁式、混合式步进电机的区别

      步进电机作为一能够精确控制位置和速度的执行元件,在工业自动化、机器人技术、精密测量等领域有着广泛的应用。根据设计原理和结构特点,步进电机
    的头像 发表于 06-06 14:12 2510次阅读

    为什么步进电机要加驱动器

    步进电机作为一能够实现精确位移控制的电机类型,在工业自动化、精密测量、数控机床等领域得到了广泛应用。然而,步进
    的头像 发表于 06-05 17:30 1750次阅读

    伺服电机常用的三种控制模式有哪些

    伺服电机是一高精度、高响应速度的电机,广泛应用于自动化设备、机器人、数控机床等领域。伺服电机的控制模式对于整个系统的稳定性、精度和性能至关重要。本文将详细介绍伺服
    的头像 发表于 06-05 15:51 6107次阅读

    放大电路有哪三种基本分析方法?举例说明

    放大电路是电子电路的重要组成部分,它起到放大信号的作用。在设计和分析放大电路时,有三种基本的分析方法:传输特性分析、小信号分析和大信号
    的头像 发表于 02-25 15:56 3475次阅读

    什么是步进电机的细分控制?步进电机为什么要细分,如何细分?

    什么是步进电机的细分控制?步进电机为什么要细分,如何细分? 步进电机的细分控制是一
    的头像 发表于 02-18 09:39 8132次阅读