质量测试仪.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
质量测试仪

质量测试仪 摘要: 本文主要介绍了质量测量仪的设计,包括硬件和软件的设计。先对该测量仪进行概括的介绍,然后介绍该测量仪在硬件设计上的主要器件:电阻应变式称重传感器,放大器LM358,STM32单片机和LCD液晶显示器以及描述测量仪的总体结构原理。在本设计中,是以电阻应变式称重传感器对被测对象的质量产生的电压进行采集,并对电压值进行差分变换后通过放大电路,经过滤波处理,最终由液晶显示当前的物体对应的质量。总体来说,该设计是可实现的。 关键词:压力;电阻应变式称重传感器;STM32单片机;LCD液晶;LM358; 1引言 随着计量技术和电子技术的发展,传统纯机械结构的杆秤、台秤、磅秤等称量装置逐步被淘汰,电子称量装置电子秤、电子天平等以其准确、快速、方便、显示直观等诸多优点而受到人们的青睐。而且随着微电子技术的应用,市场上使用的传统称重工具已经满足不了人们的要求。为了改变传统称重工具在使用上存在的问题,本文设计了一种电子秤,论述了仪器的工作原理,介绍了仪器的电路设计与软件流程。本系统主要由单片机来控制,测量物体重量部分由称重传感器及A/D转换器组成,加上显示单元,此电子秤俱备了功能多、体积小、操作简单、性能价格比高、功耗低、系统设计简单。 2质量测试仪原理 本系统中用于称量的主要器件是称重传感器(电阻应变式称重传感器),称重传感器在受到压力时会产生电信号,受到不同压力产生的电信号也随着变化,而且力与电信号的关系一般为线性关系。由于称重传感器输出信号比较小,对A/D转换或单片机的工作参数来说不能使A/D转换和单片机正常工作,所以需要对输出的信号进行放大。由于传感器输出的为模拟信号,所以需要对其进行A/D转换为数字信号以便单片机接收。单片机收到信号后进软件的一系列处理后把处理后的信号——物重显示于LCD上。在本系统中,硬件电路的构成主要有以下几部分:?ATM32的最小系统构成、电源电路、压力传感器电路、放大电路、检波滤波电路?、AD转换电路以及显示电路组成。? 电阻应变式传感器为本课程设计的主要部件,传感器中的弹性元件感受物体的重力并将其转化为应变片的电阻变化,再利用交流全桥测量原理得到一定大小的输出电压,通过电路输出电压和标准重量的线性关系,建立具体的数学模型,在显示表头中将电压(V)改为质量(kg)即可实现对物品质量的称重。 3 硬件部分设计 3.1电阻应变式称重传感器 电阻应变式称重传感器实物图 电阻应变式称重传感器原理图 R1、2、3、4为4个应变片电阻,组成了桥式测量电路,Rm为温度补偿电阻,e为激励电压,V为输出电压。 3.2差分放大电路: 差分放大原理图 ??????????? ?通常,第一级增益要尽量高,第二级增益一般为1~2倍,这里第一级选择100倍,第二级为1倍。则取R3=R4=R5=R6=10KΩ,要求匹配性好,一般用金属膜精密电阻,阻值可在10KΩ~几百KΩ间选择。则?Avd=(RP+2R1)/RP? 3.3调零放大电路: 图:调零放大电路 由于上一级差分放大的电路产生的电压偏差为0.1V,所以在调零电路中下拉了2*5/(100+2)的电压。 3.4低通滤波电路: 图:低通滤波电路 4 软件部分设计: 4.1 数据采集 下图为测得的AD值与质量的关系列表,其中Y为质量,单位为g,X为其相对于质量所测得的AD值。 图:数据AD与质量关系图 4.2 数据拟合 下图为所采集数据经过MATLAB处理后拟合的曲线图,及其对应的函数关系式。 图:拟合曲线图 图:函数关系式 4.3 主程序代码 #include "delay.h" #include "sys.h" #include "usart.h" #include "lcd.h" #include "adc.h" int main(void) { u16 adcx; float temp; delay_init(); //延时函数初始化 uart_init(9600); //串口初始化为9600 LED_Init(); //初始化与LED连接的硬件接口 LCD_Init(); Adc_Init(); //ADC初始化 //显示提示信息 POINT_COLOR=BLUE;//设置字体为蓝色 LCD_ShowString(60,130,200,16,16,"ADC_CH0_VAL:"); LCD_ShowString(60,150,200,16,16,"ADC_CH0_VOL:0.000KG"); while(1) { adcx=Get_A

文档评论(0)

cjbckk + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档