基于Labview的三轴位移系统设计【含UG装配三维及CAD图】
基于Labview的三轴位移系统设计【含UG装配三维及CAD图】【需要咨询购买全套设计请加QQ1459919609】图纸预览详情如下:
充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸I基于 labview 的三轴位移系统的设计摘要:本设计以 SCT89C52 单片机作为下位机,同时也是控制核心器件。利用labview 作为上位机开发软件,对单片机内的脉冲信号进行控制。该虚拟信号发生器能实现 1MHz 频率、占空比可调的方波输出。该设计的核心部分为单片机的时间计数器和 labview 的程序设计,以及 labview 与单片机的通讯。Labview 与单片机通过 usb 线转 RS232 的方式进行通讯,该转换有一块芯片实现,此处不多赘述。通过上位机旋钮控制占空比的比值可在 30 到 80 之间变化。该三轴位移系统主要包括 labview 上位机,SCT89C52 单片机、方波脉冲信号、程序下载模块、步进电机以及三轴的铝制框架。该三轴位移系统有性能稳定,价格低廉以及结构稳定的优点。关 键 词:Labview ;STC89C52 单片机;定时器; 三轴位移系统充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸IIDesign of triaxial displacement system based on labviewABSTRACT: This design takes the SCT89C52 single-chip computer as the lower computer, also is the control core device. The pulse signal in single chip microcomputer is controlled by using labview as the development software of upper computer. The virtual signal generator can realize the square wave output with 1MHz frequency and duty cycle adjustable. The core part of this design is the time counter of single chip computer and the program design of labview, and the communication between labview and single chip computer. LabVIEW communicates with single chip through usb line to RS232. The conversion is realized by a chip. The ratio of duty cycle controlled by the upper knob varies from 0 to 100. The three-axis displacement system mainly includes labview upper computer SCT89C52 single chip microcomputer, square wave pulse signal, clock circuit, and program download module. The three-axis displacement system has the advantages of stable performance, low price and stable structure. KEYWORDS: Labview-STC89C52 single chip microcomputer; timer; three-axis displacement system.充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸I目 录摘 要 .I目 录 .I第一章 绪 论 .21.1 三轴位移系统概述 .21.2 三轴位移系统技术状况 .31.2.1 中断技术 .31.2.2 定时器技术 .31.3 三轴位移系统的研究目的及意义 .31.4 设计任务 .4第二章 总体设计 .52.1 机械结构总体设计 .52.2 程序总体设计 .5第三章 设计环境介绍 .73.1 虚拟仪器 .73.1.1 开发过程 .73.1.2 拥有比传统 PC 更强劲的性能 .83.2 虚拟仪器的特点 .83.3 关于 LabVIEW .9第四章 下位机系统设计 .144.1 单片机介绍 .144.2 设计及选择 .154.3 总体硬件框图 .154.4 STC89C51 芯片介绍 .154.5 时钟电路的设计 .164.6 电源模块 .174.7 程序模块分析 .17第五章 上位机软件设计 .205.1 主程序的设计 .205.2 Labview 上位机程序 .21充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸II5.2.1 串口设置 .215.2.2 上位机串口通信的顺讯 .215.2.3 占空比与频率控制 .225.2.4 生产者结构 .235.2.4 消费者结构 .245.2.5 窗口操作选择 .255.2.6 上位机波形模拟 .255.2.7 初始化界面设计 .26第六章 系统调试与测试结果分析 .296.1 主要元器件 .296.2 软件调试 .296.3 硬件调试 .296.4 测试结果 .29结 论 .33参考文献 .34致 谢 .36充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸2第一章 绪 论三轴位移系统是控制位移的自动化设备,有着一定的技术标准和国家标准。在自动化控制领域,利用脉冲信号控制的三轴位移系统运用相当广泛,也因此成为了自动化领域电机驱动的最为常用的系统。 步进电机对于脉冲信号的要求比较简单,在相同频率不相同的占空比下的脉冲信号仍然能够实现相同转速,这个原因导致了位移系统的控制方式会很丰富。 1.1 三轴位移系统概述 随着工业 4.0 的发展推进,三轴位移系统仍然是工业界不可或缺的得力助手。在工业 4.0 的背景下,人们对位移方面的精度有了更高的有求。脉冲信号发生器是一种测试设备,同时也是可以作为三轴位移系统的控制器。传统的三轴位移系统使用的是专用的电机驱动板,控制对象单一而且局限性很大,虽然性能稳定,驱动板比较成熟,但是相对于单片机来说成本就很高了。此设计利用了单片机的丰富的可扩展外设性能及其微机控制能力,利用了特有的技术控制输出脉冲的频率、占空比,同时能实现复杂的频率和多元化的占空比,适用性很强。 驱动电机的信号发生器常用的是电机驱动板卡,驱动板卡的功能日益丰富并且工作越来越稳定,但是从成本角度来看,过多的不必要的功能是设计本身不需要的,也就是额外的成本浪费,驱动板卡的有时难以达到用户自定义的效果,因此单片机来控制脉冲信号就有着自身的优点了。单片机在价格低廉的基础上,仍然有着强大的控制功能,在与 PLC 等常用控制方式上,有着体积小、功耗小的优点。在我们日常的生活中随处可见,各个方面都能看到它的身影。单片机在小到日常小家电领域,大到通信和工业自动化领域都有着广泛的使用。 基于 51 单片机控制的三轴位移系统设计,核心是一个有特殊功能的芯片,利用单片机内时钟实现了脉冲信号的占空比及频率的可调。一个脉冲宽度可调的脉冲信号对于电机等控制对象来说是十分重要的,因为一个电机的步距角是固定的,当改变频率时,脉冲次数发生改变,电机作用的步数也就发生了改变,因此脉冲充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸3信号对电机的运动有着直接的影响1.2 三轴位移系统技术状况1.2.1 中断技术“中断”的原理就是处理器在处理运行程序时 ,其他的进程优先级更高并且需要执行,此时处理器将会停止当前的程序进而处理优先级更加高的程序,处理完中断程序后就将回到之前被打断的程序,继续执行下去。在单片机中,定时中断方式是一个使用起来方便,灵活度高的中断方式。定时器中断是通过 TCON 的方式来进行设置的。1.2.2 定时器技术定时分为:1、程序定时时间:运行一个时间已知的空运行程序作为延时函数。其特点是时间的设定上比较准确,不需要通过任何处理器以外的硬件,缺点定时时间内,处理器一直被占用。因此该方式适合短时间的定时;2 、硬件定时时间: 此设计就是采用了硬件定时的工作方式,利用了单片机中的定时器模块。工作原理是通过硬件电路的变化时间,来控制硬件的工作方式。实现硬件延时需要通过特定的元件,加一计数器是定时器的核心部件。51 系列单片机内部一共有 T0、T1 两个定时器。定时器使用方式如下: 首先选择使用哪个定时器,然后设置好定时器的工作模式,工作模式一共有四种,所对应的定时时间范围和功能也是不一样的,前两种区别在于定时时间上限不同,方式0 的设定时间要比方式 2 小一些,两者的控制状态的含义是一致的。方式 2 的工作模式是自动重新装载定时初值,不需要额外的在程序中对定时器赋予初值。方式 3 使用较少,将定时器 T0 分为两个定时器来使用,此时 T1 定时器处于停止状态。1.3 三轴位移系统的研究目的及意义三轴位移系统是一种基础控制系统,有控制电路将脉冲信号给电机,实现电机的不同转速。由于不同情况下对于步进电机的速度要求是不一样的,所以频率充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸4可调的脉冲信号对于实现其速度要求,是一个很理想的方式。一方面其实用性较广,另一方面使用起来很是方便。当今中国已开始研制脉冲信号发生器,成绩斐然。脉冲信号发生器的产业链在我国市场上还不够发展还不陈述,缺少比较成熟的产品。信号的精准,以及频率的范围不是很广,因此这一领域的开发前景很光明。脉冲信号发生器近几年发展较快,三轴位移系统的发展主要表如今以下几个方面:(1)发生器信号的频率范围愈来愈大,能实现的功能越来越强,这对三轴位移系统来说显得尤为重要。(2)发生器的集成度越来越高,体积越来越小,使得使用起来越来与方便。(3)随着工业化和智能化的逐渐推进,电机的精准性要求越来越高,这也就要求三轴位移系统的稳定性越来越重要。1.4 设计任务本设计的核心设计是通过 STC89C52 调节占空比和频率,通过定时器中断来控制引脚输出占空比以及频率可调的方波控制电机。(1)在电机控制的信号理论基础上,研究脉冲信号的参数对于电机运行的影响。(2 单片机脉冲程序以及串口接收的程序设计,人机交互 UI 的上位机程序设计(labview);(3)系统经过电路的调试,来检测到是否能获得准确的信号,实现脉冲信号的检测。充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸5第二章 总体设计2.1 机械结构总体设计图 2-1 三轴位移系统三维图上图就是一个简单的三轴位于系统的机械结构,在笛卡尔坐标系内构成一个三维的结构。被控对象位移平板上,可从三个方向对其进行加工,该结构简单,性能稳定,并且能达到大部分的功能要求,可扩展性能强。2.2 程序总体设计上位机采用 NI 公司的 labview2018 进行 UI 设计,下位机通过 Keil 对 51 系列单片机进行程序编写编译。Labveiw 主要是要实现人机界面交互,设计目标主要是要直观和简洁,实现充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸6下位机的通讯和具体功能的设计。单片机通过寄存器接收到上位机指令之后,执行相关程序如频率的改变、占空比的改变、方向的改变以及电机起停控制。上位机与下位机通讯则采用 USB 转 RS232 通讯,由于有相应模块,因此通讯上比较方便。最终将程序调试,通过导出示波器的波形图与上位机模拟的图进行对比,分许比较设计是否达到设计要求和目的。充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸7第三章 设计环境介绍3.1 虚拟仪器美国国家仪器有限公司在 20 年前提出了 Virtual instrument 的概念,从那时到现在,科学家们渐渐地改变了测控和自动化方向的工作模型。现在许多engineer、缩短开发时间的原因就是利用了虚拟仪器技术这样将会减少硬件的研发成本,也减少了硬件带来的质量问题。这个发展过程中,NI 技术逐渐走向完美和成熟。 1虚拟仪器系统建立在强大功能的软件作为核心,提供的标准化的硬件设备作为支撑的基本框架上。虚拟仪器技术包含的硬件及软件,工程师通过任务要求,编写出程序来与硬件配合。虚拟仪器的开发在摩尔定律的作用下,伴随着计算机行业的发展正在飞速发展。同时由于个人 PC 的内存、 CPU、GPU 及 I/O 性能愈发强大,这一趋势也推动了虚拟测量及自动化系统的发展。在最近的十几年中,计算机的体积缩小了数十倍,同时计算机的性能却增加了成百上千倍。运用了虚拟仪器技术的计算机具备了成本相对较低同时功能极其强大,这些计算机也就被运用于实验室的研发和产线的生产。个人 PC 的技术发展使得虚拟仪器的实现变得更为方便,也因此虚拟仪器技术运用的到了很大的推广。3.1.1 开发过程如今一个公司的研发团队规模越来越大,数不胜数的工程师和科学家在科学研究项目中钻研,这些也渐渐成为大型企业的顶梁柱。当这些数量庞大的工程师以及科学家在没有虚拟仪器技术作为支撑时,他们的工作效率将得不到保障,为公司的技术创新团队很难有快速的的突破性进展。 2虚拟仪器技术使得工程师们更加方便的能开发测量系统。软件工程师在不会影响测量系统的性能的前提下能够使用数据采集、分析及显示。虚拟仪器在编辑过程中能展现出一个简单的风格。为了满足工程师们的特定要求,有经验的工程充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸8师能够快速创建出模型。虚拟仪器技术的出现使得软件工程师有了一个简化的革命。与此同时,硬件能很好的配合软件实现测量。软件设计的作用越来越重要,能够最大程度上发挥硬件的功能,实现最低成本最高效率。有了优良的应用程序的支持,工程师们的效率能够得到很大的提高,企业的开发时间也就会大大减少。企业的竞争由于这个强大的软件支撑,能够获得很大的优势。虚拟仪器技术使得工程师创建一个应用程序, 不需要再通过操作系统去连接硬件资源,也能够实现硬件的最大利用率。3.1.2 拥有比传统 PC 更强劲的性能虚拟仪器的技术结合计算机技术及互联网业务后,促进了工业测量技术的发展。如今,虚拟仪器技术使得个人电脑得到了前所未有的创新发展。目前,虚拟仪器技术使得强大的计算机系统加上完善的接口技术,使得计算机变成了一个灵活的控制测量仪器。工程师们根据自己已经掌握的技术等,可以在很方便的情况下,对计算机进行编写程序,控制硬件设备,实现理想的控制功能。互联网络的发展使得数据的传输变得更加便捷,也让虚拟仪器技术得到了很大的支持,能实现的功能越来越强大。虚拟仪器可以实现全球范围内的数据传递,甚至到一个办公室的显示器或者手持的显示器。因此虚拟仪器使得工业的发展得到了很大的扩展和兼容。未来的发展方向可能是模块化的,就是某一个模块全世界都是通用型的。这样将使得开发时间和成本能够缩减很多,也将成为企业发展的一个很大的潜力,一旦实现模块的共享,建立起标准的模块,软硬件将得到前所未有的发展,虚拟仪器的发展将随着计算机技术的发展会获得很大的发展空间。3.2 虚拟仪器的特点LabVIEW 优点在于构建自己测试设备的过程很灵活,能够利用基于强大软件基础和优秀的硬件模块。软件作为虚拟仪器的核心,软件包含了厂商提供的硬件驱动软件及操作系统平台,包含了微软操作系统和 EXE,应用程序开发平台如LabVIEW 就能够基本满足测试的要求。NI 的主要特色如下:1)虚拟仪器与传统软硬件的区别是一定程度上的软件充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸9的使用;2)利用了通用 PC 机的强大能力,将传统硬件与个人计算机结合在一起,使得数据处理功能等等比传统仪器强大;3)用户可以自定义设计仪器的功能,使得仪器更加顺手。虚拟仪器并不是说硬件会被隐藏,它需要基本的硬件支持,如数据采集卡等。所谓的虚拟指的是如下两个方面:1)面板的“虚拟 ”:操控面板是由软件构成的,不是传统的元件,它是可见的,是由计算机上的 UI 界面构成;2)数据处理的“虚拟”:传统的仪器来说,数据处理主要通过硬件电路来实现,而虚拟仪器通过通用计算机的处理能力来实现。虚拟仪器实际上是集成好的应用,虚拟仪器的基本理论包含了数据的采集以及信号的处理。美国国家仪器公司的 LabVIEW 在虚拟仪器领域中是使用最宽泛的语言。3.3 关于 LabVIEWLabVIEW 是美国国家仪器有限开发的 G 语言,早期设计目的是供给自动化仪表使用的,现在已经使用的越来越广泛,慢慢成为工业界、学术界和实验室的一个数据采集和测量的软件。它的每个程序模块称为 VI。 3作为一门开发类的编程语言,它不需要编写任何代码,只需要构建程序框图。程序框图搭建的同时,也是在建立虚拟仪器的图形化的界面,这样的方式很直观,使得编程变得轻松简单起来。LabVIEW 编程的核心是数据流,图形化的语言加上数据流的概念,打破了传统的思维方式,程序设计的过程中,能够直观的规划和计划好设计任务。数据流的方式也使得对程序的监控很方便,也是程序设计效率提高的一个方面。虚拟仪器将计算机与硬件结合起来实现所需功能需要通过多种通用的通讯协议,如 RS - 232 及 RS 485、CAN 协议等,或者使用 TCP 协议以及 ACTIVE 函数库等方式。只要计算机与硬件能够通讯成功,那么虚拟仪器系统的搭建就有了基础。LabVIEW 为了充分利用计算机的性能并且大大提高软件的速度,因此默认的是多线程运行的方式。此外, LabVIEW 提供了信号处理分析、VISION 及逻辑操作,SQL 等技术,支持了 Windows、Linux、Mac OS、UNIX 等操作系统。由于 LabVIEW 使用的数据流的编程形式,而且界面开发可以简化,软件原型充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸10的开发周期也就能够很大程度上得到减少,也是软件维护也变得方便,以上特点决定了 LabVIEW 在工业自动化方向的应用的广泛。使用 2012 版本的 LabVIEW,如图 3 - 1 所示的界面。图 3-1 LabVIEW2012 初始化界面LabVIEW 编程方式是 DATA LINE 的 G 语言。通过了一条连线连接不同函数节点产生不同功能,图形及连线的结构也就确定了程序的执行顺序和执行过程,只有当每个输入节点都获取到了必须的数据,程序才能开始运行。利用内置自动调度器算法将每个 VI 的重入性得到了改变,当拥有多个处理器时,可以并发执行同一个 VI,甚至可以跨越平台,这样就实现了多节点并行的功能,也就是实现了同一时间内 vi 的重用。图形化编程方法不仅反映在 LabVIEW 的前面板,同时也可以从 LabVIEW 的程序框图中体现。每个 VI 调用其他程序就是通过连接器,程序员可以通过前面板输入数据,数据将传入程序框图;程序中的数据也通过前面板显示出来。程序界面: 每个 VI 可以被看作一个带接口的程序,也可以使用虚拟节点将 VI 连接到其他的 VI 上。这也就意味着每一个大型的程序,可以有很多个小型的 VI 搭建起来,如图 3-2 所示。在 LabVIEW 编程环境中,想要创建一个小的应用程序很简单可以通过大量的帮助文档。但同时拥有高水平的编程技能很重要,如果一个复杂的算法,就需要准备大量的代码,因此程序员需要对 LabVIEW 有一定的语法理论,这样解决起来会很方便。充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸11图 3-2 LabVIEW 的程序设计虚拟仪器 (VI), LabVIEW 的控件看起来与实际的物理仪器是一致的,如下图的示波器;控件的功能也很强大,一般仪器的功能它都具备。生成随机数及显示的程序框图,如图 3-3 所示。充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸12图 3-3 前面板图 3-4 程序框图前面板就是人机交互的 UI 界面,是 VI 的前面板,用户对于数据的输入以及输出也是通过前面板进行操作,包含布尔量、以及数字等。虚拟仪器的前面板上的仪器跟世纪的仪器相比具有很多的特点,前面板上的控件可以进行自定义,达到用户所想获得的控件,因此在前面板上可以设计出很多独特的控件。控件的功能可以达到和实际控件的功能类似。充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸13图 2-3 是随机数程序在前面板上产生的一个波形图,数字显示及一个布尔开关控制。程序框图就是一种已图片作为代码的一种源代码。在前面板上创建的控件,可以在程序框图上找到对应的函数对象。一般情况下,用户与硬件的交互就是通过 LabVIEW 的前面板。前面板输入输出的终端最终汇总进入到程序框图进行数据处理后,返回值再返回到前面板进行显示。随机数的生成是图 2-4 所示,波形,数字显示控制,布尔开关等都是可以在程序框图得到体现。每个函数都作为一个数据源,每个数据源可以传输给多个接收的节点。类型不同的数据不管是函数的颜色还是连接线的颜色都是不同的,数据类型不同连接线的外观也是不同的,这将有助于增强对程序可读性。断开的连线或者错误的连线使用黑色表示,原因可能是连接的数据类型不兼容。程序框图如图 2-4 所示,DEL型的数据就是橙色的,布尔型的数据和连线是绿色的。此外,程序框图也会包含一些函数结构,如 for 循环、while 循环、定时循环、程序禁用结构和条件结构。程序框图如图 2-4 所示,随机数字与输出控件和图表会有一个橙色的节点就是我们可以看到一个圆形结构。随机数发生器会产生一个随机数,在 while 循环下,它会时刻发生变化,与此同时 while 循环有一个开关,这个开关决定这个循环的逻辑起停。充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸14第四章 下位机系统设计4.1 单片机介绍51 单片机能兼容 Intel 8031 系统。英特尔 8031 单片机作为微控制器的始祖,Flash 技术的发展给 8031 单片机带来了巨大的进步,现在它成为了使用最广泛 的 8 位单片机。工业测量与控制系统中,广泛运用了该模型 Atmel 的 AT89 系列。同时很多公司推出的产品都会去兼容 51 系列的单片机。在未来的一段时间内,51 系列单片机的使用将会变得很广泛。52 系列的单片机没有自编程能力这一点需要注意。 4宏晶 STC 单片机是一款国产的单片机,因为其功能强大而且稳定,同时价格相对低廉,于是占据了国内很大的市场。 图 4-1 51 单片机引脚 图 4-2 51 单片机结构4.2 信号发生器的选择产生脉冲方波的发生器有很多,主要有三种方案:通过单片机来编程、使用函数发生器以及锁相频率合成器。方案 1:使用单片机函数发生器产生信号很容易实现,产生的波形种类也很多,使用起来也很方便实现,但有个严重的问题就是产生信号的精准度不高。充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸15方案 2:使用锁相环合成器可以获得很好的波形,信号的频率可以通过振荡器的输出频率来改变,它的缺点是频率范围不能达到设计要求。方案 3:使用单片机来进行信号的产生是十分有效的,它能满足频率范围的要求,同时产生的是数字量信号,精准度比较高。由于方案一的信号准确度不高,方案二又达不到频率所需要的范围,所以第三种软件实现的方式比较可行。不仅做到了软硬件的结合,保证了信号的精度,同时硬件是标准件,成本低。4.3 总体硬件框图如图 4-3 所示,主要由四时钟电路、复位电路、I/0 引脚以及串口通讯模块四大模块构成最小系统。图 4-3 单片机模块图时钟电路 输入输出脚AT89C51复位电路通讯模块充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸164.4 STC89C51 芯片介绍下图 4-4 为 STC 89C 52 的芯片引脚的结构。图 4-4 STC89C51 芯片引脚结构图T0 和 T1 是单片机内部的两个 16 位可编程定时器。每个定时器有两种工作模式:计数器和计时器,每个定时器有四种工作模式。本设计利用了一个定时器作为信号发生器,它能够确定每个周期的时间,另一个用来做通讯。当定时器开始工作时会被赋予一个初值,然后开始计数,当最高位溢出时,CPU 将会收到定时器的中断请求。单片机当收到外部信号时也会产生中断,本设计中在上位机上作出修改时,会用到此中断。由于采用 usb 转 RS232 的方式进行通讯,因此每一次上位机进行完参数的设定之后就需要对单片机进行一次数值的传输,此时会申请中断的方式来对寄存器进行值的输入。4.5 时钟电路的设计时钟电路就是一个振荡器,它提拱了一个单片机运行的节拍,单片机需要按照这个节拍来实现用户的功能。 5充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸17图 4-5 内部时钟电路图4.6 电源模块电源部分由 USB 提供, USB 带 5 V 电压, 通过按钮开关 S21 控制系统通、断电。系统有电时, LED 灯点亮, 5 V 电压3.3 V,(通过 IC ASC11117 - 3.3 V)。图 4-6 单片机电源模块框图4.7 程序模块分析void LED_Flash() interrupt 1if (RI=1) ET0=0;TH0=255;TL0=22; /恢复初值if(+T_Count=a) /脉冲频率的改变和占空比的改变Flag2=Flag2;充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸18if(L0=0) LED0=Flag2;else LED0=1;if(L1=0) LED1=Flag2;else LED1=1;if(L2=0) LED2=Flag2;else LED2=1;T_Count=0;该段程序为程序的核心部分,通过了定时器申请到中断执行该段程序。由于外部串口中断的优先级在定时器优先级之下,而且程序定时器的定时时间为10us,时间很短。在定时器执行期间,会导致串口无法写入,原因在经过反复测算后总结为串口接收的过程中,申请中断时被定时器中断抢先,导致串口申请不到中断。于是在程序中加入了一个判断位,当串口申请中断时,将会对定时器的中断关闭,以便于串口能正常接收到数据。此外,程序中定时器设置为 10us 的延时,当频率改变时,会以十微秒为基本单位,并通过计数器的方式来实现频率的控制。占空比的改变是通过频率计算出周期,再将上位机传下来的的数据进行一次计算,传递给定时器计时。由于 51 单片机内定时器只有两个,没有办法满足三个脉冲信号的控制,因此本设计只使用一个定时器,定时器对 Flag2 进行取反操作,处理起来方便误差也不大。利用该标志位对单片机输入输出口进行 PV 操作,这样在串口打开的时候就不会被定时器干预到。void ser() interrupt 4RI=0;dat=SBUF; /接收数据 SBUF,即将计算机的数据接收。ES=0; /关闭串口中断Flag1=1;ET0=1; /有新的数据接收到此段程序是串口接收程序,通过串口接受到上位机传送下来的指令,单片机充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸19将会把串口接受到的数据存入 SBUF 指定寄存器。case 32:T_Count=0;switch(b_5) /频率选择,单位 khz;case 1:f=1;break;case 2:f=5;break;case 3:f=10;break;ase 4:f=20;break;case 5:f=25;break;case 6:f=50;break;default :break; break;case 64:T_Count=0;switch(b_5)case 1:dr=10;break;case 2:dr=20;break;case 3:dr=30;break;case 4:dr=40;break;case 5:dr=50;break;case 6:dr=60;break;default :break;break;以上程序是利用 switch 函数对接收到的占空比和频率来进行有极的调节,将收到的值保存在指定的函数名下,后面只修要对指定的函数名进行计算就好了。充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸20第五章 上位机软件设计5.1 主程序的设计位移系统主要通过单片机产生占空比和频率可调的信号,上位机通过对单片机传输指定数据,由单片机内部程序判断收到的数据来程序运行。准备模式设置 T1打开定时器T1开启定时器中断T1中断总开关扫描串口串口数据分类改变指定值结束充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸21图 5-1 主程序流程图5.2 Labview 上位机程序5.2.1 串口设置根据单片机与 PC 的接口选择,通信口的通信协议可以设置如下:串行端口选择为 COM 6,波特率设定为 9600,数据位长度设定 8 位, 奇偶校验设定为none。充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸22图 5-2 串口设置5.2.2 上位机串口通信的顺讯Labview 串口通信步骤为参数配置(端口选择、数据位、校验、波特率),模式选择,读写数据,关闭端口。图 5-3 上位机的串口通信协议设置5.2.3 占空比与频率控制Labview 中通过一个滑动容器设置占空比为 30 到 80,然后在传输到单片机内通过整除的方式设定占空比,占空比范围为 30%,40%.80%。这是模拟出波形的程序框图,通过计算设定好高低电平的时间,再将结果返充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸23回给波形图表显示出模拟的波形。图 5-4 占空比控制程序通过条件结构来设定高低电平的时间,计算公式按照:周期=1000/f高电平时间=(1000/f)* 占空比低电平时间=周期-(1000/f)*占空比由于数据流的开发环境,程序设定时要注意到移位寄存器的特点,定时器设定值会与其相关,此处有一定的逻辑关系。移位寄存器是一个重要的容器,它能存储任何数据类型,并在下一个循环中对传递出上一次的值。这也是消费者与生产者结构的一个很重要的环节,它是上下结构能够通讯的必经之路。充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸245.2.4 生产者结构图 5-5 生产者结构程序图生产者结构如上图所示,生产者作为数据的产生方,需要通过对队列中传输对应的值给消费者。队列作为 FIFO 的代表,他能够实现缓存区的功能,在出队列时会赋值给消费者事件。但缓存区的大小是有限的,当消费不足生产过剩的时候,缓存区就会被耗尽,此时生产者将暂停生产。反之当消费能力超过生产能力时,消费者会将数据缓存区内的值全部耗尽,然后等待生产者。此程序生产者需要做的是产生模拟信号,同时也需要对前面板的控件执行时给予反馈。也就是当前面产生动作时,会触发一个事件产生,此时将会通过串口传给下位机单片机一个数值,让其产生对应操作。当前面板在 100ms 没有产生任何事件时,将会进入超时程序。超时程序中,主要是通过对前面板的反馈,反馈出三个通道的模拟信号。充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸255.2.4 消费者结构图 5-6 消费者结构程序图此程序消费者结构比较简单,只需要对波形图表进行一个持续读值的过程。由于消费者结构会始终与生产者的保持一个同步关系,因此运行这个条件下的程序不能够实时的更新,解决方法采用的是加一个循环。这样在每一个 100ms 内,不会影响波形图的实时更新。同时,消费者结构需要与生产者同时停止,因此条件结构里面的停止是必须的存在的。生产者消费者结构存在数据与事件两种结构,在触发方式是没有区别的,只是两种结构在数据传输类型上的区别。主从设计模式适合一对多的情况,只有生产者有发送数据的权利,而消费者只能被动的响应。生产者消费者结构是一个最为常用的开发框架。充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸265.2.5 窗口操作选择图 4-7 主程序外观设置图 5-8 窗口设置本程序选择了对 vi 的淡入操作,这么做的原因是为了给串口等硬件充分的配置时间,同时也是一个 vi 的外观操作,利用了 vi 的引用实现了对整个 vi 的属性控制,就是对前面属性的透明度的改变。5.2.6 上位机波形模拟在前面板上根据输入的参数模拟出单片机实际输出的波形,根据占空比和频率模拟出的波形如下图所示。充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸27图 5-9 波形图5.2.7 初始化界面设计图 5-10 初始化界面程序初始化的界面中依据简约的原则,画风十分简约。此界面的主要作用是对程序控件以及外设的初始化。程序会有大约 2s 的初始化过程,程序今后需要扩充的话,该初始化过程的程序框图中可以增加初始化的数值。充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸28图 5-11 主程序框图滑竿可调占空比(0100 ),波形图显示波形,布尔灯显示脉冲状态,方向键控制进给方向,数值显示控件显示坐标值及目标坐标值。图 5-12 上位机操作界面充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸29UI 的界面分为四个部分,前三个部分是对控制对象的三个坐标的控制,可以手动输入坐标轴的坐标,使对象移动到对应的位置。绿色的布尔灯是脉冲信号的显示控件,灯每亮一次意味着发送一次信号给单片机,单片机也就产生一次脉冲信号。起停按钮可以单个轴的电机,它对应单片机的一个输出口,此控件值为假时,单片机的对应输出口将不会产生信号。还有一个控件是对进给方向的控制,分别对应着前后左右上下六个方向,图表上的图像对应着每个电机每个得失电的实时情况。最右侧部分包含了手动/自动 mode 的转换。自动模式下,前三部分将会有脉冲信号自动发出,手动模式下将由目标坐标计算出所需脉冲个数。同时由下拉菜单控件和柱状图来控制占空比的大小。退出按钮决定的是对程序的退出,将会退出到总界面。充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸30第六章 系统调试与测试结果分析6.1 主要元器件 此设计用到的主要元器件如表 6-1表 6-1 主要元器件清单主要元器件 数量51 单片机 1USB 通信线 1示波器 1普通 PC 16.2 软件调试使用我们的 C 编译器汇编语言课程设计项目是否有任何语法错误,没有语法错误,编译器生成的十六个十六进制文件。上位机程序能否与单片机进行串口通讯,能否实现对单片机引脚的控制。6.3 硬件调试利用示波器测量单片机 I/O 信号是否达到设定的要求,每个信号输出脚和开关量信号脚正反转信号脚都需要测量是否达到要求。6.4 测试结果通过上位机界面能够实现上下对单片机的控制,一共涉及六个引脚,P1.0、P1.1、P1.2 是脉冲信号源的引脚,P1.3、P1.4、P1.5 是正反转信号脚。充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸31图 6-1 1khz、占空比 50%的单片机脉冲信号图 6-2 1khz、占空比 70%的单片机脉冲信号充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸32图 6-3 2.5khz、占空比 50%的单片机脉冲信号图 6-4 2khz、占空比 60%的单片机脉冲信号充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸33经过测试,脉冲信号满足设定要求,存在一定的周期性误差,同时采用控制变量的方式对在相同频率不同占空比的信号下进行了测试,也对相同占空比不同频率下的信号做了比对,结果达到预期设定要求,本次设计基本成功。充值购买 -下载设计文档后,加 Q-1459919609 免费领取图纸34结 论本次的毕业设计结果较为顺利,我采用单片机 STC89C52 为占空比可调三轴位移系统的控制核心, labview 的 UI 界面经过串口调节不同幅度的占空比。通过上位机控制面板可以实现占空比的比值可在 30 到 80 之间变化。系统主要包含了上位机 UI 界面(labview )、下位机单片机程序(keil)、以及单片 STC89C52。单片机作为本系统的控制器,通过程序控制的方式来控制占空比的大小,实际的硬件电路并未产生任何变化,但占空比的得到了变化,同时可以通过 labview控制方波的频率。此外,因为单片机产生的是数字信号,因此控制信号的精度得到了保障,避免了单片函数发生器的信号
收藏