步进电机控制
步进电机控制,步进,电机,机电,控制,节制
中国科学技术大学本科毕业论文 中国科学技术大学本科生毕业论文题目:基于CPLD的步进电机驱动设计系别:精密机械与精密仪器系专业:测控技术与仪器学制: 五年 姓名: 王 修 壮 学号: PB99009025 导师: 邢晓正 翟超 二零零三年六月中 文 摘 要在LAMOST光纤定位系统中,寻星的准确性、可靠性无疑是一个重要指标,而系统能否可靠、准确地寻星,其前提是各定位单元能够稳定、可靠地工作。因此,为了使LAMOST项目设计顺利完成,必须对定位用的步进电机控制装置做仔细地研究。本文系统论述了步进电机控制装置的作用、组成;控制装置中CPLD(Complex Programmable Logic Device)系统的软硬件设计,包括电机驱动电路的整体设计;硬件采用ALTERA公司的ACEX 1K 系列;开发系统采用ALTERA公司的Max+Plus10.0和MENTOR公司的Modelsim SE 5.6。通过以上几个部分的研究使我们对LAMOST中步进电机的驱动控制问题有了较为深入的了解,为今后光纤定位系统的改进建设打下了良好的基础,同时,研究结果表明了该控制装置用于LAMOST项目的可行性。关键词:LAMOST,CPLD,VHDLABSTRACTIn the LAMOST optical fiber positioning system, the veracity and reliability of seeking stars are two undoubtedly important design targets. Meanwhile, the precondition for the system to reach those targets is that every positioning unit can work smoothly and reliably. So we must research the multi-stepping-motor control apparatus used for LAMOST optical fibers positioning carefully so we can design the LAMOST optical fiber positioning system well.The main work of this paper is to determine the functions and parts of multi-stepping-motor control apparatus; the software and hardware design of CPLD(Complex Programmable Logic Device) system as part of the multi-stepping-motor control apparatus, including programming of all kinds of movement control. The language we used is VHDL(VHSIC Hardware Description Language) and we design the system with Max+plus10.0 and Modelsim SE 5.6.Keywords: LAMOST, CPLD, VHDL目 录中文内容摘要 3英文内容摘要 4第一章 绪论 5第一节LAMOST项目简介5第二节LAMOST的总体结构及工作方式5第三节 步进电机控制装置的研究6第二章 可编程逻辑器件及EDA技术7第一节 数字系统设计的发展及应用 7第二节 EDA技术的主要特征9第三节 EDA设计的基本工具12第三章 硬件描述语言14第一节 概述14第二节 VHDL15第四章 步进电机的驱动程序设计20第一节 步进电机的工作原理20第二节 步进电机的驱动电源20第三节 分频程序的设计23一、 分频电路的实现 23二、 升降速曲线的设计 26三、 低频到高频再到低频的实现 27四、 环形分配器的实现 29五、 系统综合 31六、 基于CPLD的步进电机驱动设计的优点33七、 今后的工作 34 结束语 35 参考文献 36第一章 绪论 第一节LAMOST项目简介LAMOST是英文“Large Sky Area Multi-Object Fiber Spectroscopy Telescope” 的缩写形式,中文全名为“大天区多目标光纤光谱天文望远镜”。它是一台兼备大视场和大口径的反射式施密特天文望远镜,其有效通光口径为4米,焦距为20米,视场达21平方度,可观测的覆盖天区超过2万平方度,在它固定的线直径为1.75米的焦面板上,按要求在观测对象的位置上布置了4000 根光纤,通过选择最佳的观测时机和适当的优化组合,可以同时对几千个天体目标进行观测。LAMOST在常规观测下,可以进行测量暗至21.0等的恒星或者是暗至20.7等的星系。它的建成将为众多科研课题的进展提供很大的便利,尤其对于天文学领域来说,更是具有重大的意义,因此,LAMOST项目被列为我国跨世纪重大科学工程之一。 第二节LAMOST的总体结构及工作方式LAMOST的总体结构见图1-1。它按中星仪方式工作,对过中天前后的天体进行观测。其施密特改正板采用主动光学控制,位于主镜的球心处,来自天体的光线首先射向施密特改正板,然后再反射到主镜的球面反射镜上,因此只需要适当转动施密特改正板,就可以使望远镜实现跟踪观测。球面反射主镜的半径为40米,来自天体的光线反射到主镜之后,由主镜在焦面上成像。焦面板位于主镜的焦面的位置,上面呈蜂窝状分布着4000个光纤端,每个光纤由两个步进电机通过以单片机为核心的控制装置进行控制,同时瞄准4000个天体,将光引至光谱分析仪上,对天体的光谱进行分析,最终获得天体的光谱样本资料。图1-1 LAMOST总体结构示意图 第三节 步进电机控制装置的研究如此众多的光纤,如何准确、可靠地完成它们的定位,使其能够达到同时观测4000颗星体的要求,是整个项目中的难点。多步进电机并行控制装置对于可控式光纤定位单元系统是至关重要的,它设计的好坏、能否安全、可靠、有效、高速地工作,将直接关系到 LAMOST项目的成败,所以必须对其进行研究。本文系统论述了步进电机控制装置的作用、组成;控制装置中CPLD(Complex Programmable Logic Device)系统的软硬件设计,包括电机驱动电路的整体设计;硬件采用ALTERA公司的ACEX 1K 系列;开发系统采用ALTERA公司的Max+Plus10.0和MENTOR公司的Modelsim SE 5.6。第二章 可编程逻辑器件及EDA技术第一节 数字系统设计的发展及应用一、EDA技术的发展EDA(Electronic Design Automatic )技术,也称电子设计自动化技术,是在电子CAD(Computer Aided Design )技术的基础上发展起来的计算机设计软件系统,它是计算机技术、信息技术和CAM(计算机辅助制造)、CAT(计算机辅助测试)等技术发展的产物。EDA技术发展过程如下: 第一代EDA工具:二十世纪七十年代,此时主要用于版图的设计和印刷板(PCB)的布局布线。 第二代EDA工具:八十年代初,主要用于门级电路的层次设计,功能包括逻辑图的设计输入、仿真、自动布局布线和验证,版图由EDA工具自动生成。 第三代EDA工具:八十年代末,基于硬件的描述语言HDL(Hardware Description Language) 、系统的仿真及综合设计。 第四代EDA工具:九十年代末,电子设计由辅助手段变为主要手段。设计者从事概念设计或者是电子系统的“行为设计”,而大部分工程中的技术问题,由EDA工具解决。EDA工具的出现,极大地提高了系统设计的效率,使广大的电子设计师开始实现“概念驱动工程”的梦想。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出印制板的整个过程在计算机上自动处理完成。设计师们摆脱了大量的具体设计工作,而把精力集中于创造性的方案与概念构思上,从而极大地提高了设计效率,缩短了产品的研制周期。 EDA工具的开发经历了两个大的阶段:物理工具阶段和逻辑工具阶段。物理工具用来完成设计中的实际物理问题,如芯片布局、印刷电路板布线等;逻辑工具是基于网表、布尔逻辑、传输时序等概念。首先由原理图编辑器或硬件描述语言进行设计输入,然后利用EDA系统完成综合、仿真、优化等过程,最后生成物理工具可以接受的网表或VHDL、VerilogHDL的结构化描述。现在常见的EDA工具有编辑器、仿真器、检查分析工具、优化综合工具等。目前,用PLD器件进行系统设计已成为现代数字系统设计的主要手段之一。传统的编程技术是将PLD器件插在编程器上进行编程,而“在系统可编程” (ISP即In System Programmable)逻辑器件的问世,将充分发挥可编程器件的优越性。它允许用户“在系统中”编辑和修改逻辑,给使用者提供了在不修改系统硬件设计的条件下重构系统的能力和硬件升级能力,使硬件修改变得像软件修改一样方便。ISP技术,即直接在用户设计的目标系统中或线路板上对PLD器件进行编程的技术打破了使用PLD先编程后装配的惯例,而可以先装配后编程,成为产品后还可反复编程.二、数字集成电路的发展自20世纪60年代以来,数字集成电路已经历了从SSI、MSI到LSI、VLSI的发展过程。20世纪70年代初以1K位存储器为标志的大规模集成电路(LSI)问世以后,微电子技术得到迅猛发展,集成电路的集成规模几乎以平均每12年翻一番的惊人速度迅速增长。专用集成电路(ASICApplication Specific Integrated Circuit)是指专门为某一应用领域或为专门用户需要而设计、制造的LSI或VLSI电路,它可以将某些专用电路或电子系统设计在一个芯片上,构成单片集成系统。ASIC可分为数字ASIC和模拟ASIC,数字ASIC又分为全定制和半定制两种。全定制ASIC芯片的各层(掩膜)都是按特定电路功能专门制造的。设计人员从晶体管的版图尺寸、位置和互连线开始设计,以达到芯片面积利用率高、速度快、功耗低的最优性能,但其设计制作费用高,周期长,因此只适用于批量较大的产品。半定制是一种约束性设计方式。约束的主要目的是简化设计、缩短设计周期和提高芯片成品率。目前半定制ASIC主要有门阵列、标准单元和可编程逻辑器件三种。门阵列(Gate Array)是一种预先制造好的硅阵列(母片),内部包括几种基本逻辑门、触发器等,芯片中留有一定的连线区。用户根据所需要的功能设计电路,确定连线方式,然后再交生产厂家布线。标准单元(Standard Cell)是厂家将预先配置好、经过测试具有一定功能的逻辑块作为标准单元存储在数据库中,设计人员在电路设计完成之后,利用CAD工具在版图一级完成与电路一一对应的最终设计。和门阵列相比,标准单元设计灵活、功能强,但设计和制造周期较长,开发费用也比较高。可编程逻辑器件(PLDProgrammable Logic Device)是ASIC的一个重要分支。与上述两种半定制电路不同,PLD是厂家作为一种通用型器件生产的半定制电路,用户可以通过对器件编程使之实现所需要的逻辑功能。PLD是用户可配置的逻辑器件,它的成本比较低,使用灵活,设计周期短,而且可靠性高,承担风险小,因而很快得到普通应用发展非常迅速。三、EDA技术的应用信息社会的发展离不开电子产品的进步。现代电子产品在性能提高、复杂度增大的同时,性能价格比一直呈下降趋势,而且产品更新换代的步伐也越来越快,实现这种进步的主要原因就是生产制造技术和电子设计技术的发展。前者以微细加工技术为代表,目前已发展到深亚微米阶段,可以在几平方厘米的芯片上集成数千万个晶体管;后者的核心就是EDA工程。而EDA工程的关键之一是EDA工具,EDA工具是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果而研制成的电子设计通用工具软件,主要能进行三方面的辅助设计工作:(1)PCB印刷电路板设计(2)ASIC设计(3)电子系统设计(SOC) 没有EDA工程的支持,想要完成上述超大规模集成电路的设计制造是不可想象的,反过来,生产制造技术的不断进步又必将对EDA工程提出新的要求。 第二节 EDA技术的主要特征一、自顶而下的设计方法EDA技术的主要特征是设计方法采用自顶而下(Top Down)的方法(图11),设计工作从高层开始,使用标准化硬件描述语言(VHDL或VerilogHDL等)描述电路行为,自上而下跨过各个层次,完成整个电子系统的设计。自顶而下的设计方法分为三个层次(图22):第一层:行为级描述即对系统的数学模型的描述,决定系统做什么及性能如何,不考虑系统的实际操作和用什么方法实现,是一种抽象的描述。这一层次的EDA工具提供行为级模型库,自建模型(如System C,HDL语言)及系统功能的完整仿真。第二层:RTL级描述即寄存器传输描述(Register Transfer Level),导出系统逻辑表达式,以便映射到由具体逻辑元件组成的硬件结构。这一层次的EDA工具提供RTL级编程环境(HDL语言)RTL级仿真。系统总体设计目标 系统性能算法/分析 系统软件结构系统硬件结构 DSP编程应用软件HDL编程 DSP实现ASIC实现FPG实现图2-1 图22第三层:逻辑综合(图23)利用逻辑综合工具将RTL级描述程序转换成用基本逻辑元件表示的文件(门级网表文件)。门级网表文件分为:一般性的网表文件(与物理实现技术无关)和目标网表文件(与物理实现技术有关)。这一层次的EDA工具提供逻辑综合,门级电路仿真及输出电路原理图。 图23二、硬件描述语言(HDL)用硬件描述语言进行电路与系统的设计是当前EDA技术的又一个重要特征。与传统的原理图输入设计方法相比较,硬件描述语言更适合规模日益增大的电子系统,它还是进行逻辑综合优化的重要工具。硬件描述语言使得设计者在比较抽象的层次上描述设计的结构和内部特征。它的突出优点是:语言的公开可利用性;设计与工艺的无关性;宽范围的描述能力;便于组织大规模系统的设计:便于设计的复用和继承等。目前最常用的硬件描述语言有VHDL和Verilog HDL,它们都已经成为IEEE标准。三、逻辑综合与优化逻辑综合功能将高层次的系统行为设计自动翻译成门级逻辑的电路描述,做到了设计与工艺的独立。优化则是对于上述综合生成的电路网表,根据布尔方程功能等效的原则,用更小、更快的综合结果替代一些复杂的逻辑电路单元,根据指定的目标库映射成新的网表.四、开放性和标准化 框架是一种软件平台结构,它为EDA工具提供了操作环境。框架的关键在于提供与硬件平台无关的图形用户界面以及工具之间的通信、设计数据和设计流程的管理等,此外还应包括各种与数据库相关的服务项目。任何一个EDA系统只要建立了一个符合标准的开放式框架结构,就可以接纳其他厂商的EDA工具一起进行设计工作。这样,框架作为一套使用和配置EDA软件包的规范,就可以实现各种EDA工具间的优化组合,并集成在一个易于管理的统一的环境之下,实现资源共享。五、库(Library)的引入 EDA工具之所以能够完成各种自动设计过程,关键是有各类库的支持,如逻辑模拟时的模拟库、逻辑综合时的综合库、版图综合时的版图库、测试综合时的测试库等,这些库都是EDA设计公司与半导体生产厂商紧密合作、共同开发的。 第三节EDA设计的基本工具一、 编辑器编辑器包括文字编辑器和图形编辑器。在系统设计中,文字编辑器用来编辑硬件系统的自然描述语言,在其他层次用来编辑电路的硬件描述语言文本。在数字系统中的门级、寄存器级以及芯片级,所用的描述语言通常为VHDL和VerilogHDL;在模拟电路级,硬件描述语言通常为SPICE的文本输入。图形编辑器可用于硬件设计的各个层坎。在版图级,图形编辑器用来编辑表示硅工艺加工过程的几何图形。在高于版图层次的其他级,图形编辑器用来编辑硬件系统的方框图、原理因等。典型的原理图输入工具至少应包括以下3个组成部分:(1)基本单元符号库,主要包括基本单元的图形符号和仿真模型。在实际应用时,硬件设计者除了采用基本单元和标准单元之外,还应该能够使用原理图编辑器建立自己专用的图形符号以及相应的仿真模型,并加到基本单元符号库中,供下次设计时使用。(2)原理图编辑器的编辑功能。(3)产生网表的功能。二、 仿真器即模拟器,主要用来帮助设计者验证设计的正确性。在硬件系统设计的各个层次都要用到仿真器。在数字系统设计中,硬件系统由数字逻辑器件以及它们之间的互连来表示。仿真器的用途是确定系统的输入/输出关系,所采用的方法是把每一个数字逻辑器件映射为一个或几个进程,把整个系统映射为由进程互连构成的进程网络,这种由进程互连组成的网络就是设计的仿真模型。三、 检查和分析工具在集成电路设计的各个层次都会用到检查分析工具。在版图级,必须用设计规则检查工具来保证版图所表示的电路能被可靠地制造出来。在逻辑门级,检查分析工具可以用来检查是否有违反扇出规则的连接关系。时序分析器一般用来检查最坏情形时电路中的最大和最小延时。四、 优化综合工具 优化综合工具用来把一种硬件描述转换为另一种描述,这里的转换过程通常伴随设计的某种改进。在逻辑门级,可以用逻辑最小化来对布尔表达式进行简化。在寄存器级,优化工具可以用来确定控制序列和数据路径的最优组合。各个层次的综合工具可以将硬件的高层次描述转换为低层次描述,也可以将硬件的行为描述转换为结构描述。 第三章 硬件描述语言(HDL)第一节 概述由于高密度现场可编程逻辑器件(CPLD/FPGA)和专用集成电路的飞速发展,传统的设计技术如卡若图等已经不适合大规模及超大规模集成电路的设计。由此EDA软件得以迅速地发展。目前国际上使用比较多的HDL语言有VHDL语言(VHSIC Hardware Description Language)和VerilogHDL语言。二者比较见图31。 图31目前在ASIC设计中应用最广泛的语言当属Verilog语言,它的特点是简单易学,硬件描述能力强,因为它的描述更接近于硬件。VHDL语言描述能力很强。它是比其他语言更高层次的描述。甚至有时在描述过程中只有算法描述,而无硬件的形迹。因此,VHDL语言在CPLD/FPGA的应用方面较为广泛;一个复杂的问题,VHDL可以用较少的篇幅描述清楚。同时VHDL语言指令代码多,数据类型丰富,既有用于仿真系统的指令,又有可用于综合的语句。因此VHDL语言使用起来非常灵活,但同时其繁多的指令代码,以及编译仿真软件的缺乏也是其很严重的缺点。相对VerilogHDL语言,VHDL具有如下优势:(1) 明确的定义设计要求;(2) 缩短设计周期;(3) 改变设计灵活;(4) 设计程序或程序包可再利用;(5) 独立于实现技术;(6) 易于分析各种结构 第二节 VHDL 一、 VHDL的基本组成 图32一个VHDL文件包括:程序包(Package)、实体(Entity)、结构体(Architecture)。 实体是一个VHDL程序的基本单元,由实体说明和结构体两部分组成。实体说明用于描述设计系统的外部接口信号;结构体用于描述系统的行为、系统数据的流程或者系统组织结构形式。包集合存放各设计模块能共享的数据类型、常数、子程序等。下面是一个简单的分频电路描述。library ieee; 库,程序包调用use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fp is 实体部分port(inclk:in std_logic; outputa:out std_logic);end fp; architecture arch_fp of fp is 结构体部分 signal fp:std_logic_vector(23 downto 0); signal f:std_logic; begin process(inclk) begin 进程 if (inclkevent and inclk=1) then if fp=4999999 then fp=000000000000000000000000; f=not f; else fp=fp+1; end if; end if; end process; outputa=f; end arch_fp;二、库(Library) 表31库名程序包名包中预定义内容StdStandardVHDL类型,如bit, bit_vectorIeeeStd_logic_1164定义std_logic,std_logic_vectorI IeeeStd_logic_arith定义有符号与无符号类型,以及基于这些类型上的算术运算IeeeNumeric_std定义了一组基于std_logic_1164中的定义的类型的算术运算符IeeeStd_logicsigned定义了基于std_logic与std_logic_vector类型上的无符号的算术运算IeeeStd_logicunsigned定义了基于std_logic与std_logic_vector类型上的无符号的算术运算 表31列出了IEEE两个标准库STD与IEEE的内容。三、 实体 实体中定义了设计的输入/输出信号,也叫端口模式,同时还定义了端口的数据类型。端口模式主要有:in:信号进入实体但并不输出;out:信号离开实体但并不输入,且不会在内部反馈使用;inout:信号是双向的,既可以进入实体,又可以离开实体;buffer:信号输出到实体外部,但同时也在实体内部反馈。它是inout的子集,但不由外部驱动。具体如图33所示。 in out buffer inout 图33端口数据类型主要有:integer:可用作循环指针或常数,通常不用作I/O信号;bit:可取0或1;std_logic:工业标准逻辑类型,可取0、1、X、Z。0和1表示高低电平,X表示悬空,Z表示高阻;Std_logic_vector:是std_logic的组合。四、 结构体(architecture) 结构体是VHDL设计中最主要的部分。在上面分频电路的描述中已标出结构体部分。 具体格式如下: architectureofis 声明结构体的类型、常数、元件及子程序如果使用元件例化,则在此声明所用的元件begin以下开始结构体concurrent signal assignments 并行语句信号赋值process进程(顺序语句描述设计)component instantiations 元件例化end;五、 数据对象 VHDL语言中,凡是可以赋值的对象就称为客体,即数据对象。常用的数据对象为信号、常量和变量三种,它们通常都具有一定的物理含义: 信号代表物理设计中的某一条硬件连接线; 常量代表电路中的电源和接地等; 变量的对应关系不太直接,通常只代表暂存某些值的载体。具体来说如下表所示: 表32客体类别含义说明场合信号说明全局量Architecture ,Package 变量说明局部量Process ,Function, Procedure常量说明全局量上面两种场合下均可存在 信号用来定义一个“信号”数据对象,即定义电路的内部硬件连接。这个信号在元件之间起互连作用,可以赋值给外部信号。其定义方式如下: Sigal 信号名称:数据类型:设置值信号赋值符号为 “=”。 常量所代表的数据部分不会被改变,这样可以提高程序的阅读性和维护性。其定义方式如下: constant 变量名称:数据类型:设置值常量赋值符号为 “:”。 变量只局限于进程或函数语句中,用来说明局部量。其定义方式如下: variable 变量名称:数据类型:设置值变量赋值符号为“:”。六、语句 VHDL常用语句包括:顺序语句(sequential),它总是处于进程的内部,从仿真的角度看是顺序执行的,类似于C、Basic等执行方式;并行语句(concurrent)都是并行执行的,即与他们出现的先后次序无关。七、进程(process) 进程用于描述顺序事件并且包含在结构体中。一个结构体可以包含多个进程语句,语法结构如图3-4所示。八、元件例化 元件可以看作是一个VHDL模块(即最低层设计,也是完整的VHDL设计)。元件例化指元件的调用;元件声明是对元件的说明,可放在程序包中,也可放在某个结构体中。有了元件声明,元件就可以被其它模块调用。 图3-4元件声明的语法结构:component port (元件端口信息,同元件实体的port部分);end component;元件声明的语法结构: port map ();九、参数化元件 参数化元件是指元件的特性或规模可以通过参数来指定的一类元件。元件例化的格式为: :generic map ();port map (); 十、配置 一个实体可以用多个结构体来描述;综合的时候由配置语句来决定选择哪一个结构体;可以利用配置来选择不同的结构体进行性能对比,以得到性能最佳的结构体。十一、子程序 子程序就是主程序在调用它以后能将处理结果返回主程序的程序模块。在调用的时候首先进行初始化,执行结束后子程序终止。子程序返回以后才能被再次调用,包括过程(procedure)和函数(function)。 第四章 步进电机的驱动程序设计第一节 步进电机的工作原理一、基本概念 步进电动机是一种将电的脉冲信号转换成相应的角位移(或线位移)的机电元件,也就是外加一个脉冲信号于这种电动机时,它就运行步。步进电动机的转子为多极分布,定子上嵌有多相星形连接的控制绕组,由专门电源输入电脉冲信号,每输入一个脉冲信号,步进电动机的转子就前进一步。由于输入的是脉冲信号,输出的角位移是断续的,所以又称为脉冲电动机。 步进电动机的种类很多,按结构可分为反应式和激励式两种;按相数分则可分为单相、两相和多相三种。 图41 反应式步进电动机的结构示意图二、单三拍通电方式的基本原理 设A相首先通电(B、C两相不通电),产生A-A轴线方向的磁通,并通过转子形成闭合回路。这时A、A极就成为电磁铁的N、S极。在磁场的作用下,转子总是力图转到磁阻最小的位置,也就是要转到转子的齿对齐A、A极的位置;接着B相通电(A、C两相不通电),转子便顺时针方向转过30,它的齿和C、C极对齐。不难理解,当脉冲信号一个一个发来时,如果按ACBA的顺序通电,则电机转子便逆时针方向转动。这种通电方式称为单三拍方式(如图42)。 第二节 步进电机的驱动电源步进电动机需配置一个专用的电源供电,电源的作用是让电动机的控制绕组按照特定的顺序通电,即受输入的电脉冲控制而动作,这个专用电源称为驱动电源。步进电动机及其驱动电源是一个互相联系的整体,步进电动机的运行性能是由电动机和驱动电源两者配合所形成的综合效果。图42单三拍通电方式时转子的位置一、对驱动电源的基本要求(1)驱动电源的相数、通电方式和电压、电流都能满足步进电动机的需要;(2)要满足步进电动机的起动频率和运行频率的要求;(3)能最大限度地抑制步进电动机的振荡;(4)工作可靠,抗干扰能力强;(5)成本低、效率高、安装和维护方便。二、驱动电源的组成步进电动机的驱动电源基本上由脉冲发生器、脉冲分配器和脉冲放大器(也称功率放大器)三部分组成,如图43所示。 步 进电 动 机工作机 构脉 冲放 大 器脉 冲分 配 器脉 冲发 生 器指令 图43步进电动机驱动电源的方框图三、脉冲发生器传统的设计方法脉冲发生器是一个脉冲频率由几赫到几十千赫可连续变化的脉冲信号发生器。脉冲发生器可以采用多种线路,最常见的有多谐振荡器和单结晶体管构成的张弛振荡器两种,它们都是通过调节电阻R和电容C的大小来改变电容器充放电的时间常数,以达到改变脉冲信号频率的目的。图44是两种实用的多谐振荡电路,它们分别由反相器和非门构成,振荡频率由RC决定,改变R值即可改变脉冲频率。四、脉冲分配器传统的设计方法 图44脉冲发生器实用电器脉冲分配器中由门电路和双稳态触发器组成的逻辑电路,它根据指令把脉冲信号按一定的逻辑关系加在脉冲放大器上,使步进电动机按确定的运行方式工作。常用的象CH250环形脉冲分配器就是通过其控制端的不同接法组成三相双三拍和三相六拍的不同工作方式,如图45、图46所示 图45 CH250三相六拍接法 图46 CH250三相六拍接法 J3r、J3L两端子是三相双三拍的控制端,J6r、J6L是三相六拍的控制端,三相双三拍工作时,若J3r“1”,而J3L“0”,则电机正转;若J3r“0”,J3L“1”,则电机反转;三相六拍供电时,若J6r“1”,J6L“0”,则电机正转;若J6r“0”,J6L“1”,电机反转。R2是双三拍的复位端,R1是六拍的复位端,使用时,首先将其对应复位端接入高电平,使其进入工作状态,然后换接到工作位置。CL端是时钟脉冲输入端,EN是时钟脉冲允许端,用以控制时钟脉冲的允许与否。当脉冲CP由CL端输入,只有EN端为高电平时,时钟脉冲的上升沿才起作用。CH250也允许以EN端作脉冲CP的输入端,此时,只有CL为低电平时,时钟脉冲的下降沿才起作用。A0、B0、C0为环形分配器的三个输出端,经过脉冲放大器(功率放大器)后分别接到步进电动机的三相线上。五、我的设计思路 硬件采用ALTERA公司的FLEX 10K系列,开发系统采用ALTERA公司的Max+Plus10.0和MENTOR公司的Modelsim SE 5.6,利用复杂可编程逻辑器件突出的优点:设计者从事概念设计或者是电子系统的“行为设计”,而大部分工程中的技术问题,由EDA工具解决。这样就可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出印制板的整个过程在计算机上自动处理完成。第三节 分频程序的设计由于步进电机的运转过程比较复杂,本设计硬件采用了功能强大的Altera公司的低电压1k系列EP1K100QC208-3,软件采用VHDL语言,开发系统采用Altera公司的MAX+plus II 10.0和MENTOR公司的ModelSim SE 5.6,使得驱动程序设计过程较以往显得简单明了。一、分频电路的实现由于步进电机在运转过程中,先是由低频200HZ渐变到高频600HZ,再有高频600HZ逐渐减小到200HZ。在此过程中,频率不断变化,这也就牵扯到如何由一个输入时钟信号(输入频率为11.0592MHZ)得到这种频率。下面是一个分频程序:LIBRARY ieee; USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY fp1 ISPORT( inclk : IN STD_LOGIC; reset : IN STD_LOGIC; outputa : OUT STD_LOGIC);END fp1;ARCHITECTURE a OF fp1 ISSIGNAL fp : STD_LOGIC_VECTOR(5 downto 0); SIGNAL f : STD_LOGIC;BEGIN PROCESS (inclk)-inclk为敏感量 BEGIN IF (inclkevent and inclk=1) THEN IF RESET = 1 thenfp = 000000;f = 0; outputa=f; ELSE IF (fp2)THEN fp=fp+1; f=f; ELSE fp=000000; f=not f; END IF; outputa=f; END IF; END IF; END PROCESS;END a; 仿真波形如图4-7所示。 图47 上图中inclk为输入时钟信号,reset为复位控制信号,outputa为输出信号。基本流程图如图48。 图48经过分频后输出信号的频率变为输入信号的1/6,这也就为后面驱动电机驱动程序的实现提供了基本思路。二、升降速曲线的设计步进电机启动时,必须有升速、降速过程,升降速的设计至关重要。如果设计不合适,将引起步进电机的堵转、失步、升降速过程慢等问题。升速过程由突跳频率加升速曲线组成(降速过程反之),理想的升降速曲线为指数曲线(见图49),根据用户的负载情况选择不同的突跳频率和不同的指 数曲线,以找到一条最理想的曲线,一般需要多次试机才行。突跳频率不宜过大,。指数曲线在实际软件编程中比较麻烦,一般事先算好后存贮在ROM内,工作过程直接选取。在此处我们用线性变化近似代替指数曲线。 图49 升速曲线示意图CP脉冲的设计主要要求其要有一定的脉冲宽度(一般不小于5S)、脉冲序列的均匀度以及高低电平方式。电机换向时,一定要在电机降速停止后再换向。换向信号一定要在前一个方向的最后一个CP脉冲结束后以及下一个方向的第一个CP脉冲前发出。步进电机从初始的200HZ逐渐变化到600HZ,在这个过程中,频率应按线性变化。此流程如图4-10所示。由图411可以看出此算法实现了由低频渐变高频的过程。 图410仿真波形如图4-11所示。 图411 三、低频到高频再到低频的实现算法描述: 图412系统仿真图: 图413注、若输入步进电机步数小于升频和降频所用的步数和,则直接将总步数平分为升频和降频步数,省略中间高频连续运转。此时的系统仿真图如图414。 图414 四、环形分配器的实现工作原理:根据指令把脉冲信号按一定的逻辑关系加在脉冲放大器上,使步进电动机按确定的运行方式(正转或反转)工作。程序设计流程图:图415正转过程状态机: 图416初始状态为a,当输入脉冲第一次到达上跳沿时,三路信号分别输出0、1、0;.当输入脉冲第二次达到上跳沿时,三路信号分别输出0、0、1;当输入脉冲第三次到达上挑沿时,三路信号分别输出1、0、0。当输入脉冲第四次到达上跳沿时,三路信号再次输出0、0、1,如此形成一个状态机。反转过程状态机到达各状态的顺序恰好和正转时相反。如图图417所示。反转过程状态机: 图417程序仿真图如图4-18(步进电机正转时)和图4-19(步进电机反转时)。 图418 步进电机正转时 图419步进电机反转时五、系统综合 情况一:输入一个周期脉冲时钟信号inclk,给预定值max(可以达到最大频率),复位信号reset,正反转选择信号sel,输出三路信号output【0】、output【1】、output【2】。系统综合反真波形如图420、图421所示。 图420 步进电机正转时 图421步进电机反转时情况二:输入一个周期脉冲时钟信号inclk,给预定值max(未能达到最大频率),复位信号reset,正反转选择信号sel,输出三路信号output【0】、output【1】、output【2】。波形仿真如图422、图423所示。 图422 步进电机正转时 图423步进电机反转时六、 基于CPLD的步进电机驱动设计的优点(1)整个系统有硬件实现,节省了计算机资源;(2)程序设计实现功能模块化,便于功能扩展;(3)可以实现多电机的同时控制,各路之间干扰很小;(4)多路驱动电路板的电源稳定性高,静态电流损耗小。七、今后的工作(1)进一步完善升降速曲线的设计;(2)完成硬件电路,搭建控制装置网络。第五章 结束语经过这次毕业设计,我不仅重新回顾了过去所学过的知识,增加了在软件开发方面的经验,而且初步掌握了Max+plus10.0这种电子设计自动化软件和硬件描述语言VHDL,还了解了一些相关的电路设计和硬件的知识,特别是CPLD系统方面的知识,可以说是对我的大学期间所学知识的一次性综合检验;并且通过切身的动手实验,不仅加强了理论知识还加强了我的感性认识,再次体会到自己知识上的局限性。可以说,这次毕业设计既锻炼了我动脑分析问题的能力,又锻炼了我动手解决实际问题的能力,这将对我以后的学习起到不可估量的作用。本次毕业设计主要完成了步进电机控制装置中CPLD(Complex Programmable Logic Device)系统的软硬件设计,包括电机驱动电路的整体设计;硬件采用ALTERA公司的ACEX 1K 系列;开发系统采用ALTERA公司的Max+Plus10.0和MENTOR公司的Modelsim SE 5.6。通过以上的研究使我们对LAMOST中步进电机的驱动控制问题有了较为深入的了解,为今后光纤定位系统的改进建设打下了良好的基础,同时,研究结果表明了该控制装置用于LAMOST项目的可行性。 参考文献1 EDA 可编程逻辑器件设计教程 杭州天科技术实业有限公司 20022 陈隆昌 控制电机(第二版) 西安电子科技大学出版社 19983 赵曙光, 郭万有, 杨颂华编著 可编程逻辑器件原理、开发与应用 西安电子科技大学出版社 20004 曾繁泰 陈美金 VHDL程序设计 清华大学出版社 20005 梁晓雯 EDA设计原理及应用技术 中国科技大学EDA实验室6 黄亚楠 LAMOST光纤定位系统中步进电机控制装置的设计 2002 致 谢本文的研究工作是在邢晓正和翟超两位老师的指导下进行的。由于本人水平有限,在做毕业设计的过程中,两位老师给予我很多的指导并提出了许多的宝贵意见,对我的一些看法以及错误的观点予以及时纠正。使我在完成设计的同时,对学习近四年的专业知识做了一次系统的复习总结,并且对目前所从事的项目以及相关的学科有了一定的了解和认识,获益非浅。在这段时间里,两位老师言传身教,以他们广博的知识,敏锐的洞察力,多年的教学和实际经验,给予我毕业设计上很大的帮助。我学到的不仅是科学知识和工作方法,更学到了作为一个研究人员应有的治学态度以及为人处世的道理,这一切都将使我终身受益。在此,深表谢意。 同时对yakhe同学的帮助在此一并表示衷心的感谢。 - 45 -
收藏