《基于EDA的直流电机控制系统设计.doc》由会员分享,可在线阅读,更多相关《基于EDA的直流电机控制系统设计.doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、吉林大学网络教育2015届本科生毕业设计(论文)吉林大学远程教育本科生毕业论文(设计)中文题目基于EDA的直流电机控制系统设计学生姓名 张 智 专业机械电子层次年级13级本科 学号21332107070001指导教师 王 昕 职称 副教授 学习中心弘成宿迁 成绩 2015年10月9日摘要论文以直流电机为研究对象,应用了FPGA技术,设计出了一种全数字的步进电机控制系统。 本论文分析了直流电机工作原理及其具体的控制过程,并阐述了FPGA的设计原理以及所涉及的相关芯片,然后对所用的硬件语言VHDL的知识进行简要地介绍,这些为论文的具体设计提供了理论基础。本系统针对实现直流电机的调速,设计了一种符合
2、要求的并连续可调的脉冲信号发生器,对整个系统进行模块化设计,并且每个子模块都通过了仿真测试.系统采用模块化的设计思路,使系统的设计和维护更加方便,也提高了系统性能的可扩展性。FPGA、VHDL以及EDA工具构成的数字系统集成技术,是本设计的核心部分,该技术具有操作灵活、利用广泛及价廉等特点.系统设计采用全数字化的控制方案,使系统更紧凑、更合理及经济节约。由于系统的数字化,使整个系统运行得十分可靠,调试也极为方便。关键词:直流电机,可编程门阵列,硬件描述语言目录一、绪论11。1课题背景11。2研究的目的及其意义2二、电机的基本知识42.1直流电机的特点42.2直流电机基本结构42.2.1定子部分
3、42。2。2转子部分52。3直流电机工作原理62。4直流电机PWM调速原理6三、FPGA与硬件描述语言83.1现场可编程逻辑器件83.2硬件描述语言设计方法83。2.1硬件描述语言发展概况83.2。2 EDA简要介绍93.2.3采用硬件描述语言的设计流程10四、设计原理及其实现过程114。1直流电机PWM调速方案设计114.2FPGA内部逻辑组成124。3模块设计和相应模块程序134.3。1 PWM脉冲调制信号电路模块134.3.2 逻辑控制模块174.4 电路的总仿真图194.4.1正/反转控制仿真194.4。2 启/停控制仿真194。4.3 加/减速仿真204.4。4 仿真结果分析21总结
4、23致谢24参考文献25 一、绪论1。1课题背景自从1985年Xilinx公司推出第一片现场可编程逻辑器件(FPGA)到现在,FPGA已经经历了二十几年的发展历程。在这几十年的发展过程中,以FPGA为代表的数字系统现场集成技术取得了惊人的发展。现场可编程逻辑器件从刚开始的1200个逻辑门,发展到90年代的25万个逻辑门,甚至到现今国际上FPGA的著名厂商Altera公司、Xilinx公司又陆续推出了数百万门的单片FPGA芯片,将现场可编程器件的集成度提高到一个新的水平.FPGA的优点可以归纳为如下几点:效能,上市时间,成本,可靠性和长期维护五个方面。效能-透过硬件的平行机制,FPGA 可突破依
5、序执行 (Sequential execution) 的固定逊算,并于每时脉循环完成更多作业,超越了数位讯号处理器(DSP) 的计算功能。BDTI 作为著名的分析公司,并于某些应用中使用 DSP 解决方案,以计算 FPGA 的处理效能.在硬件层级控制 I/O 可缩短回应时间并特定化某些功能,以更符合应用需求1。上市时间-针对上市时间而言,FPGA技术具有弹性与快速原型制作的功能。使用者不需进行ASIC设计的冗长建构过程,就可以在硬件中测试或验证某个观念。并仅需数个小时就可以建置其他变更作业,或替换 FPGA 设计。现成的 (COTS) 硬件也可搭配使用不同种类的 I/O,并连接至使用者设定的
6、FPGA 芯片。高级软件工具正不断提升其适用性,缩短了抽象层 (Layer of abstraction) 的学习时间,并针对进阶控制与信号处理使用 IP cores (预先建立的方式)。成本ASIC 设计的非重置研发 (NRE) 费用,远远超过 FPGA 架构硬件解决方案的费用.ASIC设计的初始投资,可简单认列于 OEM 每年所出货的数千组芯片,但是许多末端使用者更需要定制硬件功能,以便用于开发过程中的数百组系统。而可程序化芯片的特性,就代表了低成本的架构作业,或组装作业的长前置时间。由于系统需求随时在变化,因此若与 ASIC 的庞大修改费用相比,FPGA 设计的成本实在微不足道2。可靠性
7、-正如软件工具提供程序化设计的环境,FPGA 电路也为程序化执行的建置方式.处理器架构的系统往往具有多个抽象层,得以协助多重处理程序之间的作业与资源分享。驱动层 (Driver layer) 控制硬件资源,而作为作业系统则管理记忆体和处理器频宽。针对任何现有的处理器核心来说,每次仅可执行1组指令码;而处理器架构的系统则可以连续处理重要作业。FPGA 不需要使用作业系统,并将产生问题的几率降到最低,采用平行执行功能与专属精密硬件执行作业。长期维护-FPGA 芯片为即时升级 (Fieldupgradable) 特性,不需要像ASIC 一般重新设计的时间与费用。FPGA 具有可重设性质,可随时因应未
8、来的需要而进行修改。当产品或系统趋于成熟时,不需耗时重新设计或修改配置,即可提升相关功能3。1.2研究的目的及其意义直流电动机因为具有良好的启动性能和宽广平滑的调速特性,从而被广泛应用于电力机车、无轨电车、轧钢机、机床和启动设备等这些需要经常启动并调速的电气传动装置中,直流发电机主要用作直流电源。此外,小容量直流电机大多在自动控制系统中以伺服电动机、测速发电机等形式作为测量、执行原件使用。当基于FPGA的嵌入式系统时,在设计周期之初就不必为每个模块做出用硬件还是软件的选择。由于FPGA中的逻辑单元是可编程的,可针对特定的应用而定制硬件.所以,仅使用所需要的硬件即可,而不必做出任何板级变动(前提
9、是FPGA中的逻辑单元足够用)。设计者不必转换到另外一个新的处理器或者编写汇编代码,就可做到这一点。使用带有可配置处理器的FPGA可获得设计灵活性。设计者可以选择如何实现软件代码中的每个模块,如用定制指令,或硬件外围电路。此外,还可以通过添加定制的硬件而获取比现成微处理器更好的性能。另一点要知道的是,FPGA有充裕的资源,可配置处理器系统可以充分利用这一资源。算法可以用软件,也可用硬件实现。出于简便和成本考虑,一般利用软件来实现大部分操作,除非需要更高的速度以满足性能指标。软件可以优化,但有时还是不够的。如果需要更高的速度,利用硬件来加速算法是一个不错的选择。FPGA使软件模块和硬件模块的相互
10、交换更加简便,不必改变处理器或进行板级变动。设计者可以在速度、硬件逻辑、存储器、代码大小和成本之间做出折衷。利用FPGA可以设计定制的嵌入式系统,以增加新的功能特性及优化性能。目前,虽然由晶闸管整流组件组成的固态直流电源设备已基本上取代了直流发电机,但直流电动机仍因为其良好调速性能的优势在许多传动性能要求高的场合占据一定的地位,而FPGA又具有很强的性能及其优势,基于FPGA的直流电机的控制还是有应用价值1。二、电机的基本知识电机可分为变压器、异步电机、同步电机和直流电机四个机种。其中变压器是静止的电气设备,其余均为旋转电机。异步电机和同步电机均为交流电机。在本次设计中用到的是直流电机,直流电
11、机是实现直流电能与机械能转的装置4。2.1直流电机的特点直流电动机与交流电动机相比较,具有良好的调速性能和启动性能。直流电动机具有宽广的调速范围,平滑的无级调速特性,可实现频繁的无级快速启动、制动和反转;过载能力大,能承受频繁的冲击负载;能满足自动化生产系统中各种特殊运行的要求.而直流发电机则能提供无脉动的大功率的直流电源,且输出的电压可以精确地调节和控制.但直流电机也有它显着的缺点:一是制造工艺复杂,消耗有色金属较多,生产成本高;二是运行的时候由于电刷与换向器之间容易产生火花,所以可靠性比较差,维护比较困难。所以在一些对调速性能要求不高的领域中己被交流变频调速系统所取代.但是在某些要求调速范
12、围大、快速性高、精密度好、控制性能优异的场合,直流电动机的应用目前仍然占有较大的比重5 6.2。2直流电机基本结构直流电机由定子(静止部分)和转子(转动部分)两大部分组成。2。1 直流电机的结构2。2。1定子部分定子部分包括机座、主磁极、换向极和电刷装置等。(1)机座机座有两个作用,一是作为电机磁路系统中的一部分,二是用来固定主磁极、换向极及端盖等,起机械支承的作用。因此要求机座有好的导磁性能及足够的机械强度和刚座,机座通常用铸钢或厚钢板焊成。(2)主磁极在大多数直流电机中,主磁极是电磁铁,如图2.1的N、S就是主磁极,主磁极铁芯用11。5mm厚的低碳钢板叠加而成,整个磁级用螺钉固定在机座上。
13、主磁极的作用是在定转子之间的气隙中建立磁场,使电枢绕组在此磁场的作用下感应电动势和产生电磁转矩.(3)换向极换向极又称附加极或间极,其作用是以改善换向。换向极装在相邻两主磁极N、S之间,由铁心和绕组构成.铁芯一般用整块钢或钢板加工而成。换向极绕组与电枢绕组串联.(4)电刷装置在图2。1中,A、B表示电刷。它的作用是把转动的电枢绕组与静止的外电路相连接,并与换向器相配合,起到整流或逆变器的作用。2.2.2转子部分直流电机的转子称为电枢,包括电枢铁芯、电枢绕组、换向器、风扇、轴和轴承等.(1)电枢铁芯电枢铁芯是电机主磁路的一部分,且用来嵌放电枢绕组。为了减少电枢旋转时电枢铁芯中因磁通变化而引起的磁
14、滞及涡流损耗,电枢铁心通常用0.5mm厚的两面涂有绝缘漆的硅钢片叠加而成。(2)电枢绕组电枢绕组是由许多按一定规律连接的线圈组成,它是直流电机的主要电路部分,也是通过电流和感应电动势,从而实现机电能量转换的关键部件.线圈用包有绝缘的导线绕制而成,嵌放在电枢槽中。每个线圈(也称组件)有两个出线端,分别接到换向器的两个换向片上。所有线圈按一定规律连接成一闭合回路。(3)换向器换向器也是直流电机的重要部件。在直流电动机中,它将电刷上的直流电流转换成绕组内的交流电流;在直流发电机中,它将绕组内的交流电动势转换成电刷端上的直流电动势。换向器由许多换向片组成,每片之间相互绝缘。换向片数与线圈组件数相同。2
15、。3 直流电机工作原理直流电机的工作原理建立在电磁力和电磁感应的基础上,从图2。1可以看出主磁极N、S间装着一个可以转动的铁磁圆柱体,圆柱体的表面上固定着一个线圈abcd。abcd是装在可以转动的铁磁圆柱上的一个线圈,把线圈的两端分别接到两个圆弧形的铜片上(简称换向片),两者相互绝缘,铁芯和线圈合称电枢。当线圈中通入直流电流时,线圈边上受到电磁力F=Bli,根据左手定则确定力的方向,这一对电磁力形成了作用于电枢的一个电磁转矩,转矩的方向是逆时针方向。若电枢转动,线圈两边的位置互换,而线圈中通过的还是直流电流,则所产生的电磁转矩的方向则变为顺时针方向,因此电枢受到一种方向交变的电磁转矩。这种交变
16、的电磁转矩只能使电枢来回摇摆,而不能使电枢连续转动。显然,要使电枢受到一个方向不变的电磁转矩,关键在于,当线圈边在不同极性的磁极下,如何将流过线圈中的电流方向及时地加以变换,即进行所谓“换向。为此必须增添一个叫做换向器的装置,换向器由互相绝缘的铜质换向片构成,装在轴上,也和电枢绝缘,且和电枢一起旋转。换向器又与两个固定不动的由石墨制成的电刷A、B相接触。装了这种换向器以后,若将直流电压加于电刷端,直流电流经电刷流过电枢上的线圈,则产生电磁转矩,电枢在电磁转矩的作用下就旋转起来。电枢一经转动,由于换向器配合电刷对电流的换向作用,直流电流交替地由线圈边ab和cd流入,使线圈边只要处于N极下,其中通
17、过电流的方向总是由电刷A流入的方向,而在S极下时,总是从电刷B流出的方向。这就保证了每个极下线圈边中的电流始终是一个方向。这样的结构,就可使电动机能连续地旋转。这就是直流电机的基本工作原理7。2.4直流电机PWM调速原理所谓脉冲宽度调制是指用改变电机电枢电压接通与断开的时间的占空比来控制电机转速的方法,称为脉冲宽度调制(PWM)。对于直流电机调速系统,使用FPGA进行调速是极为方便的。其方法是通过改变电机电枢电压导通时间与通电时间的比值(即占空比)来控制电机速度。PWM调速原理如图2。2所示。图2。2 PWM调速原理在脉冲作用下,当电机通电时,速度增加;电机断电时,速度逐渐减少。只要按一定规律
18、,改变通、断电时间,即可让电机转速得到控制。设电机永远接通电源时,其转速最大为Vmax,设占空比为D=t1/T,则电机的平均速度为Vd=VmaxD式中,Vd电机的平均速度 Vmax-电机全通时的速度(最大) D=t1/T-占空比平均速度Vd与占空比D的函数曲线,如图2.3所示.图2.3 平均速度和占空比的关系由图2.3所示可以看出,Vd与占空比D并不是完全线性关系(图中实线),当系统允许时,可以将其近似地看成线性关系(图中虚线).因此也就可以看成电机电枢电压Ua与占空比D成正比,改变占空比的大小即可控制电机的速度。由以上叙述可知:电机的转速与电机电枢电压成比例,而电机电枢电压与控制波形的占空比
19、成正比,因此电机的速度与占空比成比例,占空比越大,电机转得越快,当占空比1时,电机转速最大。三、FPGA与硬件描述语言在本章中首先介绍FPGA的基本知识,以及所要涉及的芯片;在此基础上介绍设计中需要应用的硬件语言,以便使下面的设计更加完整,并方便阅读.3.1现场可编程逻辑器件在现场可编程逻辑器件领域,目前主要的产品主要分为3大类。(1)基于SRAM编程的FPGA所谓基于SRAM编程的FPGA,从结构上而言,主要是由3个部分组成:可编程逻辑块(CLB)、可编程输入/输出模块IOB和可编程内部连线Pl组成。(2)基于PROM或EEPROM编程的CPLD基于EPROM或EEPROM编程的CPLD,主
20、要由可编程I/O模块、可编程逻辑单元模块(LB)、可编程布线池(PIA)组成。其特点是:芯片功能的定义是由阵列分布EPROM或EEPROM型的下拉MOS开关来控制.(3)基于一次性编程的反熔丝FPGA反熔丝FPGA的主要特点是功耗低,布线通路丰富,逻辑元件粒度小。另一方面,众所周知,采用反熔丝技术的FPGA尽管具有许多优点,但是却有一个致命的弱点,也就是只能进行一次性编程,这就为大规模FPGA产品的开发带来了许多不便.为了弥补这一不足,近年来,一种新型的集高密度、低功耗、非易失性和可重新编程于一身的非易失性、可重新编程的门阵列已经推向市场。(4)FPGA未来发展方向以FPGA、CPLD为代表的
21、现场可编程逻辑电路的主要发展方向是:为了迎接系统级芯片时代,向着密度更高、速度更快、频带更宽的数百万门超大规模的方向发展。为了方便用户设计和特殊功能的应用,向着嵌入通用或者标准功能模块方向发展。为了适应全球环保潮流,向着低压、低功耗的绿色组件方向发展3.3.2硬件描述语言设计方法3.2。1硬件描述语言发展概况硬件描述语言(Hardware Description language)是硬件设计人员和电子设计自动化(EDA)工具之间的界面。其主要目的是用来编写设计文件建立电子系统行为级的仿真模型,即利用计算机的巨大能力对用Verilog HDL或VHDL建模的复杂的数字逻辑进行仿真.然后再自动综合
22、从而生成符合要求且在电路结构上可以实现的数字逻辑网表(Netlist),根据网表和某种工艺的器件自动生成具体电路。然后生成该工艺条件下这种具体电路的延时模型,仿真验证无误后,用于制造ASIC芯片或写入EPLD和FPGA器件中5.在EDA技术领域中把用HDL语言建立的数字模型被称为软核(soft core),把用建模和综合后生成的网表称为固核(Hard core),对这些模块的重复利用不仅缩短了开发时间,而且还提高了产品开发率和设计效率8.3.2。2EDA简要介绍20世纪后半期,随着集成电路和计算机的不断发展,电子技术面临着严峻的挑战.由于电子技术发展周期不断缩短,专用集成电路(ASIC)的设计
23、面临着难度不断提高与设计周期不断缩短的矛盾。为了解决这个问题,必须采用新的设计方法和使用高层次的设计工具。在此情况下,EDA(Electronic Design Automation,电子设计自动化)技术应运而生。EDA技术就是以计算机为工作平台,以EDA软件工具为开发环境,以硬件描述语言为设计语言,以可编程器件为实验载体,以ASIC、SOC芯片为目标器件,以数字逻辑系统设计为应用方向的电子产品自动化设计过程.随着现代半导体的精密加工技术发展到深来微米(0.18um-0。35um)阶段,基于大规模或超大规模集成电路技术的定制或半定制ASIC 器件大量涌现并获得广泛的应用研究,使整个电子技术与产
24、品的面貌发生了深刻的变化,极大地推动了社会进程。而支撑这一发展进程的主要基础之一就是EDA技术。EDA技术在硬件方面融合了大规模集成电路制造技术,IC版图设计技术、ASIC测试和封装技术、CPLD/FPGA技术等;在计算机辅助工程方面融合了计算机辅助设计CAD、计算机辅助制造CAM、计算机辅助测试CAT技术及多种计算机语言的设计概念,而在现代电子学方面则融合了更多的内容,如数字电路设计理论、数字信号处理技术、系统建模和优化技术等。因此EDA技术为现代数字系统理论和设计的表达与应用提供了可能性,它已不是某一学科的分支,而是一门综合性学科.EDA技术打破了计算机软件与硬件间的壁垒,是计算机软件技术
25、与硬件实现、设计效率和产品性能的合二为一,它代表了数字电子设计技术和应用技术的发展方向。3.2.3采用硬件描述语言的设计流程(1)自顶向下(top-down)设计的基本概念利用层次化、结构化的设计方法,一个完整的设计任务首先是由设计师划分为若干个可操作的模块,编制出相应的模型;在通过仿真验证后,然后把模块分给下一层的设计者.这就允许多个设计者同时设计一个硬件系统中的不同模块,其中每个设计者都有负责自己所承当的部分,而由上一层设计师对其下层设计者完成的设计用行为级上层模块对其设计进行验证。为了提高设计质量,一部分模块可以通过商业渠道得到,这样可以节省开发时间和经费。(2)层次管理的基本概念复杂数
26、字逻辑电路和系统的层次化、结构化设计隐含着对系统设计方案的逐次分解.在设计过程中的任意一个层次,至少得有一种形式来描述硬件。硬件描述通常称为行为建模。在集成电路设计的每一层次,硬件可以分为一些模块。该层次的硬件结构由这些模块互相描述.(3)具体模块的设计编译和仿真过程在不同的层次做具体模块的设计所用的方法也有所不同。在高层次上往往编写一些行为级的模块通过仿真加以验证,其主要的目的是系统性能的总体考虑和各模块的指标分配,并非具体电路的实现,因此综合以上的步骤往往不需要进行;而当设计接近底层时,行为描述往往要用电路逻辑来描述实现。此时模块不但需要通过仿真加以验证,而且还要通过进行综合、优化和后仿真
27、。总之,具体电路是从底向上逐步实现的。(4)对应具体工艺器件的优化、映像和布局布线由于各种ASIC和FPGA器件的工艺各不相同,因此当用不同厂家的不同器件来实现已验证的逻辑网表(EDIF文件)时,就需要不同的基本单元库与布线延迟模型与之对应,才可以进行准确的优化、映像以及布局布线。四、设计原理及其实现过程4。1直流电机PWM调速方案设计图 4。1 基于FPGA的直流电机调速系统如图4.1所示为基于FPGA的直流电机调速方案的方框图,用FPGA产生PWM波形,只需要FPGA内部资源就可以实现,如数字比较器、锯齿波发生器等均为FPGA内部资源,我们只要直接调用就可以.外部端口U_D、EN1、Z/F
28、、START接在键盘电路上,CLK2和CLK0接在外部时钟电路上.其工作原理是:设定值计数器的设置PWM的占空比。当U/D=1时,输入CLK2,使设定值计数器的输出值增加, PWM的占空比增加,电机转速加快;当U/D =0时,输入CLK2,使设定值计数器的输出值减小,PWM的占空比减小,电机转速变慢.在CLK0的作用下,锯齿波计数器输出周期性线性增加的锯齿波。当计数值小于设定值时,数字比较器输出高电平;当计数值大于设定值时,数字比较器输出低电平,由此产生周期性的PWM波形。旋转方向控制电路控制直流电动机转向和启/停,该电路由两个2选1的多路选择器组成,Z/F键控制选择PWM波形是从正端Z进入H
29、桥,还是从负端F进入H桥,以控制电机的旋转方向。当Z/F=1时,PWM输出波形从正端Z进入H桥,电机正转。当 Z/F =0时,PWM输出波形从负端F进入H桥,电机反转.START是电机的开启端,U_D控制电机加速与减速,EN1用于设定电机转速的初值,Z_F是电机的方向端口,选择电机运行的方向。CLK2和CLK0是外部时钟端,其主要作用是向FPGA控制系统提供时钟脉冲,控制电机进行运转。通过键盘设置PWM信号的占空比。当U_D=1时, 表明键U_D按下,输入CLK2使电机转速加快;当U/D =0,表明键U_D松开,输入CLK2使电机转速变慢,这样就可以实现电机的加速与减速.START是电机的开启
30、键,当START=1,允许电机工作;当START=0时,电机停止转动。H桥电路由大功率晶体管组成,PWM输出波形通过由两个二选一电路组成的方向控制电路送到 H 桥, 经功率放大以后对直流电机实现四象限运行.并由EN1信号控制是否允许变速9。4。2FPGA内部逻辑组成图4。2 FPGA直流电机PWM 控制电路由图4.2可以看出电机控制逻辑模块由PWM脉宽调制信号产生电路、方向控制电路组成。其中PWM脉宽调制信号产生电路由可控的加减计数器CNTA、5位二进制计数器CNTB、数字比较器LPM_COMPARE三部分组成,方向控制电路由两个二选一电路21MUX组成。接着就对PWM脉宽调制信号产生电路的V
31、HDL描述与仿真、方向电路的VHDL描述与仿真进行详细的分析。4.3模块设计和相应模块程序4。3.1 PWM脉冲调制信号电路模块PWM脉宽调制信号产生电路由可控的加减计数器CNTA、5位二进制计数器CNTB、数字比较器LPM_COMPARE三部分组成。可控的加减计数器做细分计数器,确定脉冲宽度。当U/D=1时,输入CLK2,使设定值计数器的输出值增加,PWM的占空比增加,电机转速加快;当U/D =0,输入CLK2,使设定值计数器的输出值减小,PWM的占空比减小,电机转速变慢.5位二进制计数器在CLK0的作用下,锯齿波计数器输出周期性线性增加的锯齿波。当计数值小于设定值时,数字比较器输出高电平;
32、当计数值大于设定值时,数字比较器输出低电平,由此产生周期性的PWM波形.其内部逻辑图如图4.3所示。图 4.3 FPGA中的PWM脉宽调制信号产生电路在本次设计中直流电机转速进行了32级细分。细分计数器的初值设为08H,当计数器CNTB的值小于8时,AGB输出高电平,当计数器CNTB的值大于8时,AGB的输出值为低电平,从而产生PWM波形。图4.4 A4.0=08H时电机加速PWM波形通过改变细分计数器的值就可以改变PWM的占空比,从而改变直流电机的速度。在图4。4中占空比D=8/32=0。25,在图4。5中占空比D=4/32=0。125。通过以上两组数据比较以及分析仿真波形我们可以看出,只要
33、改变使能端电平的高低,便可以改变细分计数器的值,也就是改变细分计数器CNTA的初值,从而可以改变直流电机的占空比,改变直流电机的速度。图4.5 A4。0=04H时电机减速PWM波形调节PWM波的占空比是电机调速的重要手段,若脉宽计数器CNTA的值逐渐增大,输出脉冲的开启时间变大,PWM占空比逐渐变大,功率器件输出给电机电枢的能量增加,电机加速.若脉宽计数器定时器CNTA的值减小,输出脉冲的开启时间变小,PWM占空比逐渐变小,功率器件输出给电机电枢的能量减少,电机减速。当电机得到加速信号,占空比增大至它可调范围的最大值后保持,电机得到减速信号,占空比减小至它的可调范围的最小值后保持。(1)可控加
34、减计数器模块可控加减计数器CNTA是一个双向计数器, 可以进行加减计数,由U_D控制其加/减计数方向, CLK是计数时钟输入端。为了便于连续变速控制, 在计数器的CLK端通过“与”门, 加入了CLK2外部变速控制附加时钟, 并由EN1信号控制是否允许变速。U_D=1时,加减计数器CNTA在脉冲CLK2的作用下,每来一个脉冲,计数器CNTA加1,U_D=0时,每来一个脉冲,计数器CNTA减1.使能端EN1设定计数器值的初值,当EN1由1变为0的时候,无论U_D如何表化,计数器的值都不会发生变化,这样就完成了可控加减计数器的设定值,其仿真波形如图4。6所示, 其VHDL语言如下.LIBRARY I
35、EEE;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164。ALL;USE IEEE。STD_LOGIC_UNSIGNED。ALL;ENTITY CNTA IS PORT(CLK:IN STD_LOGIC; U_D:IN STD_LOGIC; CQ:OUT STD_LOGIC_VECTOR(4 DOWNTO 0);END CNTA;ARCHITECTURE behav OF CNTA IS SIGNAL CQI:STD_LOGIC_VECTOR(4 DOWNTO 0);BEGIN PROCESS(CLK)BEGIN IF CLKEVENT AND CLK=1THEN IF
36、 U_D=1 THEN IF CQI=31 THEN CQI=”11111; ELSE CQI=CQI+1; END IF; ELSIF CQI=0 THEN CQI=00000; ELSE CQI=CQI1;END IF; END IF; END PROCESS; CQ=CQI; END behav;图 4。6 可控加减计数器的仿真波形(2)4。3.1。2 二进制计数器电路模块CNTB是一个简单的5位二进制计数器,它的工作原理和CNTA的原理很相似,我们只是在CNTA的时钟端加了一个使能端EN1控制其加减的方向。而CNTB的时钟端没有加使能端,所以每来一个脉冲计数器加1,因为CNTB是一个5
37、位的二进值计数器,所以当计数器的值当大于32时,计数器又重新从0开始记数,从而产生周期性的线性增加的锯齿波.其仿真波形如图4.7, 其VHDL语言如下.ENTITY CNTB IS PORT(CLK: IN BIT; Q:BUFFERINTEGERRANGE 31 DOWNTO 0); END;ARCHITECTURE BHV OF CNTB IS BEGIN PROCESS(CLK) BEGIN IF CLKEVENT AND CLK=1 THEN Q=Q+1; END IF; END PROCESS; END BHV;图4。7 5位二进制计数器仿真波形(3)4。3。1。3 数字比较器模块数
38、字比较器是产生PWM波形的核心组成部件,可控的加减计数器CNTA和5位二进制计数器CNTB同时加数字比较器LPMCOMPARE两端作为两路输入信号,当计数器CNTB输出值小于细分计数器CNTA输出的规定值时, 比较器输出高电平; 当CNTB输出值不小于细分计数器CNTA输出的规定值时, 比较器输出低电平.改变细分计数器的设定值, 就可以改变PWM输出信号的占空比。为了便于观察防真波形,我在CNTB的输出加上B4.。0,仿真波形如图4。8.图4。8 数字比较器的仿真波形4.3。2 逻辑控制模块如图4.9所示FPGA中的工作/停止控制和正/反转方向控制电路,其两个二选一多路选择器加上两个与门根据逻
39、辑原理组合而成.START键通过“与”门控制PWM输出,实现对电机的工作/停止控制。当START端接高电平时,表示电源接通,电机开始运转;当START端接低电平时,电机停止运转。Z/F键控制选择PWM波形是从正端Z进入H桥,还是从负端F进入H桥,以控制电机的旋转方向。当Z/F=1时PWM输出波形从正端Z进入H桥,电机正转。当 Z/F =0时PWM输出波形从负端F进入H桥,电机反转.仿真如图4。10所示。图4。9 FPGA中的工作/停止控制和正/反转方向控制电路图4。10 正/反转工作控制电路波形当START=1时,与门打开,允许电机工作.当START=0时,与门关闭,电机停止转动.仿真如图4.
40、11所示。图4。11工作/停止电路波形4.4 直流电机PWM调速系统仿真在本次设计中,需要满足的技术要求是设计具有正/反转,起/停控制功能、速度在线可调的直流电机控制装置。接下来就用仿真波形详细的说明本次设计的电路满足以上的所有要求。4。4.1正/反转控制仿真键盘Z_F是电机的方向控制键。当要求电机正转时,只需要按下键Z_F,表示Z_F输出高电平,即Z_F=1,电机正转,如图4.12所示。当键Z_F松开时,Z_F0时,电机反转,如图4.13、图4。14所示.图4.12 电机正转图4。13 电机反转图4。14 电机正反转4。4.2 启/停控制仿真START键是电机的启动键,当按下START键时,
41、START=1,电机进入运行状态,如图4。15所示。反之,START=0时,电机停止,如图4.16、图4。17所示.图4。15 启动仿真波形图4.16 停止仿真波形图4.17 启/停仿真波形4.4.3 加/减速仿真键盘EN1控制电机是否允许变速。所以通过改变EN1便可以改变设定值H4.。0的值,也就是设定值的初值,从而改变了直流电机的占空比,改变直流电机的速度,达到调速的目的。因为CNTB是5位的计数器,所在本设计中直流电机转速细分为32级。如图4。18的占空比为2/32=0。0625,同理通过按键EN1该变H4。.0的值便得到如图4。19、4.20的PWM仿真波形,其占空比依次为0.125、
42、0。25,也就是占空比增大,电机的速度增加.根据以上的数据比较与仿真波形的分析可以看出,电机的速度在逐渐的增加。所以通过改变EN1的值可以改变直流电机的PWM占空比,从而改变直流电机的速度。图4。18 H4.。0=02H仿真波形图4。19 H4.0=04H仿真波形图4。20 H4.。0=08H仿真波形4.4.4 仿真结果分析通过4。4。1到4.4。3的仿真波形分析可知,本设计中的各项功能够很好的实现。在时钟脉冲的作用下,计数器CNTA和CNTB都能按照事先设定好的规则进行计数。CNTA是可控的加减计数器,U_D控制其计数的方向,EN1用于设定其初值,当NE1由高电平变为低电平时,就完成了设定值
43、。CNTB是5位二进制计数器,其在时钟脉冲CLK0的作用下一直加数,当它加到32时就自动返回到0再重新加数.两路计数器同时加到数字比较器LMP_COMPARE上,当CNTB的值小于设定值时,数字比较器输出高电平,当CNTB的值大于设定值时,数字比较器输出低电平.因此改变设定值的大小就可以改变PWM波形的大小,也就是完成了电机的调速。Z_F是电机的方向按键,选择PWM波形的进入方向,当其为1时,电机正转,反之,反转.至于电机的控制,是在它的输入端加上两个与门来控制电机的启动与停止。其具体的操作如下:当按下键Z_F键时,电机正转,松开键时,电机反转。当按下键START时,电机开始工作,松开时,电机
44、停止工作。通过按键EN1的闭合与断开可以改变H4.0的值从而改变直流电机的PWM占空比,达到改变直流电机速度的目的。本设计采用VHDL设计FPGA 脉宽调制控制方案, 计算机仿真和对直流电机控制的结果表明,该电路能有效地产生PWM 控制信号控制电机的转速, 控制精度由FPGA 中的数字比较器决定.在本设计中,采用的数字比较器为5位, 若增加数字比较器的位数, 就可以提高电机转速的控制精度。电路中省去了D/A 转换器使电路变得更加简洁, 同时也降低控制器的成本。FPGA 内部采用状态机结构, 遇到干扰时, 能很快从异常状态转入正常工作状态, 保证了控制系统具有高的可靠性。从以上的仿真中可以看出,
45、基于FPGA的直流电机的控制能够达到很好的预期效果。总结对于直流电机的控制设计,可以利用的主要有三种方法,分别是模拟电路的方法、单片机的方法和应用专用逻辑电路的方法。对于模拟电路方法目前已经很少采用,最常用的是单片机的方法,本论文是基于应用专用逻辑电路的方法而展开设计的。目前很少采用FPGA对步进电机进行控制设计,本论文采用了此先进的技术对直流电机进行控制设计,设计了一个功能完善的全数字步进电机控制系统.本次毕业设计题目为,基于EDA的直流电机控制系统设计,实现用PWM对于电机的控制。此设计需要用硬件描述语言(VHDL)编写程序,并在Quartus II软件平台上进行程序的编译和仿真.致谢历时
46、将近两个月的时间终于将这篇论文写完,在论文的写作过程中遇到了无数的困难和障碍,都在同学和老师的帮助下度过了。尤其要强烈感谢我的论文指导老师-王昕老师,她对我进行了无私的指导和帮助,不厌其烦的帮助进行论文的修改和改进。感谢这篇论文所涉及到的各位学者。本文引用了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。感谢我的同学和朋友,在我写论文的过程中给予我了很多你问素材,还在论文的撰写和排版灯过程中提供热情的帮助。由于我的学术水平有限,所写论文难免有不足之处,恳请各位老师和学友批评和指正!参考文献1 楼兴华,刘韬.FPGA数字电子系统设计与开发实例导航C北京:北
47、京人民邮电出版社 2006.2 Xilinx。Xilinx推出针对前端总线FPGA高性能计算解决方案 J。 半导体技术,2008。3汪厚新。 采用FPGA的步进电机控制系统研究D。硕士学位论文,西南交通大学,2006。4杜玉。基于FPGA直流电机的伺服系统的设计D内蒙古:内蒙古大学,20055 百度百科。直流电动机EB/OL。http:/baike。 04。11。6豆丁网.直流电机的基本结构和工作原理EB/OL。 7 张广益,郭前刚电机学M重庆重庆大学出版社,2006:247-2518邢建平,曾凡泰。VHDL程序设计教程M 。北京:清华大学出版社,2005.9 潘松,黄继业DEA技术实用教程M北京:北京