




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 武汉理工大学FPGA原理及应用课程设计说明书 课程设计任务书学生姓名: 专业班级: 通信1104班 指导教师: 陈适 工作单位: 信息工程学院 题 目: 步进电机定位控制系统设计 初始条件: FPGA芯片(型号不限),仿真工具不限。 要求完成的主要任务: (1) 主要任务设计一个基于FPGA的4相步进电机定位控制系统。(2)设计要求系统主要由步进电机方向设定电路模块、步进电机步进移动与定位控制模块和编码输出模块构成。前两个模块完成电机旋转方向设定,激磁方式设定和定位角度的换算等工作,后一个模块用于对换算后的角度量编码输出指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日 目录
2、摘要IAbstractII1绪论12步进电机定位系统设计22.1步进电机的简介32.2电机激磁方式介绍42.3步进电机系统工作原理63 EDA概述83.1 VHDL简介83.2 Quartus II简介104步进电机定位系统模块设计114.1步进电机方向设定电路模块114.2 步进电机步进移动与定位控制模块134.3 编码输出模块144.4 四相步进电机定位控制器顶层电路的设计和仿真155心得体会176参考文献18附录19 摘要现代机械设备的精密定位是实现精密加工的首要条件,如何提高定位系统的精度一直控制领域研究的热点,在精密定位系统中,步进电机是其重要组成部分。对于步进电机系统,是将电脉冲信
3、号转变为角位移或线位移的开环控制元步进电机件。步进电动机在计算机外围设备中取代小型直流电动机以后,使其设备的性能提高,很快地促进了步进电动机的发展,可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。本文简要叙述了四相步进电机系统的设计过程,在对比以往电机的设计方案,选择基于FPGA的四相电机, 一共完成四个模块,分别为输入模块、方向设定、移动定位控制和编码输出模块。在开路控制的情况下,为使步进电机产生运动,电动机中的磁性线圈或绕组以特定顺序通电或断电,要求采用数字信号来控制电动机每个线圈中的电流,使得系统得到最
4、佳的性能。 关键词:步进电机 步距角 脉冲频率 FPGAII Abstract Precise positioning of modern machinery and equipment is a prerequisite to achieve precision machining, how to improve the accuracy of the positioning system has been a hot research field control, precision positioning system, the stepper motor is an important
5、 component. For stepper motor system, the electrical pulse signal into angular displacement or linear displacement of the open loop stepper motor control element pieces. Stepper motors replace the small DC motors in computer peripherals in the future, to improve its performance equipment quickly pro
6、moted the development of stepping motor can be controlled by controlling the number of pulses angular displacement, so as to achieve accurate positioning ; also can be controlled by controlling the pulse frequency of the motor rotation speed and acceleration to achieve speed control purposes.This pa
7、per briefly describes the four phase step motor system design process, in comparison of previous motor design, choose four phase motor based on FPGA, completed a total of four modules, input module, respectively, set the direction, mobile positioning control and encoding output module. In the case o
8、f open loop control, movement to make the stepper motor, motor, magnetic coils in a particular order or winding electricity or power outages, require the use of digital signal to control the motor current of each coil, causing the system to get the best performance.Keywords: step motor step Angle pu
9、lse frequency FPGA1绪论 步进电动机已成为除直流电动机和交流电动机以外的第三类电动机。传统电动机作为机电能量转换装置,在人类的生产和生活进入电气化过程中起着关键的作用。可是在人类社会进入自动化时代的今天,传统电动机的功能已不能满足工厂自动化和办公自动化等各种运动控制系统的要求。为适应这些要求,发展了一系列新的具备控制功能的电动机系统,其中较有自己特点,且应用十分广泛的一类便是步进电动机。步进电动机的发展与计算机工业密切相关。自从步进电动机在计算机外围设备中取代小型直流电动机以后,使其设备的性能提高,很快地促进了步进电动机的发展。另一方面,微型计算机和数字控制技术的发展,又将作
10、为数控系统执行部件的步进电动机推广应用到其他领域,如电加工机床、小功率机械加工机床、测量仪器、光学和医疗仪器以及包装机械等。当前最有发展前景的当属混合式步进电动机,而混合式电动机又向以下四个方向发展:发展趋势之一,是继续沿着小型化的方向发展。随着电动机本身应用领域的拓宽以及各类整机的不断小型化,要求与之配套的电动机也必须越来越小,在57、42机座号的电动机应用了多年后,现在其机座号向39、35、30、25方向向下延伸。瑞士ESCAP公司最近还研制出外径仅10mm的步进电动机。发展趋势之二,是改圆形电动机为方形电动机。由于电动机采用方型结构,使得转子有可能设计得比圆形大,因而其力矩体积比将大为提
11、高。同样机座号的电动机,方形的力矩比圆形的将提高3040。发展趋势之三,对电动机进行综合设计。即把转子位置传感器,减速齿轮等和电动机本体综合设计在一起,这样使其能方便地组成一个闭环系统,因而具有更加优越的控制性能。现在制造业对精密加工的要求越来越高,能否实现精密加工已成为各设备制造商在国际市场竞争中取得成功的关键因素,发达国家都十分重视精密加工技术的水平和发展,并利用它进行产品革新和扩大生产,而设备的精密定位是实现精密加工的首要条件,如何提高定位系统的精度一直控制领域研究的热点。在精密定位系统中,步进电机是其重要组成部分,据资料统计每年在数控生产和经济型定位系统改造及机器人等定位系统的应用领域
12、,又2/3以上采用的是以步进电机作为伺服控制系统。因此,如何改善电机的控制方法以提高定位系统的定位精度,成为提高系统性能的关键所在。随着步进电机广泛地应用于数字控制系统中作为伺服元件,步进电机在实时性和灵活性等性能上的要求越来越高。那么如何灵活、有效地控制步进电机的运转成为研究的主要方向。这里采用现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA),通过VHDL语言编程来实现四相步进电机的控制。利用FPGA设计具有以下优点: 硬件设计软件化 FPGA的开发在功能层面上可以脱离硬件在EDA软件上
13、做软仿真。当功能确定无误后可以进行硬件电路板的设计。最后将设计好的,由EDA软件生成的烧写文件下载到配置设备中去,进行在线调试,如果这时的结果与要求不一致,可以立即更改设计软件,并再次烧写到配置芯片中而不必改动外接硬件电路。进行分层模块设汁后系统设计变得更加简单,在实时性和灵活性等性能上都有很大的提高,有利于步进电机的运动控制。 高度集成化,高工作频率 一般的FPGA内部都集成有上百万的逻辑门,可以在其内部规划出多个与传统小规模集成器件功能相当的模块。另外,一般的FPGA内部都有PLL倍频和分频电路模块,这样可以在外部采用较低
14、频率的晶振而在内部获得较高频率的时钟,进一步解决了电磁干扰和电磁兼容问题。2步进电机定位系统设计2.1步进电机的简介步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机是一种感应电机,它的工作原理是利用电子电路,将直
15、流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的,多相时序控制器。虽然步进电机已被广泛地应用,但步进电机并不能像普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉
16、冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。在精密定位系统中,步进电机是其重要组成部分,据资料统计每年在数控生产和经济型定位系统改造及机器人等定位系统的应用领域,又2/3以上采用的是以步进电机作为伺服控制系统。因此,如何改善电机的控制方法以提高定位系统的定位精度,成为提高系统性能的关键所在。2.2电机激磁方式简介步进马达依定子线圈的相数不同可分成二相、四相及五相式,小型步进马达以二相式较为普遍。单极性型(unipolar) :定子磁极极性
17、为同一方向,如可变磁阻式步进马达,磁极线圈只有一组,所加的激磁电流为固定方向,因此单极性步进马达所需的电源较简单。单极性驱动电路使用四只晶体管来驱动步进电机的两组相位。电机结构则如图2-1所示包含两组带有中间抽头的线圈,整个电机共有六条线与外界连接。这类电机有时又称为四相电机,但这种称呼容易令人区分不了又不正确,因为它其实只有两个相位,精确的说法应是双相位六线式步进电机。六线式步进电机虽又称为单极性步进电机,实际上却能同时使用单极性或双极性驱动电路。 图2-1 单极性二相步进电机驱动电路双极性型(bipolar) :定子磁极极性为两个方向,如永久磁铁式步进马达,其转子的极性和定子磁极极性有交互
18、变化的需要。单一激磁线圈时其激磁方向为正负交替变化,两组磁极线圈时,一组正向激磁,另一组负向激磁,两组交替变化,使定子磁极极性变化。以双极方式运用,其电源较为复杂。双极性步进电机的驱动电路则如图2-2所示,它会使用八只晶体管来驱动两组相位。双极性驱动电路可以同时驱动四线式或六线式步进电机,虽然四线式电机只能使用双极性驱动电路,它却能大幅降低量产型应用的成本。双极性步进电机驱动电路的晶体管数目是单极性驱动电路的两倍,其中四颗下端晶体管通常是由微控制器直接驱动,上端晶体管则需要成本较高的上端驱动电路。双极性驱动电路的晶体管只需承受电机电压,所以它不像单极性驱动电路一样需要箝位电路。 图2-2 双极
19、性步进电机驱动电路四相步进电机的激磁方式有下列两种:(1).全步激磁全步激磁方式又可分为1 相激磁与2相激磁两种方式,说明如下: 1相激磁 在每一瞬间只有一个线圈导通,其他线圈在休息,其特点是,激磁方法简单,消耗电力小,精确度良好。但是转矩小,振动较大,而在每送一次激磁信号可走1.8°。每次只激磁一相线圈,每输入一个脉波,便产生一步级的转,当激磁依ABABA相顺序,则马达顺时针方向旋转;若依BABAB相顺序激磁,则马达依逆时针方向旋转。此种激磁方式之优点为线圈消耗功率小,角精确度良好,但其转距小,加上阻尼特性不良,易失步。 2相激磁在每一瞬间会有两个线圈同时导通,它的特点是转矩大,振
20、动较小,每送一次激磁信号可走1.8°。而如果每次输入一个脉波,则将会有二相线圈激磁,由此可知,即若依ABBAABBAAB相的顺序依次激磁,则马达按顺时针方向旋转:而若依BAABBAABBA相顺序激磁,则马达转向为逆时针方向。此种激磁方式由于同时有两组线圈激磁,输出转距较大,加上阻尼效果良好,故能按较高的脉波率,但其缺点为耗电较大,容易发热。(2)半步激磁 此种激磁方式又称为1-2相激磁,激磁一相线圈和二相线圈交互进行,并且每加入一数字脉波所转动之角度变为原步进角的一半,因此使得分辨率可以很好地提高一倍,而且它在运转时已经相当平滑,所以它与2相激磁方式同样受到了非常广泛的使用,但是若依
21、照AABBBAAABBBAAAB相的顺序激磁,则步进马达将以顺时针方向旋转;但如果依照BAAABBBAAABBBA相顺序激磁,则马达逆时针方向旋转。1相激磁、2相激磁和1-2相激磁方式如表2-1所示。 表2-1 3种激磁方式1相激磁 2相激磁 1-2相激磁步AB步AB步AB101111001110111210112100120011311013110031011411104011041001501115001151101610116100161100711107110071110810118011080110 改变线圈激磁的顺序可改变步进电机的转动方向,每送一次激磁信号后,要经过一小段的时间延
22、时,让步进电机有足够的时间建立激场及转动。2.3步进电机系统工作原理步进电机是按步旋转的电动机,而不是连续运行的,典型情况下是每步旋转15º。另外,步进电机是利用数字信号控制的电机装置,步进电机每次接收到一组脉冲数字信号,便旋转一个角度,称为步进角。不同规格的步进电机的步进角不同,与电动机内部的线圈数量有关。线圈中的供应电流决定线圈所产生的磁场方向。 如果将电动机中的转子置于线圈所产生的磁场中,便会受到磁场的作用而产生与磁场方向一致的力,转子便开始转动,直到转子的磁场方向与线圈的磁场方向一致为止。4相步进电机有两组线圈 A和 B。A、B两组垂直摆放线圈的电流方向的排列组合,最多可以产
23、生8种磁场方向,分别是0º、45º、90º、135º、180º、225º、270º、315º,如图2-3所示,表2-2给出了4相步进电机的8个方向和电流以及电压信号的关系 图2-3四相步进电机线圈磁场方向图 4相步进电机有两组线圈 A和 B,如上图所示,A、B两组垂直摆放线圈的电流方向的排列组合,最多可以产生8种磁场方向,分别是0º、45º、90º、135º、180º、225º、270º、315º 表2-2 四相步进电机的8个方向和电流
24、电压信号的关系表 由表2-2可知,假设电动机转子刻度在0º的位置,想让其转180º,可以使端口信号依次按0001à0011à0010à0110à0100变化。但是否有更快的方法,是否一定要经过4个信号过程呢?其实有更快更省电的方式让电动机从0º到达180º的位置。这就是所谓激磁方式的不同。3 EDA概述EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)
25、的概念发展而来的。20世纪90年代,国际上电子和计算机技术较为先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动
26、地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。3.1 VHDL简介VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言 。VHDL翻译成中文就是超高速集成电路硬件描述语言,主要是应用在数字电路的设计中。它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。VHDL主要用于描述数字
27、系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。与其他硬件描述语言相比,VHDL具有以下特点:功能强大、设计灵活VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂
28、的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言所不能比拟的。VHDL还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。支持广泛、易于修改由于VHDL已经成为IEEE标准所规范的硬件描述语言,大多数EDA工几乎都支持VHDL,这为VHDL的进一步推广和广泛应用奠定了基础。在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,因为VHDL易读和结构化,所以易于修改设计。强大的系统硬件描述能力VHDL具有多层次的设计描述功能,既可以描述系统级电路
29、,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。另外,VHDL支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。VHDL支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。独立于器件的设计、与工艺无关设计人员用VHDL进行设计时,不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成后,可以用多种不同的器件结构来实现其功能。很强的移植能力VHDL是一种标准化的硬件描述语言,同一个设计描述可以被不同的工具所支持,使得设计描述的移植成为可能。易于共享和复用VHDL
30、采用基于库(Library)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。3.2 Quartus II简介Quartus II 是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II可以在XP、L
31、inux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。同时支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发
32、、可编程逻辑设计于一体,是一种综合性的开发平台。Maxplus II 作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对Maxplus II 的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在Quartus II 中包含了许多诸如SignalTap II、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了Maxplus II 友好的图形界面及简便的使用方法。作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越
33、来越受到数字系统设计者的欢迎。4步进电机定位系统模块设计步进电机定位控制器的系统组成如图4-1所示 图4-1 步进电机定位控制器的系统组成框图 步进电机定位控制器主要由步进电机方向设定电路模块、步进电机步进移动与定位控制模块以及编码输出模块构成。前两个模块完成电机旋转方向设定,激磁方式设定和定位角度的换算等工作,后一个模块用于对换算后的角度量编码输出。4.1步进电机方向设定电路模块该模块的功能是设定步进电机的旋转方向(顺时针或逆时针转动),并设定电动机在顺时针转动或逆时针转动时所需的初值与累加/减值。模块输出时各个初值以及累加/减值的设定真值表如表4-1与表4-2所示。表4-1步进电机方向设定
34、电路模块初值与累加/减值真值表(dir=0)激磁方式(manner) 初值(cntini)累计值(cntinc)步进角计数值angledncntdec 00 angle=2n+1时 1 angle=2n 时 0 2 2 01 0 2 2 10 -1 2 2 11 0 1 1设dir=0时,步进电机工作于逆时针旋转模式,累加值为正数,dir=1时,步进电机工作于顺时针旋转模式,累加值为负数。 manner 选择激磁方式 00、01、10、11分别对应默认激磁方式、1-相激磁方式、2-相激磁方式和1-2-相激磁方式。表4-2步进电机方向设定电路模块初值与累加/减值真值表(dir=1)激磁方式(ma
35、nner) 初值(cntini)累计值(cntinc)步进角计数值angledncntdec 00 angle=2n+1时 1 angle=2n 时 0 -2 2 01 0 -2 2 10 -1 -2 2 11 0 -1 1源程序中,逆时针操作模式(dir=0),则累加值为正数,顺时针操作模式(dir=1),则累加值为负数。不失一般性,下面给出逆时针操作模式的计数规则和仿真输出(ini=0赋初值,ini=1时开始记数):如果manner=01电路使用1-相激磁法,则count的初始值为000(cntini<=0),每次加2(cntinc<=2);angledncntdec每次减2(
36、angledncntdec<=2)。仿真结果如图4-2所示 图4-2方向设定电路模块仿真输出(1-相激磁法)如果manner=10电路使用2-相激磁法,则count的初始值为111(cntini<=1),每次加2(cntinc<=2);angledncntdec每次减2(angledncntdec<=2),仿真结果如图4-3所示。 图4-3方向设定电路模块仿真输出(2-相激磁法)如果manner=00,进行自动判断,若angle步进角为偶数(角度设定可以被90整除),使用1-相激磁法,count的初始值000(cntini<=0),每次加2(cntinc<=
37、2);否则使用2-相激磁法,count的初始值为111(cntini<=-1),每次加2(cntinc<=2 )。仿真结果如图4-4所示。但无论使用1-相激磁法,还是2-相激磁法,angledncntdec每次都是减2(angledncntdec<=2)。 图4-4方向设定电路模块仿真输出(自动判断)如果manner=11,使用1-2相激磁法,则count初始值为000(cntini<=0),每次加1(cntinc<=1),angledncntdec每次减1(angledncntdec<=1)。仿真结果如图4-5所示. 图4-5方向设定电路模块仿真输出(1-
38、2相激磁法)4.2 步进电机步进移动与定位控制模块该模块的主要功能是利用赋初值ini将数值传到该模块中并配合输入的clk作为同步控制信号,进行步进电机的步进移动与定位控制。步进电机定位功能通过一个减法器实现:在每个clk脉冲上升沿,设定步进角倍数angledncount 减去不同激磁方式下设定的累减记数值angledncntdec,判断差值小于设定的累减记数时,步进电机旋转到预定角度停止输出驱动端口信号,实现步进电机的定位功能,驱动端口信号利用累加器实现。(1)假如reset=1条件成立,则将count与angledncount设置成0;(2)假设reset=0,而时钟信号clk为上升沿触发并
39、且ini=0时,则将设定的初值(cntini与angle)分别赋值给count与angledncount这两个信号端,其实即(count<=0+cntini)与(angledncount<=angle);(3)假设reset=0,clk为上升沿触发且ini=1时,则将count与cntini相加,再将结果存为count。然后判断angledncount的值是否大于angledncntdec。如果大于,则用angledncount减angledncntdec,将结果存为ngledncount;否则,将angledncount设为0(因为此时angledncount的值小于angled
40、ncntdec,表示电动机已到达设定位置,故不需要继续转动了)。不失一般性,下面给出在2-相激磁方式下电动机顺时针旋转的仿真结果如图4-6所示:图4-6步进移动与定位控制模块(2-相激磁,dir=1)仿真结果在图4-6中,分析angledncount连线信号的波形可以发现,angledncount的计数值总是向下递减2,故angledncntdec的值为2。当angledncount的值为1时,表示angledncount的值已经小于angledncntdec,此时angledncount被设为0,即电动机已到达设定位置,故不需要再继续转动了(因为无论count的数值是多少,输出baba的状态
41、永远维持为00004.3 编码输出模块该模块的主要功能是将count与angledncount产生的数值经过编码,并通过baba3.0输出到步进电机,四相步进电机端口信号由计数器编码而来,详细的编码方式列于表4-3。表4-3 四相步进电机端口信号输出编码计数器现值count01234567端口B´A´BA编码baba3.000010011001001100100110010001001磁场方向0º45º90º135º180º225º270º315º其仿真输出结果如图4-7所示 图4-7编码输出模
42、块仿真输出结果4.4 四相步进电机定位控制器顶层电路的设计和仿真四相步进电机的VHDL程序编译图如图4-8所示 图4-8步进电机程序编译图步进电机的整体波形仿真图如图4-9所示 图4-9 步进电机整体仿真图步进电机的局部波形仿真图如图4-10所示 图4-10 步进电机局部仿真图源程序中,系统输入信号为:reset是系统内部自复位信号,“1”时有效;dir是步进电机正反转的方向控制开关,即旋转方向的设定(dir=0:逆时针方向;dir=1:顺时针方向);clk是由外部提供的4MHz的时钟信号;ini是赋初值的使能开关,“0”时有效;manner1. 0 是激磁方式的选择开关(00:自动检测角度输
43、入,决定激磁方式;01:1-相激磁;10:2-相激磁;11:1-2相激磁);angle7.0 是步进角的倍数设定输入键。5心得体会课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程. 回顾起此次FPGA课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理
44、论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。 在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固通过这次课程设计之后,一定把以前所学过的知识重新温故。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的辛勤指导下,同学的帮助下终于迎刃而解。在次我表示感谢! 226参考文献1樊昌信,曹丽娜等.通信原理(第6 版)M.国防工业出版社,20102段吉海,黄智伟.基于CPLD/FPG
45、A 的数字通信系统建模与设计M.北京:电子工业出版社,20043张学武.数字基带远程传输的仿真研究J.2005,22(8):282-2854谭会生.EDA 技术基础M.湖南大学出版社,20045潘松,黄继业.EDA 技术与VHDLM.清华大学出版社,2005,76郑信源.Verilog 硬件描述语言数字电路设计范例M.北京:机械工业出版社,20057王伟.VerilogHDL 程序设计与应用M.北京:人民邮电出版社,20058杨贵.FPGA 在数字信号处理中的应用与研究D.湖南大学,2005,109徐惠民,安德宁.数字逻辑设计与VHDL 描述M.机械工业出版社.2002附录library IE
46、EE;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;use IEEE.std_logic_unsigned.all;entity step_motor isport (reset:in STD_LOGIC; -系统复位信号 dir: in STD_LOGIC; -方向控制信号 clk: in STD_LOGIC; -系统时钟信号 ini: in STD_LOGIC; -初始化使能信号 manner: in STD_LOGIC_VECTOR (1 downto 0); -激磁方式的选择开关 angle: in INTEGER r
47、ange 255 downto 0; -步进角的倍数设定输入 baBA: out STD_LOGIC_VECTOR (3 downto 0); -步进电机状态输出end step_motor;architecture stepmotor_arch of step_motor issignal count: INTEGER range 0 to 7; -计数器 signal cntInc: INTEGER range -2 to 2; -设定累加器所需的累(加/减)计数值signal cc : integer range 0 to 3;signal cntIni: INTEGER range -
48、1 to 0; -设定累加器所需的计数初值signal angleDnCount: INTEGER range 255 downto 0; -计算已经转过的步进角signal angleDnCntDec: INTEGER range 2 downto 1; begin process(dir, manner, angle)-, ini) begin -if ini='1' then cc<=conv_integer(manner); if dir='0' then case cc is when 1 => - 1-相激励 -count<=0;
49、cntIni<=0; cntInc<=2; angleDnCntDec<=2;-"10" when 2 => - 2-相激励 -count<=7; cntIni<=-1; cntInc<=2; angleDnCntDec<=2;-"10" when 3 => - 1-2相激励 -count<=0; cntIni<=0; cntInc<=1; angleDnCntDec<=1;-"01" when 0 => -manner="00" autodetect if (a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 推动垃圾管理系统的创新
- 2025年书法教师职业能力测试卷:书法教师教育创新与实践案例
- 2025年高尔夫球教练职业能力测试卷:高尔夫球运动教学研究方法与应用试题
- 2025年安全生产考试题库:安全生产法律法规解读与安全生产法律法规修订试题汇编
- 2025年高压电工考试题库(高压线路运行维护)高压线路绝缘试验试题
- 科技农业新机遇
- 财政与金融复习题及答案
- 2025年气模鼓风机合作协议书
- 2025年PCB高纯化学品项目合作计划书
- 脏腑生理功能病理
- 【上市公司的财务风险的分析和防范:以三只松鼠为例10000字(论文)】
- 部编版小学语文四年级下册教师教学用书(教学参考)完整版
- 小学教师专业发展与教学质量提升
- 大跨度空间网架结构分阶段整体提升安装技术研究与应用
- 注射用头孢比罗酯钠-临床药品应用解读
- 农业领域的服务礼仪
- 大学生心理健康教育教程 课件 第二章 大学生自我意识
- 公证知识宣传材料
- 聚酯生产技术 聚酯主要设备介绍
- 钣金结构件点检表
- 医疗安全(不良)事件汇总登记表(科室)
评论
0/150
提交评论