一种基于CPLD的步进电机驱动模块设计及实现
0引言
数控技术是以数字量编程实现控制机械或其他设备自动工作的技术,数控机床就是采用了数控技术的机床,或者说装备了数控系统的机床。机床数控系统主要由几个部分组成:零件加工程序的输入、数据处理、插补计算和运动机构的控制。本文主要介绍最后一个部分运动机构的控制,即如何控制电机的动作。可选的电机有很多种,在这里我们选择步进电机。
步进电机是数字控制电机,是一种将电脉冲转换成角位移的精密执行元件。它的旋转是以固定的角度一步一步运行的,每给步进电机发一个脉冲电机就旋转一个固定的角度,只要脉冲数发的正确,电机就能走到位,无累积误差,所以对步进电机的控制可以采用开环控制方法。如何精确且经济的控制步进电机成为广大研究人员探讨的课题。本文将采用CPLD来实现对步进电机的控制。并最终通过实验仿真结果。
1步进电机驱动原理
步进电机的驱动是靠给步进电机的各相励磁绕组通电,实现步进电机内部磁场方向的变化来使步进电机转动的。设我们所用的步进电机是四相的,这四相分别为A,B,C,D,对应于四对磁极。每个磁极的内表面都分布着大小,齿间距相同的多个小齿(不同的步进电机,小齿的个数不同),假设Ⅳ为转子中小齿的个数。当这4相按A—B—C—D的顺序通电时,步进电机的内部磁场变化一周(360°),此种通电方式为单相四拍通电方式,此时步进电机的步距角:
θ=90°/N
若N=50,则θ=1.8°
如果选择的通电顺序为A—AB—B—BC—C—CD—D—AD,此种通电方式为双相八拍通电方式,此时步进电机的步距角为:
θ=45°/N
若N=50,则θ=0.9°
步距角是步进电机一次能转过的最小角度,电机的步距角越小,说明电机走的越精确,所以本文选择驱动电机通电的方式为双相八拍通电方式。
2设计方案
一个完整的,控制精度高的步进电机控制系统框图如图1所示。CPLD和步进电机的驱动器相连,驱动器把CPLD输出的信号放大后送入步进电机,由于数控机床的各个轴是靠电机的转动来带动的,所以电机的转动带动相应轴的动作。
![](../img/eep/emb/emb-456775yp5mqpjf21.jpg)
各组成模块功能描述如下:
2.1CPLD模块
使用CPLD来控制步进电机实现电机的启动、停止以及正反转。传统的方式是用单片机来控制步进电机,但是在一个数控系统中单片机要做的工作很多,比如单片机既要控制步进电机还要接受上位机的数据做相应的运算,还要控制显示模块,以及报警处理等,如果改用CPLD来驱动步进电机则可以减轻单片机的负担。用大规模可编程逻辑器件作为控制器,可以反映出CPLD在控制方面起到较高的作用,而不是仅仅作为逻辑器件来使用。并且CPLD具有较为经济的价格。
另外CPLD的外围接口也较多,比如以ALTERA公司生产的EPM7032为例,它的I/O口有36个,内部的逻辑门有600多个,除了驱动步进电机所用的资源外,其余剩余的资源还可在系统中做其他用途。
在实际电路板设计阶段,如果用传统的设计方法设计电路必须首先决定使用的器件类别和规格,然后从绘制硅片版图开始,逐级向上,直至整个系统的设计。在这个过程中如果有哪一级发生问题必须返工重来,整个电路板将报废。但是如果使用CPLD,设计方法是自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。比如在我们设计的一开始就可以先把CPLD和驱动器相连,再通过软件的设置来利用到我们已经连好的引脚,如果程序出现错误,可以同过ISP(在系统可编程的方法)把新的程序装载到CPLD中,而不用更换电路板。
2.2驱动器模块
步进电机的运行要有一电子装置进行驱动,这种装置就是步进电机驱动器,由于CPLD输出的信号还不足以驱动电机使电机转动,所以在CPLD和步进电机之间要连接驱动器,放大CPLD输出的信号。CPLD每发一个脉冲信号,通过驱动器就使步进电机旋转一步距角。因而控制送入步进电机脉冲频率,可以对电机进行调速。脉冲发的快电机运行的快,脉冲发的慢电机运行的慢。对于电机转速的控制可以间接通过调整对送入CPLD中CLK脉冲的频率来实现;控制步进脉冲的个数,可以对电机进行精确定位。
3软件实现
本文通过对CPLD进行编程来实现对步进电机的控制,使用的语言是VHDL语言,使用的编程环境是MAX+PLUSII。控制程序由两大部分构成,一是实体部分,二是结构体部分,实体的作用是描述端口的信息,结构体的作用是描述电路的功能。
3.1实体部分
在实体中定义了6个端口。
CLK:时钟信号
reset:复位信号
DIR:正转信号
START:启动信号
STOP:停止信号
phase:输出信号
3.2
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- 用CPLD实现FIR数字滤波器的设计(08-07)
- 基于DSP+CPLD的交流电机调速在水处理控制中的应用(11-27)
- 一种基于DSP的张力、深度、速度测量系统(04-15)
- 用双端口RAM实现与PCI总线接口的数据通讯(05-06)
- 基于DSP和CPLD的宽带信号源的设计(07-26)