姓名___ _ _ _学号201016050136院系电气信息工程学院专业电子信息工程班级___信息10-1______ __目录目录 (2)摘要 (3)关键词 (3)Abstract (3)Keywords (3)一、引言 (4)二、步进电机细分驱动的基本原理 (4)三、Quartus II概述 (5)四、课题设计 (5)(一)总体设计 (5)(二)细分电流的实现 (6)(三)细分驱动性能的改善 (6)(四)程序设计 (6)六、仿真与测试结果分析 (10)七、结论 (12)参考文献 (12)注释 (13)附录 (14)心得体会 (20)摘要在对步进电机细分驱动原理进行分析研究的基础上,提出一种基于FPGA 控制的步进电机细分驱动器。
利用FPGA中的嵌入式EAB构成LPM-ROM,存放步进电机各相细分电流所需的PWM控制波形数据表,并通过FPGA设计的数字比较器,同时产生多路PWM电流波形,实现对步进电机转角进行均匀细分控制。
实验证明,所研制的步进电机驱动器不仅体积小,简化了系统的设计,减少了延迟,改善了低频特性,有良好的适应性和自保护能力,提高了驱动器的稳定性和可靠性。
关键词步进电机;细分驱动;脉宽调制;FPGAAbstractIn this paper, a divided driving circuit for stepping motor controlled by FPGA is put forward, based on the analysis of the principle of stepping motor divided driving. Using embedded EAB in FPGA to compose LPM-ROM, store PWM control wave form data which stepping motor each phase subdivided driving current is needed.The magnitude comparator designed with FPGA generates several PWM current waveform synchronously, to realize the step angles even division control for three–phase stepping motor.Experimments have proved that the developed subdivision driver is not only smaller,sampler in system, can shorten the delay time,improve the stability in low frequency ,but has good self-adaptation and self-protection ability,and its stability and relibility are higher.Keywordsstepping motor; divided driving;PWM; FPGAB 相A 相 C 相一、引言步进电机是把脉冲信号转换成角位移或直线位移的执行元件,是一种输出与输入数字脉冲相对应的增量驱动元件。
具有定位精度高、惯性小、无积累误差、启动性能好、易于控制、价格低廉及与计算机接口方便等优点,被广泛应用于数控系统中。
但由于脉冲的不连续性又使步进电机的运行存在许多的不足之处,如低频震荡,噪声大,分辨率不高及驱动系统的可靠性差等,严重制约了其应用范围。
步进电机的细分控制有效的解决了这一问题,步进电机细分驱动技术可以减小步进电机的步距角,提高电机运行的平稳性,增加控制的灵活性等。
但是传统的步进电机驱动大多数采用的是用单片机作为控制芯片,外加分立的数字逻辑电路和模拟电路构成。
受单片机工作频率的限制,细分数不是很高,因此控制器的精度较低,控制性能不是很理想。
近年来随着可编程逻辑器件的飞速发展,似的可编程逻辑器件功能越来越强大从而促使高集成化高精度的驱动器的出现。
本系统是以FPGA 为核心的控制器件,将驱动逻辑功能模块和控制器成功地集成在FPGA 上。
利用FPGA 中的嵌入式EAB 可以构成存放电机各相电流所需的控制波形表,再利用数字比较器同步产生多路FPGA 电流波形,对多相步进电机进行控制。
若改变控制波形表的数据、增加计数器和比较器的位数,提高计数精度,就可以提高PWM 波形的细分精度,进而对步进电机的步进转角进行任意级细分,实现转角的精确控制。
二、步进电机细分驱动的基本原理步进电机的驱动是靠给步进电机的各相励磁绕组轮流通以电流,实现步进电机内部磁场合成方向的变化来使步进电机转动的。
设矢量Ta 、Tb 、Tc 、Td 为步进电机A 、B 、C 、D 四项励磁绕组分别通电时产生的磁场矢量;Tab 、Tbc 、Tcd 、Tda 为步进电机中AB,BC,CD,DA 两相同时通电产生的合成磁场矢量。
当步进电机的A 、B 、C 、D 四相轮流通电时,步进电机内部磁场从TA →TB →TC →TD,即磁场产生了旋转。
一般的,当步进电机的内部磁场变化一周时,电机的转子转过一个齿距,即改变一次通电状态,转子转过一个步距角。
该步距角的计算公式为:其中:α代表接入绕组的线路状态数,m 代表电动机的相数,Z x 代表转子齿数。
由此可见,步进电机一旦制造出来,其相数与转子齿数将为定值,要想减小步距角,以达到细分的目的,用户能改变的只有α。
图1所示为四相步进电机八细分时各相电流波形,各相电流均以最大电流值的1/4上升和下降。
与单四拍方式相比,α值从2增加到8,步距角θb 为单四拍运行方式时的1/8。
所以步进电机细分驱动的关键在于控制电机各相励磁绕组中的电流大小及其稳定性。
X b mZ αθ360=C相图 1 三相步进电机八细分各相电流状态图改变步进电机相电流通常采用电流矢量恒幅均匀旋转的细分方法来实现,即同时改变两相电流iA和iB的大小,使电流合成矢量等幅均匀旋转。
iA和iB的变化曲线可描述为:iA = ImcosxiB = Imsinx三相步进电机八细分时的各相电流是以1/4的步距上升或下降的,在两相稳定的中间状态,原来一步所转过的角度将由八步完成,实现了步距角的八细分。
三、Quartus II概述Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL 以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。
具有运行速度快,界面统一,功能集中,易学易用等特点。
Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。
对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三放EDA工具。
此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。
Maxplus II 作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。
目前Altera已经停止了对Maxplus II 的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。
Altera在Quartus II 中包含了许多诸如SignalTap II、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy 设计流程,并且继承了Maxplus II 友好的图形界面及简便的使用方法。
四、课题设计(一)总体设计从图1中可以看出,一般情况下总有二相绕组同时通电。
一相电流逐渐增大,另一相逐渐减小。
对应于一个步距角,电流可以变化N个台阶,也就是电机位置可以细分为N 个小角度,这就是电机的一个步距角被N细分的工作原理。
也可以说,步距角的细分就是电机绕组电流的细分,从而可驱动步进电机平滑运行。
图2为步进电机细分驱动系统结构图。
步距细分电路是由PWM计数器、ROM地址发生器、PWM波形存储器、比较器、功放电路所组成。
其中,PWM计数器在时钟脉冲作用下递增计数,产生阶梯形上升的周期性锯齿波,同时加载到四相步进电机各相数字比较器的一端;波形ROM输出的数据q[15..12],q[11..8]、q[7..4]、q[3..0]分别加载到比较器的另一端。
当PWM计数器的计数值小于波形ROM输出数值时,比较器输出高电平;而当大于波形ROM输出值时,比较器输出低电平。
由此可输出周期性的PWM波形。
根据图1步进电机八细分电流波形的要求,将各个时刻细分电流波形所对应的数值存放于波形ROM 中,波形ROM的地址由地址计数器产生,地址计数器有3个控制端,可用于改变步进电机的旋转方向、转动速度、工作/停止状态。
FPGA以产生的PWM信号控制驱动电路的导通和关断。
PWM信号随ROM数据而变化,改变ROM中的数据就可以改变输出信号的占空比,实现限流及细分控制,最终使电机绕组电流呈现阶梯形变化,从而达到步距细分的目的。
图2 步进电机细分驱动系统结构图(二)细分电流的实现从LPM_ROM输出的数据加在比较器的A端,PWM计数器的计数值加在比较器的B端,当计数值小于ROM数据时,比较器输出低电平;当计数值大于ROM数据时,比较器输出高电平。
如果改变ROM中的数据,就可以改变一个技术周期中高低电平的比例。
(三)细分驱动性能的改善在线性电流的驱动下,步进电机的微步进是不均匀的,呈现出明显的周期性波动。
磁场的边界条件按齿槽情况呈周期性重复是导致微步距周期性变化的原因。
同时,不可避免的摩擦负载(摩擦力矩是不恒定的,或者说在一定范围内也是不确定的)以及其他负载力矩的波动导致失调角出现不规则的小变动或小跳跃,也使微步距角曲线在周期性波动上出现不光滑的小锯齿形。
步进电机的电流矩角特性并非线性函数,而是近似于正弦函数。
若电流呈线性上升或者下降,必然会造成每一细分步的步距角不均匀,从而影响步距精度。
为此,要在设计中提高LPM_ROM的数据精度,将数据提高到16位,使输出的步进细分电流近似为正弦电流,这样不仅提高了步距精度,而且可以改善低频震荡。