《电子技术应用》
您所在的位置:首页 > 其他 > 业界动态 > 高精度数字式应力传感器的设计与实现

高精度数字式应力传感器的设计与实现

2008-07-21
作者:丁 宏1,蒋洪涛2,王艳红3,

    摘 要: 利用ADI公司的AD?滋C845芯片,提高了系统集成度,采用硬件独特设计以及软件滤波、软件非线性补偿算法,设计并实现了一种精度达10-5以上的高精度数字式应力传感器,满足在一些高精度测量领域的需求。同时,丰富、简便的软件通信协议" title="通信协议">通信协议使传感器在使用过程中的校准、去皮重、软件滤波、多传感器同时工作(阵列方式)时的地址设置变的非常方便、快捷。
    关键词: ADμC845  高精度测量  软件滤波  补偿算法  通信协议

 

    随着计算机技术和集成电路技术的发展,人们对传感器的要求也随之提高,近年来出现的数字传感器" title="数字传感器">数字传感器就是一个很典型的例子。
    目前批量生产的模拟式应力、应变传感器的转换精度一般在万分之三至万分之一,甚至更高。而一些比较常用的应力、应变数字传感器中集成电路芯片内置的A/D" title="A/D">A/D转换器通常是14位的,其极限量化误差在±(1/2)×2-14左右,即绝对值相当于2-14,也就是说,A/D的最后一位通常是靠不住的。因此这类芯片的转换精度可以达到十进制的万分之1.2。从上面分析可以看出,靠这类芯片无法保证原模拟式传感器的转换精度,因为量化误差已经与模拟传感器" title="模拟传感器">模拟传感器的误差处在一个数量级。而数字化后的传感器精度如果低于原模拟传感器的精度,这种转换就已失去意义。
    此前也有一些利用24位的A/D(如AD7730等)与CPU的组合,设计出数字传感器,但其系统集成度明显较低,可靠性也因此降低,而成本则高于本设计。
    本文采用ADμC845芯片,利用其内置的24位A/D、串行口,配以外部232/485芯片、外部数据平滑滤波算法及通信协议,设计了一种集成度较高、能输出232/485数字量的高精度数字式应力传感器,其量化误差在±(1/2)×2-24左右,即相当于2-24,低于1ppm(百万分之一);不仅如此,本设计更大的优点是可以将模拟传感器的剩余非线性补偿掉,使其性能更加优越;同时,采用数据平滑滤波又增加了输出数据的稳定性。通过通信协议,可以对传感器的输出做零点校准、满刻度校准、去皮重、软件滤波、多传感器同时工作等多种设置,也可以非常方便地读出传感器当前的各种状态,如A/D是否溢出、是否计量达到设定值等,使传感器成为真正意义上的数字传感器。此外,还为使用者提供了若干个I/O" title="I/O">I/O状态端子,将动态计量过程特征量通过这些端子表现出来,成为执行机构实施控制的依据,从而具有了控制的功能。
1 硬件组成及工作原理
1.1 ADμC845原理框图
    图1所示为ADμC845的原理框图。

                   
1.2 ADμC845的优势
    ADμC845是51系列兼容的8位单片机,选择该芯片做为数字传感器的核心主要基于其众多特点中的几个突出性能:
    (1)24位∑-Δ A/D转换器(∑-ΔA/D转换器的工作原理在诸多参考文献中已有叙述[1]),具有差分模拟输入、24位无失码、21位有效分辨率、±0.0018%线性误差等特点。由于采用∑-Δ转换技术,量化噪声被移至A/D转换的频带以外,因此特别适合用于宽动态范围内的低频信号A/D转换,具有优良的抗噪声性能。为高精度、低噪声地转换模拟信号提供了条件。
    (2)62KB FLASH程序存储器、4KB FLASH数据存储器,可以支持51系列嵌入式操作系统以及丰富的通信规约、复杂的功能。
    (3)内置看门狗定时器(Watchdog Timer),节省外部资源,使工作更可靠。
    (4)内置温度传感器,该芯片已经具有低温漂的特性(0.5ppm/℃),但为了满足更高性能的要求,利用内置的温度传感器,可对宽温度范围工作时的系统进行温度补偿,进一步提高测量精度。
    (5)低功耗。休眠模式下电流低于20μA。
    (6)宽温度范围,该芯片有两种工作温度范围:-40℃~+85℃和-40℃~+125℃,完全满足工业级的需求。
    以上特点,使ADμC845具有了很多其他芯片组合在一起的优点,因而集成度更高、可靠性更好。
