基于单片机的步进电机细分驱动系统的研究
摘要:步进电机通过细分驱动系统来减小步距角,从而增加电机运行的平稳性,尽量减小或者消除步进电机低频振荡,降低噪声,显著改善其动态性能,增加控制的灵活性等,从而满足某些高精密定位、精密加工等方面的要求。本文主要探讨单片机在步进电机细分驱动系统中的应用。
关键词:单片机,步进电机,细分驱动,控制
细分驱动也称微步驱动,它是通过控制电动机各相绕组中电流的大小和比例,从而使步距角减少到原来的几分之一至几十分之一(一般不小于十分之一)。提高了步进电机的分辨率并减弱甚至消除了振荡,会大大提高电机运行的精度和平稳性。实现细分驱动,就是要在每一步距角α之间产生若干合力矩为零的平衡点。这可以通过改变相电流的大小和通电相数、相序来达到。
1步进电机的细分技术
对应一个通电脉冲,步进电机的转子转动一步。当三相步进电机在双三拍方式工作时,由于两相同时通电,则转子齿与定子齿不能对齐,而是停在两个定子齿的中间位置,若两相通以不同大小的电流,那么转子齿不会停在两相定子齿的中间,而会偏向于绕组通电电流较大的那个齿。如果将额定电流分成n(n为正整数)等分,使同时通电的两个绕组的通电电流差按1/n逐渐变化,从额定电流的-1倍依次增加到+1倍,则此时步进电机一次转动的步距角就会变成原来步距角的1/2n左右,但这种对额定电流的线性分配不能保证步距角的线性变化。
实际上,步进电机的步距角可用控制绕组电流大小的方法(在零至额定电流之间)进行步距角细分,即使用细分驱动电路,也称微步控制技术。这样绕组电流由矩形波供电改为梯形波供电。矩形波供电时,绕组中的电流基本上从零值跃到额定值,或从额定值降至零值。而梯形波供电时,绕组中的电流经若干阶梯上升到额定值,或经若干阶梯下降至零值,即在参与测距的两个节点利用信号在介质中的传播时间和信号在节点中的处理时间并通过发送测距消息和测距消息的确认来测量节点之间的距离,这就避免了对测距节点之间的时钟同步性的要求。此外,为了降低节点之间时钟漂移对测距准确性的影响,需要对两个节点进行双边测距,再把两次测量所得的距离进行平均。虽然利用SDS-TWR方式进行测距增加了节点之间的通信次数,但是它降低了对硬件的要求,同时不要求节点之间时钟的同步性,具有很大的实用性。
2步距细分的系统构成
当步进电机相应的数字线为高电平(表示接通)时,步进电机便开始步进,延长一段时间达到指定的位置后,步进电机相应的数字线变为低电平(表示断开),所以步进电机的驱动信号是一个脉冲信号。步进电机旋转方向与各相脉冲的接通顺序有关。以单相只拍方式为例,当单相绕组按照A-B-C-A顺序施加电流脉冲时电机正转,按照A-C-B-A顺序施加电流脉冲时电机反转。
在大多数应用场景中,传感器节点的位置信息对于传感器网络功能的实现来讲是至关重要的,只有确定了节点的位置信息之后才能明确在何时何地发生了何种事件。一个传感器网络通常由成千上百个传感器节点组成,其中每个传感器节点具有一定的通信范围,这个范围称为通信半径。在一个节点的通信半径范围之内的其他节点称为该节点的邻居节点,邻居节点之间可以通过某种方式进行相互测距,测出来的距离存在一定的误差。为了能够确定整个传感器网络中每一个节点的具体位置信息,如坐标或者经纬度等,在理论上通常需要预先知道几个节点的位置信息。在传感器网络中把这种位置信息已知的节点称为锚节点或者信标节点,锚节点的位置信息可以通过预先设定或GPS来获取。在二维空间中至少需要三个锚节点才能确定网络中其他节点的位置信息,而在三维空间中则至少需要四个锚节点才能确定网络中其他节点的位置信息。
实践表明,如果使用FPGA进行数字控制,将为步进电机的细分驱动带来很大的便利。目前,最常用的开关型步进电机细分驱动电路有斩波式和脉宽调制(PWM)式两种。脉宽调制式细分驱动电路的关键是脉宽调制,它的作用是将给定的电压信号调制成接近连续的信号,角速度的波动也随着细分数的增大而减小。一般角速度波动与步距角成正比,与细分数成反比。调制成具连续运行域,角速度的波动也随着细分数的增大而减小,一般角速度波动与步距角成正比,也即与细分数成反比。在线性电流的驱动下,步进电机转子的微步进是不均匀的,呈现出明显的周期性波动.磁场的边界条件按齿槽情况呈周期性重复是导致微步距角周期性变化的根本原因。同时,不可避免的摩擦负载(摩擦力矩是不恒定的,或者说在一定范围内也是不确定的)以及其他负载力矩的波动导致失调角出现不规则的小变动或小跳跃,也使微步距角曲线在周期性波动上出现不光滑的小锯齿形。
到达时间(TOA)也叫做飞行时间(TOF,Time Of Flight),是指信号从位置已知的发射机发出到接收机收到信号所需的时间。这样当信号的传播速度已知时就可以计算出信号发射机和信号接收机之间的距离了,然后再利用已有的定位算法计算出接收机的位置。应用TOA进行定位时要求节点之间必须要保持精确的时间同步,而这一点在实现起来是相当困难的,同时这也对传感器节点的硬件和功耗提出了较高的要求。
3基于单片机的步进电机细分驱动系统总体实现
传统的步进电机控制系统采用分立元件或者集成电路组成的控制回路,不仅调试安装复杂,要消耗大量元器件,而且一旦定型之后,要改变控制方案就一定要重新设计电路。单片机的出现,使步进电动机的控制方式变得非常灵活。采用单片机实现步进电机控制,既简化了电路,也降低了成木。以软件方式驱动步进电机,不但可以通过程序在一定范围内自由设定步进电机的转速、往返转动的角度以及转动次数等,还可以方便.灵活地控制步进电机的运行状态,以满足不同用户的要求。单片机的作用在于通过程序设计把并行二进制控制码转换成串行脉冲序列输出,并实现方向控制。通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
值得指出的是,由于细分步进电机驱动的细分数可以有多种设定方式,特别是现代数控系统几乎都具有电子齿轮功能,无需用减速齿轮配置出所要求脉冲当量,加上混合式步进电动机的驱动电流小,输出力矩大,因此,现在数控机床广泛采用电动机与丝杠直接连接方式。系统中可为每个轴设定两个参数:分子A、分母B,设系统的脉冲当量为0.001(mm/脉冲),则系统的输出控制脉冲当量为(A/B)•0.001(mm/脉冲)。可见,实际输出控制脉冲当量几乎可以随意设定。
目前市场上已有许多集成斩波功放芯片,这些集成电路可使步进电机的工作频率、转矩得到提高,并能减少噪音。使用SLA7026M模块构成的四相步进电机功率驱动电路,接一RSA、RSB输入端;OUTA、OUTB为步进驱动信号输出端,接到四相步进驱动信号输入端A、B、C、D上;VZ是稳压管,限制参考信号Vref,以防输入电流超过额定值,损坏芯片和电机。该芯片的最大输出电流为2A,可直接驱动小功率步进电机。当驱动大功率步进电机时,可将芯片输出端输入功率放大电路,扩展输出电流和功率。若两相通以不同大小的电流,那么转子齿不会停在两相定子步的中间,而会偏向于绕组通电电流较大的那个齿。如果将额定电流分成n(n为正整数)等分,使同时通电的两个绕组的通电电流差按1/n逐渐变化,从额定电流的-1倍依次增加到+1倍,则此时步进电机一次转动的步距角就为变成原来步距角的1/2n左右。但这种对额定电流的线性分配不能保证步距角的线性变化。EPROM的地址由可逆计数器产生。EPROM输出相应的电流数据,经D/A转换为相应的模拟电压,该电压控制恒流电路,使绕组中产生相应的电流,如此便可以控制各相电流的大小,实现细分驱动。
结论
上述步进电机的细分驱动技术, 根据电流矢量恒幅均匀旋转原理确立了基于单片机控制的细分驱动模式, 同时采用电流反馈来修正由于电机相电流与其产生的磁场之间的非线性引起的误差,大大提高了步进电机的分辨率和精确度, 抑制电磁噪声和机械振动, 电机运行性能十分理想。本文针对超高精密定位和数控加工等场合对步进电动机提出的精确控制要求,设计出一种构造简单、成本低、集成度高、运行稳定可靠的细分驱动控制系统。
参考文献
[1]姜平. 步进电机高分辨率细分控制函数发生器的研究[J]. 电气传动,2005,5(11):45-48.
[2]程志国,王新洪. 步进电动机系统细分波形修正技术[J]. 微电机, 2005,38(5):25-27.
[3]陆广平,张美琪,沈加庆. 基于AVR单片机的步进电机运动控制系统设计[J]. 微电机,2010,Vol.3 (3):92-94.
[4]袁帅,甘靖. 基于FPGA的步进电机细分驱动技术研究[J]. 湖南理工学院学报(自然科学版).2010,Vol.3 (1):62-64.