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

    文章

    7545

    浏览量

    151325
  • 步进电机
    +关注

    关注

    150

    文章

    3109

    浏览量

    147445
  • 定时器
    +关注

    关注

    23

    文章

    3246

    浏览量

    114730
收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

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

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

    步进电机如何实现调速

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

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

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

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

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

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

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

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

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

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

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

    步进电机的特性有哪些

    步进电机是一将电脉冲信号转换为机械角位移的执行机构。它的工作原理是基于电磁学原理,通过控制电流在电机线圈中的变化来产生磁场,从而驱动转子旋转。步进
    的头像 发表于 02-06 09:33 969次阅读
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b>的特性有哪些

    运动控制的三种控制方式

    非标项目中有非常多的运动控制,根据系统配置、电机类型以及精度需求的不同主要有三种控制方式:开环控制、半闭环控制、全闭环控制。
    的头像 发表于 01-23 09:48 1471次阅读
    运动控制的<b class='flag-5'>三种</b>控制方式

    步进电机控制方法 步进电机和伺服电机的区别

    步进电机控制方法 步进电机是一将电信号转化为机械转动的电动机,其输出转角是按照电脉冲控制信号的变化而变化的。
    的头像 发表于 01-22 17:18 1152次阅读

    arduino如何驱动步进电机

    随着物联网的不断发展,电机控制技术得到了广泛应用,其中步进电机作为一常见的电机类型,在各行各业中得到了广泛应用。而作为一
    的头像 发表于 01-14 16:37 3632次阅读

    异步电机主要的三种调速方法解析

    异步电机主要的三种调速方法解析
    的头像 发表于 01-07 17:50 2390次阅读
    异步<b class='flag-5'>电机</b>主要的<b class='flag-5'>三种</b>调速方法解析