1.3 数字传感器工作原理
      ADμC845的优势使系统硬件变得简单,从而大大提高了系统的可靠性。其原理框图如图2所示。

               
    模拟传感器桥将计量应变信号直接送给ADμC845的内置A/D转换器,A/D转换后的数据经片内固化两级滤波、再经软件滤波进一步处理后由RS232或RS485芯片按一定协议输出,供外部电路处理。
    其中:
    (1)切换电路用于232/485模式切换,可以通过设置选择;长距离传输时采用485模式。
    (2)保护电路(含TVS管和光隔)用于保护通信芯片及CPU不受外部突发干扰的损害。
    (3)端子不仅包括电源、通信信号(RS232时为TX、RX、GND;RS485为A、B),也包括可选的I/O端子以便完成一些控制功能。当需要根据不同的计量信号而对外部设备进行控制时,可用这些端子的输出作为控制信号,其中有3个是达到不同预设(动态)计量值的变位(0/1)端子,计量超差端子等。
    需要特别指出的是:
    (1)模拟电源与基准电源的处理:通常的做法是将模拟电源(桥的激励电源)、数字电源、A/D参考电源分开,但在实际测试中发现,将模拟电源与参考电源共用一个电源时效果会更好。其理由就是这种接法在电源电压略有波动时,桥的激励电源与参考电压发生同步变化,在采样值上这种波动就被抵消了,从而使A/D转换的值更趋于稳定。
    (2)为使硬件工作稳定,ADμC845附近的走线,特别是电源、地线及I/O线的屏蔽等均要考虑[2]
    (3)串行通信接口:可根据不同需求选择232接口或485接口,并通过软件设置来改变。
2 软件编程
2.1 多任务描述

    采用多任务机制,将图3各功能用子任务的形式运行,提高了系统的实时性和可靠性。

                   
    其中:
    主任务——创建子任务并对各项子任务进行协调;
    采样及非线性补偿任务——完成A/D转换及片内数字、片外软件滤波、模拟传感器的非线性补偿;
    温度采样任务——实现温度采样及温度补偿;
    通信及参数设置任务——实现不同速率的串行通信及各种参数的设置;
    控制信号输出任务——实时输出I/O变位信息。
2.2 数字滤波
2.2.1 片内固化的两级滤波

    芯片内部自带两级数字滤波器,滤波方式、数据输出速率可通过对滤波寄存器编程进行选择。第一级滤波器是SINC3滤波(三阶梳状滤波),具有斩波和非斩波两种工作方式,能消除量化噪声;第二级滤波器是FIR滤波(有限阶跃响应滤波),具有三种工作方式:①直通方式,②低通滤波器方式,③快速阶跃方式。可根据不同需求选择。
 为了提高对不同对象的测量数据的可靠性,系统又通过编程增加了如下滤波方法。
2.2.2 软件滤波
    (1)递推平均滤波法(又称滑动平均滤波法)
    其滤波原理如式(1)
   
 


式(1)中,x(i)、x(k)、x(n+k)为不同点的采样值,y(k)为第k点的滤波输出值。
    这种滤波是配合片内的SINC3滤波,对周期性的干扰(如传感器外部布线干扰)等有良好的抑制效果。
    (2)一阶滞后滤波法
    其滤波原理如式(2)
   


式(2)中,x(i)、x(k)、x(n+k)的含义同式(1),y(k)为第k点的滤波输出值。
    这种滤波的原理是考虑到了测量过程中前后两次采样值有比较大的相关性,发生剧烈跳变的可能性不大,因此是一种加权式的平均方式。式中“a”即相当于权重值。
    无论是片内还是软件滤波,均可以经外部通信端口由软件进行选择,针对现场不同的环境选择不同的输出精度和输出速率。
3 非线性补偿
    对于模拟传感器普遍存在的非线性,可以用硬件补偿及软件补偿法进行修正[2][3],传感器厂家通常使用硬件补偿法进行出厂前的修正。本系统主要用软件法修正误差。
    有些传感器的非线性特性可以用函数关系来表示。如式(3)表示的即为电阻式单臂应变电桥。
   

式中,E为供桥电压;K为灵敏系数;ε着为应变参数,与外部受力呈线性关系;Ug是桥的输出电压。
    从式(3)中可以看出,ε着与Ug存在明显的非线性。对于此种类型的传感器,可以把其运算规则(特性关系的反函数)存入AD?滋C845中,这样每测得一个传感器的输出量,就可以通过预存在ADμC845中的运算规则计算得到最终经过补偿的被测物理量[2]
    对不易采用反函数计算补偿的传感器,系统采用了最小二乘法。具体算法如下:
    最小二乘法的一元线性回归的数学模型为[3]
   

式中X,Y为满足线性数学模型的变量;a,b为待定常数和系数;ε为测量的随机误差。
    当对不同的Xi(i=1,2,…n)值分别进行n(n>2)次测量时,得到的结果是式(4)所示的n个测量方程,以最小二乘法对式(4)中的参数a,b的值进行估计如下:
   
 

