咨询电话

ENGLISH0755-86329511
学习专题

咨询电话

0755-86329511
您的位置:首页 > 学习专题 > 专业技术专题 > 工业自动化称重仪表>详情页

智能仪表非线性自动校正方法研究

发布时间:2020-10-12 14:09:55 |来源:

0引言
智能仪表的模拟输入通道一般由传感器、前置放大电路、有源滤波器、采样保持电路(S/H)、A/D转换器和微机系统等电路组成⑴。由于电子元器件性能参数的髙散性、稳定性和温度敏感性等问题,目前还得不到根本的解决。因此,从传感器到A/D转换之间的任何一个环节都存在非线性的问题,使得A/D转换值n与被测量,不成线性关系,即e砖ax+b(a、b为常数)⑵。如果不解决这种非线性问题,将会严重影响智能仪表的测量精度。常用的非线性校正方法有校正函数法、查表法和模型校正法。
①校正函数法要求传感器的输入/输出特性能用数学解析式表示,且输入通道的其它环节可认为是线性的。事实上,很多传感器的输入/输岀特性很难用解析式表示,并且如果解析式计算太复杂,还会严重影响测量速度。因此,校正函数法的应用受到较大的局限⑷。
②査表法必须针对每一个传感器进行校正,而且需要把大量的校正数据制成表格存入仪表内存。而~般的智能仪表的内存非常有限;当因故更换传感器时,需要重新校正、修订内存中的表格数据,应用起来也非常不方便⑴。
③模型校正法的基本原理是设法找到一个近似函数g(x)或多个分段近似函数g,(x)屈3)膑)、g’G)等来代替原函数/(x)o模型校正法的关键是如何求出既能满足精度要求,又能满足计算简单的校正模型。通常校正模型计算太复杂会影响测量速度,所以采用模型校正法进行非线性校正时,往往釆用离线处理的方式成。
智能仪表的特点是:采用的微控制器通常不便于进行复杂的计算,内存也非常有限,而且很多情况下实时性要求高,不允许离线校正。因此,寻找到一种简便、有效、通用的非线性自动校正方法,具有非常重要的意义。
1非线性自动校正算法
采用分段直线方程的非线性校正原理如图1所示。设仪表的被测量用*表示,仪表中对应的A/D转换值用N表示,则曲线0M表示仪表的非线性特性曲线。现将曲线分成若干段,如果分段点的位置和分段数选取合适,则每一段曲线可近似看成是一直线段。这样,曲线就可看成是由若干宜线段组成。如图中虚线段AB^BC可分别近似表示曲线曲和曲线BC。

非线性校正原理图

图1非线性校正原理
Fig.1Principleofnonlinearcorrection

