-1-简易电子秤(G题)摘要电阻应变式传感器是根据应变原理,通过应变片将机械构件的应变或应变力转换为电阻的微小变化再进行电压测量的精密装置。电阻应变式传感器广泛应用于电子秤以及各种新型结构的测量装置。应变式传感器具有测量范围宽、精度高、动态响应好等多种优点,其结构简单,使用方便,具有一定的开发价值。电阻应变片传感器通过差动放大电路,运算放大器,并采用A/D转换器,通过A/D转换电路把接收到的模拟信号转换为数字信号,传送到显示电路,最后由显示电路(LCD12864)显示数据。这种电子秤具有精确度高,操作简单,性能稳定,价格低廉,成本低,制作简单等优点,能满足各种用途的不同需求。关键字:电子秤,应变片传感器,A/D转换器,显示电路LCD12864。-2-一、设计要求设计并制作一个以电阻应变片为称重传感器的简易电子秤,电子秤的结构如右图所示。如右图所示,铁质悬臂梁固定在支架上,支架高度不大于40cm,支架及秤盘的形状与材质不限。悬臂梁上粘贴电阻应变片作为称重传感器。二、总体思路阻应变片的工作原理是基于应变效应制作的,即导体或半导体材料在外界力的作用下产生机械变形时,其电阻值相应的发生变化,将应变片贴在被测定物上,使其随着被测定物的应变一起伸缩,这样里面的金属箔材就随着应变伸长或应变片原量缩短。很多金属在机械性地伸长或缩短时其电阻会随之变化。应变片就是应用这个原理,通过测量电阻的变化而对应变进行测定。一般应变片的敏感栅与应变成正比例关系。但是由于应变是相当微小的变化,所以产生的电阻变化也是极其微小的。要精确地测量这么微小的电阻变化是非常困难的,一般的电阻计无法达到要求。为了对这种微小电阻变化进行测量,我们使用带有惠斯通电桥,并进行相应的放大。三、方案论证1.惠斯通电桥方案由于应变片由于应变效应改变的阻值较小,经我们组的多次精密测试,有效变化阻值小于±1.5Ω,要精确地测量这么微小的电阻变化非常困难,需要搭建惠斯通电桥进行测量。其中供电电源需要尽量稳压。图1电子秤结构图2总体思路图-3-当应变片的温度变化时,其电阻也将改变。敏感栅的电阻丝阻值随温度变化的关系可表示为:Rt=R0(1+α0Δt),Rt是温度为t时的电阻值;R0是温度为t0时的电阻值;α0是金属丝的电阻温度系数,当温度变化Δt时,电阻的变化为:Rα=Rt-R0=R0α0Δt,Δt为温度的变化值,Δt=t-t0。方案1:单应变片原理:将一块应变片正面贴于铁质悬臂梁上,利用铁质悬臂梁的形变改变应变片的阻值。R4,R5、R6需使用高精度电阻。经测定,从10g重物到200g重物,有效的电压变化从0.22mV到了0.64mV。优点:方案简单,电路功率较小,有利于保护应变片,方便对电桥进行调零。缺点:应变片电阻较小,不容易测输出的微弱电压,不能满足温度补偿,易受温度变化干扰。方案2:半桥方案原理:将一块应变片正面贴于铁质悬臂梁上,另一块背面贴于铁质悬臂梁上,当铁质悬臂梁发生形变时,其中一块应变片电阻增加,另一片电阻减小,更加促进了电桥输出的电压变化,R9,R10需使用高精度电阻。优点:电阻变化比方案一明显。缺点:功率稍大,对应变片有一定的影响,不能满足温度补偿,易受温度变化干扰。方案3:全桥方案图3惠斯通电桥思路图-1图4惠斯通电桥思路图-2-4-原理:将R11和R14应变片正面贴于铁质悬臂梁上,另两块背面贴于铁质悬臂梁上。当铁质悬臂梁发生形变时,两块应变片电阻增加,另两片电阻减小,更加促进了电桥输出的电压变化。经测定,从10g重物到200g重物,有效的电压变化从0.02mV到了0.82mV,变化幅度大于前两个方案。优点:电阻变化比方案一非常明显,对温度变化有一定的补偿,基本可以忽略温度影响。缺点:电桥难以调平,应变片接线较为复杂。综上所述:我们采用方案3(全桥方案),具有一定的温度补偿,能忽略温度带来的电阻变化,并具有明显的稳定的电压变化,对后续软件设计提供便利。2.A/D模块的选用方案一:ADC0809ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。优点:A/D转换的通道较多,使用方便。缺点:只有8位逼近式A/D转换,难以满足简易电子秤的精度要求,完全无法使用。方案二:HX711HX711是一款专为高精度电子秤而设计的24位A/D转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。通道A的可编程增益为128或64,对应的满额度差分输入信号幅值分别为±20mV或±40mV。优点:精密度高,足达24位,可无需接放大电路对惠斯通电桥的微小电压进行放大,自身包含稳压电源和时钟。图5惠斯通电桥思路图-3-5-缺点:由于输入5V电压,满偏电压较小,仅为5mV。满偏电压=激励电压*灵敏度(其中灵敏度为1mV/V)方案三:cs5513Cs5513是美国CRYSTRAL公司生产的20位串行输出的数模转化器,利于使用,自带振荡器,无需外接时钟,无噪声分辨17位,线性误差小于0.0015%,是一种低成本的A/D芯片。优点:分辨率较高,能适应本次设计要求,误差较小使用方便。缺点:需进行信号放大后才可使用。综上所述:由于我们需要的精准的A/D转换,故采用方案2(HX711),其有效位数达17位。在这里我们使用了该芯片的前16位。四、单元模块设计1.惠斯通电桥电路的设计R1、R2、R3、R4都为应变片传感器,阻值为350Ω。当电子秤放上重物时贴于正面的R1、R4电阻增加,R2、R3的电阻减小,在OUT1口和OUT2口会产生一个微小电压变化,可间接测得重物重量。R6为调零电阻,可以通过调节R6来解决惠斯通电桥的平衡,当放上过重的物体产生无法恢复的的形变时,可以通过该调零电阻进行调零,或进行软件调零。2.A/D转换电路的设计本设计采用HX711精密度高,足达24位,可无需接放大电路对惠斯通电桥的微小电压进行放大,自身包含稳压电源和时钟。图6惠斯通电桥电路图-6-3.系统模块的设计本设计使用AT98C52RC单片机作为控制系统,其价格低廉,使用方便,降低了该秤的成本,同时包括了12864和对应的按键模块。4.电源模块的设计该设计电源使用L7805,其组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护图7HX711电路图图8STC89C52RC电路图图9STC89C52RC电路图-7-电路,使用起来可靠、方便,而且价格便宜。五、系统调试经多次调试,本设计性能良好,操作方便,能稳定运行,误差小于±0.5g,有效量程大于500g,符合本次设计要求,并进行创新,实现软件自主调零校准,适应不同的秤臂。软件流程图如右:六、系统功能、指标要求完成程度(1)电子秤可以数字显示被称物体的重量,单位克(g);(10分)能用12864显示,并符合题目要求。(2)电子秤称重范围5.00g~500g;重量小于50g,称重误差小于0.5g;重量在50g及以上,称重误差小于1g;(50分)经过多次准确测量,50g内误差小于±0.5g,50g以上误差小于1g。(3)电子秤可以设置单价(元/克),可计算物品金额并实现金额累加;(15分)能用软件实现设置金额,并实现金额累计,计算金额。(4)电子秤具有去皮功能,去皮范围不超过100g;(15分)电子秤能实现去皮功能,并不超过100g,满足题目要求。(5)其他电子秤能进行超过500g蜂鸣器报警。能在不同秤臂下使用20g砝码进行自动校准。七、设计总结该电路能够准确传输物品的质量,并且精度在±1g之内,并能进行相应的调零,去皮,输入单价并计算价格,累计不同物品总价,实现简易电子秤的功能。电路基本是以模拟电子电路构成的,并由STC89052RC控制,该秤性能稳定可靠,价格低廉,使用方便,实用性能较高,具有一定的应用价值和广阔的市场前景。图10软件流程图-8-附录附录一:程序思路(主函数)#includereg51.h//51系列单片机头文件#includeintrins.h#includelcd12864a.hsbitADDO=P1^6;//声明AD的DT端口sbitADSK=P1^7;//声明AD的SCK端口/**************显示相关*****************/sbitS2=P2^0;//加价sbitS3=P2^1;//移位//sbitS5=P2^2;//退出加价sbitS6=P2^2;//计算总价sbitS7=P2^3;//去皮sbitSS1=P2^6;sbitSS2=P2^4;sbitSS3=P2^5;sbitbeep=P1^0;//sbitS8=P2^6;//归零bitc_flag=1;//改价标志bitpe_flag=0;//去皮标志unsignedintx=0;unsignedintparameter1;unsignedintparameter2;unsignedcharc_num=1;unsignedcharkj1=4;unsignedcharkj2=2;unsignedchark=8;//比例系数unsignedcharweight_num[4]={0};unsignedcharweight5=0,weight4;unsignedintweight6;unsignedcharunit_price[2]={0};unsignedchartotal_price[5]={0};unsignedcharsum_price[7]={0};unsignedlongprice=0;voidcal();//计算价格voidpelled();//去皮voidshow();voidchange_price();voidweight_adjust();voidinit();//声明初始函数voiddelayms(charms);//声明延时函数voidsend_char(chartxd);//声明串口函数voidget_weight();//声明获取体重函数longa,weight;//定义变量类型charc[6],a1,a2;//同上chartab[]=0123456789;//同上longReadCount(void);//同上main()//主函数{lcd_init();//12864显示配置delayms(500);//延时500msinit();//初始化函数TEST:lcd_wcmd(0x01);//清除LCD的显示内容delay2(5);lcd_show(0,0,重量单价);lcd_show(3,0,合计:);lcd_show(3,7,元);lcd_show(2,7,元);lcd_show(2,0,价格);lcd_show(1,3,克);lcd_show(0,6,k);lcd_show(1,7,元);beep=0;delay2(400);beep=1;while(1)//大循环{get_weight();//调用get_weightdelayms(100);change_price();delay2(10);show();cal();pelled();if(SS1==0)-9-gotoSET;}SET:beep=0;delay2(100);beep=1;delay2(50);beep=0;delay2(100);beep=1;delay2(50);beep=0;delay2(100);beep=1;while(!SS1);while(1){lcd_wcmd(0x01);//清除LCD的显示内容delay2(5);lcd_show(0,0,自动调参);lcd_show(1,0,请保持托盘为空);while(SS2){if(S2==0){kj1=kj1+1;}while(!S2);if(S3==0){kj1=kj1-1;}while(!S3);if(S6==0){kj2=kj2+1;}whi