G简易电子秤报告.docx

上传人:b****4 文档编号:24470295 上传时间:2023-05-27 格式:DOCX 页数:18 大小:344.01KB
下载 相关 举报
G简易电子秤报告.docx_第1页
第1页 / 共18页
G简易电子秤报告.docx_第2页
第2页 / 共18页
G简易电子秤报告.docx_第3页
第3页 / 共18页
G简易电子秤报告.docx_第4页
第4页 / 共18页
G简易电子秤报告.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

G简易电子秤报告.docx

《G简易电子秤报告.docx》由会员分享,可在线阅读,更多相关《G简易电子秤报告.docx(18页珍藏版)》请在冰豆网上搜索。

G简易电子秤报告.docx

G简易电子秤报告

简易电子秤(G题)

 

摘要

电阻应变式传感器是根据应变原理,通过应变片将机械构件的应变或应变力转换为电阻的微小变化再进行电压测量的精密装置。

电阻应变式传感器广泛应用于电子秤以及各种新型结构的测量装置。

应变式传感器具有测量范围宽、精度高、动态响应好等多种优点,其结构简单,使用方便,具有一定的开发价值。

电阻应变片传感器通过差动放大电路,运算放大器,并采用A/D转换器,通过A/D转换电路把接收到的模拟信号转换为数字信号,传送到显示电路,最后由显示电路(LCD12864)显示数据。

这种电子秤具有精确度高,操作简单,性能稳定,价格低廉,成本低,制作简单等优点,能满足各种用途的不同需求。

关键字:

电子秤,应变片传感器,A/D转换器,显示电路LCD12864。

一、设计要求

设计并制作一个以电阻应变片为称重传感器的简易电子秤,电子秤的结构如右图所示。

如右图所示,铁质悬臂梁固定在支架上,支架高度不大于40cm,支架及秤盘的形状与材质不限。

悬臂梁上粘贴电阻应变片作为称重传感器。

二、总体思路

阻应变片的工作原理是基于应变效应制作的,即导体或半导体材料在外界力的作用下产生机械变形时,其电阻值相应的发生变化,将应变片贴在被测定物上,使其随着被测定物的应变一起伸缩,这样里面的金属箔材就随着应变伸长或应变片原量缩短。

很多金属在机械性地伸长或缩短时其电阻会随之变化。

应变片就是应用这个原理,通过测量电阻的变化而对应变进行测定。

一般应变片的敏感栅与应变成正比例关系。

但是由于应变是相当微小的变化,所以产生的电阻变化也是极其微小的。

要精确地测量这么微小的电阻变化是非常困难的,一般的电阻计无法达到要求。

为了对这种微小电阻变化进行测量,我们使用带有惠斯通电桥,并进行相应的放大。

图2总体思路图

三、方案论证

1.惠斯通电桥方案

由于应变片由于应变效应改变的阻值较小,经我们组的多次精密测试,有效变化阻值小于±1.5Ω,要精确地测量这么微小的电阻变化非常困难,需要搭建惠斯通电桥进行测量。

其中供电电源需要尽量稳压。

当应变片的温度变化时,其电阻也将改变。

敏感栅的电阻丝阻值随温度变化的关系可表示为:

Rt=R0(1+α0Δt),Rt是温度为t时的电阻值;R0是温度为t0时的电阻值;α0是金属丝的电阻温度系数,当温度变化Δt时,电阻的变化为:

ΔRα=Rt-R0=R0α0Δt ,Δt为温度的变化值,Δt=t-t0。

方案1:

单应变片

图3惠斯通电桥思路图-1

原理:

将一块应变片正面贴于铁质悬臂梁上,利用铁质悬臂梁的形变改变应变片的阻值。

R4,R5、R6需使用高精度电阻。

经测定,从10g重物到200g重物,有效的电压变化从0.22mV到了0.64mV。

优点:

方案简单,电路功率较小,有利于保护应变片,方便对电桥进行调零。

缺点:

应变片电阻较小,不容易测输出的微弱电压,不能满足温度补偿,易受温度变化干扰。

方案2:

半桥方案

图4惠斯通电桥思路图-2

原理:

将一块应变片正面贴于铁质悬臂梁上,另一块背面贴于铁质悬臂梁上,当铁质悬臂梁发生形变时,其中一块应变片电阻增加,另一片电阻减小,更加促进了电桥输出的电压变化,R9,R10需使用高精度电阻。

优点:

电阻变化比方案一明显。

缺点:

功率稍大,对应变片有一定的影响,不能满足温度补偿,易受温度变化干扰。

方案3:

全桥方案

图5惠斯通电桥思路图-3

原理:

将R11和R14应变片正面贴于铁质悬臂梁上,另两块背面贴于铁质悬臂梁上。

当铁质悬臂梁发生形变时,两块应变片电阻增加,另两片电阻减小,更加促进了电桥输出的电压变化。

经测定,从10g重物到200g重物,有效的电压变化从0.02mV到了0.82mV,变化幅度大于前两个方案。

优点:

电阻变化比方案一非常明显,对温度变化有一定的补偿,基本可以忽略温度影响。

缺点:

电桥难以调平,应变片接线较为复杂。

综上所述:

我们采用方案3(全桥方案),具有一定的温度补偿,能忽略温度带来的电阻变化,并具有明显的稳定的电压变化,对后续软件设计提供便利。

