基于 CPLD 的步进电机控制器设计.docx
- 文档编号:9320312
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:33
- 大小:1.39MB
基于 CPLD 的步进电机控制器设计.docx
《基于 CPLD 的步进电机控制器设计.docx》由会员分享,可在线阅读,更多相关《基于 CPLD 的步进电机控制器设计.docx(33页珍藏版)》请在冰豆网上搜索。
基于CPLD的步进电机控制器设计
基于CPLD的步进电机控制器设计
摘要
随着微电子技术的发展,可编程逻辑器件在当今得到了广泛的应用。
本文通过分析可编程逻辑器件的工作特点,对可编程逻辑器件作为步进电机控制器的可行性进行了探讨,并与单片机进行比较(单片机是传统的步进电机控制器核心),得出了使用可编程逻辑器件作为步进电机控制器,相比较于单片机而言更具有优越性的结论。
基于对步进电机的工作原理进行了详细的分析,提出了可编程逻辑器件的使用作为一个开环控制的步进电机控制方案。
该方案控制器的理论输出波形通过进行编程和仿真在Max+plusII软件上可以得出。
通过对仿真波形的详细分析,表明该方案在理论上是成立的。
为了证实该控制器的实际可行性,本文在通过方案理论仿真的基础上对Altera公司生产的CPLD芯片EPM7128SLC84-7进行了程序烧写,为了付诸实践进而设计了一个简易的步进电机驱动器,从而完成了对实物电机的控制。
通过实践,证明了该方案的实际可行性。
关键词:
步进电机;可编程逻辑器件;MAX+plusII;控制
CPLD-basedDesignofTheStepperMotorController
Abstract
Withthedevelopmentofmicroelectronictechnology,programmablelogicdevicehasbeenwidelyusedinmodernworld.Thispaperdiscussesthefeasibilityofprogrammablelogicdeviceasasteppermotorcontrollerbyanalyzingthecharacteristicsofprogrammablelogicdevice.Comparedwithsingle-chipwhichisthecoreofthetraditionalsteppermotorcontroller,Idrawaconclusionthatprogrammablelogicdeviceasasteppermotorcontrollermoresuperiorthansingle-chip.Throughthedetailedanalysisontheworkingprincipleofsteppermotor,thispaperpresentsthecontrollerofsteppermotoropen-loopcontrolschemewilluseprogrammablelogicdevice.ProgrammingandsimulationusingMAX+plusIIsoftware,thetheoryofthecontrolleroutputwaveformisobtained.Throughdetailedanalysisofthesimulationwaveform,showsthattheschemeissetupintheory.Inordertoactuallyconfirmthefeasibilityofthecontroller,proceduresburnedintothechipcalledEPM7128SLC84-7.Then,asimplesteppermotordriveisdesignedandproduced.Inthisway,anintegratedsteppermotorcontrolsystemismade.Throughthepractice,provesthepracticalfeasibilityoftheproposedscheme.
Keywords:
steppermotor;PLD;MAX+plusII;control
1绪论
1.1选题背景
步进电机控制器在早期由数字逻辑电路构成或基于单片机为其控制核心。
尤其在最初使用数字逻辑电路作为控制器的时候,控制器由许多的芯片焊接在一块电路板上构成,这需要占用很大的空间。
此外,任何一个芯片的失败将导致控制器工作不正常,系统可靠性低。
由于微电子技术的成长,以单片机为主旨构成步进电机的控制器变成主流并延续至今。
单片机使用程序来完成信号的处理并对外部控制对象完成控制,程序编写灵活,可靠性高,并且使得控制器占用空间大为缩减。
随着可编程逻辑器件的出现和发展,数字逻辑电路的设计变得更容易,它包含了大量的逻辑门电路,可以以模块化的方式,如积木为数字逻辑电路。
可编程逻辑器件可以使用图形法和硬件描述语言进行编程,允许用户依据自己的习惯和经验单一使用图形法或者语言描述方法进行设计,也可以两种方法共同使用进行设计,设计过程非常灵活。
可编程逻辑器件可以把所有需要用到的数字逻辑器件集成到一块小小的芯片上,这将进一步简化步进电机控制器电路,使得控制器的运行更为可靠,维护也更为方便。
在没有EDA软件缺乏的时代,数字电路的设计是一个复杂的过程。
首先,设计者要依据理论设计出方案,然后依据方案将所需的元器件焊接在一块电路板上并对其通电,测试其输出端的波形。
发现电路输出不符合设计要求时,还需要检查电路是否有焊接错误或者焊接缺陷,大量的时间被电路调试给消耗掉了。
EDA的出现使得实际中的元器件可以用软件中的虚拟元件所代替,虚拟的接线易于连接并工作可靠,输出电压和电流的电路,也可以在使用虚拟仪器软件(电流表,电压表,示波器,逻辑分析仪)测量仿真,而且仿真得到的数据也能够非常近似地反映出实际电路工作是的相关参数,这种方法极大地缩短了设计周期,使劳动生产率大为提高。
1.2EDA技术简介
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
EDA所设计的范围有以下三个方面:
(1)电路设计
电路设计主要是指电路原理图的设计、PCB版图设计、可编程逻辑器件设计和单片机(MCU)的设计等。
(2)电路仿真
电路仿真是利用EDA软件工具的电路环境(设计工具包含多种电路器件和电路)的过程(从激励的全过程的模拟响应)。
这个工作与的性能调试和构建电路相对应着。
因为不需要实际器件,因此起到了经济实惠的效果,并且有非常不错的结果。
(3)系统分析
利用EDA技术及工具能对电路进行直流工作点分析、交流分析、瞬态分析、傅里叶分析、噪声分析、噪声图分析、失真分析、直流扫描分析、DC和AC灵敏度分析、参数扫描分析、温度扫描分析、转移函数分析、零极点分析、最坏情况分析、蒙特卡洛分析、批处理分析、用户自定义分析、反射频率分析等等。
[1]
1.3MAX+plusII介绍
MAX+plusII是一个集成化的可编程逻辑器件开发环境,设计者在这个环境下进行编辑设计、编译、校验、布局布线、下载等一系列设计工作,并且由于设计方法的灵活性,可以使设计者有多种选择,这样能使设计者根据自己的技术水平快速完成所需设计。
[2]
1.4步进电机
步进电机是一种特殊的电机,广泛应用于位移被要求精确的控制场合。
顾名思义,所谓步进电机便是以离散步进方式旋转,每输入一个脉冲就改动一次通电状况,它的定子绕组就前进一步。
依赖于它的设计,步进电机能以每步90°、45°、18°旋转或以每个脉冲至少零点几的角度旋转。
在不同的脉冲频率下,步进电机可以实现不同快慢速度的旋转:
步进一次,或是以高达4000r/min的速度逐步地旋转。
[3]
1.5设计任务
本设计的主要任务是研究步进电机的控制方法以及在Altera公司提供的开发环境MAX+plusII平台上对四相步进电机设计并编写控制程序并完成仿真,最后完成对实物的控制。
具体内容如下:
(1)本文通过对四相步进电机结构的分析,详细论述了步进电机的工作运行原理。
(2)依据设计要求制定了四相步进电机的控制方案:
●四相四拍和四相八拍工作方式。
按四相四拍步骤运行时,步进电机在各个绕组的通电次序为A-B-C-D-A,依次类推;按四相八拍步骤运行时,步进电机的各绕组的通电次序为A-AB-B-BC-C-CD-D-DA-A,依次类推。
●输出由发光二极管显示,使用开关座控制信号。
可以用S来掌控工作的模式;S=1时为四相四拍运行,S=0时为四相八拍运行。
CLK为脉冲输入,频率为Hz。
EN为输出使能控制,高电平有效。
●要求步进电机速度可调,能够反转,运行可靠。
(3)在可编程逻辑器件开发环境MAX+plusII平台上编制控制程序并进行仿真。
(4)步进电机驱动电路的设计。
(5)将编译后的程序烧写到器件MAX7128SLC84-7上,连接驱动电路对实物电机进行控制。
(6)对设计的工作进行了总结。
2步进电机的结构及运行原理
2.1混合式步进电机结构
混合式步进电机每转的步数有很多,还有很高的分辨率和效能,电机定子绕组上的电感比较小。
从结构上看,混合式步进电机与反应式步进电机非常相似都是采用多相绕组,且电机的定转子上面分布有很多齿槽。
一个沿轴方向的磁场由转子上的永磁铁产生,该磁场的方向是单向的,这与永磁式步进电机相类似。
混合式步进电机可以当作同步电机进行速度调节,也可当作步进电机进行位置开环控制。
如图2.1所示的电机即为比较常见的混合式步进电机的结构,定子与转子是组成它的两个重要部分。
定子分为8个极,每个极上有励磁线圈,在磁极末尾有五个小齿均匀分布着。
每个极上的线圈都有两种不同的通电方式,由于这样四相混合式步进电机就成为了A相和A′相,B相和B′相,C相和C′相,D相和D′相。
电机的转子包括一个环形永久磁钢和两段铁芯,两段铁芯放置在环形永磁体两端,和每一段铁芯上都有一定数量的齿在圆周上均匀分布,而小齿在两段铁芯上是错开的,错开的距离有半个齿距,且定子上小齿的齿距等同于铁心上小齿的齿距。
环形永磁体采用的是在轴向方向磁化的方法,这样就使得小齿在同一段铁心上具有相同极性,然而小齿的极性在两块不同段的铁芯上则是相反的。
图2.1混合式步进电机的结构图
2.2四相步进电机运行原理
混合式步进电机的磁动势来源于两个部分:
一个磁动势来源于永久磁铁生产的;第二个则是由定子绕组产生的磁动势。
在每个不同的磁极下,有时为两种磁动势的加和,有时则为两者的差值,与电流方向不断变化的交流绕组,激发形成混合式步进电机的气隙磁通势。
四相的混合式步进电机的构造图如图2.1所示。
该电机的定子上有八个极分为四相即每两极构成一相,每个定子磁极分布5个小齿,而在转子上则有50个均匀分布的小齿。
若在电机的某一端看进去时,当转子上的一个齿的轴线与定子某一个极上的小齿重合时,则其相邻极上定转子的齿就错开1/4齿距。
从图2.1的I端可以看出,当磁极“5”和磁极“1”下定转子的齿轴线重合时,在磁极“2"下就错开了1/4齿距,而定子齿与转子槽的轴线在“3”极与“7”极下则在一条直线上。
该混合式电机的脉冲是同极性的由驱动器供给,其定子绕组为四相。
在这种情况下完全等同于采用由驱动器供给的正负脉冲的两相绕组的工作方式。
当定子绕组无电流通过或转子上不存在磁钢时,电机一般就不会产生转矩,电磁转矩只有在定子的磁势与转子的磁钢共同作用的同时才会产生。
在每相控制的绕组上无电流流过时,则永久磁钢产生的磁动势将决定混合式步进电机气隙中磁动势的大小。
当电机的组成结构的相互对称时,那么在各个定子磁极下都会产生大小相等的气隙磁动势,此时电机将不会产生电磁转矩。
在混合式步进电机的磁路上,电机上的磁导总数与转子的位置无关,这是由于它的永磁磁路的方向是轴向的。
二相或四相混合式步进电机可以运行工作在许多不同的通电方式下。
当其中的某一相通电时,举例子当A相的定子绕组处于通电状态时,如图2.2所示即为转子的平稳位置。
定子的其中四极上有磁势作用,即“l”-“3”-“5”-“7”极,与其对应的极性分别为N-S-N-S。
就图2.1所示的电机,在每相邻两个定子磁极之间所夹的齿距数为50/8=6+1/4。
倘若转子离开了当前的平稳位置而向右侧的方向摆动了一个角度,如图2.3所示为作用转矩与定转子齿的相对位置以及方向。
可以看到,扭矩在不同极性的方向不同的是相同的,都是使转子可以追溯到稳定的平衡位置方向。
这是因为在电机两端的定子极性相同,而转子极性却相反,定子与转子相互错开了1/4齿距,所以当转子不在平稳的位置时,其两头的作用转矩的方向是相同的。
图2.2A转子在各个通电状态时的平稳位置
图2.3作用在偏右位置时转子转矩的方向
当步进电机的定子绕组按单四拍A-B-C-D或双四拍AB-BC-CD-DA的次序通电,每改发生一次电源状态的改变,转子就沿其通电方向转过l/4齿距,即(360°/50)/4=1.8。
当定子绕组按八拍模式时,在通电状态下的每一个变化,转子旋转0.9度。
定子绕组每发生一次通电状态的变化,转子就会转过一个相应的角度,当走过一个通电状态的循环时,转子就转过一个齿距,每发生50个这样的通电循环,转子就会转一圈即360°。
由于混合式步进电机线圈电流的作用而产生了单极磁场,这样就改变了分布在每个磁极上的磁场,使出现了磁位差在极与极之间,产生的磁位差与定子各相的通电次序一起变换,对气隙基波磁导的转矩发生作用。
其工作原理是基于反应,这在一个轴向磁场的时间为基础的同时,也受到径向磁场的作用。
2.3混合式步进电机的运行特性
2.3.1静态运行特性
所谓静态运行就是指步进电机处在通电情况不发生变化的运行状态。
图2.4定子和转子齿的位置关系
图2.5步进电机矩角特性
2.3.2步进运行特性
当作用在步进电机的脉冲频率较低时,每一个脉冲信号的到来转子就会转过一个相应的步距角。
转子在两个脉冲之间有充足的时间处于静止状态,电机表现为步进运转状态。
此时,影响步进电机工作情况的因素主要是电机的负载状况和驱动力矩值,如图2.6所示。
图2.6步进电机步进运行
当电机处于无负载状态,A相定子绕组通电时,OA点为转子的稳定平衡点。
当B相绕组分配到脉冲时,矩角的特性将由B代替A,OA点对应的转矩将大于零,电机沿着矩角特性B运行到OB点停止。
当分配脉冲到C相时,转子会以点对点的方式由OB点运行到OC点停止,每一拍都转过一个一定的步距角。
当步进电机以一定的负载运行,只要负载达到相应的要求,转子可以保持它的步进运动。
2.3.3连续运转状态
当频繁的给予脉冲时,未等电机转子停止就迎来了下一个脉冲,此时步进电机处于连续的运转状态代替了一步一步的转动。
只要失调角在动态的稳定区域内,各相通电状态发生改变的瞬间,转子就会依然不失步的前进转动。
步进电机工作在带负载条件下,需克服惯性转矩和负载转矩,当脉冲频率太大,失准角必须在下一个脉冲到达时进入动态稳定区域,否则电机不能启动。
当电机运行时,减少因惯性力矩电机的影响,电机可以连续运行,其运行的频率高于起始频率。
相数或节拍和步进电机的步进角度成反比关系,相数或节拍数越多,步进角则越小,越容易成稳定的区域,就会有较高的起始频率。
随着脉冲信号频率的增大,电机的旋转速度也就会增大,那么步进电机可以带动起来的负载转矩将会减小。
造成这这样的原因是当脉冲频率升高时,两个连续脉冲的时间间隙减小,定子绕组中的电感有阻碍电流变化的作用使其变化缓慢,致使控制绕组的电流在短时间无法上升到稳态值。
频率的高低与电流的数值成反比,当频率很高时,电流上升所能到达的数值也就很小,则电机的电磁转矩也会很小。
此外,随着频率的增加,绕组反电势的增加导致步进电机电流下降,也能使电机输出转矩下降。
总而言之,步进电机的输出转矩的大小与脉冲频率的大小成反比关系。
[4]
3步进电机的控制方案
3.1步进电机的开环控制
步进电机系统的主要特点是能实现精确位移、精确定位,且无积累误差。
这是因为步进电机的运动受输入脉冲控制,其位移是断续的,总的位移量严格等于输入的指令脉冲数或其平均转速严格正比于输入指令脉冲的频率;若能准确控制输入指令脉冲的数量或频率,就能够完成精确的位置或速度控制,无需系统的反馈,形成所谓的开环控制系统。
在开环控制方式中,系统由控制器、光电耦合器、电机驱动电路以及控制电机运动的信号源构成。
步进电机的位移量或转角直接反映指令的输入脉冲,实现同步跟踪驱动。
步进电机开环控制系统框图如图3.1所示。
在这种系统中,步进电机转轴的位置和转速与输入脉冲之间没有反馈联系,不能对转轴的旋转情况进行有效的监控,以致在某些场合下,由于转速和转角的波动,会破坏运动的稳定性,并且难于实现高速。
最常见的失控现象是,当输入脉冲频率超过步进电机的启动频率时,步进电机不能起动或者失去同步。
在本设计中,控制器的输入脉冲为2Hz,应属于低速运转,故而开环控制能满足要求,由于开环控制经济并且简单可靠,故而本设计采取开环控制方案。
图3.1步进电机的开环控制系统流程框图
3.2系统整体结构
如图3.2,系统设计中采用Altera公司的可编程逻辑器件EPM7128SLC84-7芯片作为步进电机的控制器,引入外接2Hz时钟脉冲信号作为控制器所需的输入脉冲。
使用光电耦合芯片tlp521在控制器的输出信号与电机的驱动电路之间进行强弱电隔离。
图3.2系统构成框图
3.3器件说明
EPM7128SLC84芯片由宏单元、逻辑阵列块、扩展乘积项、可编程互连阵列(PIA)和I/O控制块五类模块组成。
本设计中使用的EPM7128SLC84-7芯片价格很便宜,该芯片共具有84个引脚按功能可分为三类:
电源引脚,指定功能引脚和60个用户可自定义的I/O引脚;在内部有128个逻辑宏单元(Macrocell);内部大概有2500个等效门数;除了通用的I/O口引脚之外,EPM7128SLC84芯片还有两个全局的时钟、分别为全局的使能信号和全局清零输入信号;该器件的最大计数频率可达到为151.5MHz,并且内部互连延时为1ns,完全能够满足设计所需要求,另外,在本设计中采取了模块化设计,各个模块之间相互独立,易于扩展外部设备如键盘、显示器等。
多余的I/O口可为未知的使用场合增加外部设备留下余地。
4算法及其仿真
4.1模式选择
根据设计要求,S作为工作方式控制信号;S=1时为四相四拍运行,S=0时为四相八拍运行。
依此设计模式选择模块:
当S=1时,将信号输出端切换到四相四拍通电序列生成模块上;当S=0时,将信号输出端切换到四相八拍通电序列生成模块上。
相应的程序如图4.1:
图4.1模式选择
其中,Q13~Q10为四相八拍模式下的电机各相控制信号;Q23~Q20为四相四拍模式下的电机各相控制信号。
4.2正反转控制
如图4.2,其中输入端re为步进电机旋转方向控制信号输入端,当re=0时,电机顺时针方向旋转,当re=1时,电机逆时针方向旋转。
图4.2正反转控制
4.3各相通电顺序控制信号生成
各相的通电顺序控制信号生成均使用了计数器。
其中,四相四拍的通电控制信号采用环形计数器对输入的脉冲进行计数,每经四个脉冲计数重新开始,每次脉冲的计数输出均表现为高电平的单向循环移位。
而四相八拍的通电顺序控制用这种方法并不好实现,故而采用用组合逻辑电路事先构成各通电状态,之后采用二进制计数器对输入脉冲进行计数,而计数器输出的信号正好是对应十进制的0~7,采用这八个二进制数作为选择信号对通电控制信号的各个状态进行有序选择,就能实现各相的顺序通电并且运行可靠。
4.3.1四相四拍
图4.3四位环形计数器
采用四位环形计数器产生循环的脉冲信号,依次为:
“1000”、“0100”、“0010”、“0001”,如图4.3。
图4.4四位环形计数器时序图
4.3.2四相八拍
四相八拍模式的通电控制信号设计采用的是组合逻辑电路与时序逻辑电路相结合的办法来实现的,即用门电路依1000-1100-0100-0110-0010-0011-0001-1001的顺序将各阶段的绕组通电状态表示出来,然后使用计数器产生有序的三位二进制信号对相应的各状态进行选择,即000-1000;001-1100;010-0100;011-0110;100-0010;101-0011;110-0001;111-1001。
这样,绕组各个阶段的通电状态将能够准确无误地实现。
图4.5三位二进制计数器
仿真波形如图4.6:
图4.6四相八拍模式下控制信号波形
4.4速度转换
速度转换模块使用一个四位的二进制计数器将输入频率为2Hz的脉冲信号进行分频,这样共获得2Hz、1Hz、0.5Hz、0.25Hz、0.125Hz五个频率的脉冲信号,经由外部输入的控制信号来控制数据选择器进行速度选择,便可很方便地对电机的速度进行准确切换。
图4.7速度转换模块
计数器输出值与速度值对应关系如表4.1:
表4.1:
计数器输出值与速度对应表
S2S1S0频率Hz
000/101/110/1112
0011
0100.5
0110.25
1000.125
1、四位二进制计数器的主要程序代码如下:
(1)实体定义
PORT(CLK,RST,EN:
INSTD_LOGIC;
Q:
BUFFERSTD_LOGIC_VECTOR(3DOWNTO0));
(2)进程描述
PROCESS(CLK,RST)
BEGIN
IFRST=’0’THEN
Q<=(OTHERS=>’0’);
ELSIF(CLK’EVENTANDCLK=’1’)THEN
IF(EN=’1’)THEN
Q<=Q+1;
ELSE
Q<=Q;
ENDIF;
ENDIF;
ENDPROCESS;
2、数据选择器主要程序代码:
(1)实体定义
PORT(PLUSE:
INSTD_LOGIC;
Q0,Q1,Q2,Q3:
INSTD_LOGIC;
S:
INSTD_LOGIC_VECTOR(2DOWNTO0);
CLK:
OUTSTD_LOGIC);
(2)进程描述
PROCESS(S)
BEGIN
IFS=“000”THEN
CLK<=PLUSE;
ELSIFS=”001”THEN
CLK<=Q0;
ELSIFS=”010”THEN
CLK<=Q1;
ELSIFS=”011”THEN
CLK<=Q2;
ELSIFS=”100”THEN
CLK<=Q3;
ELSECLK<=Q0;
ENDIF;
ENDPROCESS;
图4.8速度转换器仿真波形
4.5整体仿真
控制器设计并完成程序编写后使用MAX+plusII的波形编辑器进行了时序波形仿真,结果显示,波形完全符合设计要求,仿真波形图见附录A。
4.6显示与键盘
为了实现人机对话,本设计采用了一个LED数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 CPLD 的步进电机控制器设计 步进 电机 控制器 设计