基于FPGA的步进电机控制系统设计

(整期优先)网络出版时间:2017-05-15
/ 2

基于FPGA的步进电机控制系统设计

李广军

(天津松正电动汽车技术股份有限公司天津300308)

摘要:步进电机是一种将电脉冲信号转化为机械角位移或线位移的机电元件,因其具有成本低、易于精确控制、无累积误差等优点,在生产、生活中的很多领域有广泛应用。本文以两相混合式步进电机为控制对象,在分析步进电机的特点和工作原理的基础上,设计了基于FPGA的两轴联动控制和细分驱动控制的实现方案。

关键词:步进电机;两轴联动;细分驱动

1步进电机的控制原理

步进电机的控制原理可归纳为以下两点:

(1)换相顺序的控制,通电状态的切换。这一过程称为“脉冲分配”。如:四相步进电机的单四拍工作方式,其各相绕组通电顺序为A-B-C-D-A。控制电机A、B、C、D相的控制脉冲应严格按照这一顺序执行,如果通电顺序按A-D-C-B-A,则电机的转向发生改变,即控制步进电机的通电顺序可控制步进电机的转动方向。

(2)步进电机的速度控制。步进电机的转动快慢和控制脉冲信号的频率有关,当步进电机接收到一个控制脉冲信号,它就转动一步,再来一个脉冲,它会再转一步。发出的两个脉冲信号的时间间隔越短,步进电机的转动就越快。调整控制器发出的脉冲信号的频率,就可以对步进电机进行调速控制。

2步进电机的两轴联动插补控制

采用插补算法实现对多个设备的联动控制,是目前常使用的一种方法。插补是指在起点和终点之间插入一些中间点的过程。通过插补算法的分析比较,本文设计的方案采用数字积分直线插补算法,基于VerilogHDL语言设计了步进电机两轴联动控制的DDA程序,并结合步进电机的工作方式,来实现基于FPGA的步进电机两轴联动控制。该设计方案有利于步进电机的并行控制和实时控制。

2.1步进电机联动控制的设计方案

为了验证DDA插补的可行性,本文结合步进电机的工作方式进行验证。图2.1是联动控制系统的方框图。

控制系统电路中主要包含了三大模块:分频器、DDA插补器和步进电机工作方式控制器。步进电机需要脉冲信号来驱动,但是FPGA开发板上提供的有源晶振频率一般是50MHz,这个频率不能驱动步进电机运转,必须进行分频。为此设计了分频模块,它把FPGA外部提供的50MHz的晶振频率进行分频,分频后获得的脉冲信号去控制DDA模块的插补周期。DDA模块的作用是联动控制X、Y轴脉冲的溢出,X、Y轴脉冲的输出可控制步进电机的转动。工作方式Mode模块可实现对步进电机工作方式的控制。两相步进电机的工作方式有单四拍,双相四拍和双相八拍,按照不同的工作方式使两相步进电机绕组轮流通电,使步进电机转动起来。

3步进电机PWM细分驱动电路的设计

3.1步进电机细分技术

目前,步进电机细分驱动电路大多数都采用单片机控制。单片机先计算出各相绕组中通过的电流值(这些电流值是根据要求的步距角计算出来,为数字量),然后将电流值输出到数模转换器(D/A),在D/A转换器中把数字量电流值转换为相应的模拟电压,再经过环形分配器加到各相的功放电路上,模拟电压控制功放电路从而给各相绕组通以相应的电流,来实现步进电机的细分。

单片机控制的步进电机细分驱动电路中,根据最末级功放管的工作状态可分为两种类型:放大型和开关型。放大型驱动电路适用于驱动电流较小、控制精度较高和散热情况较好的系统中。开关型电路适用于大输出力矩的步进电机。近年来随着大输出力矩步进电机的发展,开关型细分驱动电路得到较好的发展。

步进电机开关型细分驱动电路最常用的有斩波式和脉宽调制(PWM)式两种。而细分驱动电路的发展方向是用PWM脉宽调制技术去代替放大状态的功放电路,同时电流波形控制采用数字电路来实现。PWM技术的最大优点是:通过信号脉宽的变化来调节各相绕组电流的大小,从而使电流上升的速度得到提高,同时也提高了电机在高频段运行时的转矩,而且由于没有限流电阻,功耗大为减少,因此驱动器整体的效率得到了显著的提高。

3.2两相混合式步进电机SPWM细分驱动系统的设计

根据细分驱动原理及各种方法的比较,系统采用电流矢量恒幅均匀旋转的正弦脉宽调制细分方法(SPWM方法)。电流矢量恒幅均匀旋转法控制每一相绕组的电流是有一定相位差的正弦电流值,为此需要设计一个能够存储正弦电流值的存储器。以两相混合式步进电机为控制目标,则可设计一个双口ROM,存储需要的正弦电流值。步进电机的细分驱动是靠控制正弦电流的大小实现的,可设计一个电流控制器,即脉宽调制器PWM。PWM把各种大小的正弦输入信号转换成占空

比不同的矩形波,矩形波占空比的大小与电流大小成正比。用PWM脉宽调制器输出的矩形波去控制驱动电路,就可以实现对步进电机细分驱动的控制。

本系统以FPGA为控制核心,设计了两相混合式步进电机SPWM细分驱动系统。系统的组成主要有:地址发生器、双口ROM、数据变换器、PWM调制和数字变向器。系统的方框图如图3.1所示:

在系统中,首先,地址发生器根据方向控制信号或暂停信号对步进脉冲信号进行加(减)1或暂停计数,然后将相位差为π/2的计数值分别作为双口ROM的A、B相地址。双口ROM中存储了一个周期的正弦波数据,在A、B相地址的控制下可输出A、B相正弦数据。由于ROM存储的是正弦波数据值,但控制步进电机的相电流是单向的正弦数据值,为此需要数据变换器把这些数据做一些变换。数据变换器可根据A、B相极性信号,把ROM中的正弦数据变换成单向的正弦数据。PWM调制器,根据A、B相正弦数据值,控制输出信号的占空比,实现PWM调制。数字变向器,在极性信号控制下将PWM输出信号进行变向处理(即改变电流方向):在0~π时,PWM脉宽调制信号从AH输出,而当π~2π时,PWM脉宽调制信号从AL输出。将AH、AL输出的信号去控制驱动电路。

4结束语

本设计的最大的特点是采用FPGA直接对步进电机进行并行、多线程控制,替代了传统的CPU软件顺序、单线程控制。因此,与传统的单片机控制系统相比,本控制系统具有良好的可靠性、实时性,更适合应用于实时性要求高的工作场合,不仅能够提升产品质量和市场竞争力,而且其发展空间是广阔的。

参考文献:

[1]陈志聪.步进电机驱动控制技术及其应用设计研究[D].厦门:厦门大学,2008,5.

[2]王晓丹.基于单片机的步进电机细分驱动系统的研究[D].长沙:中南大学,2008,5

[3]杨光友,李亮,苏旭武,周国柱.基于FPGA的DDA插补算法设计与实现[J].湖北工业大学学报.2007,22(5):43-46.