摘 要: 对电子计价秤系统的误差进行分析,采用Z8单片机技术,用线性插值方法,总结出一种方便、准确、有效的非线性修正方法。
关键词: 电子秤 单片机 EEPROM 自动修正方法
传统的电子计价秤多采用MCS-51系列单片机,体积大成本高,加之调校办法多采用微调开关,这种方法操作繁琐,附加硬件多,特别在重力加速度差别比较大的地方,还要进行重力加速度的修正,给生产制造带来很大不便。本文以高性价比的单片机Z86E08为核心,通过与EEPROM接口进行数据交换,用内码自动标定来修正误差,提高了测量精度,降低了成本,简化了调校过程。
1 电子秤系统的组成
电子秤系统由七部分组成(如图1)。Z86E08单片机为18只引脚的8位OTP(ONE-TIME-PRO-GRAMMABLE)型单片机,是系统的核心部分。传感器,放大器和A/D转换电路组成了系统的重力测量电路。称重传感器为应变式传感器,经过前置放大器OP07把输入信号放大,又经双积分A/D转换电路进入单片机进行数据处理。标定数据交换电路采用ATMEL公司的串行EEPROM24C01,其特点是基于I2C总线,数据一旦写入可长年保存,标定数据保存在其中。键盘输入电路由74HC138与二个输入口组成16个键盘,液晶显示驱动电路选用NEC公司UPD7225集成电路,可驱动16位8段液晶显示。
2 系统静态误差分析
测量系统按其误差性质分为系统误差和随机误差。随机误差是服从大数统计规律的误差。测量的精确度由系统误差来表征。在这里只对系统误差进行讨论。由以上分析可知与测量精度有关的电子秤测量系统组成如图2所示,由四个串联环节组成。设:δ1为传感器的相对误差,δ2为放大器相对误差,δ3为A/D转换电路的相对误差,δ4为单片机数据处理相对误差,则系统总的相对误差 δ=δ1+δ2+δ3+δ4。对于理想系统δ=0,即δ1+δ2+δ3+δ4=0。由此可见只要调整δ4的相对误差,使δ4=-(δ1+δ2+δ3)就可以消除系统的误差,也就是说可以通过单片机软件处理进行修正系统的相对误差。
3 非线性误差修正方法
3.1 线性插值法
电子秤测量系统中,传感器,放大器,A/D转换电路总是存在非线性误差。通过硬件很难达到要求,一般要通过软件来实现。如图3所示,被测量为X,显示输出数值为Y,用线性插值法可以实现实际曲线与理论曲线的拟合。线性插值的方法如下,把0到满量程Xman平均分为n段(n的大小由系统测量的精度不同而定),每段ΔX=Xman/n,相对于输出0到Yman也同样分为n段,每段为ΔY=Ymax/n。此时
X1=ΔX,X2=2ΔX,X3=3ΔX,…Xn=nΔX。
Y1=ΔY,Y2=2ΔY,Y3=3ΔY…Yn=nΔY,
图中Y1,Y2,Y3,…Yn为理论输出值,Y1’,Y2’,Y3’…Yn’为相对于理论输出值的实际测量值。
由此可以得出每段的修正值:
这样一来就可以得出修正后任一点的值
Y=Yn-1+a2(Yn’-YnYn-1’);(Yn-1’<Y’<Yn’)
其中,Y为修正以后的测量值,Yn-1为对应于Xn-1点处的理论值,且Yx-1=(n-1)ΔY,Y’为任一点的实际测量值。这样一来就实现了分段线性插值,可以根据不同的精度要求选取n的大小。
3.2 自动修正方法的实现
根据以上分析可以看出用线性插值法结合单片机技术可以实现自动修正。方法如下:
a根据精度及测量范围要求,平均分为n段,则每段的值为ΔY=Yman/n,每段分界点的理论数值为Y1=ΔY,Y2=2ΔY,…Yn=nΔY。
b测量每段分界点的数值Y1’,Y2’,Y3’,…Yn’。
c计算每段修正值
d保存修正值a1,a2…an及相对应的每段分界点的数值Y1’,Y2’,…Yn’。以上四个步骤通过单片机软件很容易实现。保存的数据可以通过外接的EEPROM加以保存,在掉电的情况下数据不会丢失。只需修正一次就可以进行工作。在测试过程中利用公式:Y=Yn-1+an(Y’-Yn-1’);Yn-1’<Y’<Yn’式中,Yn-1,an,Yn-1’在修正过程中为已知数,Y’为当前测量数值,通过比较判断数值所在的区段,可以得到修正后的测量数值。在测量计算中,只用到比较判断和加减乘除的运算,这在单片机中通过软件能非常容易实现。值得注意的是n取值越大,修正的精度越高,但单片机的运算量增加,运算时间就越长。
4 实例
电子计价秤的测量范围为0~15Kg,分度值为e=5g,按三级标准满量程误差小于3.05g即12.25g,如表1所示,从测量的结果可以看出满量程绝对误差为30g,必须进行修正。取n=4,得出各分界点的数值Y1,Y2,Y3,Y4及各段的修正值a1,a2,a3,a4。把各点的修正值及数值保存在EEPROM中,通过软件来实现。在测试阶段,读出EEPROM中的数据,利用公式就可以得出修正后的示值。
对于电子称重系统来说,系统是对物体的质量进行测量,而测量的方法是通过重力来进行的,由于重力加速度随地区的不同对测量精度产生影响。如北京和杭州重力加速度分别为9.8015,9.7936。由于重力加速度不同产生的相对误差为:
对于15kg的重力绝对误差为2.099g,这在高精度测量中是不允许的。用自动修正的方法可在不知道当地重力加速度的情况下在当地用砝码进行修正,因为自动修正方法是综合性的调校,把外部环境与内部因素条件一起进行修正。
上一篇:DS1820及其高精度温度测量的实现
下一篇:多生命参数监护仪用呼吸检测电路
- 热门资源推荐
- 热门放大器推荐
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况