用于高精度输液泵的步进电机细分驱动控制系统设计
本文通过分析步进电机的工作原理及其在高精度输液泵中的应用,介绍了步进电机细分控制,从而提出了基于FPGA控制的PWM细分驱动技术。
【关键词】步进电机 FPGA 细分驱动 PWM
步进电机是工业过程控制及仪表中主要的执行元件之一,在数控、工业控制、数模转换和计算机外围设备等领域都有广泛的应用。步进电机具有快速启停,能力强,精度高,转速容易控制等特点。
采用FPGA控制步进电机,利用其中的EAB可以构成存放电机各相电流所需的控制波形数据表和利用FPGA设计的数字比较器可以同步产生多路PWM电流波形,对多相步进电机进行灵活的控制。当改变控制波形表的数据、增加计数器的位数,提高计数精度,就可以对步进电机的步进转角进行任意细分,实现步进转角的精确控制。
1 步进电机在高精度输液泵中的应用
高精度输液泵由微机系统、泵装置、检测装置、报警装置和输入及显示装置等5部分组成。工作原理是用步进电机带动输液泵内部蠕动排以波动方式连续挤压充满液体的输液管,推动管内液体向下流动,对系统输入特定信号以达到精确控制流量与流速。控制器驱动步进电机,按照给定输液总量与输液速度转化的脉冲信号调整转速,步进电机转速与输液速度成正比,控制步进电机转速即可改变输液速度。
2 步进电机八细分原理
步进电机由脉冲分配器、功率放大器两部分组成。由脉冲信号控制角位移,通过内部磁场的变化驱使电机转动。
步进电机四相励磁绕组通电时,产生的磁场矢量。给不同的两项通电时,产生合成磁场矢量。当给步进电机的四相轮流通电时,内部磁场产生旋转。内部磁场变化时,电机的转子转过一个齿距。齿距的大小与电机的相数和运行拍数有关。电机以单四拍方式运行时齿距为90度,以四项八拍方式运行时齿距为45度,实现了步距角的二细分。
因此,要减小齿距,就需要增大细分数。可以通过使电机各相励磁绕组中的电流按阶梯变化,增加电流变化的中间状态,来增大细分数。当电机各相电流以1/4的步距变化时,在原来二细分的基础上增加7个稳定的中间状态,原来一步所转过的角度由8步完成,实现了步距角的八细分。
3 细分驱动控制系统设计
基于FPGA的细分驱动控制系统是由脉冲计数器、地址计数器、波形存储器、比较器、功放电路等组成。
3.1 脉冲计数器
脉冲计数器用于产生阶梯形上升的周期性锯齿波,与波形存储器中的数值通过比较器得出比较结果。计数值小于波形存储器输出数值时比较器输出低电平,反之输出高电平。脉冲计数器的部分设计代码为:
ENTITY CNT8 IS
PORT ( CLK : IN STD_LOGIC;
CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END CNT8;
ARCHITECTURE behav OF CNT8 IS
SIGNAL CQI : STD_LOGIC_VECTOR(4 DOWNTO 0);
BEGIN
PROCESS(CLK)
BEGIN
IF CLK'EVENT AND CLK = '1' THEN CQI <= CQI + 1; END IF;
END PROCESS;
CQ <= CQI(4 DOWNTO 1);
END behav;
3.2 地址计数器
波形ROM的地址由地址计数器产生。通过对地址计数器进行控制,可以改变步进电机的旋转方向、转动速度、工作\停止状态。
地址计数器的部分代码为:
ENTITY CNT24 IS
PORT ( CLK,EN, U_D : IN STD_LOGIC;
CQ : OUT STD_LOGIC_VECTOR(4 DOWNTO 0));
END CNT24;
ARCHITECTURE behav OF CNT24 IS
SIGNAL CQI : STD_LOGIC_VECTOR(4 DOWNTO 0);
BEGIN
PROCESS(CLK, EN, U_D)
BEGIN
IF EN = '1' THEN CQI <= CQI;
ELSIF CLK'EVENT AND CLK = '1' THEN
IF U_D = '1' THEN CQI <= CQI + 1;
ELSE CQI<= CQI-1; END IF;
END IF;
END PROCESS;
CQ(4 DOWNTO 0) <= CQI;
END behav;
3.3 波形存储器
波形存储器中存储着不同时刻细分电流波形所对应的数值。根据细分的要求,波形数据为16位二进制数,共32个。设置地址与数据表的表达格式均用十六进制表示。波形存储器中的数据如图1所示。
4 结论
非细分旋转就是分别给步进电机的四相通电,各相电流变化的过程中没有多个稳定的中间状态,只有1个状态,而细分控制电机之后,可以再各相通电电流变化的过程中,加入多个稳定的中间状态,从而就形成了多个稳定的磁场力,可以让步进电机每步转更小的角度,实现了对转速的高精度控制,所以,相比与非细分步进电机控制,步进电机细分控制可以完成更多的对速度有高精度要求的项目。
16细分及以上的更高细分控制方式,也是通过改变ROM中的PWM波形数据、地址计数器的输出位数、PWM计数器的输出位数和数据比较器的输入位数实现的。
参考文献
[1]叶韦韦.步进电动机高精度细分方法及其控制系统[D].华南师范大学电信工程系,2002.
[2] 邹道生. EDA技术在步进电机驱动中的应用[J].江西师范大学学报(自然科学版), 2006(04).
[3]潘松,黄继业.EDA技术与VHDL[M].北京:清华大学出版社,2005.
作者单位
包头师范学院信息学院 内蒙古自治区包头市 014030