发明内容
本发明的目的在于克服现有技术的不足,提供一种步进电机电流的控制方法,解决了电机或其驱动电路发热、力矩不足等问题。
本发明解决现有的技术问题是采取以下技术方案实现的:
一种步进电机电流的控制方法,包括以下步骤:
⑴从速度采集端口获取更新的速度值,判断速度值的是否在有效调节范围内:如果是,则执行步骤⑵,否则判断速度值是否为零;如果速度值为零,则停机,否则重新循环本步骤;
⑵根据有效调节范围速度值生成新的驱动电流细分表,该驱动电流细分表采用的数学模型为:
其中,A(ω)为电机细分曲线的幅值,Mp为细分微步步进量,θstep为步进电机的步距角,N为电流的最大细分数,n为任一个细分点,其取值为1~256;θstep为 一常量,Mp、N人为选择确定;
Mp、N其选择方法为:N取一定值,通过改变Mp值来调整实际细分数;
⑶按照新的驱动电流细分表驱动电机。
本发明的优点和积极效果是:
本发明采用可随速度改变的频率、幅值特征更新电流细分曲线,克服了以往电机细分控制中使用单一特征细分曲线的不足,方便地实现了步进电机电流控制,可较容易地实时更新云台的电流曲线,满足了较宽速度范围内的无极变速要求,较好地解决了步进电机或其驱动芯片低速发热或高速时力矩不足问题。同时,还可以根据电机的输出特性构造恒流电机驱动,以做到用软件方式实现闭环控制功能。具有适应性强、成本低、操作方便等特点,
具体实施方式
以下结合附图对本发明实施例做进一步详述。
一种步进电机电流的控制方法,如图1所示,包括以下步骤:
步骤1(S01~S02):从速度采集端口获取一个新的速度值,判定该速度值是否在有效调节范围内:如果是,则执行步骤2(S03);如果不是则执行S06,判断速度值是否为零:是则停机,否则重新循环;
步骤2(S03):根据有效速度值生成新的驱动电流细分表;
步骤3(S04):由电机驱动电路按照新的驱动电流细分表驱动电机工作;
步骤4(S05):判断一个细分周期是否执行完成?如果是,则返回步骤1循环执行步骤1至步骤4,如果不是,则返回步骤3继续按照当前的驱动电流细分表执行,其幅值不变。
其中,步骤2更新驱动细分曲线的方法是:根据获取的速度值,进行相应的细分曲线频率及幅值调节。
1、细分曲线的频率调节:
设所选用的步进电机的步距角为θstep,细分曲线频率为f,则由步进电机的 速度计算公式有:
即:电流细分曲线频率按公式(1)所示的速度变化来调节。
2、细分曲线的幅值调节:
细分曲线的幅值在一定程度可反映步进电机相电流的大小,因此,调节幅值主要是起到电机相电流的调节作用。幅值的调节,比较灵活,可根据不同的需求或者是应用环境做不同调节,例如,根据电机自身感应电动势调节:在低速状态下,电机自身的感应电动势较小,此时就可为细分表预设较小的幅值;在高速状态下,电机自身的感应电动势较大,此时我们就可以为细分表预设较大幅值。根据感应电动势,幅值调节的因式表达式是:
其中,An≥...≥A3≥A2≥A1≥0,k、b是满足条件kω+b≤N的任意正实数。
综上所述,驱动细分表的数学模型为:
DIV(ω,t)=A(ω)D(ω,t) (3)
其中D(ω,t)为一幅值为1关于参变量t的周期函数,即有0≤|D(ω,t)|≤1,通过改变ω值,可以改变D(ω,t)的周期;A(ω)为电机细分曲线的幅值表达式,通过改变ω值,可以改变A(ω)的值大小,且有A(ω)≥0恒成立。
周期函数D(ω,t)一般可选用正弦曲线,其表达式为:
D(ω,t)=sin(2πft) (4)
将公式(1)、(4)代入公式(3)中,得到:
设电机采用的细分微步步进量为Mp,将公式(5)中的时间t离散化,间隔采样t=△tn+t0取△t=1,t0=0,n最小为1,每一个n的数值,对应电机电流 细分的一个微步为:
其中,N为电流的最大细分数,在一套电机及驱动电路搭建完成后,θstep为一常量,Mp、N可人为选择确定(通常做法是N取一定值,通过改变Mp值来调整实际细分数),因此在不同的速度ω0下,可确定一个表达式:
上式即为在速度ω0下采用的细分曲线。
假设实际要设计的电机速度值范围为0°/S~1000°/S,细分曲线采用正弦函数曲线,为简化阐述,最大细分数取一定值N=256,根据感应电动势调节细分曲线幅值方法,可将上述幅值调节因式分为四段,取A1=128,A2=160,A3=192,A4=228,有电机幅值表达式为:
选用θstep=0.9°的步进电机,电机细分微步取Mp=8,联合公式(8)代入公式(7)中得到:
如图2所示,从速度采集端口依次输入速度值ω=200,ω=500,ω=800,按照公式(9)对其细分曲线进行重新分配,电机驱动采用电流细分曲线依次如实线1、实线2、实线3所示(只描述了1个周期)。实际等效的细分作用效果曲线示意依次如虚线1、虚线2、虚线3所示。由上面波形对比可知:由于感应电动势 的存在,电机在高速转动时的相电流相对于相同细分曲线时低速下的相电流要小很多,因此,对于单一幅值细分曲线的步进电机控制方式而言,常常存在着如下问题:高速时,电机力矩不足而引起的电机卡或者丟步;低速时,电机或者驱动芯片过热。而采用本发明中的算法或者调节方式,可以很容易的做到步进电机的低电压启动、高压运行,对提高系统稳定性有较大作用。
需要强调的是,本发明所述的实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。