首页 >> 新闻中心 >>行业科技 >> 压力传感器高精度温度补偿的软件实现
详细内容

压力传感器高精度温度补偿的软件实现

       克服传统的通过硬件电路来对压力传感器进行温度误差补偿的缺点,介绍利用单片机进行压力传感器温度补偿的基本方法,论述如何利用软件进行温度误差补偿的方法,详细描述高精度温度补偿的软件算法原理, 为实现通过软件进行温度补偿提供了理论依据。通过实验测试证明了采用高精度温度补偿算法的传感器输出精度有了显著的提高。

0 引言

       压力传感器是一种常用的传感元件。由于其自身的非线性以及使用时外界测量条件的影响,大多数压力传感器在输出时都具有非线性特性,因此存在诸多因素的误差。但在这些误差因素中,温度的影响最为明显,因此传感器的温度误差补偿就显得尤为重要。采用硬件补偿实现温度误差补偿是非常复杂和困难的,而引入软件实现温度误差补偿是一种更有效的方法。只要温度误差补偿模型足够精确,就可以得到理想的结果。同时,希望所采用的算法简单高效,避免了BP网络等温度补偿算法复杂耗时的特点。

1. 传统的硬件补偿方法及其缺点

       传统的硬件温度误差补偿方案是在惠斯特电桥电路中的一个或两个桥臂上并联热敏电阻R,如图1所示。但是,由于热敏电阻本身的特性,不可能实现完全的温度误差补偿。此外,通过硬件电路实现温度误差补偿存在器件固有的不稳定性、调试困难、通用性差、成本高、精度低等问题,不利于工程的实际应用。因此,本文介绍了BE4自动检测和高精度温度误差补偿实时控制的软件实现。

82a83b85-14a7-4b58-a043-b46d9a19c5ec.png


图1与热敏电阻温度误差补偿公式相结合

2. 温度补偿原理

       在单片机传感器测量系统中,为了解决传感器温度误差补偿问题,需要测量传感器所在点的温度,因此需要温度传感器。温度传感器通常安装在靠近敏感元件的传感器上。首先,通过A/D采样电路采集温度传感器,并将相应的输出电压信号(记为)传输到芯片机暂存;然后将传感器输出信号经放大电路放大后,通过A/D采样电路采集到单片机;最后启动温度误差补偿程序,通过查找事先在单片机中记录的零温度漂移电压,最终输出电压为:

1882336a-cbf0-4ad4-81e3-a7ad7a3ccc79.png


3.温度补偿数学模型的建立

3.1线性温度补偿数学模型

       在补偿温度误差时,需要事先在给定的n个温度值上测量温度传感器输出的每个温度值所对应的电压信号,然后在每个温度点将传感器输出信号经放大电路放大后再测量相应的温度漂移电压,以保证数据的准确性。可以在培养箱中进行测量。制作表格并存入单片机存储器,然后建立温度传感器输出的温度值所对应的电压信号和温度漂移电压信号的数学模型,其特性曲线Uo=F (Ut)如图3所示。我们可以将图3所示的曲线分成几段,将相邻两点之间的曲线近似视为一条直线,这样就可以通过线性方法得到温度传感器输出的某一温度值所对应的电压信号所对应的温度漂移电压,这就是线性插值法。假设被测温度传感器输出的温度值对应的电压信号为其中一个值,则对应的温度漂移电压为其中一个对应值。设温度传感器测量温度输出值对应的电压信号为,则由式(2)可得对应的温度漂移电压:

f7d35a16-be23-4772-8b0e-136351adf131.png

       从式 (2)可以得知 n 取得足够大就可以获得良好的精度,这样单片机就可以通过测得的温度对应的电压信号得到对应的零点温漂电压。

738139f1-096d-47e6-8fc7-f4420ec7e0b2.png


图3温度传感器的输出电压和温度漂移电压特性曲线