图1中:曲线OM分段后各段端点对应的被测信号分别为X。AA,…,Xf,x.Xz,…,x.;仪表中对应的A/D转换值分别为N°,N\,Nz,…,Nz,N“Ne,…,Nq其中,臨为被测量的最小值,X为被测量的最大值。显然线段48的斜率为:
曲线段上的点(n/(n)),可用直线段AB上的点P(n,x)近似表示,而点P满足:
i=l,2,3,…,m,    (2)
将式(1)代入式(2),则有:
(f(Xf
叫-Ni
式(2)、式(3)就是得到的分段直线校正方程。其中式(2)可称为点斜式校正方程,因为校正方程由线段上的端点(W,_“X,f)和斜率如决定;式(3)可称为两点式校正方程,因为校正方程由线段上的两端点(凡_|遇3和(叫周)决定。
在校准时,若釆用点斜式校正方程,则依次把校正方程参数(NtAj)和佑(其中i=l,2,3,-,m)存入仪表的内存;若釆用两点式校正方程,则依次把校正方程参数(N,,X,)(其中i=0,1,2,3,…,m)存入仪表的内存。在实际测量时只要先用程序判断仪表当前的A/D转换值N位于哪一个直线段,再从仪表内存中取出相应直线段的校正方程参数,则可由校正方程求岀相应的测量值X。
从校正方程可以看出,测量值只与校正点的测量数据有关,而与包括传感器在内的模拟输入通道的各环节的非线性并无直接关系。因此,只要仪表的重复性或稳定性较好,即在不同时刻测量同一被测量X时,得到的A/D转换值N始终或基本保持不变,不论非线性是由于传感器还是因为模拟输入通道的其它环节引起的,都可以达到非线性校正的目的,从而保证仪表的测量精度。理论上讲,分的段数越多,仪表的测量精度就越高,但相应地,占用仪表的内存也越多,测量速度也会有少许影响,校准时也会稍微复杂。
需要指出的是,各种智能仪表存在较大的差异,实际应用中要视具体情况对非线性校正方程进行必要的修正。
2在称重仪表中的应用
在电子衡器中,广泛采用的称重传感器是压力或拉力传感器。不论传感器的量程多大,其满度输出一般为2mV左右,因此,对于同一种类型(静态或动态)的电子衡器而言,往往可以采用通用的称重仪表。
电子衡器尤其是商用电子衡器,不仪对称重精度有很高的要求,而且对实时性也有较高的要求。因此,称重仪表的非线性校正必须采用在线方式。
2.1非线性自动校正方程的修正
在称重仪表中,最小测量值Xo=Okg,对应的零点值"0,而且会随着环境温度的变化而变化,实际测量时,各校正点X,对应的A/D转换值=1,2,3,…)也会因零点的变化而相应发生变化。也就是说,环境温度变化后,实际测量时,当被测量为X时,仪表内部获取的A/D转换值不再是校正时的N,.,从而使得按上述校正方程式(2)或式(3)求取的测量校正值是错误的或不准确的。
实验证明,称重仪表的零点值畦受环境温度的影响较大,而其非线性特性曲线受环境温度的影响较小⑺。如图1中所示,M发生变化后,可以近似认为非线性特性曲线0M只是适当左移或右移。也就是说,尽管叫,是变化的,而M-叫("1,2,3,…)可以认为是不变的。
一般来说,每天的不同时刻都会存在一定的温差,但每天的温度变化都非常缓慢,称重仪表的零点在使用过程中的变化也非常缓慢。根据这个特点,我们完全可以用软件的方法实现零点跟踪,即在某个较短的时间段0.58)内,若采样到的A/D值n与彳前的零点此之差的绝对值不超过某个较小的数值,则冬M=no
鉴于仪表的零点值总受环境温度的影响较大,非线性校正方程要作相应的修正:不管是校正时还是实际测量时,均把得到的A/D转换值减去零点值M。此时,点斜式校正方程修正为:
2.2校正方程参数的存储结构
对于点斜式校正方程式(4)而言,要存入仪表内存的校正方程参数为:叫t、Xe和纣i=1,2,3,…,m;凯=X°=0),可用一个三维数组形式的表格存放。
对于两点式校正方程式(5)而言,要存入仪表内存的校正方程参数为:M"9=0,l,2,3,・”,m;M,=X。=0),可用一个二维数组形式的表格存放。
考虑到M°=X°=0,故刈和&不必保存,但应在表首位置存储校正点数爲两个校正方程的校正参数在仪表内存中的存储结构分别如图2所示,其中Tab.1和Tab.2分别表示内存参数表首地址。

两点式要做一次乘法运算和一次除法运算。考虑到:计算斜率庇时,为了保证测量精度,小数点后需要保留足够的位数,视具体情况而定;而智能仪表中采用的微控制器通常不方便做小数乘法运算,而且位数越多、运算越耗时;另外,当分段数大于3时,点斜式比两点式所需内存空间要多。因此,对于在线实时校正的智能仪表来说,采用两点式校正方程往往更合适一些。这里选用式(5)作为校正方程。为了描述时区分校正方程中的变量和仪表内存中存储的校正参数,对校正方程做如下变量代换,令a=X「i,b=X,,c=材i,d=此,则校正方程式(5)变为:

称重计量时的非线性校正要解决以下三个问题。
①如何找出N位于哪一个直线段,考虑到校正点数不会太多,可采用简单的顺序查找法。
②在没有进行校正前,仪表如何显示实测重量。
按全量程线性处理,即把量程的最大值X作为唯一校正点,但校正点数j记为0,表示未进行过校正。因此,仪表内存参数表初始化时J处保存0、吃处保存N“-N°、X,处保存,和£是可以预知的,而且也可以估算出来或通过实测获得。
③当实际称量物体的重量超过最大校准点重量时,仪表如何显示实测重量。
按最大校准点求得的校正参数进行校正。

2.3非线性自动校正
称重仪表(电子衡器)的校准过程如下:
①在称重仪表预热后,按〈校准〉功能键(为安全起见,可要求输入一串验证码),进入校准状态,此时仪表按原校准参数显示重量值;
②称量重量为Z的标准球码;
③从仪表键盘输入标准雖码重量值Z,完成一个点的校准,此后仪表按新校准参数显示重量值;
④增加砥码重量,重复第②~③步,直到按<完成校准〉功能键(为安全起见,可要求输入一串验证码)结束校准。
该流程限定了每次校准时只能从小到大依次进行,并且只要校准了一个点,上一次的校正参数将不复存在。考虑到大量程电子衡器校准工作量非常大,而校准点数较多,校准过程中难免有输入差错,为了避免在校准的后期因差错而要推倒重来,可以将该算法稍加改进,允许取消当前的校准点参数,以便对该点重新校准。一般来说,可以选择衡器规定的检定点作为校准点。
3结束语
采用分段直线方程的非线性自动校正算法本质上属于模型校正法,但该算法并不是单纯从解决传感器等某个环节的非线性问题着手,而是着眼于解决智能仪表中整个模拟输入通道的非线性校正问题。其主要特点是实现了智能仪表非线性的在线自动校正,校正模型简单、校正参数容易获取、通用性好,在智能仪表中具有广泛的应用价值。
在称重仪表中的实际应用表明,该算法简单、实用、方便实现、使用效果良好。

 

文章来源于网络转载,侵删

分享到