文献标识码: A
DOI:10.16157/j.issn.0258-7998.2016.05.005
中文引用格式: 杨峰,杨洋,潘彬,等. 基于自主传感器信号调理芯片温度补偿的软件设计[J].电子技术应用,2016,42(5):18-20.
英文引用格式: Yang Feng,Yang Yang,Pan Bin,et al. Design of the temperature compensation software based on self-made transducer signal conditioning chip[J].Application of Electronic Technique,2016,42(5):18-20.
0 引言
针对压阻式压力传感器在应用中易发生温度漂移的问题,开发了一种智能压阻式传感器温度补偿系统。该方法利用现代信号调理技术,以信号调理芯片为核心,通过插值法对采集的温度补偿参数进行拟合,从而实现了对压阻式压力传感器温度漂移的高精度补偿。
在实际应用中,大多数压力传感器为集成单臂电桥和差分输出信号的压阻式传感器,这类传感器具有高灵敏度、高线性度、稳定性好等优点,但是由于硅压阻传感器使用的半导体材料——硅的固有特性,使得该传感器存在一致性差、温度漂移和非线性等问题[1],同时由于其扩散电阻的温度系数较大和制作工艺,使其在宽温区的高精度受限[2]。
软件补偿是利用计算机的强处理能力,通过一系列的补偿算法对压力传感器因温度变化所产生的漂移进行修正。这种方法不仅可以补偿温度变化对压力传感器造成的影响,同时还可改善非线性指标,是提高压力传感器精度的一种有效方法。与硬件补偿相比, 软件补偿的效果好、精度高且成本低。
1 补偿流程及核心算法
1.1 传感器补偿流程设计
本文所设计的温度补偿系统对压阻式压力传感器的补偿分为两部分:预补偿过程和在温度预设点下的正式补偿过程。由于不同的压阻式压力传感器桥路电阻、灵敏度、输出电压范围等参数存在很大差异,需要使用前在常温下对压力传感器进行预补偿,以保证芯片内部电路工作在线性及可调节的范围内。预补偿流程图如图1所示。预补偿过程通常在常温下进行,目的是计算正式补偿过程中所需要的各种寄存器的初始化值。在预补偿之后,可以进入正式补偿流程。
正式补偿流程图如图2所示,补偿的主要内容是求取设定温度点的灵敏度补偿系数 FSO、偏移量系数补偿系数 OFFSET。
HKA2910可以设定1~114个待定补偿的温度点数。如果只进行单点温度补偿,则写入Flash中不同温度的补偿数据都相同。进行两点温度补偿时,则会对不同温度的校准数据进行线性拟合。进行三点或三点以上的温度补偿时,软件会对不同温度的校准数据进行拟合。
1.2 补偿数值拟合算法
如果用实验的方法,在-55 ℃~+150 ℃的范围内,把各个温度下的补偿系数都测出来,将是一项非常耗时且重复性强的工作,这是没有必要的。通常情况下,选择有限的离散温度点对压力传感器进行校正,然后记录这些温度点上的补偿系数,采用软件的算法得到在各个温度点的补偿系数。
采用软件算法实现离散数据的线性化,通常有查表法和插值法。查表法获得的数据的线性度与表数据的数量有关,数据越多则线性度越好,但是数据越多所需要占用的存贮空间也越大[3]。
本系统采用插值法对数据进行拟合,线性插值法是一种常用的插值方法。如图3所示,X为自变量,Y为因变量,它们是非线性关系。插值法把自变量X分成n个均匀的区间,每个区间的端点Xn都对应一个Yn。实际的测量值X一定会落在某个区间(Xn,Xn+1)内,设y=f(x)。可用利用区间的端点值来求取一次函数表达式f(x)的值。
采用线性插值法,只要区间分得足够多,就可以达到所需的计算精度。
2 软件介绍
为了配合所设计的补偿流程,本软件通过C#语言进行开发。利用C#提供的大量可视化控件以及第三方提供的各种强大的控制资源来设计交互式的操作界面,实现数据的发送与接收、参数设定、传感器标定、数据处理和生成等功能。
2.1 主界面
系统的主操作界面如图4所示,包括工具栏、校准参数区、用户信息区和补偿初始值区。
修改校准参数中的参数值,能够使得校准结果的精度发生改变。温度点数越多,绝对误差越小,则校准结果的精度越高。
补偿初始值中的数据反应的是信号调理芯片中寄存器的值,能够通过修改界面中的值修改寄存器。
点击运行按钮后,界面与芯片产生通信,补偿初始值区获取到芯片中寄存器的值。设置校准参数后,点击预校准,根据提示步骤,测量指定压强下的电压,获取预校准后各个寄存器的值,之后在所需测试的温度上进行主校准,获取多个温度点上的FSO、Offset寄存器值,由多个不同温度下FSO、Offset寄存器值进行拟合得出温度区间内各个温度点的FSO、Offset寄存器值,并写入Flash中,软件校准结束。
2.2 校准记录界面
在进行主校准时,校准步骤中FSO、Offset寄存器值以及所测量电压的变化都记录在校准记录界面中,如图5所示。
2.3 计算拟合曲线界面
此软件提供两种拟合方式,一种是将每个温度点间的寄存器值以直线连接为折线补偿,一种是使每个温度点间的值连接成为一条曲线,如图6所示。在主校准完成后默认为曲线补偿方式。
在软件应用中设置多个温度补偿点,按照图2补偿流程图所示进行多个温度下的补偿。在所有设置的温度点都补偿完毕后,系统将自动根据不同校准温度下FSO和OFFSET的值拟合出从-55 ℃~+150 ℃范围内的所有补偿参数,并将拟合出的参数写入芯片Flash中。至此,芯片补偿电路就可以在规定温度范围内对此传感器进行全自动补偿。芯片在进行补偿时会利用片内温度传感器检测当前环境温度,根据寄存器内温度数值的变化,芯片会搜寻存储在内部Flash中的对应温度点的补偿系数加载到相应的寄存器中,并转换成模拟量来修正传感器输出信号中的温度误差。
3 结束语
用C#开发的硅压阻式传感器软件补偿系统改进了原有的传感器补偿方法,提高了效率,支持Windows操作系统运行,人机界面友好。经硬件、软件调试后,现场测试稳定可靠。通过对测定数据进行误差分析研究,证明该系统的功能和性能指标达到了设计要求。
利用软件实现传感器温度误差补偿是一种非常简便、有效的方法。这种方法能够有效降低测量系统的电路复杂度,并且节约成本,无需额外的操作便可以得到可靠的数据,适合对批量传感器进行补偿,因此具有极其广泛的应用前景。
参考文献
[1] 胡辽林.硅压阻传感器的智能温度补偿研究[J].传感技术学报,2012(4).
[2] 赵妍.基于MAX1452的压力传感器温度补偿[J].电器应用,2006(4).
[3] 王俊杰.压力传感器高精度温度补偿的软件实现[J].现代电子技术,2014(11).
[4] 张宏涛.关于压力传感器零点热漂移的补偿分析[J].科技信息,2008(9).