1、基于LabVIEW FPGA的步进电机控制系统设计毕业设计(论文)任务书专业 班级 测控 姓名 下发日期 题目基于LabVIEW的步进电机控制系统设计专题主要内容及要求 查阅国内外相关的文献资料,完成不少于5000字的英译汉的翻译 研究步进电机工作原理、控制原理,进行方案设计 控制系统硬件设计 熟悉LabVIEW编程语言,完成软件设计 完成毕业设计说明书的撰写,包括图表,不少于20000字主要技术参数进度及完成日期03月07日-03月21日 查阅相关文献,写出综述材料。英文文献翻译03月22日-03月28日 设计方案初步分析、比较,确定总体设计方案03月29日-04月18日 完成相关硬件设计0
2、4月19日-06月08日 熟悉编程方法,完成软件设计06月09日-06月15日 文件资料整理,说明书撰写,上交论文教学院长签字日 期教研室主任签字日 期指导教师签字日 期指 导 教 师 评 语 指导教师: 年 月 日指 定 论 文 评 阅 人 评 语 评阅人: 年 月 日答 辩 委 员 会 评 语评定成绩指导教师给定成绩(30%)评阅人给定成绩(30%)答辩成绩(40%)总 评答辩委员会主席签字摘要步进电机作为执行机构,是机电一体化的关键产品之一。步进电机突出的优点是它可以在宽广的频率范围内,通过改变脉冲频率来实现调速,快速起停、正反转控制等,并且由其组成的开环系统既简单、廉价,又非常可靠,广
3、泛地应用在各种计算机控制的自动系统中。随着微电子和计算机技术的发展,步进电机的需求和应用量与日俱增。本文研究了步进电机的工作原理,对步进电机控制系统进行了整体方案的设计、硬件的选择及接线;在学习了LabVIEW的基础上,研究了LabVIEW FPGA模块的编程和应用;对PXI-7833R板卡进行了全面的学习,研究了如何使用LabVIEW对FPGA板卡进行编程;通过LabVIEW完成产生频率可调的脉冲信号和布尔信号的程序,经编译后下载到PXI-7833R板卡,以实现步进电机控制脉冲及方向信号的生成;完成了步进电机控制系统的软件设计,包括前面板设计、连续运转和指定角度运转程序以及步进电机启动和停止
4、过程的加减速程序。最后,完成了程序的调试,验证该步进电机控制系统设计的可行性。本文将虚拟仪器与FPGA技术应用于步进电机的速度控制和转动方向控制,对拓宽步进电机的应用领域具有积极的意义。关键词:步进电机控制;LabVIEW;FPGA ;脉冲发生AbstractAs executive components,stepping motor is one of the key products of mechatronics,widely used in all kinds of automatic control system. Stepping motors prominent advantag
5、e is that it can realize speed change, fast start and stop, positive and negative control and so on in wide frequency range, by changing the pulse frequency, and the open loop system made up by which is very simple, cheap, and reliableWith the development of microelectronics and computer technology,
6、the demand and apply for step motor is steadily on the increase., so it has extremely extensive application in many fields.This article Studing the work principle of stepping motor, designing the whole project of the step motor control system, the choice of hardware and wiring; based on the study of
7、 LabVIEW, studing the programming and application of LabVIEW FPGA module, and designing by using the FPGA module; studing the PXI-7833R target comprehensively and how to programe on the FPGA target through LabVIEW; completing the program of generating the frequency adjustable pulse signal and Boolea
8、n signal Through the LabVIEW, downloading to PXI-7833R after compiling so as to realize the stepping motor control pulse and direction signal generation; Completing the software design of the stepping motor control system, including the front panel design, program of continuous operation, operating
9、at designated angle and the stepping motor s acceleration and deceleration during start and stop.At last,completing debug to validate that the design of stepping motor control system is feasible.This study is good for virtual instrument to be used in the step motor speed control and rotation directi
10、on control mode, broadening the application field of stepping motor.Key words:stepping motor control;LabVIEW;FPGA;impulse generation.第1章 绪论1.1 课题研究的意义及现状近年来硬盘制造业高速发展,大容量、小体积、高读取速度的硬盘,是硬盘市场的发展趋势。这些体积小、结构复杂的硬盘对加工工艺提出了很高的要求。而加工中主要是采用步进电机作为伺服控制系统的。步进电机是将电脉冲信号转变为角位移或线位移的执行元件。它是由电脉冲信号进行控制,并将电脉冲信号转化成相应的角位移
11、或线位移的控制电机。它可以看作是一种特殊运行方式的同步电动机。每输入一个脉冲,步进电机就移动一步,所以称为步进电动机。步进电机以其独特的特点可以在无速度传感器和无位置传感器系统中实现精确的开环状态定位或同步运行。我们通过电脑调节发送给步进电机的步进脉冲个数来实现精确的位移或者角度定位,而调节发送的步进脉冲就可以实现速度调节,因而在众多领域得到了广泛的应用。步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。步进电机和普通电动机不同之处是步进电机接受脉冲信号的控制。步进电机经环形分配
12、器、功率放大器使励磁绕组按照顺序轮流接通直流电源。由于励磁绕组在空间中按一定的规律排列,轮流和直流电源接通后,就会在空间形成一种阶跃变化的旋转磁场,使转子步进式的转动,随着脉冲频率的增高,转速就会增大。步进电机的旋转同时与相数、分配数、转子齿轮数有关。步进电机和普通电机的区别主要就在于其脉冲驱动的形式,正是这个特点,步进电机可以和现代的数字控制技术相结合。步进电机在控制精度、速度变化范围、低速性能方面比传统的闭环控制直流伺服电动机有较好的性能。步进电机的控制精度随着发展在不断提高,而且在很多场合可以发挥其结构简单、可靠性高和成本低的特点。步进电机广泛应用在生产实践的各个领域。它最大的应用是在数
13、控机床的制造中,由于步进电机不需要A/D转换,能够直接将数字脉冲信号转化成为角位移,被认为是理想的数控机床执行元件。早期的步进电机输出转矩比较小,无法满足需要,在使用中和液压扭矩放大器一同组成液压脉冲马达。随着步进电动机技术的发展,步进电动机已经能够单独在系统上进行使用,成为了不可替代的执行元件。比如步进电动机用作数控铣床进给伺服机构的驱动电动机,在这个应用中,步进电动机可以同时完成两个工作,其一是传递转矩,其二是传递信息。步进电机也可以作为数控蜗杆砂轮磨边机同步系统的驱动电动机。除了在数控机床上的应用,步进电机也可以并用在其他的机械上,比如作为自动送料机中的马达,作为通用的软盘驱动器的马达,
14、也可以应用在工业器材,工业生产装备,复印件,速印机,银行自动柜员机和绘图仪中。传统的步进电机控制系统用PLC或单片机来控制步进电机,电路较复杂,硬件连接后不易调整、灵活性差,不能实时地满足用户对控制系统的要求,而且编程也比较难,非专业技术人员不易掌握。因此,传统的步进电机系统具有很大的局限性。本文采用LabVIEW软件对步进电机进行控制。LabVIEW(Laboratory Virtual instrument Engineering Workbench)是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW是一种程序
15、开发环境,由美国国家仪器(NI)公司研制开发。开发环境类似于C语言的开发环境。使用这种语言编程时,基本上不用写程序代码,取而代之的是流程图或框图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,有一个完成任何编程任务的通用的庞大函数库。LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。因此,LabVIEW是一个面向最终用户的工具。用户可以基于对LabVIEW软件比较熟悉的前提下根据自己的需要设计相应的程序以实现相
16、应的功能,以达到设计自己需要的仪器的目的,本系统方案拟用LabVIEW软件对步进电机进行正反转及转速的控制,并且将数据实时显示,以取得良好的控制效果。以此了解虚拟仪器的开发过程,为以后虚拟仪器的设计打下一定的基础。但是,单纯的使用LabVIEW和采集卡,会造成PC的CPU利用率降低,因为若用CPU进行计时或计数,CPU就不能在同时去处理其他命令,这就必然导致其利用率的下降。并且,软件定时功能的稳定性远不如硬件,因为软件定时通常是根据CPU本身的主频来实现的,而每条指令需要的时间并不严格相等。所以,本文采用拟采用硬件来替代传统的采集卡,将脉冲发生这一个对计时要求较高的功能在硬件中实现,可达到更高
17、的精度,并且可以大大节约CPU的利用率。1.2 论文主要研究内容本论文首先对步进电机的工作原理进行深入分析,从而得出对其控制所需的各个输入信号及参数即脉冲信号和布尔量。使用LabVIEW来控制FPGA板卡,使其发生所需的正反转布尔量和控制转速的脉冲信号,经过硬件连接,即可实现对步进电机的控制。再对程序进一步完善,增加一些特定功能,如:使步进电机转动指定角度,步进电机启动和停止时的加减速控制等。然后设计亲合性强的前面板,实现对程序的灵活控制。最后,经过调试,对程序不合理的地方进行修正,完成最终的设计。第2章 步进电机控制系统总体方案设计2.1 步进电机控制系统的方案选择步进电机的运转是由电脉冲信
18、号控制的,其角位移量与脉冲数成正比,每给一个脉冲,步进电机就转动一个角度,改变脉冲输入频率,相应在单位时间内电机转动的角度就发生改变,从而实现了对电机速度的控制;改变通电顺序,即改变定子磁场旋转的方向,就可以达到控制步进电机正反转的目的;对脉冲信号进行脉冲计数,对计数值进行控制,可实现步进电机的指定角度转动。步进电机必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用,能够快速起动、停止以及频繁的定位动作,精度比较高且不积累误差,能在较高的温度环境下正常工作,也能在低速时正常运转。和其它的电机相比具有比较明显的优势。但主要的不足是效率较低,而且不易控制。传统的步进电机控制系统的实现方案主要
19、有以下几种: 基于电子电路控制:步进电机受电脉冲信号控制,电脉冲信号的产生、分配、放大全靠电子元器件的动作来实现。由于脉冲控制信号的驱动能力一般都很弱,因此必须有功率放大驱动电路。步进电机与控制电路、功率放大驱动电路组成一体,构成步进电机驱动系统。此种控制电路设计简单,功能强大,可实现一般步进电机的细分任务这个系统由三部分组成:脉冲信号产生电路、脉冲信号分配电路、功率放大驱动电路。此种方案即可为开环控制,也可闭环控制。开环时,其平稳性好,成本低,设计简单,但未能实现高精度细分。采用闭环控制,即能实现高精度细分,实现无级调速。闭环控制是不断直接或间接地检测转子的位置和速度,然后通过反馈和适当的处
20、理,自动给出脉冲链,使步进电机每一步响应控制信号的命令,从而只要控制策略正确,电机不可能轻易失步。该方案多通过一些大规模集成电路来控制其脉冲输出频率和脉冲输出数,功能相对较单一,如需改变控制方案,必须重新设计,因此灵活性不高。 基于单片机控制:采用单片机来控制步进电机,实现了软件与硬件相结合的控制方法。用软件代替环形分配器,达到了对步进电机的最佳控制。系统中采用单片机接口线直接去控制步进电机各相驱动线路。由于单片机的强大功能,还可设计大量的外围电路,键盘作为一个外部中断源,设置了步进电机正转、反转、档次、停止等功能,采用中断和查询相结合的方法来调用中断服务程序,完成对步进电机的最佳控制,显示器
21、及时显示正转、反转速度等状态。环形分配器其功能由单片机系统实现,采用软件编程的办法实现脉冲的分配因。本方案有以下优点:单片机软件编程可以使复杂的控制过程实现自动控制和精确控制,避免了失步、振荡等对控制精度的影响;用软件代替环形分配器,通过对单片机的,用同一种电路实现了多相步进电机的控制和驱动,大大提高了接口电路的灵活性和通用性困;单片机的强大功能使显示电路、键盘电路、复位电路等外围电路有机的组合,大大提高系统的交互性。 基于PLC的控制:PLC也叫可编程控制器,是一种工业上用的计算机。PLC作为新一代的工业控制器,由于具有通用性好、实用性强、硬件配套齐全、编程简单易学和可靠性高等优点而广泛应用
22、于各行业的自动控制系统中。步进电机控制系统有PLC、环形分配器和功率驱动电路组成。控制系统采用PLC来产生控制脉冲。通过PLC编程输出一定数量的方波脉冲,控制步进电机的转角进而控制伺服机构的进给量,同时通过编程控制脉冲频率来控制步进电机的转动速度,进而控制伺服机构的进给速度。环形脉冲分配器将PLC输出的控制脉冲按步进电机的通电顺序分配到相应的绕组。PLC控制的步进电机可以采用软件环形分配器,也可采用硬件环形分配器。采用软件环形分配器占用PLC资源较多,特别是步进电机绕组相数大于4时,对于大型生产线应该予以考虑。采用硬件环形分配器,虽然硬件结构稍微复杂些,但可以节省PLC资源,目前市场有多种专用
23、芯片可以选用。步进电机功率驱动电路将PLC输出的控制脉冲放大达到比较大的驱动能力,来驱动步进电机。采用软件来产生控制步进电机的环型脉冲信号,并用PLC中的定时器来产生速度脉冲信号,这样就可以省掉专用的步进电机驱动器,降低硬件成本。但由于PLC的扫描周期一般为几毫秒到几十毫秒,相应的频率只能达到几百赫兹,因此,受到PLC工作方式的限制及其扫描周期的影响,步进电机不能在高频下实现精确工作,无法实现高速控制。并且,在速度较高时,由于受到扫描周期的影响,相应的控制精度就降低了。 步进电机的工业PC控制:用虚拟仪器来产生脉冲信号,通过DAQ板卡将脉冲信号输送至驱动器,经过分频处理,分别连接至步进电机的各
24、个输入端,以实现步进电机的控制。对比以上各种方案,传统的步进电机控制系统用PLC或单片机来控制步进电机,不仅电路复杂,硬件连接后不易调整、灵活性差,不能实时地满足用户对控制系统的要求。而且编程也比较难,非专业技术人员不易掌握。因此,传统的步进电机系统具有很大的局限性,已经不能满足时代发展的需求。所以我们设计了一个新型步进电机控制系统,该系统通过工业PC控制,输出一个脉冲信号和一个控制转动方向的脉冲信号,再经驱动器给步进电机供电,达到控制步进电机的目的。设计出步进电机控制系统整体结构如图2-1。步进电机计算机接口驱动器 总线 方向控制信号 两相接线 脉冲信号图2-1 步进电机驱动整体结构2.2
25、步进电机控制系统的开发软件选择要通过工业PC的控制来产生脉冲信号和布尔信号,可使用的软件主要有以下几种:1.Microsoft Visual C+VC+是微软公司开发的一个IDE(集成开发环境),换句话说,就是使用C+的一个开发平台。VC+需要在PC上运行。通过C语言的编程,将设计好的程序下载至一个单片机,按照设计目的,控制单片机的引脚高低电平的变化,则可产生需要的脉冲信号和布尔量。2.MASMMASM是微软公司开发的汇编开发环境,拥有可视化的开发界面。其使用与VC+类似,只是使用的不是C语言,而是汇编语言。3.LabVIEW(虚拟仪器)LabVIEW是美国NI 公司推出的一种通用虚拟仪器开发
26、软件,它集成了满足GPIB、VXI、PCI、RS-232 和RS-485 等协议的硬件及数据采集卡通讯的全部功能,它包含了丰富的功能函数库,是一种图形化的功能强大且灵活的软件。它使用图形化编程语言G 在流程图中创建源程序,这种编程方式强调信号处理的实际过程,编程简单,调试方便。LabVIEW 软件设计的程序包括前面板和框图程序两部分,前面板为仪器的界面,而框图程序则实现了仪器的内部设计,是程序的真正“内核”。 LabVIEW实际上是一个基于图形开发、调试和运行程序的集成化环境,是第一个借助于虚拟软面板用户界面和方框图建立虚拟仪器的图形程序设计系统,也是目前国际上唯一的编译型图形化编程语言。发展
27、和应用前景非常广泛。对比以上各个软件,本次设计决定选用LabVIEW软件。由于传统仪器的面板只有一个,其上布置着种类繁多的显示与操作元件,易于导致许多识别与操作错误。而虚拟仪器与之不同,它可以通过在几个分面板上的操作来实现比较复杂的功能。这样,在每个分面板上就可以实现功能操作的单纯化与面板布置的简捷化,从而提高操作的正确性与便捷性。同时,面板上的显示元件和操作元件的种类与形式不受“标准件”和“加工工艺”的限制,它们是由编程实现的,设计者可以根据用户的认知要求和操作要求设计仪器面板。在通用硬件平台确定后,由软件取代传统仪器中的硬件来完成仪器的功能。仪器的功能是用户根据需要由软件来定义的,而不是事
28、先由厂家定义好的。仪器性能的改进和功能扩展只需更新相关软件设计,而不需购买新的仪器。研制周期较传统仪器大为缩短。虚拟仪器开放、灵活,可与计算机同步发展,与网络及其他周边设备互联。决定虚拟仪器具有传统仪器不可能具备的特点的根本原因在于“虚拟仪器的关键是软件”。虚拟仪器的硬件是计算机和为其配置的必要的电子仪器硬件模块。硬件主体是计算机,通常是个人计算机,也可以是任何通用计算机。为计算机配置的电子仪器硬件模块是各种传感器、信号调理器、模拟/数字转换器、数字/模拟转换器、数据采集卡(DAQ)等。当给定计算机的计算能力和必需的仪器硬件后,构造和使用虚拟仪器的关键就是应用不同的软件实现不同的功能。虚拟仪器
29、技术的应用软件主要有以下三个目的:集成的开发环境、与仪器硬件的高级接口和虚拟仪器的用户界面。虚拟仪器技术的应用软件由用户编制,可以采用各种编程软件,在这里提高计算机软件编程效率也就成了一个非常现实的问题。根据微软及其他计算机软件工程专家的观点,在当今这个信息时代,提高软件编积效率的关键是采用面向对象的编程方式。可视化编程语言环境VisualC+,VisualBasic的推出,为简化计算机编程迈出了可喜的一步。但对一个普通的计算机用户(而非编程专家)来说,这一步还是远远不够的。软件的可重用性在虚拟仪器的设计中起着重要的作用。近年来,基于PC机和工作站基础上的图形接口标准和计算机能力的提高,促进了
30、图形开发软件包和图形开发环境的迅速普及,图形开发方式为每一个虚拟仪器提供了可重用的代码模块,并允许用户从其它代码模块中分级调用。这些重用部分是一些封装良好的、原子型的程序代码,理想情况下,重用部分包括函数库、过程程序包、宏、类库等,它们通过各自的接口被组装在一起,每一部分完成特定的功能。在虚拟仪器的图形软件开发平台研究方面,最有代表性的是NI公司的LabVIEW虚拟仪器软件开发平台。LabVIEW 作为开发环境有以下特点:1图形化编程降低了对使用者的编程经验的要求,易于工程师使用。2. 采用面向对象的方法和概念,便于软件的开发和再利用。3. 图元、框图及其构成的虚拟仪器在Windows,Win
31、dowsNT,UNIX等平台之间兼容,便于软件的移植。4支持串行接口、GPIB、VXl等标准总线及各种数据采集卡。5具有丰富的库函数,便于提高开发速度。6. 能与各种现有的仪器驱动器配合以满足用户需要。7. 具有较完整的代码接口,可调用Windows动态链接库(DLL)中的函数,以弥补白身的不足。所以我们采用虚拟仪器来作步进电机控制系统的开发软件。第3章 步进电机控制系统硬件的设计3.1 概述所谓微机控制步进电机是指由微机控制步进电机驱动器的脉冲电路,产生与转速相对应的步进脉冲,并按正确的时序分配给步进电机的各相绕组,使步进电机按正确的方向转到正确的位置。利用CPU实现对步进电机的控制,其实现途径有两种,一种是利用CPU直接产生步进脉冲;另一种方法是用其他的辅助电路或专用控制芯片产生步进脉冲,由CPU给出步进电机所需的启动信号。本设计采用板卡直接产生步进脉冲的方法。步进脉冲的产生与分配由PC直接控制。在步进电机的控制中,关键的是步进电机速度的控制。速度的控制主要是通过改变输出时钟脉冲的时间间隔,升速时,输出密集的脉冲,要减速时,则输出较稀疏的脉冲即可。为避免失步或过冲,要以较低的速度启动,逐渐加速到某一速度运行,再逐渐降速至停止。3.2 硬件的选择3.2.1 步进电机图3-1 步进电机解剖图步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1