您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 虚拟仪器课程设计-电子秤
--大学--学院课程设计说明书(20--/20--学年第-学期)课程名称:虚拟仪器课程设计题目:电子秤设计专业班级:学生姓名:学号:指导教师:设计周数:设计成绩:年月日1目录1.课程设计目的…………………………………………………………22.课程设计正文…………………………………………………………22.1课程设计思路…………………………………………………………22.2原理分析………………………………………………………………22.3操作步骤………………………………………………………………32.4程序流程图……………………………………………………………42.5程序功能………………………………………………………………42.6上位机labVIEW程序………………………………………………52.6.1电子秤主程序………………………………………………………52.6.2电子秤子程序………………………………………………………62.6.3重量曲线子程序……………………………………………………72.7迪阳驱动组件说明……………………………………………………73.课程设计总结…………………………………………………………94.参考文献……………………………………………………………105.教师评语……………………………………………………………1021.课程设计目的课程设计历来是检验学生综合素质的一种很好的形式,尤其对于工科学生的操作类课程,更是一种切身的锻炼。课程设计是一种小型的产品开发任务,通过对任务书的技术要求进行分析,确定整体的构思,软件硬件的设计,程序的编写与调试,再配合小组成员之间的协调、互助与合作,起到共赢的作用。课程设计也是一种实验,但又不同于实验。普通的实验课只是根据老师的要求按部就班地进行固有的程序化的操作,目的是为了验证课堂上的理论事实;而课程设计则包含了实验的一些内容,但远比实验要复杂得多。这时老师不再像“喂饭”似的教授,只起到启发作用,而很多具体的步骤则由同学们自己去想办法完成。正因为课程设计具有这样的特点,学生才会主动开动脑筋,结合所学专业知识,通过各种渠道获取课题所需的线索。无形之中,学生们的探索能力,学以致用的能力得到较好的发挥,而且往往这只通过这种亲自动手探索的过程才能真正掌握本课程的实质内涵。有句诗说得好,叫做“纸上得来终觉浅,绝知此事要躬行”。由此可见,课程设计无论对于教师考核还是学生本身,都有很大的必要性!2.课程设计正文2.1课程设计思路本次虚拟仪器课设所用的硬件为迪阳正泰科技发展公司提供的实验箱的压力模块,已经为我们提供了电子秤托盘,硬件校正装置,数据采集电路,我们要做的就是运用所学的LabVIEW课程,使用G语言编写程序,以实现产品功能的要求。程序大致分为前面板界面画图部分和后面板程序框图部分。总体设计下来我们共产生了三个VI程序:电子秤主程序、电子秤子程序、重量曲线子程序。分别完成的功能为登录界面、电子秤主界面和重量实时曲线显示界面,三者互相嵌套调用,实现一个完整的电子秤仪表功能。具体详见下面的原理分析。2.2原理分析:1.本课设的压力传感器是电阻应变式传感器,故其电阻变化与电阻的关系如下:ssssRKR其中:sK为灵敏系数,由金属材料决定;当压力F在一定范围内时,s以一个常数正比于F。故由压力传感器连接线路及压力传感器的性质,可知电路的CH2电压输出与压力传感器上所放置物体的质3量近似成线性关系,因而有:m=a*F+b(a,b为常数)通过测试,可得到经验方程:质量=145*UCH2+502.利用U18硬件平台可实现模拟信号的采集输入(A/D转换)。如图所示,当压力传感器上压力变化时,其电阻也响应线性变化,从而压力桥式测量电路输出端电压发生变化,该变化电压通过连接器J2进入由LM324的U8B、U8C、U8D组成的差动放大电路进行一级放大,再经过LM324的U8A进行二级放大后在CH2端输出一个与压力成正比的线性电压波形。2.3操作步骤:1.接线:将压力传感器经J2连接至压力桥式测量电路,将实验板模拟口XS1与采集卡模拟口XS2连接。2.通过调节电位器RX4来改变差动放大倍数,在U6D输出端得到一级放大信号;通过调节电位器RX5来调节电路对称性,实现对干扰信号的抑制。3.最终结果是:在U8A的输出端得到一个二级放大后的信号,该信号特点是:当压力增大时,该信号曲线显示增大的信息;当压力减小时,该信号曲线幅度也相应应减小。4.通过LabView编程来实现电子秤的功能,软件要求有“零”标定功能,即无砝码放入时,软件认定为0克,通过提供的两个20克的砝码来标定系统。42.4程序流程图:2.5程序功能:本课题为电子秤设计,目的是编程实现一个由计算机构成的虚拟“电子秤”,其实现的功能如同市面上的普通电子秤,即当托盘上放有物体时,“电子秤”应能正确显示出其重量大小。本程序总共包含三个前面板,在运行期间适时调用显示,不仅能同步跟踪托盘物体的重量,同时还可以输入单价自动计算价格,如同超市里称重买东西的电子秤,这一点增加了本“电子秤”实用性和趣味性,另外还有登录界面,刻度显示与数字显示两种模式(前者直观显示大概重量,便于人眼识别,后者使结果更精确),更有时实重量曲线,用以观测质量的变化趋势。程序界面友好,色彩活泼,操作简便,并有校零控制,报警显示等按钮,能实时控制程序的运行,从而满足了用户的要求。初始化设备初始化AD部件读取模拟口CH2数据数据处理释放AD部件是否结束YN释放设备52.6上位机labVIEW程序:2.6.1电子秤主程序:62.6.2电子秤子程序:72.6.3重量曲线子程序:2.7迪阳驱动组件说明1.CreateID功能:该函数负责创建设备对象,并返回其设备对象句柄。输入:DeviceID设备ID(Identifier)标识号。当向同一个Windows系统中加入若干相同类型的USB设备时,系统将以该设备的“基本名称”与DeviceID标识值为名称后缀的标识符来确认和管理该设备。比如若用户往Windows系统中加入第一个U18AD模板时,系统则以“U18”作为基本名称,再以DeviceID的初值组合成该设备的标识符“U18-0”来确认和管理这第一个设备,若用户接着再添加第二个U18AD模板时,则系统将以“U18-1”来确认和管理第二个设备,若再添加,则以此类推。所以当用户要创建设备句柄管理和操作第一个USB设备时,DeviceID应置0,第二应置1,也以此类推。默认值为0。输出:如果执行成功,则返回设备对象句柄;如果没有成功,则返回错误码INVALID_HANDLE_VALUE。由于此函数已带容错处理,即若出错,它会自动弹出一个对话框告诉您出错的原因。您只需要对此函数的返回值作一个条件处理即可,别的任何事情您都不必做。2.ReleaseID8功能:释放设备对象所占用的系统资源及设备对象自身。输入:hDevice设备对象句柄,它应由CreateID创建。输出:错误码。应注意的是,CreateID必须和ReleaseID函数一一对应,即当您执行了一次CreateID,再一次执行这些函数前,必须执行一次ReleaseID函数,以释放由CreateID占用的系统软硬件资源,如系统内存等。只有这样,当您再次调用CreateID函数时,那些软硬件资源才可被再次使用。AD采样操作函数1.ADINT功能:它负责初始化设备对象中的AD部件,为设备操作就绪有关工作,用户便可以连续调用ADRead读取USB设备上的AD数据以实现连续采集。输入:hDevice设备对象句柄,它应由USB设备的CreateID创建。pADPara设备对象参数结构,它决定了AD采样通道。输出:错误码。2.ADRead功能:读取USB设备AD部件上的批量数据。它不负责初始化AD部件,待读过完整指定长度的数据才返回。它必须在ADINT之后,ADClose之前调用。输入:hDevice设备对象句柄,它应由CreatID创建。Dimensionsize读取数据的长度(以字为单位),为了提高读取速率,根据特定要求,其长度必须指定为32字的整数倍长,如32、64、128……8192等字长,否则,USB设备对象将失败该读操作。输出:pADBuffer从设备上采集的数组。3.ADClose9功能:释放设备对象中的AD部件所占用的系统资源。输入:hDevice设备对象句柄,它应由CreateID创建。输出:错误码。应注意的是,ADINT必须和ADClose函数一一对应,即当您执行了一次ADINT,再一次执行这些函数前,必须执行一次ADClose函数,以释放由ADINT占用的系统软硬件资源,如系统内存等。只有这样,当您再次调用ADINT函数时,那些软硬件资源才可被再次使用。3.课程设计总结首先感谢学校为我们课设提供的实验仪器,它给我们很大帮助,使我们的设计工作更加便利,使我们切身体会到了以计算机为基础的虚拟仪器的强大功能和为当今社会做出的不可替代的贡献。拿到一个题目不要乱了头绪不知从何下手,应该先分析它的原理,确定底层任务是什么,上层工作是什么。对于这个题目要弄清电阻式应变片传感器测量电路的原理,数据采集卡的接线方法,上位机labview程序设计的数据采集部分,数据处理部分,显示输出部分等等。本次课设从界面设置到程序框图,都由我们都亲自动手完成,综合了前面板很多种效果,也有我们自己的创新,例如从网上保存的电子秤图片作为我们的登录欢迎界面,使它变得生动活泼;电子秤显示窗口做了一些立体装饰,使它更加逼真;另外颜色搭配合理,不会让人感觉枯燥乏味。当然其中也遇到了很多困难,比如找不到一些组件或者窗口显示不正常等等,但通过同学们的合作最终一一克服。这使我们感觉到课上所学的知识还远远满足不了实际需要,这就要通过具体的实例,逐步加深labview更深层次组件的学习和理解,从实践中积累经验,从而掌握更好的技能。也从这一点让我们感觉到虚拟仪器的功能还有很多很多不为我们所知的地方,从而发现自己的不足,在将来的实践中应努力学习,做到真正掌握这门实用的语言。编程是一件很需要耐心和毅力的事情,同时不应怕失败,而且头脑要灵活。要实现一个目的的途径往往是很多的,此路不通还有其他路,绝不能死钻牛角尖不回头。遇到大困难不要急躁或退缩,要善于化解,把大问题化解成小问题,把难问题化解成易问题,一步一步地化解,最终都能得到满意的结果。每一个课程设计都是动手锻炼和检验所学知识的最好手段,因此我们应该紧紧抓住这些机会,从中学到一些实用的技能。俗话说眼见不如手经,只有亲自尝试过了才算是一种经验的积累。而这种经验不是由任何人通过口头几句话能传达清楚的,因面必须亲自经历。对于我们工科学生,以后要常常从事这些技术工作,这些经验都将在以后渐渐发挥出它巨大的潜力。104.参考文献[1]童刚.虚拟仪器实用编程技术[M].北京:机械工业出版社,2008,1:14-34.[2]申焱华,王汝杰,雷振山.LabVIEW入门与提高范例教程[M].北京:中国铁道出版社,2006,10:80-101.[3]罗志增,薛凌云,席旭刚.测试技术与传感器[M].西安:西安电子科技大学出版社,2008,3:56-65.5.教师评语:课程设计评语课程设计成绩指导教师(签字)年月日
本文标题:虚拟仪器课程设计-电子秤
链接地址:https://www.777doc.com/doc-1856850 .html