基于FPGA的步进电机控制系统的设计方案
本文提出了一种基于FPGA的步进电机控制系统的设计方案。方案利用FPGA控制速度快、可靠性强等特点,利用等步距细分原理和PWM控制技术,设计出了高灵活性、可人机交互、分辨率高的步进电机控制系统。仿真和实验证明,该控制系统高效可靠。 0 引言 步进电机是将电脉冲信号转变为角位移或线位移的开环控制电机,输入脉冲总数控制步进电机的总旋转角度,电机的速度由每秒输入脉冲数目所决定,因此易实现机械位置的精准控制。而且由于步进电机价格低廉、可控性强等特点,使其在数控机床传送控制等自动控制领域中得到了广泛的应用。但随着技术的发展以及企业生产的要求,步进电机传统的以单片机等微处理器为核心单元的控制系统暴露出了如下缺点:控制策略单一不利于实现人机交互,而且控制电路复杂、控制精度低、生产成本高,系统稳定性不够,步进分辨率低、缺乏灵活性,低频时的振荡和噪声大,而且受步进电机机械结构和空间的限制,步进电机的步距角不可能无限的小,难以满足高精度开环控制的需求。由于FPGA编程方式简单,开发周期短,可靠性高,使其在工业控制领域的应用越来越广泛。本文在总结FPGA的分频技术以及步进电机细分控制原理的基础上,通过PWM控制技术来提高步进电机的分辨率,仿真和实验表明,本文采取的措施有效地实现步进电机控制的高效、精确控制。 1 步进电机细分控制原理 步进电机的工作原理如图1所示,对四相步进电机而言,按照一定的顺序对各相绕组通电即可控制电机的转动。例如,当开关B与电源导通而其他开关断开时,在磁力线的作用下B相磁极和转子0,3号对齐;当开关C与电源导通而其他开关断开时,在磁力线的作用下,转子转动,1,4号齿和C相绕组的磁极对齐。同理,依次向A,B,C,D四相绕组供电,电机就会沿着A,B,C,D方向转动。
为了理解步进电机的不足,还需了解步进电机的步距角。步距角的定义为:
式中:km 为步进电机的工作节拍系数;zn 为齿数。 受步进电机的拍数和转子齿数的限制,步进电机的步距角不可能非常小,即每一单步控制的转动量相对比较大,在许多精密控制领域,步进电机的功能达不到使用要求。因此为了提高步进电机的分辨率,需采用细分控制技术对其进行优化控制。细分控制类似于插值,其基本原理就是将电机绕组中的电流细分,在两个控制电流之间增加许多中间状态的电流,使得步进电机可以工作在许多中间的状态,从而使得步进电机的每一步得到细分,其步距角更小,系统的分辨得到提高,性能得到优化。而细分控制通常有两种细分方式,一是使电流按线性规律变化来细分,二是按等步距角细分。为了比较两种细分方式的优劣,还需要了解步进电机工作时的静态距角特征。
式中:M 为电磁转矩;Mk 为一定绕组电流时的最大静转矩;对于反应式步进电机,当不考虑磁路饱和时,可以认为Mk 与电流i 的平方成正比,负号表示电磁转矩与定子磁场之间为楞次关系,即电磁转矩总是阻碍转子离开磁场最小磁阻的位置。 现以三相反应式步进电机来分析两种细分方式。 三相反应式步进电机三相绕组分别通电时,其矩角特性为彼此相差120°电角度的正弦曲线,如图2所示。
当A、B两相通电时,设电流分别为iA、iB,相应的静转矩为MA、MB,忽略磁路之间的影响,其合成矩角特性为二者相叠加,如式(3)所示:
由公式(3)和(4)可知,当步进电机的电流按照线性规律变化时,其距特性如图3(a)所示。由于距角特征幅值因通电电流的不同而各不相等,因此各细分步的步距角就不能保持一致。理想的细分电流波形应使各通电状态下的步距角特性的幅值、形状均相等,如图3(b)所示。
因此电流按线性规律变化的细分方式使得细分后的每一小步的控制精度不相等。而如果按等步距角细分,则细分后的步距角为:
如果在控制电路中严格按照电流分配系数来控制各个通电状态,则能够保证细分后的每一小步的控制精度相等。因此本文采用按等步距角的细分方式。 2 步进电机细分控制硬件的实现 为了实现步进电机的等步距角细分,本文采用脉冲宽度调制(PWM)的方式来实现。PWM 就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲。这些脉冲综合在一起即可形成等效的正弦波、方波等预期的波形。而等效输出波形的质量与脉冲的步距有关,即同一时刻输出的PWM路数越多,则脉冲密度越高,则输出等效波形的质量就越好。而传统的步进电机控制系统多采用单片机作为微处理器,而单片机是单线程的微处理器,同一时刻只能执行一条命令,也即是同一时刻只能产生一路PWM信号,因此输出波形质量较差,从而导致步进电机的控制精度偏低。而FPGA的运算速度远远高于单片机的运算速度,且通过模块化设计可以使其处于多线程工作模式,即可以同时产生多路PWM信号,提高了输出等效波形的质量。本文中选取Al-tera公司2004年推出了新款Cyclone Ⅱ系列FPGA器件作为开发平台,同时输出8路PWM信号,控制实现四相步进电机的16细分。同时利用串口模块与上位机相连以实现人机交互。系统原理图如图4 所示。
该控制系统中采用总线控制方式,利用片选信号依次控制4路PWM锁存器的通断,这样可以简化硬件电路和软件设计。以A相控制为例,当片选A为高电平而其他几路片选为低时,A 路PWM 锁存器工作而其他几路PWM锁存器休眠。根据公式(8)计算出细分的电流分配系数,进而转化成控制PWM信号的占空比,同时开通几路锁存器,通过锁存器输出驱动步进电机。 3 步进电机细分控制软件的设计 本设计中采用Quartus Ⅱ软件开发平台和Verilog设计语言进行控制软件的设计。系统中需要在FPGA 内利用线性反馈移位寄存器(Linear Feedback Shift Regis-ters)来实现随机数的产生,控制步进电机的随机取样转动,本系统中最核心的PWM控制模块设计如下:
4 系统测试 系统设计完成后,对整个系统进行测试和检验。 PWM控制系统的仿真结果如图5 所示,观察仿真输出波形可知控制脉冲输出正确。将程序固化到FPGA 硬件中之后,将被控的四相反应式步进电机连接上,并通过串口将FPGA与上位机相连,由上位机输出命令控制步进电机的转速、转向、转动角度等。
5 结语 本文提出了一种基于FPGA的步进电机控制系统设计方案。该方案利用FPGA控制速度快、可靠性强等特点,利用等步距细分原理和PWM控制技术,设计出了高灵活性、可人机交互、分辨率高的步进电机控制系统。验证结果表明,该控制系统实现了步进电机等步距角的16级细分,并通过人机交互实现了任意改变各相顺序的主要技术指标,控制精度高,可靠性强。从而证实了该方案的可行性。 |