3.2 非线性温度补偿数值模型

       如果温度传感器输出温度值所对应的电压信号和温度漂移电压信号的特性曲线变化较大,则采用线性插值方法会产生较大的误差。因此,可以采用二次曲线插补法,如图4所示。抛物线是由曲线上的三个点K组成的,但一元二次抛物线方程是A、B、C。该方程需要联立方程求、、、、C的值,计算复杂,程序复杂。取下面的方程形式:

149e882b-0884-433c-8d22-fb3064d9fa8e.png

70588160-146e-43c7-b498-9cccda19a547.png

       将G和代入方程式(3)中得到方程式的另一种形式 :

94292be8-ded3-4b05-ad0d-5442a9dd139d.png

64782c95-2396-4740-b819-b9296d4af028.png

       由此可见:可以利用3个已知的点K1,K2 ,K3 求出A ,B, C 的数值 ,然后放入单片机的内存中,根据Ut 的值可以求出相对应的的值。 以上便是对传感器进行温度误差补偿的数学模型 ,用这2个模型便可进行温度误差补偿。

8f5558bb-269f-4c9a-b4b5-ddf1c70c59eb.png


图4二次曲线插值方法

4 .温度补偿软件的设计与实现

       线性温度补偿和非线性温度补偿软件的设计流程图如图5和图6所示。因为温度是一个连续的变量,为了提高精度,采集的温度点越多,精度就越高。采用多位的A/D芯片可以保证一般情况下的需要。结合单片机的软件实现过程如图7所示。本软件设计保证不需要人工设置,保证及时进行温度变化,并找到相应的零温度漂移电压,从而保证在电压值校正后单片机输出电压实时更新。

5 .测试

表1给出了换能器在20℃和80℃时零位输出的变化情况。由表1可以看出,经过软件温度补偿后的零比特输出比没有经过软件温度补偿的零比特输出明显提高。

表2为传感器在25℃下的测量结果。由表2可以看出,补偿后的精度小于1%。

9f59c356-c3d5-48c8-9655-a3367929bd90.png


表1传感器补偿前后零输出变化

6 总结

       为了满足压力传感器在高精度场合的应用要求,本文结合单片机实现传感器的温度误差补偿是一种非常简单有效的方法。该方法可大大降低系统的电路复杂度和成本,对于一般用户无需额外操作即可获得可靠的数值。它适用于批量传感器的补偿,具有非常广阔的应用前景。

参考文献

[1]胡辽林,刘晨,盖光宏。硅压阻式传感器智能能量温度补偿研究[J]。传感技术学报,2012,25(4):468-471。

[2]杜永平,何晓英。浅谈传感器温度补偿技术[J]。电子设计工程,2009,17(6):6 3.6 4。

[3]孙胜和。现代传感器研制方法[J]。电子测量与仪器学报,2009,23(1):1 -10。

[4]郭兵,王冲。压力传感器的现状与发展[J]。中国仪器仪表,2009(5):7 2.7 5。

[5]曾中波。压力传感器零漂移的求解分析[J]。科技展望,2013(34):100。101.

[6]张辉。基于bp神经网络的压力传感器数据融合[J]。湖南工程学院学报,2011,21(1):55。5、8。

[7]滕敏。压阻式压力传感器零点温度漂移补偿公式的推导[J]。河南师范大学学报:自然科学版,2011,39(1):101-103。

[8]关荣峰,王晓雪。MEMS压力传感器的温度补偿[j]。河南师范大学学报:自然科学版,2009,37 (1):7o . 73。

[9]王淑华。M E M S传感器的现状与应用[j]。微纳电子技术,2011,48(8):5 - 16。52个2。

[10]魏凯斌。扩散硅压力传感器温度补偿系统的设计与实现[j]。制造业自动化,20,13,35(5):1 17—119。

[11]胡媛媛,李怀江,王大军。基于ATm egal6的压力传感器温度补偿智能设计[J]。仪表技术与传感器,2010(10):8- 11




班宁产品汇总






seo seo