基于FPGA的步进电机速度控制器的设计
步进电机易于控制、快速响应性好、并可在很宽的范围内进行平滑调速,是数控机床、打印机、绘图仪、机器人控制等自动控制系统中广泛应用的执行元件u]。步进电机的起动频率特性使步进电机启动时不能直接达到运行频率,而要有一个启动过程,即从一个低的转速逐渐升速到运行转速。同样,当步进电机停止工作时,由于惯性作用,需要有一个降速过程。
目前广泛应用的步进电机速度控制方法通常是采用单片机产生控制信号,利用EPROM与压频变换器结合的模拟电路实现的,电路结构复杂、控制精度低。本文采用FPGA芯片和VHDL语言,实现步进电机可变速度控制,由FPGA产生步进电机的升降速所需的时钟信号以及变速、匀速过程的切换,单片机只用来控制系统的工作状态。电路结构简单、易修改、可移植性强,使速度控制灵活,且精度高。

1 步进电机升降速控制原理
在步进电机运行过程中,要经历升速、恒速和减速过程。当步进电机启动时,若一次将速度升到启动速度,启动频率可能超过极限启动频率,造成电机失步。同样,如果电机到达终点时突然停下来,由于惯性,电机会发生过冲,影响位置控制精度。因此,升降速控制是步进电机控制中不可缺少的环节。
步进电机的速度控制是通过改变输入脉冲的频率来改变的。随着数字技术的发展,FPGA(现场可编程门阵列)作为可编程器中的主流器件,其特点是直接面向用户,灵活性、通用性强,开发效率高、工作可靠性好,在数字系统设计中得到了广泛的应用。
采用FPGA进行可变速度控制,只需对主时钟进行不同数量的分频。将事先计算好的对应不同分频数的数据存储在LPM_ROM中,由加法计数器作为LPM—ROM的地址计数器,根据地址计数器产生的不同地址对应不同的数据,进行不同比例的分频,从而控制电机转速。由多路选择器控制步进电机的匀速运转和升、降速过程的交替。
2 步进电机速度控制系统构成
2.1 步进电机速度控制电路
根据上述原理,在MAX—PLUS II平台采用原理图方法设计的速度控制电路如图1所示,其中各模块均由VHDL。硬件描述语言设计完成。

图1 速度控制电路图
图1中,DVFl0为10分频电路模块,对主时钟进行单一倍数分频,产生适合步进电机匀速运转的时钟信号。DVF1为计数器可并行预制的加法计数器设计完成的数控分频器,根据预置数据的不同,对输入时钟有不同的分频比。
在设计中,利用FPGA的嵌入式ROM存放不同分频比所需的预置数据。采用这种方法的好处是:可以根据不同的分频要求灵活地改变存储数据的数量以及大小。本设计对步进电机进行匀加速、匀减速控制,只设计了16种不同分频比的速度变化,在LPM-ROM中存储了对应的16个数据。
由FPGA的内部的参数化模块定制实现的LPM-ROM模块如图2所示。

图2对应不同分频比的预置数存储器
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
- 上一篇文章:基于FPGA的DES加密芯片的设计
- 下一篇文章: 两种EDA设计数据共性剖析与转换
