文章目录
前言
提示:这里可以添加本文要记录的大概内容:
提示:以下是本篇文章正文内容,下面案例可供参考
一、步进电机
步进电机一般由前后端盖、轴承、中心轴、转子铁芯、定子铁芯、定子组件、波纹垫圈、螺钉等部分组成,与直流电机不同的是,步进电机内部有很多线圈在定子上用来产生磁场,中间是一个永磁体,会随着外部线圈磁场的不断变化持续转动。
二、步进电机的分类与驱动
1.步进电机的相与极
步进电机的“相”表明步进电机有几个线圈,也称为绕组;“极性”则分为单极性和双极性这两种。区别单极性与双极性主要是看线圈能不能双向导电,即电流是否既能从线圈某个端口进入或者出来。下图分别是两相四线双极性和两相五线单极性步进电机。
2.步进电机的驱动与细分
前文提到过步进电机的转子是一个永磁铁,我们需要控制定子的磁场变化才能使步进电机转动。步进电机的驱动方式主要分为全步、半步、微步。
全步驱动
半步驱动
从图中可以看出全步驱动电流改变了四次(即一个小循环为四拍),半步驱动电流改变了八次(即一个小循环为八拍)。
在没有使用驱动芯片的前提下,我使用的是全步工作方式。观察电流时序会发现使用全步工作时,A相和B相是分别互补的两路互补的PWM波,且A相和B相相位相差90°,这里使用的是STM32F4单片机高级定时器的互补输出功能,可以得到两路互补的PWM波。
示波器测得A+、A-波形
示波器测得A+、B-波形
微步驱动
改变电流的大小,可以改变线圈产生的磁场强度,不同线圈的磁场强度不一样,转子的平衡位置就会发生改变,这就是微步驱动的原理。
线圈不同的电流大小对应转子不同的平衡位置
三、步进电机的加减速控制
使用加减速控制步进电机得目的主要是为了防止步进电机的频率过快而无法正常启动,避免控制脉冲频率变化太大造成电机丢步或过冲。
1.步进电机的梯形加减速控制
1.1梯形加减速的速度与脉冲周期
梯形加减速的目的就是电机在加减速之后仍然能够达到目标位置。梯形加速度的速度加速度曲线如下图所示。
对于步进电机速度的改变是接收脉冲的频率,接收脉冲频率越快步进电机的速度就越快,不过这个频率也有上限和下限(太快不能正常启动容易堵转或丢步)。这里产生不同频率的PWM波主要使用的是STM32F4定时器的比较输出功能,通过下文提到的算法不断改变输出脉冲的频率从而达到梯形加减速的效果。对于代码的实现,加速度减速度以及希望运动的步数由开发者设定。
考虑步进电机每一步收到的脉冲频率不一样,t0到t1为第一个脉冲间隔时间,t1到t2为第二个脉冲时间,假设定时器计数周期为tt,改变每次定时器计数器的计数个数就能得到不同的时间和脉冲输出时间相匹配。
1.2梯形加减速控制位置与加速度、脉冲数和加速度的关系
其中α为步进电机步距角,Cn为不同步数所对应的计数个数,通过位移公式可以知道每一个脉冲相对应的时间关系,进而求出Cn与C0的关系。
1.3梯形加减速控制中脉冲与加减速步数的关系
n1为加速度需要的脉冲数,n2为减速度需要的脉冲数ω’1:加速度
ω’2:减速度,简单处理后可以得到加速度步数,减速度步数与总步数之间的关系。n1 * ω’1=n2 * ω’2为了方便后面计算,等式左右两边加上n1 * ω’2,得到n1 * ω’1+n1 * ω’2=n2 * ω’2+n1 * ω’2
最终得到n1=(n1+n2)*ω’2/(ω’1+ω’2)。在限定步数的情况下,存在能够在有限步数加速到指定速度,以及有限速度不能加速到指定速度的情况。
max_s_lim:达到设定最大速度需要的脉冲数
根据公式n1=(n1+n2)*ω’2/(ω’1+ω’2)可以得到accle_lim=(step *decle)/(accel+decel)
根据公式n *ω’=ω’n/2 *α可以得到max_s_lim=n=speed *speed/(2 *α *accel)
从数学角度将模型的两种情况分为了accle_lim>max_s_lim的和accle_lim<max_s_lim这两种情况,而开始减速时间decel_val也会变得不同
1.accle_lim>max_s_lim
decel_val=(max_s_lim *accel)/decel
2.accle_lim<max_s_lim
decel_val=step-accle_lim
2.步进电机的S形加减速控制
2.1 S型加减速与梯形加减速的区别
相比梯形加减速,S型加减速在速度开始以及到达目标速度的时候更加稳定(由于该时刻速度变化量比较小)。同时S型加减速也有加加速(加速度增大的加速运动)、加减速(加速度减小的加速运动)、匀速运动、减加速(加速度增大的加速运动)、减减速(加速度减小的减速运动)五个状态。对于S型加速在某些方面与梯形加速度有着相同的地方,同样是计算每一步对应的脉冲时间间隔。不同的是S型加减速它的加速度随时间变化,其中S型加减速的速度曲线和加速度曲线如下图所示。
2.2 S形加减速控制位置与速度、脉冲与步数的关系
对于S型加减速,加速度呈线性变化,所以不方便设定加速度。方便整个过程的实现,人为设定的已知量为总步数、目标速度、加速时间、减速时间。上文提到S型速度曲线为五段过程,1、2(加加速,加减速)与4、5(减加速,减减速)是相反的两个过程,所以整个S型加速考虑前面两个阶段即可。对于加加速和加减速过程,中间速度正好是T/2的时候(T为设定的加速时间),有以下公式
<