已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中北大学信息商务学院2011届毕业设计说明书1 绪论1.1课题研究背景及意义 历史证明,一个国家的制造业水平在很大程度上可以体现国家的实力,国家的发展也在很大程度上依赖于先进的制造业,所以大多数国家都非常重视大力展制造业,二战后,计算机控制技术、微电子技术、信息和自动化技术有了迅速的发展,并在制造业中得到了愈来愈广泛的应用,先后出现了数控(NC)、计算机数控(CNC)、柔性制造单元(FMC)、柔性制造系统(FMS)、计算机辅助设计与制造(CAD/CAM)、计算机集成制造系统(CIMS)等多项先进制造技术与制造模式,推着世界制造业进入一个崭新的阶段川。而在这些技术环节中,具有很多优点的步进电机就是一个重要角色,比如在数控技术中。 步进电动机又称脉冲电动机或阶跃电动机,国外一般称为Steppingmotor、Pu1Semotor或stepperServO,其应用发展己有约80年的历史。可以说步进动机天生就是一种离散运动的装置,是纯粹的数字控制电动机,步进电机驱动器通过外加控制脉冲,控制步进电动机各相绕组的导通或截止,从而使电动机产生步进运动。就是说给一个电脉冲信号,电动机就转过一个角度或者前进一步,其输出转角、转速与输入脉冲的个数、频率有着严格的比例关系。这些关系在负载能力范围内不随电源电压、负载大小、环境条件等的变化而变化。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,同时步进电机只有周期性的误差而无累积误差,精度高。步进电动机可以在宽广的频率范围内通过改变脉冲频率来实现调速、快速起停、正反转控制等,这是步进电动机最突出的优点。 正是由于步进电机具有突出的优点,所以成了机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。比如在数控系统中就得到广泛的应用。目前世界各国都在大力发展数控技术,我国的数控系统也取得了很大的发展,我国己经能够自行研制开发适合我国数控机床发展需要的各种档次的数控系统。其中华中数控系统解决了“五轴联动”,为“神州”系列飞船顺列升空立下了汗马功劳。虽然与发达国家相比,我们我国的数控技术方面整体发展水平还比较低,但已经在我国占有非常重要的地位,并起了很大的作用。我国数控系统在初期就是以单板机或单片机为数控核心,以步进电机为执行元件,由于其结构简单,价格便宜,只需一万元左右就可以装备一台经济型数控机床,很适合我国中小型企业使用。采用步进电机作为伺服执行元件,不仅可以应用于经济型数控伺服系统,而且也可以辅以先进的检测和反馈元件,组成高精度全闭环数控系列,从而达到很高的加工精度。 除了在数控系统中得到广泛的应用,近年来由于微型计算机方面的快速发展,使步进电机的控制发生了革命性变革。优点明显的步进电机被广泛应用在电子计算机的许多外围设备中,例如打印机,纸带输送机构,卡片阅读机,主动轮驱动机构和存储器存取机构等,步进电机也在军用仪器,通信和雷达设备,摄影系统,光电组合装置,阀门控制,数控机床,电子钟,医疗设备及自动绘图仪,数字控制系统,工具机控制,程序控制系统以及许多航天工业的系统中得到应用。因而,对于步进电机控制的研究也就显得重要了。为了得到良好的控制性能,对步进电机的控制的研究就一直没有停止过,许多重大的技术得以实现。上世纪80年代以后,由于微型计算机以多功能的姿态出现,步进电动机的控制方式变得更加灵活多样。原来的步进电机控制系统采用分立元件的控制回路,或者集成电路,不仅调试安装复杂,要消耗大量元器件,而且一旦定型之后,要改变控制方案就一定要重新设计电路,不利于系统的改进升级。基于微型单片机的控制系统则通过软件来控制步进电机,能够更好地发挥步进电机的潜力。因此,用微型单片机控制步进电机己经成为了一种必然的趋势,也符合数字化的时代发展要求。还比如为了适应一些领域中高精度定位和运行平稳性的要求,出现的步进电机细分驱动技术,就包括振荡器、环行分配器控制的细分驱动、基于单片机斩波恒流驱动、基于单片机的直流电压驱动三种常见驱动方式,除上述三种步进电机的驱动方案之外,目前报道的驱动方案还有根据汇编语或C语一言进行软件开发,在windows平台下利用VISua1C+6.0提供的串行通信控件MSColnln来实现PC机与步进电机控制器之间的数据通讯,最终实现由pC机直接控制步电机的方法;在windows平台下和单片机配合控制步进电机;PLC控制的脉冲驱动方案等等。1.2国内外研究现状 在步进电机的发展过程中,出现了多种控制方案。 (1)基于电子电路控制步进电机受电脉冲信号控制,电脉冲信号的产生、分配、放大全靠电子元器件的动作来实现。由于脉冲控制信号的驱动能力一般都很弱,因此必须有功率放大驱动电路。步进电机与控制电路、功率放大驱动电路组成一体,构成步进电机驱动系统。此种控制电路设计简单,功能强大,可实现一般步进电机的细分任务。这个系统由三部分组成:脉冲信号产生电路、脉冲信号分配电路、功率放大驱动电路。此种方案即可为开环控制,也可闭环控制。开环时,其平稳性好,成本低,设计简单,但未能实现高精度细分。采用闭环控制,即能实现高精度细分,实现无级调速。闭环控制是不断直接或间接地检测转子的位置和速度,然后通过反馈和适当的处理,自动给出脉冲链,使步进电机每一步响应控制信号的命令,从而只要控制策略正确电机不可能轻易失步。该方案多通过一些大规模集成电路来控制其脉冲输出频率和脉冲输出数,功能相对较单一,如需改变控制方案,必须需重新设计,因此灵活性不高。(2)基于单片机控制采用单片机来控制步进电机,实现了软件与硬件相结合的控制方法。用软件代替环形分配器,达到了对步进电机的最佳控制。系统中采用单片机接口线直接去控制步进电机各相驱动线路。由于单片机的强大功能,还可设计大量的外围电路,键盘作为一个外部中断源,设置了步进电机正转、反转、档次、停止等功能,采用中断和查询相结合的方法来调用中断服务程序,完成对步进电机的最佳控制,显示器及时显示正转、反转速度等状态。环形分配器其功能由单片机系统实现,采用软件编程的办法实现脉冲的分配因。本方案有以下优点(1)单片机软件编程可以使复杂的控制过程实现自动控制和精确控制,避免了失步、振荡等对控制精度的影响;(2)用软件代替环形分配器,通过对单片机的设定,用同一种电路实现了多相步进电机的控制和驱动,大大提高了接口电路的灵活性和通用性困;(3)单片机的强大功能使显示电路、键盘电路、复位电路等外围电路有机的组合,大大提高系统的交互性。(3)基于PLC的控制PLC也叫可编程控制器,是一种工业上用的计算机。PLC作为新一代的工业控制器,由于具有通用性好、实用性强、硬件配套齐全、编程简单易学和可靠性高等优点而广泛应用于各行业的自动控制系统中。步进电机控制系统有PLC、环形分配器和功率驱动电路组成。控制系统采用PLC来产生控制脉冲。通过PLC编程输出一定数量的方波脉冲,控制步进电机的转角进而控制伺服机构的进给量,同时通过编程控制脉冲频率来控制步进电机的转动速度,进而控制伺服机构的进给速度。环形脉冲分配器将PLC输出的控制脉冲按步进电机的通电顺序分配到相应的绕组。PLC控制的步进电机可以采用软件环形分配器,也可采用硬件环形分配器。采用软件环形分配器占用PLC资源较多,特别是步进电机绕组相数大于4时,对于大型生产线应该予以考虑。采用硬件环形分配器,虽然硬件结构稍微复杂些,但可以节省PLC资源,目前市场有多种专用芯片可以选用。步进电机功率驱动电路将PLC输出的控制脉冲放大,达到比较大的驱动能力,来驱动步进电机。采用软件来产生控制步进电机的环型脉冲信号,并用PLC中的定时器来产生速度脉冲信号,这样就可以省掉专用的步进电机驱动器,降低硬件成本。但由于PLC的扫描周期一般为但由于PLC的扫描周期一般为几毫秒到几十毫秒,相应的频率只能达到几百赫兹,因此,受到PLC工作方式的限制及其扫描周期的影响,步进电机不能在高频下工作,无法实现高速控制。并且在速度较高时,由于受到扫描周期的影响,相应的控制精度就降低了。(4)基于FPGA的控制2001年有人利用Xilinx公司生产的CPLD器件XC9536为核心来产生电机绕组参考电流,实现了具有绕组电流补偿功能的两相混合式步进电机10细分和50细分运行方式,获得了良好的系统运行效果,并显著提高了两相混合式步进电机的分辨率,减少震动,并增加电机运行时的稳定性川。由于采用CPLD/FPGA,极大减少了分立元件的使用,除了少数接口电路以外,大多数逻辑均在片内实现。传统用单片机控制步进电机虽然成本低廉,然而若在驱动多个步进电机的情况下,由于单片机的内部产生脉冲的端口或者计算器有限,我们必然需要多个单片机,这时就涉及到多个单片机之间的传输协议和步进电机的运行配合等问题,另外,成本也随之上升。而FPGA使用灵活,可方便地与数字控制器和模拟控制器连接,直接用于步进电机控制,具有较高地性价比,并可驱动多个步进电机。1.3 FGPA的原理及其发展现场可编程门阵列FPGA(Field Programmable Gate Array)器件是Xilinx公司1985年首家推出的,它是一种新型的高密度PLD,采用CMOS-SRAM工艺制作。第一片现场可编程逻辑器件(FPGA)至今,FPGA已经历了十几年的发展历史。在这十几年的发展过程中,以FPGA为代表的数字系统现场集成技术取得了惊人的发展:现场可编程逻辑器件从最初的1200个可利用门,发展到90年代的25万个可利用门,乃至当新世纪来临之际,国际上现场可编程逻辑器件的著名厂商Altera公司、Xilinx公司又陆续推出了数百万门的单片FPGA芯片,将现场可编程器件的集成度提高到一个新的水平。FPGA器件的种类很多,按基本结构来分包括在PAL结构基础上扩展的EPLD,CPLD和标准门阵列逻辑单元型的FPGA器件。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点包括:(1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片;(2)FPGA可做其它全定制或半定制ASIC电路的中试样片;(3)FPGA内部有丰富的触发器和I/O引脚;(4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一;(5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前FPGA的品种很多,有Xilinx的XC系列、TI公司的TPC系列、Altera公司的FIEX系列及Altera Cyclone系列等。而且Altera Cyclone系列FPGA从根本上针对低成本进行设计。这些低成本器件具有专业应用特性,例如嵌入式存储器、外部存储器接口和时钟管理电路等。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。近几年随着微电子集成技术的迅猛发展,利用各种可编程逻辑器件特别是FPGA来构成各类电机控制系统的研究方兴未艾。由于FPGA高的时钟频率和大规模逻辑门,以及I/0口多的特点,易于实现以往无法实现的算法,并且在系统编程的特点使得其研发比较灵活。FPGA独特的优越性使得它在步进电机系统中的应用会越来越广泛。当然,如果将所有的控制性能都设计在一片FPGA芯片中,就不得不考虑到成本的问题。我们可以利用其他廉价的微控制器和FPGA共同来产生PWM波形,使FPGA器件减少工作量,这样就可以减少逻辑门,大大降低系统的成本。所以利用FPGA来实现步进电机的PWM波形模块、电流环,速度环和其他一些辅助功能,完成整个系统的控制。这种控制策略简化了硬件和软件设计,并充分利用FPGA的快速性,节省CPU的资源,这样就可以在CPU内实现复杂的控制器。这是一个高度集成化的单片控制系统,最终可实现电机控制电源的模块化。由于FPGA/CPLD直接面向用户,具有极大的灵活性和通用性,使用方便,硬件测试和实现快捷,用以开发步进电机控制器的效率高,成本低,工作可靠性好。近些年来,由于步进电机的控制精度不断提高,越来越多有较高控制精度要求的系统也开始采用步进电机。纵观现场可编程逻辑器件的发展历史,其之所以具有巨大的市场吸引力,根本在于:FPGA不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开发周期短、开发软件投入少、芯片价格不断降低,促使FPGA越来越多地取代了ASIC的市场,特别是对小批量、多品种的产品需求,使FPGA成为首选。目前,FPGA的主要发展动向是:随着大规模现场可编程逻辑器件的发展,系统设计进入“片上可编程系统”(SOPC)的新纪元;芯片朝着高密度、低压、低功耗方向挺进;国际各大公司都在积极扩充其IP库,以优化的资源更好的满足用户的需求,扩大市场;特别是引人注目的所谓FPGA动态可重构技术的开拓,将推动数字系统设计观念的巨大转变。如何实现快速的时序收敛、降低功耗和成本、优化时钟管理并降低FPGA与PCB并行设计的复杂性等问题,一直是采用FPGA的系统设计工程师需要考虑的关键问题。如今,随着FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向发展,系统设计工程师在从这些优异性能获益的同时,不得不面对由于FPGA前所未有的性能和能力水平而带来的新的设计挑战。1.4课题主要研究内容及工作本文完成了基于FPGA控制步进电机细分驱动的设计。系统由FPGA控制器、L298驱动电路、步进电机组成,能够步进电机的细分驱动控制。各部分内容安排如下:第一章:绪论,介绍课题的研究背景及意义、国内外研究现状和FPGA的原理及发展,并介绍了课题的主要研究内容。第二章:介绍系统的硬件设计,系统概述,步进电机介绍,步进电机驱动电路的介绍,FPGA的介绍。第三章:介绍基于FPGA的步进电机细分控制,包括基于FPGA的设计方法,自顶向下的设计方法,自顶向下的设计流程,面向FPGA的开发流程,EDA技术的优势,面向FPGA的EDA开发流程。还介绍了FPGA技术在步进电机细分驱动中的应用,以及步进电机细分驱动原理。 第四章:介绍了系统的设计及仿真结果,包括集成开发环境介绍,VHDL语言介绍;包括步进电机设计,顶层原理图的设计,PWM控制模块的设计和仿真结果。第五章:对整个设计做了总结。2 系统硬件设计2.1系统概述 系统由FPGA控制器、步进电机驱动电路组成,系统功能框图如图2.1所示。FPGA为主控制器,本系统选用控制功能灵活的FPGA作为步进电机的主控制器,步进电机驱动电路选用L298驱动的驱动电路。 图2.12.2步进电机介绍 自从法拉第发现电磁感应定律后,电机的出现大大加速了社会的发展和方便了人们的日常生活。步进电机由于能够精确控制电机转过的角度,所以得到了广泛的应用。步进电机最早是在1920年由英国人所开发。1950年后期晶体管的发明也逐渐应用在步进电机上,这对于数字化的控制变得更为容易。以后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解性能、高响应性、信赖性等灵活控制性高的机械系统中。在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。现在比较常用的步进电机分为三种:反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)。本章节以反应式步进电机为例,介绍其基本原理与应用方法。反应式步进电机可实现大转矩输出,步进角一般为1.5度。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。常用小型步进电机的实物如图2.2所示。图2.2步进电机具有如下的特点:1)一般步进电机的精度为步进角的3-5%,且不累积。2)步进电机外表允许的温度高。步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。3)步进电机的力矩会随转速的升高而下降。当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。4)步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声。步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。2.3步进电机驱动电路设计综合系统使用的是小型步进电机,对电压和电流要求不是很高,为了说明应用原理,故采用最简单的驱动电路,目的在于验证步进电机的使用,在正式工业控制中还需在此基础上改进。一般的驱动电路可以用分立的达林顿驱动电路实现,如图2.3所示。图2.3在实际应用中一般驱动路数不止一路,用上图的分立电路体积大,很多场合用现成的集成电路作为多路驱动。常用的小型步进电机驱动电路可以用ULN2003或ULN2803。ULN2003是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。ULN2003A由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路。ULN2003内部结构及等效电路图如图2.4所示。图2.4L298芯片是一种高压、大电流双全桥式驱动器,其设计是为接受标准TTL逻辑电平信号和驱动电感负载的,例如直流电动机和步进电动机具有两抑制输入来使器件不受输入信号影响。每桥的三级管的射极是连接在一起的,相应外接线端可用来连接外设传感电阻。L298芯片是具有15个引出脚的多瓦数直插式封装的集成芯片。L298特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机等感性负载;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作。步进电机的驱动电路图如图2.5所示。图2.52.4 FPGA介绍FPGA部分是本系统的核心模块,承载了所有的数字电路部分。在设计过程中,强调SOC(片上系统)的概念,在FPGA平台上实现了系统中所需要的所有数字逻辑,包括触发器、存储器,缓冲器,PLL(锁相环),计数器,译码器,多路选择器等。从而使得系统中的数字部分处于完全可编程可调状态,只需根据需求更新FPGA程序即可,具有较强的适应性和灵活性。我们选用Altera公司的Cyclone II系列的FPGAEP2C8Q208C8N作为主控芯片。它具有8000多个逻辑单元、208个引脚、120多个I/O接口、18个乘法器模块和2个锁相环还有专门,还有是一个集成度较高的FPGA芯片。下面将对本系列FPGA的性能及特点做详细介绍。Cyclone II FPGA是Cyclone系列低成本FPGA中的最新产品。Altera公司于2002年推出的Cyclone器件系列永远地改变了整个FPGA行业,带给市场第一也是唯一的以最低成本为基础而设计的FPGA系列产品。Altera采用相同的方法在尽可能小的裸片面积下构建了Cyclone II系列。Cyclone II FPGA系列提供了与其上一代产品相同的优势一套用户定义的功能、业界领先的性能、低功耗但具有更多的密度和功能,极大地降低了成本。Cyclone II 器件扩展了低成本FPGA的密度,最多可达到68,416个逻辑单元(LE)和1.1M比特的嵌入式存储器。Cyclone II器件的制造基于300mm晶圆,采用台积电90nm、低K值电介质工艺,这种可靠工艺也曾被用于Altera的Stratix II器件。这种工艺技术确保了快速有效性和低成本。通过使硅片面积最小化,Cyclone II器件可以在单芯片上支持复杂的数字系统,而在成本上则可以和ASIC竞争。所有Cyclone II器件都可以通过免费的Quartus II网络版软件来支持。本系统中的FPGA配置芯片采用Altera公司的芯片EPCS4。它的正常工作电压为3.3V。它具有存储器的功能,在设计中主要用来存储下载的程序。FPGA的配置主要分为两大类,主动配置方式和被动配置方式。主动配置方式由FPGA引导配置操作过程,它控制着外部存储器和初始化过程。而被动配置则由外部计算机或控制器控制配置过程。本次设计采用的是主动串行配置方式。在程序下载过程中,图中VCC统一接3.3V电压。本设计中使用USB-Blaster串口下载电缆下载程序,USB-Blaster串口下载电缆是一种直接连接到PC机USB接口的硬件接口产品。USB-Blaster支持三种配置模式,即主动串行模式(AS),被动串行模式(PS)和边界扫描模式(JTAG)。本系统采用边界扫描模式。其连接电路如图2.6所示。图2.6晶振用来产生一个不间断的脉冲波形。FPGA通过它产生一个时钟信号,作为总的系统时钟来控制每个动作的时间及其快慢。在本系统中的采用的是40MHz的晶体振荡器。时钟发生电路的连接情况如图2.7所示。图2.7由于系统需要的是3.3V以及1.25V的电压,而外部设备提供的是5V的电压,故选用了NCP5504作为电压转换电路,它可以将5V电压转换为3.3V和1.25V输出去。具体电路如2.8所示图2.8在硬件电路设计中,电源是电路能否正常工作的关键环节,也是最容易被忽略的环节。在数字电路中,电源有两个基本功能:首先是为逻辑器件提供工作电源,其次是为数字电平信号提供参考电压。为了消除电源线及地线的纹波,在器件及电路板上增加滤波电容,以提高器件的抗干扰能力。本设计在每个电路芯片的电源引脚上都并接一个0.1uf的电容,其作用是降低电路中因负载变化而引起的噪声、减少干扰信号并使信号稳定。3 基于FPGA的步进电机细分控制3.1基于FPGA的设计方法3.1.1自顶向下的设计方法传统的电子设计流程通常是自底向上的,即首先确定构成系统的最底层的电路模块或元件的结构和功能,然后根据主系统的功能要求,将它们组合成更大的功能块,使它们的结构和功能满足高层系统的要求。以此流程,逐步向上递推直至完成整个目标系统的设计。例如,对于一般电子系统的设计,使用自底向上的设计方法,必须首先决定使用的器件类别和规格,如74系列的器件、某种RAM和ROM、某类CPU或单片机以及某些专用功能芯片等:然后是构成多个功能模块,如数据采集模块、信号处理模块、数据交换和接口模块等,直至最后利用它们完成整个系统的设计。自底向上的设计方法的特点是,必须首先关注并致力于解决系统最底层硬件的可获得性,以及他们的功能特性方面的诸多细节问题:在整个逐级设计和测试过程中,始终必须顾及具体目标器件的技术细节。在这个设计过程中的任一时刻,最底层目标器件的更换,或某些技术参数不满足总体要求,或缺货,或由于市场竞争的变化,临时提出降低系统成本,提高运行速度等不可预测的外部因素,都将可能使前面的工作前功尽弃。由此可见,在某些情况下,自底向上的设计方法是一种低效、低可靠性、费时费力,且成本高昂的设计方法。在电子设计领域,自顶向下设计方法只有在EDA技术得到快速发展和成熟应用的今天才成为可能。自顶向下设计方法的有效应用必须基于强大的EDA工具、具备集系统描述、行为描述和结构描述功能为一体的VHDL硬件描述语言,以及先进的可编程逻辑器件的开发设计。当今,自顶向下的设计方法己经是EDA技术的首选设计方法,是CPLD开发的主要设计手段。在EDA技术应用中,自顶向下的设计方法就是在整个设计流程中各设计环节逐步求精的过程。一个项目的设计过程包括从自然语言说明到VHDL的系统行为描述、系统的分解、RTL模型的建立、门级模型产生,到最终的可以物理布线实现的底层电路,就是从高抽象级别到低抽象级别的整个设计周期。后端设计还必须包括设计硬件的物理结构实现方法和测试。应用VHDL进行自顶向下的设计,就是使用VHDL模型在所有综合级别上对硬件设计进行说明、建模和仿真测试。主系统及子系统最初的功能要求在VHDL里体现为可以被VHDL仿真程序验证的可执行程序。由于综合工具可以将高级别的模型转换为门级模型,所以整个设计过程基本是由计算机自动完成的。人为介入的方式主要是根据仿真的结果和优化的指标来控制逻辑综合的方式和指向。因此,在设计周期中,要根据仿真的结果进行优化和升级,以及对模型及时的修改,以改进系统或子系统的功能,更正设计错误,提高目标系统的工作速度,减小面积损耗,降低功耗和成本等,或者启用新技术器件或新的IP核。在这些过程中,由于设计的下一步是基于当前的设计,即使发现问题或作新的修改而无需从头开始设计,也不妨碍整体的设计效率。此外,VHDL优秀的可移植性、EDA平台的通用性以及与具体硬件结构的无关性,使得前期的设计可以容易地应用于新的设计项目,则项目设计的周期可以显著缩短。因此,EDA设计方法里十分强调将前一个VHDL模型重用的方法。此外随着设计层次的降低,在低级别上使用高级别的测试包来测试模型也很重要并有效。自顶向下的设计方法能使系统被分解为各个模块的集合之后,可以对设计的每个独立模块指派不同的工作小组。这些小组可以工作在不同地点,甚至可以分属不同的单位,最后将不同的模块集成为最终的系统模型,并对其进行综合测试核评估。3.1.2自顶向下的设计流程图3.1给出了自顶向下设计流程的框图说明,它包括如下设计阶段:(1)提出设计说明书,即用自然语言表达系统项目的功能特点和技术参数等。(2)建立VHDL行为模型,这一步是将设计说明书转化为VHDL行为模型。在这一项目的表达中,可以使用满足IEEE标准的VHDL的所有语句而不必考虑可综合性。这一建模行为的目的是通过VHDL仿真器对整个系统进行系统行为仿真和性能评估。图3.1(3)VHDL行为仿真。这一阶段可以利用VHDL仿真器(如Modelsim)对顶层系统的行为模型进行仿真测试,检查模拟结果,继而进行修改和完善。(4)VHDL一RTL级建模。如上所述,VHDL只有部分语句集合可用于硬件功能行为的建模,因此在这一阶段,必须将VHDL行为模型表达为VHDL行为代码(或成为VHDL一RTL级模型)。从第3步到第4步,人工介入的内容比较多,设计者需要给予更多的关注。(5)前端功能仿真。在这一阶段对VHDL一RTL级模型进行仿真,称为功能仿真。尽管VHDL一RTL级模型是可综合的,但对他的功能仿真仍然与硬件无关,仿真结果表达的是可综合模型的逻辑功能。(6)逻辑综合。使用逻辑综合工具将VHDL行为级描述转化为机构化的门级电路。(7)测试向量生成。这一阶段主要是针对ASIC设计的。FPGA设计的时序测试文件主要产生于适配器。对ASIC的测试向量文件是综合器结合含有版图硬件特性的工艺库后产生的,用于对ASIC的功能测试。(8)功能仿真。利用获得的测试向量对ASIC的设计系统和子系统的功能进行仿真。(9)结构综合。主要将综合产生的表达逻辑连接关系的网表文件,结构具体的目标硬件环境进行标准单元调用、布局、布线和满足约束条件的结构优化配置,即结构综合。(10)门级时序仿真。在这一级中将使用门级仿真器或仍然使用VHDL仿真器(因为结构综合后能同步生成VHDL格式的时序仿真文件)进行门级时序仿真,在计算机上了解更接近硬件目标工作的功能时序。(11)硬件测试。这是对最后完成的硬件系统(如AsIC或CPLD)进行检查和测试。与其他的硬件描述语言相比,VHDL具有较强的行为仿真级与综合级的建模功能,这种能远离具体硬件,基于行为描述语言恰好满足典型的自顶向下设计方法,因而能顺应EDA技术发展的趋势,解决现代电子设计应用出现的各类问题。3.2面向FPGA的开发流程3.2.1EDA技术的优势在传统的数字电子系统或IC设计中,手工设计占了较大的比例。一般先按电子系统的具体功能要求进行划分,然后对每个子模块画出真值表,用卡诺图进行手工逻辑简化写出布尔表达式,画出相应的逻辑线路图,再据此选择元器件,设计电路板,最后进行测试与调试。手工设计方法主要有以下缺点:复杂电路的设计、调试十分困难。由于无法进行硬件系统功能仿真,如果某一过程存在错误,查找和修改十分不方便。对于IC设计而言,设计实现过程与具体生产工艺直接相关,因此可移植性差只有再设计出样机或生产出芯片后才能进行实测。相比之下,EDA技术有很大不同:用HDL对数字电子系统进行抽象的行为与功能描述到具体的内部线路结构描述,从而可以在电子设计的各个阶段、各个层次进行计算机模拟验证,保证过程的正确性,可以大大降低设计成本,缩短设计周期。EDA工具之所以能够完成各种自动设计过程,关键是有各类库的支持EDA技术中最为瞩目的功能,即最具现代电子设计技术特征的功能是日益强大的逻辑仿真测试技术。基于EDA技术的设计用HDL表达的成功的专用功能设计在实现目标有很大的可选性,它既可以用不同来源的通用FPGA实现,设计者拥有完全的自主权,再无受制于人之虞。从电子设计方法学来看,EDA技术最大的优势就是能将所有设计环节纳入统一的自顶向下的设计方案中。EDA不但在整个设计流程上充分利用计算机的自动设计能力,在各个设计层次上利用计算机完成不同内容的仿真模拟,而且在系统板设计结束后仍可利用计算机对硬件系统进行完成的测试。3.2.2面向FPGA的EDA开发流程完整地了解利用EDA技术进行设计开发的流程对于正确地选择和使用EDA软件,优化设计项目,提高设计效率十分有益。一个完整的、典型的EDA设计流程是自顶向下设计方法的具体实施途径,也是EDA工具软件本身的组成结构。图3.2是基于EDA软件的FPGA开发流程框图,对于目前流行的用于FPGA开发的EDA软件,图3.2所示的设计流程具有一般性。以下将分别介绍各设计模块的功能特点。(1)设计输入(原理图/HDL文本编辑)通常使用EDA工具的设计输入可分为两种类型:图形输入与硬件描述语言文本输入。图形输入通常包括原理图输入,状态输入和波形图输入等方法。状态图输入方法就是根据电路的控制条件和不同的转换方式,用绘图的方法,在EDA工具的状态图编辑器上绘出状态图,然后由EDA编辑器和综合器将此状态变化流程图形编译综合成电路网表。图3.2波形图输入方法则是将待设计的电路看成是一个黑盒子,只需告诉EDA工具黑盒子电路的输入和输出时序波形图,EDA工具即能据此完成黑盒子电路的设计。原理图设计是一种类似于传统电子设计方法的原理图编辑输入方式,即在EDA软件的图形编辑界面上绘制能完成特定功能的电路原理图。原理图由逻辑器件(符号)和连接线构成,图中的逻辑器件可以是EDA软件库中预制的功能模块,如与门、非门、或门、触发器以及各种含74系列器件功能的宏功能块,甚至还有一些类似于IP的功能块。原理图编辑绘制完成后,原理图编辑器将对输入的图形文件进行排错,之后再将其编译成适用于逻辑综合的网表文件。用原理图输入方法有点是显而易见的,设计者进行电子线路设计不需要增加新的诸如HDL等相关知识,适用于较小的电路模型,设计者易于把握电路全局。然而,由于图形设计方式并没有得到标准化,不同的EDA软件中的图形处理工具对图形的设计规则、存档格式和图形编译方式都不同,因此图形文件兼容性差,难以交换和管理。HDL文本输入这种方式与传统的计算机软件语言编辑输入基本一致,就是将使用了某种硬件描述语言(HDL)的电路设计文本,如VHDL或Verilog的源程序,进行编辑输入。可以说,应用HDL的文本输入方法克服了上述原理图输入中存在的所有弊端,为EDA技术的应用和发展打开了一个广阔的天地。(2)综合一般地,综合是仅对应于HDL而言的。利用HDL综合器对设计进行综合是十分重要的一步,因为综合过程将把软件设计的HDL描述与硬件结构挂钩,是将软件转化为硬件电路的关键步骤,是文字描述与硬件实现的一座桥梁。综合就是将电路的高级语言(如行为描述)转换为低级,可以与FPG刀CPLD的基本结构映射的网表文件或程序。硬件描述语言的综合如图3.3所示。图3.3(3)布局布线(适配)适配器也称为结构综合器,它的功能是将综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件。(4)时序仿真与功能仿真在编程下载前必须利用EDA工具对适配生成的结果进行模拟测试,就是所谓的仿真。时序仿真:就是接近真实器件运行特征的仿真,仿真文件中己包含了器件硬件特征性参数,因而,仿真精度高。功能仿真:它是直接对VHDL、原理图描述等,仿真过程不涉及任何具体器件的硬件特性。(5)编程下载把适配后生成的下载或配置文件,通过编程器或编程电缆向FPGA或CPLD进行下载,以便进行硬件调试和验证四。(6)硬件测试最后是将含有载入了设计的FPGA或CPLD的硬件系统进行统一测试,以便最终验证设计项目在目标系统上的实际工作情况,以排除错误,改进设计。3.3 FPGA技术在步进电机细分驱动中的应用步进电机作为一种电脉冲一角位移的转换元件,它受脉冲信号控制,其位移与输入脉冲个数成严格正比的关系,它包括脉冲分配器和功率放大器两部分,如图3.4所示。由于具有价格低廉、易于控制、无积累误差和计算机接口方面等优点,在机械、仪表、工业控制等领域中获得了广泛的应用。图3.4步进电机细分驱动技术是20世纪70年代中期发展起来的一种可以显著改善步进电机综合使用性能的驱动控制技术。1975年美国学者T.R.Fredriksen首次在美国增量运动控制系统及器件年会上提出了步进电机步距角细分的控制方法。在其后的二十多年里,步进电机细分驱动技术得到了很大的发展,并在实践中得到广泛的应用。实践证明,步进电机细分驱动技术可以减小步进电机的步距角,提高电机运行的平稳性,增加控制的灵活性等。采用FPGA控制步进电机,利用其中的EAB可以构成存放电机各相电流所需的控制波形数据表和利用FPGA设计的数字比较器可以同步产生多路PWM电流波形,对多相步进电机进行灵活的控制。当改变控制波形表的数据、增加计数器的位数,提高技术精度,从而可以对步进电机的步进转角进行任意细分,实现步进转角的精确控制。用FPGA实现多路PWM控制,无须外接D/A转换器,使外围控制电路大大简化,控制方式简洁,控制精度高、控制效果好。用单片机和DSP的控制都难以达到同样的控制效果。3.3.1步进电机细分驱动原理步进电机的驱动是靠给步进电机的各相励磁绕组轮流通以电流,实现步进电机内部磁场合成方向的变化来使步进电机转动的。设矢量TA、TB、TC、TD为步进电机A、B、C、D四相励磁绕组分别通电时产生的磁场矢量; TAB、TBC、TCD、TDA为步进电机中AB、BC、CD、DA两相同时通电产生的合成磁场矢量。当给步进电机的A、B、C、D四相轮流通电时,步进电机的内部磁场从TATBTCTD,即磁场产生了旋转。一般地,当步进电机的内部磁场变化一周(360)时,电机的转子转过一个齿距,因此,步进电机的步距角可表示为: 其中,为步进电机的转子齿数,为步进电机运行时两相邻稳定磁场之间的夹角。与电机的相数(M)和电机的运行拍数有关。电机内部磁场每旋转一个圆周,步进电机前进一整个步距角。如果半步工作状态下每拍前进的角度超过控制精度要求,则需要对步距角进行更进一步的细分。若四相步进电机按ABCDA的顺序轮流通电,即整步工作,磁场分四拍旋转,每次电流换向,步进电机将前进整步距角的1/4,=90;当电机以四相八拍方式运行时,按AABBBCCCDDDAA的顺序轮流通电,即半步工作,每次电流换向,步进电机将前进整步距角的1/8,=45。和单四拍方式相比,和都减小了一倍,实现了步距角的二细分。如果半步工作状态下每拍前进的角度超过控制精度要求,则需要对步距角进行更进一步的细分。但是在通常的步进电机驱动线路中,由于通过各相绕组的电流是个开关量,即绕组中的电流只有零和某一额定值两种状态,相应的各相绕组产生的磁场也是一个开关量,只能通过各相的通电组合来减小和。因此,这样可达到的细分数很有限。以四相反应式步进电机为例,最多只能实现二细分,对于相数较多的步进电机可达到的细分数稍大一些,但也很有限。因此要使可达到的细分数较大,就必须能控制步进电机各相励磁绕组中的电流,使其按阶梯上升或下降,即在零到最大相电流之间能有多个稳定的中间电流状态,相应的磁场矢量幅值也就存在多个中间状态,这样,相邻两相或多相的合成磁场的方向也将有多个稳定的中间状态。我们知道,电磁力的大小跟绕组通电电流的大小是相关的。当通电相的电流不马上到达峰值,而断电相的电流也不立刻降为零时,电机内部磁场为上两相电流共同合成,而产生的磁场合力,会使转子有一个新的平衡位置,这个新的平衡位置在原步距角的范围内。也就是说,如果绕组电流的波形不再是一个近似方波,而是分成N个阶梯的近似阶梯波,则电流每升或者降一个阶梯时,转子转动一小步。当转子按照这个规律转过N小步时,实际相当于它转过一个步距角。步进电机步距角细分是通过改变步进电机相电流的方法来实现的。通常采用电流矢量恒幅均匀旋转的细分方法,即同时改变两相电流iA和iB的大小,使电流合成矢量等幅均匀旋转。iA和iB的变化曲线可描述为 四相步进电机八细分时的各相电流是以1/4的步距上升或下降的,在两相TA、TB中间又插入了七个稳定的中间状态,原来一步所转过的角度将由八步完成,实现了步距角的八细分。图3.5所示为四相步进电机的八细分电流波形。图3.5从图3.5可以看出,一般情况下总有二相绕组同时通电。一相电流逐渐增大,另一相逐渐减小。对应于一个步距角,电流可以变化N个台阶,也就是电机位置可以细分为N个小角度,这就是电机的一个步距角被N细分的工作原理。或者说,步距角的细分就是电机绕组电流的细分,从而可驱动步进电机平滑运行。由此可见,步进电机细分驱动的关键在于细分步进电机各相励磁绕组中的电流。为了对步进电机的相电流进行控制,从而达到细分步进电机步距角的目的,人们曾设计了多种步进电机的细分驱动电路。最初对电机相电流的控制是由硬件来实现的,每一绕组的相电流用n个晶体管构成n个并联回路来控制,靠晶体管导通数的组合来控制相电流。这种细分驱动电路线路复杂,体积大,成本高,而且电路一旦制造出来就难以改变其细分数,缺乏柔性,因此目前己很少采用这种方法。随着大规模集成电路 FPGA/CPLD的发展,为步进电机的细分驱动带来了便利。步进电机细分驱动电路大多数都采用数字控制。根据要求的步距角计算出各项绕组中通过的电流值,存储在FPGA的嵌入式ROM中,根据不同的地址输出相应的数据,输出到D/A中,由D/A把数字量转换为相应的模拟电压,并加到各相的功放电路上,控制功放电路给各相绕组通以相应的电流,实现步进电机的细分。根据末级功放管的工作状态电机细分驱动电器可分为放大型和开关型两种。放大型步进电机细分驱动电路中末级功放管的输出电流直接受D/A输出的控制电压控制,电路较简单,电流的控制精度也较高,但是由于末级功放管工作在放大状态,使功放管上的功耗较大,发热严重,容易引起晶体管的温漂,影响驱动电路的性能。甚至还可能由于晶体管的热击穿,使电路不能正常工作。因此该驱动电路一般应用于驱动电流较小、控制精度较高、散热情况较好的场合。开关型步进电机细分驱动电路中的末级功放管工作在开关状态,从而使得晶体管上的功耗大大降低,克服了放大型细分电路中晶体管发热严重的问题。但电路较复杂,输出的电流有一定的波纹。因此该驱动电路一般用于输出力矩较大的步进电机的驱动。随着大输出力矩步进电机的发展,开关型细分驱动电路近年来得到长足的发展。目前,最常用的开关型步进电机细分驱动电路有斩波式和脉宽调制(PWM)式两种。斩波式细分驱动电路的基本工作原理是对电机绕组中的电流进行检测,和D/A输出的控制电压进行比较,若检测出的电流值大于控制电压,电路将功放管截止,反之,使功放管导通。这样,D/A输出不同的控制电压,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全教育说课课件
- 康复医学高频考点自我检测试题及答案解析
- 建筑工地安全生产责任制落实考试试题及答案详解
- 教育行业志愿者面试题及参考回答技巧
- 地理常识测试题库及答案参考
- 电力工程与能源管理测试题库及答案集
- 居家健康监测指南及自我评估测试
- 食品安全班队课件
- 安全自护系列教育课件
- 会计学原理考试题库及解答参考
- 机场安全考试题库及答案解析
- 医院护理质量标准化管理体系
- 全国大学生职业规划大赛《新能源汽车技术》专业生涯发展展示【高职(专科)】
- 2023年贵州贵州贵安发展集团有限公司招聘考试真题及答案详解(各地真题)
- BOPP项目可行性研究报告
- 收割机收割协议合同范本
- 重晶石精深加工生产线项目可行性研究报告
- 八年级语文上册统编版第六单元 课外古诗词诵读(公开课一等奖创新教学设计)
- 泌尿外科教学病例讨论
- 中华人民共和国两用物项出口管制条例考试试卷试题及参考答案
- 监理加盟合同协议书范本
评论
0/150
提交评论