2.A/D模块的选用

方案一:

ADC0809

ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。

其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。

优点:

A/D转换的通道较多,使用方便。

缺点:

只有8位逼近式A/D转换,难以满足简易电子秤的精度要求,完全无法使用。

方案二:

HX711

HX711是一款专为高精度电子秤而设计的24位A/D转换器芯片。

与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。

通道A的可编程增益为128或64,对应的满额度差分输入信号幅值分别为±20mV或±40mV。

优点:

精密度高,足达24位,可无需接放大电路对惠斯通电桥的微小电压进行放大,自身包含稳压电源和时钟。

缺点:

由于输入5V电压,满偏电压较小,仅为5mV。

满偏电压=激励电压*灵敏度(其中灵敏度为1mV/V)

方案三:

cs5513

Cs5513是美国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来解决惠斯通电桥的平衡,当放上过重的物体产生无法恢复的的形变时,可以通过该调零电阻进行调零,或进行软件调零。

图6惠斯通电桥电路图

2.A/D转换电路的设计

本设计采用HX711精密度高,足达24位,可无需接放大电路对惠斯通电桥的微小电压进行放大,自身包含稳压电源和时钟。

图7HX711电路图

3.系统模块的设计

本设计使用AT98C52RC单片机作为控制系统,其价格低廉,使用方便,降低了该秤的成本,同时包括了12864和对应的按键模块。

4.电源模块的设计

该设计电源使用L7805,其组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价

格便宜。

五、系统调试

经多次调试,本设计性能良好,操作方便,能稳定运行,误差小于±0.5g,有效量程大于500g,符合本次设计要求,并进行创新,实现软件自主调零校准,适应不同的秤臂。

软件流程图如右:

 

六、

图10软件流程图

系统功能、指标

要求

完成程度

(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控制,该秤性能稳定可靠,价格低廉,使用方便,实用性能较高,具有一定的应用价值和广阔的市场前景。

附录

附录一:

程序思路(主函数)

#include//51系列单片机头文件

#include

#include

sbitADDO=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);//延时500ms

init();//初始化函数

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_weight

delayms(100);

change_price();

delay2(10);

show();

cal();

pelled();

if(SS1==0)

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;

}while(!

S6);

if(S7==0)

{kj2=kj2-1;

}while(!

S7);

lcd_pos(0,5);

lcd_wdat(kj1+0x30);

lcd_pos(0,6);

lcd_wdat(kj2+0x30);

if(SS1==0)

gotoTEST;

}

get_weight();

parameter1=a;

beep=0;

delay2(100);

beep=1;

lcd_show(1,0,"请加入20g砝码");

while(SS3)

{if(S2==0)

{kj1=kj1+1;

}while(!

S2);

if(S3==0)

{kj1=kj1-1;

}while(!

S3);

if(S6==0)

{kj2=kj2+1;

}while(!

S6);

if(S7==0)

{kj2=kj2-1;

}while(!

S7);

lcd_pos(0,5);

lcd_wdat(kj1+0x30);

lcd_pos(0,6);

lcd_wdat(kj2+0x30);

if(SS1==0)

gotoTEST;

}

get_weight();

parameter2=a;

beep=0;

delay2(100);

beep=1;

k=(parameter2-parameter1)/20;

lcd_show(1,0,"");

lcd_show(1,0,"已完成k=");

lcd_pos(1,5);

lcd_wdat(k+0x30);

lcd_show(3,0,"S6退出");

while(SS1)

{

if(SS1==0)

gotoTEST;}

}

}

voidshow()

{lcd_pos(1,0);

lcd_pos(0,7);

lcd_wdat(k+0x30);

weight6=(a-x)/k-weight4;//a为实际ad值,x为初始ad值,weight4为皮重

weight5=(a-x)%k;

if(weight5>=5)

weight_num[3]=5;

elseweight_num[3]=0;

weight_num[0]=weight6%1000/100;

weight_num[1]=weight6%100/10;

weight_num[2]=weight6%10;

warn();

weight_adjust();

lcd_pos(1,0);

lcd_wdat(weight_num[0]+0x30);

lcd_wdat(weight_num[1]+0x30);

lcd_wdat(weight_num[2]+0x30);

lcd_wdat(0x2e);

lcd_wdat(weight_num[3]+0x30);

//lcd_show(1,0,uchfrtostr(weight[0]+weight[1]));

lcd_pos(1,5);

lcd_wdat(unit_price[0]+0x30);

lcd_wdat(0x2e);

lcd_wdat(unit_price[1]+0x30);

lcd_pos(2,4);

lcd_wdat(total_price[0]+0x30);

lcd_wdat(total_price[1]+0x30);

lcd_wdat(total_price[2]+0x30);

lcd_wdat(total_price[3]+0x30);

lcd_wdat(0x2e);

lcd_wdat(total_price[4]+0x30);

lcd_pos(3,3);

lcd_wdat(sum_price[6]+0x30);

lcd_wdat(sum_price[5]+0x30);

lcd_wdat(sum_price[0]+0x30);

lcd_wdat(sum_price[1]+0x30);

lcd_wdat(sum_price[2]+0x30);

lcd_wdat(sum_price[3]+0x30);

lcd_wdat(0x2e);

lcd_wdat(sum_price[4]+0x30);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1