式中:
   
 

   

    当然,如果在补偿过程中个别点的误差比较大或有些要求极高的场合,也可以采用分段补偿的办法[4]。在宽温度范围下做高精度测量时,可利用ADμC845的内置温度传感器采用逐点描述法在量程内进行温度补偿。
4 通信协议及典型功能
4.1 串行口

    为了使本传感器能够适应多种情况下的测量需要,在软件上做了比较细致的工作。串行通信口既做为ISP(在线编程)口来设置内部参数,也做为串行数据输出口。
4.2 通信协议及功能
    仿照国外流行的数字传感器通信协议(如德国HBM公司的AED_Panel32),抽取部分使用的命令,形成了一个协议子集,共有命令36条(原协议命令105条),通信格式如下:
    命令(参数1)<参数2>;
    其中“命令”由三个大写英文字母组成,参数1、2一般由10进制数组成(个别例外),如:“ADR01”表示目前指向地址为“01”的数字传感器,其地址范围从00~99。“BDR9600”则表示设置下面的所有传感器的通信波特率为9 600b/s。
    另外还规定了对传感器进行校准及计量目标值设定等通信命令,使传感器真正实用化。
 规约命令分类:非线性修正、通信参数设置、地址设置、滤波器设置、计量校准(包括零点和满偏校准)、计量过程参数设置(快投、慢投等)、工作状态传递(计量、ISP状态等)。
    在485通信模式下,设置及校准完好的多个传感器可以同时以“挂灯笼”方式工作,系统最多可以容纳100个传感器,通信波特率可以达到115 200b/s。在计量过程中,不仅能通过串行口源源不断地给出计量值和自身的工作状态,还可以通过辅助I/O端子,输出控制辅助信息,便于使用者直接对执行机构(如电机、阀门等)实施控制。
5 测试
    系统设计完成后,对出厂前的应变片式模拟传感器(量程500kg、标定精度万分之2)做了数字化处理,并在BFSM型力标准机上进行了测试。
5.1 系统设置
    系统的具体设置如下:
    (1)片内A/D采用连续采样;
    (2)片内滤波第一阶采用斩波方式、第二阶采用低通滤波器方式;
    (3)软件滤波采用一阶滞后滤波法;
    (4)非线性补偿:这里采用最小二乘法补偿,在T=300K的恒温下,做多点拟和,计算出式(4)中的a、b的值,并记入采样及非线性补偿任务中备用;
    (5)通信采用485方式;
    (6)加载及卸载均按照0~500kg内均匀设点的方式(0、40、80、120、160、…、480kg)。
5.2 测量方法
    (1)精度方面的测量,在上述的标准砝码点上与理论值及标定精度值进行比对;
    (2)非线性补偿的测量,在上述各点上进行测试,并使软件中最小二乘法补偿开关分别处于接通和断开状态,观察不同的结果。
5.3 测试结果
    测试结果表明:
    (1)按照模拟传感器的测试记录,标定有万分之2精度的传感器经过转换及数字化后,在上述的标定点上的测量结果与原传感器出厂记录完全相同,即不产生附加误差。
    (2)在非线性测量点上,当不使用最小二乘法补偿时,最大非线性误差(380kg点上)为万分之1.7,在同样条件下,使用最小二乘法补偿,最大非线性误差减小为万分之0.6。
    (3)辅助I/O点的使用。可将4个I/O点(主要为输出点)分别设为运行、快速投料、慢速投料、卸料。在启动测量时“运行”有效、经延迟后“快速投料”及“慢速投料”均有效,达到某设定值时“快速投料”失效,达到另外的(较大)设定值时,“慢速投料”失效,经计量惯性而达到预设计量目标值并稳定后,“卸料”有效。当然,也可以根据要求将各I/O设定为其他方式。
    总之,通过实际的测试,证明系统完全达到了设计目标——数字传感器不仅可以实现被测量的数字化,更重要的是通过软件可以补偿传感器残留的非线性,使其性能提高1个数量级,以实现精度更高的测量。在辅助I/O的协助下,还可以实现多种控制功能,使其更加智能化。
参考文献
[1] AD7730/AD7730L Bridge Transducer ADC.Analog Device Inc,1998.
[2] 周胜海.传感器非线性的硬件校正方法[J].传感器技术,2002,21(5).
[3] 贾智伟.传感器信号的非线性补偿[J].传感器技术,2002,21(5).
[4] 朱庆保.传感器特性曲线的自适应分段最佳拟合及应用[J].传感器技术,2002,21(1).
[5] 王化祥.传感器原理及应用(修订版)[M].天津:天津大学出版社,1999.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。