基于 FPGA 设计的步进电机控制系统_第1页
基于 FPGA 设计的步进电机控制系统_第2页
基于 FPGA 设计的步进电机控制系统_第3页
基于 FPGA 设计的步进电机控制系统_第4页
基于 FPGA 设计的步进电机控制系统_第5页
已阅读5页,还剩3页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 基于FPGA设计的步进电机控制系统褚达华上海交通大学微电子学院,上海 (200030E-mail:chudahua摘要:本文介绍了以Xilinx公司Spartan II系列FPGA实现步进电机控制的方法,并对该系统的结构、各模块功能、系统仿真和下载试验都作了详细论述。关键词:步进电机;Verilog HDL语言;FPGA中图分类号:TN41.引言步进电机是一种将电脉冲信号变换成相应的角位移或直线位移的机电执行机构。控制步进电机的输入脉冲数量、频率及电机各相绕组的接通顺序,可以得到各种需要的运行特性。由于步进电机具有步距值不受诸如电压和温度变化的影响、误差不长期积累以及控制性能好等优点, 所以

2、在仪器仪表、机器人、数控机床、纺织、轻工、石油、邮电、冶金和化工等行业得到了越来越广泛的应用。本文讨论一种基于FPGA设计的步进电机控制系统,利用FPGA 的I/O端口多,可以自由编程支配、定义其功能的特点。不仅实现简单方便,而且容易仿真。且鉴于FPGA芯片和Verilog HDL语言的特点,系统具有良好的扩展性和通用性. 2.步进电机控制系统方案基于FPGA设计的步进电机控制系统方案的框图1如下,它主要由脉冲发生器、分频器模块、电机控制模块、译码显示模块和电机驱动模块和数码显示6个模块组成。当系统工作时,脉冲发生器提供时钟的输入信号,通过分频器模块对脉冲信号进行分频,分别为电机控制模块和译码

3、显示模块提供时钟信号。电机控制模块输出控制步进电机的脉冲信号,通过电机驱动模块进行脉冲分配和功率放大后直接驱动步进电机。同时电机控制模块输出电机的运行数据到译码显示模块,进行译码后动态显示于数码管,在数码管上可以实时观测电机运行状态。图中虚线框起来的部分包括分频器模块、译码显示模块、电机控制模块都是通过FPGA 进行实现,其余部分为外部设备。 图2 步进电机控制系统方案3.FPGA结构设计基于FPGA设计的步进电机控制系统主体采用Verilog HDL语言设计,将系统按功能进行划分实现层次化设计。在顶层设计中对内部各功能模块的连接关系和对外接口关系进行描述,系统按基本功能分为分频器模块、译码显

4、示模块、电机控制模块,其中电机控制模块的具体功能有下层模块实现。将各模块进行综合2组成了步进电机控制系统,其顶层Verilog HDL源代码345和电路图如下所示。其Verilog顶层源代码如下:module main(GClk_50MHz,reset,select,data_out,wave_out;input GClk_50MHz;input reset;output1:0 select;output 7:0data_out;output wave_out;wire 3:0synthesized_wire_1;wire 3:0synthesized_wire_2;fdiv fdiv(.re

5、set(reset,.GClk_50MHz(GClk_50MHz,.Clk_1KHz(Clk_1KHz,.Clk_1Hz(Clk_1Hz;stepmotor stepmotor(.reset(reset,. Clk_1KHz(Clk_1KHz,. Clk_1Hz(Clk_1Hz,.display1(synthesized_wire_1,. display2(synthesized_wire_2,.wave_out(wave_out;dispedcoder dispedcoder(.Clk_1KHz(Clk_1KHz,.display1(synthesized_wire_1,.display2(

6、synthesized_wire_2,.select(select,.data_out(data_out;endmodule 图3 步进电机控制系统顶层电路3.1 分频器模块分频器模块实现将50MHz全局时钟分频得到一路1Hz时钟信号和一路1KHz的时钟信号。1KHz时钟信号分别提供给电机控制模块和显示模块,1Hz时钟信号提供给电机控制模块。3.2 译码显示模块译码显示模块是由动态显示驱动、数据多路选择、译码电路构成,译码显示模块的功能是将电机运行数据经译码后动态显示于数码管上,同步显示电机运行结果。3.3 电机控制模块电机控制模块6主要由基脉冲模块、脉冲叠加模块、脉冲调速器模、脉冲输出控制模

7、块组成。3.3.1基脉冲模块基脉冲模块内部有一个10位数据的计数器,其计数时钟是分频后的1KHz时钟信号。通过计数器计数实现对1KH z时钟信号的分频,分别完成1/2、1/4、1/8、1/16、1/32、1/64、1/128、1/256、1/512、1/1024时钟信号的基脉冲。脉冲输出时,只需要控制将其需要的频率成分叠加,这样就可以组合成连续可调频率的脉冲输出信号,输出脉冲的范围在11024Hz。3.3.2脉冲调速模块每秒输出脉冲数寄存器模块根据速度以及加速度信息,控制每秒输出的脉冲个数,最终达到控制步进电机速度的目的。根据总的脉冲数来判断距离长短,以确定步进电机运行模式。步进电机按两种模式

8、7运行,短距离时,步进电机以恒速进行运行;长距离时,步进电机不仅有恒速过程,还有加减速过程,以保证快速反应。 图5 加减速定位控制3.3.3脉冲叠加模块每秒输出脉冲数寄存器模块根据速度以及加速度信息,控制每秒输出的脉冲个数,最终达到控制步进电机速度的目的。脉冲叠加模块是根据每秒钟的脉冲个数来控制脉冲的输出,其实质是根据每秒钟的脉冲个数,将10种频率不同并且互相不重叠的脉冲信号叠加后输出脉冲,这样的脉冲中包含了速度信息、加速度信息等控制步进电机运行的参数。3.3.4脉冲输出控制模块总脉冲输出控制模块是根据步进电机的位置信息,输出控制步进电机的走步距离。其实现可以直接对输出的脉冲计数,当计数值未达

9、到设定的总脉冲数时,一直输出脉冲;当计数值与设定的总脉冲数相一致时,控制不再输出脉冲。4.功能仿真和下载验证各模块Verilog HDL就要选择合适的目标芯片进行综合、管脚配置。本系统选用Xilinx 公司的Spartan-IIE系列XC2S100E芯片8,选用优化效率和兼容性优秀的综合器XST对程序进行综合,将综合生成的网表文件由ModelSim进行仿真,得到如图6所示结果。 图6 功能仿真图7是基于FPGA设计的步进电机控制系统的硬件图,Xilinx开发板输出脉冲信号连接到电机驱动板的脉冲输入端,电机驱动板进行脉冲分配和功率放大后连接到4相步进电机。图中Xilinx开发板的电源由USB端口

10、供电,电机驱动板的电源输入24V电源。芯片在50MHz 下工作,能顺利完成对步进电机精确控制。 图7 下载验证5.结束语步进电机是机电一体化产品中的关键组件之一,是一种性能良好的数字化执行元件。随着电子技术和计算机技术的发展,在许多领域将得到广泛的应用。本控制器采用Xilinx公司Spartan II的FPGA实现了步进电机的精确控制,与传统的由多个分立元件和集成块构成的步进电机控制系统相比,具有可靠性高、性能稳定、成本低廉的特点。而且使用先进的EDA设计工具使设计更加简单方便,灵活快速。参考文献1 余少辉, 基于FPGA的数字输入式步进电机控制系统J.电子世界,2004年,12期2 石英,

11、李新新. 姜宇柏.ISE应用与开发技巧M,北京:机械工业出版社,2006,103 常晓明等.Verilog HDL工程实践入门M,北京:北京航空航天大学出版社,2005,84 刘秋云,王佳.Verilog HDL设计实践和指导M,北京:机械工业出版社,2005.15 王金明.Verilog HDL程序设计教程M,北京:人民邮电出版社,2004.16 冼进.Verilog HDL数字控制系统设计实例M,北京:中国水利出版社,20077 王晓明.电动机的单片机控制M,北京:北京航空航天大学出版社,2002.58 黄智伟.FPGA系统设计与实践M,北京:电子工业出版社,2005.1FPGA-based design of the stepper motor control systemCHU DahuaDepartment of Micro Electronics,Shanghai Jiaotong University, Shanghai (200030AbstractThis paper introduces the control system used for stepping motor ,which is realized on the FPGA of Xilinx's Spart

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论