机械测试技术课程设计Word文档下载推荐.docx
《机械测试技术课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《机械测试技术课程设计Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
6.1.8采集系统当前时间并加以显示10
6.1.9重量、单价、应付款数、时间存入计算机D盘中的Excel中10
6.2各部分参数计算10
7.工作过程分析11
8.电子称系统软件设计12
8.1用户界面设计12
8.1.1程序前面板修饰12
8.1.2系统用户界面设计图13
8.2数据采集模块15
9.小结17
10.设计体会及改进意见18
参考文献19
1设计任务和要求
(1)掌握NI-DAQ使用方法。
(2)了解电子秤的测量原理及方法。
(3)能够测量重量,显示重量和收费。
能够设置量程和输入单价。
2设计思路
根据此次课程设计的要求,通过自上而下的设计思路,设计该电子秤:
(1)利用NI公司提供的数据采集卡和Labview开发数据采集程序,将传感器传过来的电压模拟信号变换成数字信号。
采集到得数字信号必定和施加到传感器上的压力有了一定的线性关系,压力又与重量有相等的关系,那么这个数字信号就和重量有线性关系。
并且,设计无论选择那个量程传感器所传给采集卡的电压都是0——4V的电压信号。
(2)通过这个数字信号在程序中转变成相应的重量g或kg。
(这个数字信号通过乘以对应的数值来完成。
)在利用【格式化写入字符串】自VI将单位g或kg加到该重量数值后面,构成称重的结果通过【字符串显示控制】把重量在前面板上显示出来。
(3)数据小键盘输入货物的单价。
单价的单位由所选择的量程自动决定是“元/g”还是“元/kg”。
也是通过【格式化写入字符串】把单价值以他的单位合成,通过【字符串显示控制】把单价在前面板上显示出来。
(4)将单价乘以重量得到应付款数。
在利用上面说的【格式化写入字符串】把应付款数以他的单位合成,通过【字符串显示控制】把单价在前面板上显示出来。
(5)通过按【付款】键把消费信息存入计算机D盘中的Excel中,留作日后查看时备用。
(6)当数字信号高于4V时,报警。
以此来提示销售者量程选择过小。
以免算坏传感器。
3.LabVIEW使用的优势
选择LabVIEW开发测试和测量应用程序的一大决定性因素是其开发速度。
通常,使用LabVIEW开发应用系统的速度比使用其他编程语言快4-10倍。
这惊人速度背后的原因在于LabVIEW易用易学他所提供的工具是创建测试和测量应用变得更为轻松。
LabVIEW的具体优势主要体现在以下几个方面:
(1)提供了丰富的图形控件,并采用图形化的编程方法,彻底把工程师们从复杂苦涩的文本编程工作中解放出来。
(2)内建的编译器在用户编写程序的同时就在后台自动完成了编译。
因此用户在编写程序的过程中如果有语法错误,他会被立即显示出来。
(3)由于采用数据流模型,它实现了自动的多线程,从而能从分离用处理器尤其是多处理器的处理功能。
(4)通过DLL、CIN节点、ActiveX、.NET或MATLAB脚本节点扥技术,可以轻松实现LabVIEW与其它编程语言混合编程。
(5)通过应用程序生成器可以从轻松的发布EXE、动态链接库或装包。
(6)LabVIEW提供了大量的驱动与专用工具,几乎能与任何接口的硬件轻松连接。
(7)LabVIEW内建了600多个分析函数,用于数据分析和信号处理。
4设计方框图
5.程序流程图
6.各部分设计及参数计算
6.1各部分电路设计
6.1.1DAQ数字采集小助手的设计:
图6-1DAQ子VI示意图
设置DAQ为输入电压信号,选择范围为0V到5V,选择通道1。
设置成功后当打开数据采集卡并运行程序,将模拟输入端连接到电压信号数据行时。
转动电位器,图6-1中的数字信号输出端将输出一个与电位器上电压信号相同的数字信号。
该数字信号是以重量成比例关系的。
6.1.2量程选择设置:
使用下拉列框来选择量程,下拉列框编辑项设置如图6-2所示。
图6-2下拉列框编辑项
在选择不同的量程是,下拉列框在程序版上将输出相应的值0、1、2、3。
6.1.3量程的选择与重量数值的计算:
当【请选择量程】下拉列框选择了0到1000g时,它将输出0给【索引数组】,【索引数组】将会把连给它的数组的第0个元素(250)索引出来。
索引出来的结果(250),以数据采集卡采集得到的数值相乘,得到重量的数值0到1000。
在后面的程序设计中将会为这个表示重量的数值加上单位“/g”。
当【请选择量程】下拉列框选择了0到10kg时,它将输出1给【索引数组】,【索引数组】将会把连给它的数组的第1个元素(2.5)索引出来。
索引出来的结果(2.5),以数据采集卡采集得到的数值相乘,得到重量的数值0到10。
在后面的程序设计中将会为这个表示重量的数值加上单位“/kg”。
当【请选择量程】下拉列框选择了0到50kg时,它将输出2给【索引数组】,【索引数组】将会把连给它的数组的第2个元素(12.5)索引出来。
索引出来的结果(12.5),以数据采集卡采集得到的数值相乘,得到重量的数值0到50。
图6-3量程的选择与重量数值
当【请选择量程】下拉列框选择了0到100kg时,它将输出3给【索引数组】,【索引数组】将会把连给它的数组的第3个元素(25)索引出来。
索引出来的结果(25),以数据采集卡采集得到的数值相乘,得到重量的数值0到100。
从而完成量程的选择与重量数值的计算过程。
6.1.4过重提醒的设计:
图6-4过重提醒的设计
由于所设计的压力传感器的安全工作电压在输出为0V到4V之间。
如果,我们所采集到得电压信号大于4V,为了仪器的安全就应当报警,来提示人们。
如果DAQ输出的数值大于4V,就说明传感器的输出电压高于4V,传感器会有危险。
这是报警指示灯会亮,从而来提醒人们注意。
6.1.5重量的数值与它相应单位的合成
图6-5重量的数值与它相应单位的合成
DAQ采集到的代表重量的电压值乘以相应的扩大倍率得到只是一个数值,它要加上单位才可以表示重量。
【量程选择】不但控制了索引要扩大的倍率,还控制了该量程下所对应的单位。
重量的数值与索引到的单位通过【格式化写入字符串】得到重量
,通过字符串显示控制【商品重量】显示出来给消费者和销售者。
6.1.6小键盘输入单价
图6-6小键盘的前面板设计
销售者可以通过前面板上的小键盘输入单价。
一按【回车键】就可以将输入的单价输入系统。
并且,输入的这个单价会在前面板上显示。
以供消费者和销售者核对。
小键盘的设计框图如下图6-7所示。
图6-7小键盘的程序框图
图6-8
如图6-8所示的程序框图,当2端为真时4端将输出3端的值,当2端为假时它经输出1端的值。
设计10个这样的程序框图,这10的程序框图的1端都令为数值0。
3端设计为0到9的数值。
对应与0到9的数值按钮。
当0到9的某一个按钮按下时。
这10个程序框图中有一个将输入一个对应于该按钮的数值和9个0到如下图6-9的加和框图中进行加和。
图6-9
由于计算机的运行速度非常快,在它的一个运行周期内我们是不可能按下两个数据键的,所以图5-9加和后的总和只可能是0到9的值,并且这个总和的数值对应于人们刚刚按下的键。
利用移位寄存器,把得到的每一个数值转换成十进制。
就是销售者输入的商品单价。
例如:
销售者按键的顺序是
1
2
.
5
【回车键】。
那么移位寄存器即与它连接的程序的动作为
0×
10+1=1
1×
10+2=12
12×
10+5=125
125÷
10=12.5
输出单价12.5元。
6.1.7单价的显示与应付款数的计算:
图6-10单价的显示与应付款数的计算程序框图
单价×
重量得到应付款数。
通过【格式化字符串】把单位“元”加到应付款数的后面。
在单价的数值后面加上单位“元/g”或“元/kg”。
通过【字符串显示控制】加以显示。
6.1.8采集系统当前时间并加以显示:
图6-11采集系统当前时间
将系统的当前时间采集下来,显示给人们。
并且把它同重量、单价、应付款数一起写入电子表格。
以供人们日后查看之用。
时间将作为它们的一个表示。
6.1.9重量、单价、应付款数、时间存入计算机D盘中的Excel中:
图6-12重量、单价、应付款数、时间存入计算机D盘中的Excel中
但按下【付款】按钮时程序将跳出里面的循环到达外面的循环,这时重量、单价、应付款数、时间存入计算机D盘中的Excel中。
6.2各部分参数计算
由于采集到的电压值都是0到4的值。
要以所选的量程对应的重量对应就必须乘以不同的数值。
(1)
当量程为0到1000g时:
(2)当量程为0到10kg时:
(3)当量程为0到50kg时:
(4)当量程为0到50kg时:
7工作过程分析
(1)当重物为830g左右,选择量程为0到1000g,单价为1.2元时:
图7-1选择量程和输入单价
图7-2重量、单价、应付款数、时间显示
(2)情况下当物重高于1000g时:
图7-3选择量程和输入单价
这时过重指示将亮起来。
如图7-4所示。
图7-4重量、单价、应付款数、时间、报警显示
由于1027.5g大于量程1000g。
所以过重指示灯亮了。
提示销售者该选择更高的量程。
以上两组重量、单价、应付款数、时间都被存入了计算机D盘的名为xiaofeijilu的Excel中。
如图7-5所示。
图7-5名为xiaofeijilu的Excel中的数据记录
当你选择其他3个量程时,也与上面6.1,6.2相似。
8.电子称系统软件设计
8.1用户界面设计
8.1.1程序前面板修饰
美观的界面设计是labview的一大亮点。
作为一种基于图形模式的编程语言,labview在图形界面的设计上有着得天独厚的优势,可以设计出漂亮、大方、而且方便、易用的程序界面(即程序的前面板)。
为了更好的进行前面板的设计,labview提供了丰富的修饰前面板的方法以及专门用于装饰前面板分控件。
(1)设置前面板对象的颜色以及文字风格:
“设置颜色”对话框与字体对话框如图8-1所示
图8-1“设置颜色”与字体对话框
运用这两个设置可以轻松的编辑画面的颜色与字体。
(2)设置多个对象的位置关系和大小:
这里可以应用的工具如图8-2所示
图8-2对象的位置关系和大小的设置工具
(3)用修饰控件装饰:
用于修饰前面板的控件位于控件模板中的Decoration(修饰子模块)中,包括一系列线、箭头、方形、圆形、三角形等形状的修饰模块,这些模块如同一些搭建美观的程序界面的积木,合理组织、搭配这些模块可以构造出绚丽的程序界面。
Decoration模块如图8-3
图8-3Decoration模块
结合以上的三点就可以轻松的做出各种美观的界面了。
8.1.2系统用户界面设计图
用户界面(前面板)是虚拟仪器的重要组成部分,仪器参数的设置、测试结果显示等功能都是通过软件实现,因此要求软件界面简单直接,便于使用.前面板主要由输人控制器(contro1)和输出指示器(indicate)组成。
可通过控制模板和工具模板创建.本系统设汁的用户界面主要包括将测量的重量用指针和数值
显示面板,系统校准和标定(有0g和20g2个标定系统)和控制按钮.如图
8-4所示
图8-4系统用户界面(前面板)
8.2数据采集模块
LabVIEW的数据采集(DataAcquisition)程序库包括了许多NI公司数据采集(DAQ)卡的驱动控制程序。
通常,一块卡可以完成多种功能-模/数转换,数/模转换,数字量输入/输出,以及计数器/定时器操作等。
用户在使用之前必须DAQ卡的硬件进行配置。
这些控制程序用到了许多低层的DAQ驱动程序。
本课程需要一块安装好的DAQ卡以及LabVIEW开发系统。
本次设计中数据采集模块主要完成模拟量与数字量的相互转换,实现数据的采集测量;
图8-5
图中
数组为初始化数组,
为初始值0,每次执行完后按下按钮数组自动恢复初始值,并依次循环,直到程序结束,
表示数组长度为了提高读取速率,根据特定要求,其长度必须指定为32字的整数倍长,如32、64、128……8192等字长,否则,USB设备对象将失败该读操作。
为创建一个ID设备对象句柄,并返回设备对象句柄;
函数可以使用创建句柄以初始化设备的AD部件并启动AD设备;
参数:
创建了设备对象句柄后,便可用
函数初始化AD部件,关于采样通道、频率等的参数的设置都是由这个函数的参数结构体决定的,对这个参数结构体的各个成员简单赋值0,2,2。
即可实现所有硬件参数和设备状态的初始化,然后这个函数启动AD设备
反复读取AD数据以实现连续不间断采样。
(注:
虽然主要面对批量读取,高速连续采集而设计,但亦可用它以少量点如32个点读取AD数据,以满足慢速采集需要
由于参数需要的是返回值,所以需要实现对AD设备的关闭;
关闭AD设备后,
便可得到相应的数据(但设备对象句柄依然存在)。
数组:
要使用这个数组,根据LabView的特点,应分配一个16字节的内存单元,每一个字节的内存单元对应相应位置上的开关量输入状态。
要使用这些状态,根据得到DI数据,将存放实际的当前开关量状态的内存单元用IndexArray数组操作控件将其每一路开关量状态分离出来,即可确定每一路开关输入状态。
详见开关量输入输出LabView演示部分。
数组的功能主要实现对
数组内容的替换,将得到的电压值输出从而实现对数据的采集;
数据处理模块
图8-6
的功能主要对采集数据输出的电压值求取平均数;
的局部变量
;
数组实现的是元素的输出;
和
是数据采集输出的两种方式其实现功能是
用所得平均值乘以变量b值将得到的电压值加上变量a值,从而实现数据的输出。
当按下
时表示while循环结束;
把以上的各个加以模块综合就可以得到Labview完整的电子称设计流程图如下:
图8-7
9小结
虚拟仪器技术是现代仪器技术与计算机技术相结合的产物,是21世纪科学技术中的核心技术之一。
它的出现导致传统仪器的结构、概念和设计观点都发生了巨大的变革,代表着仪器发展的最新方向和潮流。
虚拟仪器是我们测控技术与仪器专业主修的专业课之一,记得上学期我们刚接触这门课的时候,根本就不知道它是一门什么样的课程,每次上课的时候我们就是按照书本上的例子来做题,老师要是让我们自己来实现一个什么样的功能,感觉可难了,不知如何下手。
但是,后来在吕老师的指导下,觉得自己对虚拟仪器这门课已经有了最基本的了解,自己能编一些简单的程序,能实现一些简单的功能。
通过这次课程设计,我所收获的是对虚拟仪器的软件编程系统LabVIEW有了更深层次的了解。
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:
其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
从学习的过程中我也深深地体会到了这一点,利用框图来编程序既形象又容易记忆,当熟悉各个框图在什么地方,又知道它们的功能时,编一个程序变得容易多了。
我知道在学习的道路上我还有很多路要走,我应该更加坚定,更加顽强,让心中那股对学习的热情,对真理的执着的火焰熊熊燃起。
也许实训只是一个人学习生涯的一个小片段,但是他对一个知识海洋畅游的学生来说,却是一个让知识升华的大好境遇。
总之,不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。
最后终于做完了有种如释重负的感觉。
此外,还得出一个结论:
知识必须通过应用才能实现其价值!
有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。
10设计体会及改进意见
这一周的课程设计已经结束,之所以能短时高效的完成。
首先要感谢陈老师,的大力支持和指导。
在设计过程遇到很多困难,每一次找到老师时,老师都会认真解答,并不断为我们引导设计思路,与此同时还未我们提供相关应用软件,这让我们不仅圆满的完成课程设计要求的内容,并且还对书中内容有了进一步认识,在此表示对陈老师诚挚的谢意。
他特别注重培养我们的创新精神,就像是这次课程设计,老师只给了我们一个要设计的题目,没有任何要求。
陈老师之所以没给我们设计要求,是因为他想让我们自由发挥,能设计出什么功能就设计什么功能,而且是越新颖越好,越有思想越好。
在设计过程当中通过努力,互相帮助,大家在一起集思广益,在很短时间内完成设计要求。
对帮助过我的同学表示感谢。
没有问题,就没有进步,也就失去了程序调试所应有的价值和意义。
在一次次的调试过程中,曾出现了不少的问题,程序也正是在一次次的解决问题中不断地改进和完善从而试测试达到更好的效果,例如我们在进行数据采集前会忘记校准,这就促使数据的误差增大,导致测量结果不精确。
参考文献
[1]杨乐平.LabVIEW程序设计与应用.北京:
电子工业出版社,2001
[2]张重雄.虚拟仪器技术分析与应用.北京:
电子工业出版社,2008
[3]张毅,周绍磊.虚拟仪器技术分析与应用.北京:
机械工业出版社,2004
[4]王利强,彭月祥,宁可庆.计算机测控系统与数据采集卡应用.北京:
机械工业出版社,2007
[5]郁有文,常建.传感器原理及工程应用——西安:
西安电子科技大学出版社,2008.7