图1 指数规律加减速曲线
由于大部分步进电机的矩频特性规律都近似成反比,所以上述的办法为最理想的情况。它可以把上升段平均地分散成几段,即为阶梯性升速的分档数。把每档的上升所需要的时间、频率大小、以及各个阶梯档中速度的运行步数以及总共的升速步数都计算出来,并且将计算出来的相应结果写入程序中。程序在执行过程中,对每一档运行下的步数都要减1运行,当运行步数减到0时,说明这一档的速度应该走的步数已经全部走完,然后再进入下一档,一直循环,直到得出的速度大于或等于原来给定的速度。同理,减速过程与这个过程刚好相反[10-12]。
2.2.3 步进电机的方向控制
对步进电机方向控制的核心模块是脉冲分配电路,它具有两个输入信号,一个是对步进电机方向进行控制的方向控制信号,它的正转和反转能够使脉冲分配器产生不同方向的步进时序脉冲,从而控制步进电机的转动方向;另一个是由PWM信号构成的变频时钟信号,每次输入一个PWM脉冲,脉冲分配器的输出时序就会发生一次变化,从而相应的也使步进电机转动一步。若步进电机采用四相八拍的控制方式,定子通电顺序A-AB-B-BC-C-CD-D-DA-A。方向控制模块的状态流程图如图2所示。其中D=0 表示电机逆时针转动,D=1表示电机顺时针转动[13]。
图2 步进电机方向控制流向图
2.2.4 研究的方法及措施
控制器主要基于FPGA开发平台,采用Top-Down和模块化的设计方法,将系统分解成3个的功能模块,分别是方向控制模块、移动定位控制模块和编码输出模块。使用VHDL输入作为电路设计与输入的方法实现各模块的通讯,通过Quartus Ⅱ9.0开发软件完成综合、布局布线以及仿真。然后将这些模块互联起来,最终实现控制器的设计。步进电机需要具有高定位精度和定位重复性的特性,以完成FPGA对电机的精确控制。
3. 基于FPGA的驱动设计
3.1 整体方案
大规模集成电路FPGA/CPLD的快速崛起和发展,为步进电机的细分驱动技术带来了方便。采用EDA技术进行控制设计,可根据细分要求的步距角计算出各相绕组中通过的电流,并存储在FPGA芯片中的嵌入式LPM-ROM中。细分控制时,地址计数器自动产生地址送到LPM-ROM,根据不同的地址,LPM-ROM 给到数字比较器相应的数据,在比较器中与线性锯齿波比较后输出PWM波形,PWM波形通过控制功放电路给各相绕组通以相应的电流,实现步进电机的细分驱动。
利用FPGA中的嵌人式LPM-ROM存放步进电机转角细分电流所需的数据控制波形表或代码,在QuartusⅡ9.0芯片中设计的数字比较器就可以同步产生多路PWM波形,能够对步进电机的转角进行均匀细分、灵活控制。若提高LPM-ROM控制波形表的数据的位数、提高计数精度,就可以提高PWM波形的细分精度,实现对步进电机的步进转角进行任意细分,可以对它进行精确的控制。图3所示为步进电机细分驱动系统的整体结构图。步进电机A相和B两相绕组中按正弦规律变化的阶梯电流波存储在FPGA芯片内部的LPM-ROM模块中,FPGA控制逻辑根据内部控制信号的要求把LPM-ROM中存储的步进电机电流设定值与绕组中的实际采样电流进行比较,根据比较结果出PWM波,通过功率驱动器控制步进电机各相电流按设定“阶梯正弦波”规律变化,从而获得所需要的细分精度来驱动步进电机运转[14,15]。
图3 系统整体实现框图
3.2 FPGA控制模块设计
此设计按照自顶向下的设计方案,将FPGA的系统结构按功能逐层分解,利用层次化设计。系统的顶层原理图如图4所示。系统是由比较器和二路选择器、PWM读数器、波形LPM-ROM地址计数器、PWM波形LPM-ROM存储器等组成。其中PWM计数器模块的功能是在脉宽时钟作用下能够递增计数,产生周期性的上升的锯齿波,并且它的输出能够加载到数字比较器的其中一端;而PWM波形LPM-ROM存储器模块的输出的数据A[3..0]、B[3..0]、c[3..0]、D[3..0]又分别地加载到了数字比较器的另外一端。当PWM计数器模块中的值大于波形LPM-ROM模块的输出数值时,数字比较器就会比较输出高;当PWM计数器模块中的值小于波形LPM-ROM模块的输出值时,数字比较器模块就会输出低电平。由此PWM读数器模块可输出按周期变化的PWM波形.根据要求,各个时间内细分电流波形所对应的数值已经存放于波形LPM-ROM中。而波形LPM-ROM的地址是由地址计数器产生。如果对地址计数器进行控制,就可以改变步进电机旋转的方向、转动的速度以及工作/停止状态[16,17]。 FPGA的步进电机细分驱动研究与设计+电路原理图+仿真图(4):http://www.youerw.com/zidonghua/lunwen_971.html