基于 RC充放电原理的低功耗高精度温度测量研究

(整期优先)网络出版时间:2020-09-08
/ 3

基于 RC充放电原理的低功耗高精度温度测量研究

薛宪峰

石家庄西比克仪表有限公司 , 河北省 石家庄, 050000

摘要:温度是供热系统中重要的一项运行监测数据。本文对采用RC充放电原理进行低成本低功耗温度测量进行了研究,并利用OriginLab软件仿真进行放电曲线拟合,达到高精度温度测量的目的。该技术温度测量精度基本满足《热能表》标准中所规定的2级表温度要求,并可靠应用在我公司基于NB-IOT工业物联网温度传感器中。

关键词:RC充放电;温度测量;OriginLab拟合

1 热力行业温度测量应用

热力行业常见的温度测量应用一种是以PT100铂电阻为代表的常规精度温度测量传感器变送器,另一种是以PT500或PT1000铂电阻为代表的用于热计量的高精度温度测量。

按照GB/T 32224-2015《热量表》国家标准中对温度测量的要求以及JB/T 8622《工业铂热电阻技术条件及分度表》中所规定,使用模式时温度测量分辨率达到0.1℃,检定模式时分辨率达到0.01℃,实现这一目标目前常用的方法是使用高精度ADC芯片对PT1000电阻值测量,但缺点是这一方案成本相对较高,测量瞬时功耗较高,传感器电路无法实现极小模块化。

2 RC充放电温度测量原理

电路在没有外部激励的情况下,由电路内部储能引起的响应,称为零输入响应。RC充放电测温利用的就是这种零输入响应原理,利用电阻电容串联电路,利用单片机电压比较器及定时器,通过测量电容的放电时间实现对电阻值的测量。,当单片机电压比较器输入端电压从Vref1跌落到Vref2会触发电压比较器输出,配合单片机定时器,测量电容从Vref1到Vref2的放电时间从而间接测量电阻阻值。

右图为RC充放电测温电路。通过计算,匹配PT1000的放电电容选用10nF,R1000为标准电阻,选用低温漂,精度等级0.01的1000Ω精密电阻,R为被测电阻,即我们希望测量的PT1000铂热电阻。COMP_PIN连接单片机电压比较器输入端,IO_PIN1、IO_PIN2、IO_PIN3连接单片机任意IO输出管脚。单片机是RC测量系统的核心,我们选用的是ARM cortex-M4F内核的AMBIQ APOLLO单片机,该单片机具有如下优势:

(1)出色的低功耗性能,睡眠模式电流0.3uA。在我们的NB-IOT物联网温度传感器中采用了ER34615锂电,使用寿命超过10年,做到在产品全生命周期无需更换电池。

(2)32位乘除法器。极大提高非线性拟合计算效率,降低功耗。

(3)丰富的低功耗通讯接口及定时器。为物联网应用提供了高效低功耗的硬件承载。

(4)内置带滤波功能的电压比较器、可组合使用的32位定时器。32位定时器极大提高了时间测量的分辨率。

通过对RC充放电曲线分析,在我们期望的测量区间内,放电阶段相比于充电阶段具有更佳的线性度及电压稳定性,因此我们选择对放电阶段的时间进行测量。RC充放电测量整体分为两个步骤:对标准电阻的放电测量、对被测电阻的放电测量。如下图所示。

5f57351a591a4_html_8804760a760554c0.png

结合所示电路,具体测量流程如下:

阶段1标准电阻充电。单片机运行在32k系统时钟,单片机IO_PIN2、IO_PIN3设置为高阻抗输入,IO_PIN1设置为高电平输出,充电10us后,将IO_PIN3设置成高电平输出。此顺序可以保证在极短的时间内将电容C充电至系统高电平Vcc,同时避免了充电初始阶段可能存在的瞬间大电流对单片机IO端口的冲击。

阶段2标准电阻放电。单片机切换到24M高速时钟,将前一阶段的IO_PIN3设置为高阻抗输入,IO_PIN1设置为低电平输出,R1000标准电阻对电容C放电,同时启动定时器。当COMP_PIN所连接的单片机电压比较器模块检测到放电电压低于Vref1时,定时器停止计数,计数值计为T1000。

阶段3被测电阻充电。与阶段1类似,对被测电阻R进行充电操作。区别在于在充放电过程中,用于标准电阻充放电控制的IO_PIN1始终处于高阻抗输入状态。

阶段4被测电阻放电。步骤参考标准电阻放电测量阶段2的操作,定时器计数值计为Tmeasure。

阶段5单片机系统时钟切换为低速32k时钟,关闭定时器及比较器时钟及模块,IO_PIN1、IO_PIN2、IO_PIN3、COMP_PIN设置为低电平输出,从而降低漏电流及睡眠功耗。

阶段6计算及拟合修正。

标准电阻和被测电阻具有相同的放电起始电压及比较器触发电压,由于是对同一电容C进行放电,因此标准电阻的放电时间T1000、被测电阻的放电时间Tmeasure具有如下正比关系:

5f57351a591a4_html_cdeca9ed38721589.gif

5f57351a591a4_html_2090eea00efb9b28.gif

从而得到原始被测电阻值R。

RC放电原理得知,放电曲线具有非线性的特点。在我们的0 – 150 ℃测量范围内,如对温度测量精度要求不高,软件进行简单的两点式线性修正即可,在量程范围内,PT1000铂热电阻最大测量误差约0.7Ω,温度测量最大误差0.3℃。

如测量温度用于热量计算,温度测量误差不得高于0.1℃,换算成电阻最大误差不得超过0.2Ω,此时必须考虑放电曲线非线性带来的影响,进行非线性修正。

我们采用的基本非线性修正模型公式为:

5f57351a591a4_html_9ee81a05b637c8bf.gif

如利用标定数据直接用于修正计算,单片机将耗费巨大的时间开销,在物联网等低功耗应用场景中使用是非常不利的。对此我们采用了数学曲线仿真的方式。OriginPro是一款专业的科学绘图,数学分析软件。测试表明,同厂家类型的电容C及标准电阻R1000的“温度-时间”函数曲线相似度极高,公式3中对应的a、b、c、d偏差极小,因此我们使用OriginPro对拟合出的曲线,在0 – 150 ℃范围内,以1℃为步长,将“修正函数曲线”反向计算出一组长度为150的浮点型数组Array,将该数组内置到单片机代码程序段。在实际测量中得到的R原始阻值基础上,首先进行一次两点线性修正,通过对Array数组查表的方式代替计算量大的曲线拟合计算,从而计算出精确的温度值。

3 RC充放电温度测量设计要点

(1)硬件电路参数的选择匹配。RC测温的核心是单片机时钟周期数的测量。方案的选择需要通过计算,匹配选择电压比较器触发电平、测量时钟速率、放电电容C容量,以及定时器最大计数值,最终使其在最大量程时,定时器的计数值尽可能接近其最大计数值而不溢出(对于32位计数器,最大计数值0xFFFFFFFF)。选用Apollo单片机的一个重要原因是其定时器可组合成为32位定时器使用,与采用16位定时器相比,计数容量提高了65536倍,因此在不产生计数溢出的条件下,匹配24MHz的系统时钟,可以得到更高的测量分辨率。对基准样机不同温度的放电数据拟合,利用OriginPro绘制出放电曲线,通过观察,过高的电压比较器触发电平会减少放电时间,过低的触发电平则会降低分辨率,最终我们选择Vcc的1/5作为触发电平,能够满足测量精度的要求。由于我们的时基采用24MHz内部晶振,32位定时器计数值在满量程时仅达到了其中的29位,因此对于电路参数的匹配还有进一步优化的空间。(2)电容类型选择及热身测量。RC充放电测量中电容的选择十分重要,通过对C0G、X7R、X5R等多种类型的电容测试对比,我们最终选择了C0G电容。在不同环境温度下,C0G类型电容测量结果具有更高的数据一致性,这与C0G电容本身容量稳定高有直接关系。由于电容容量存在一定的机械惰性,因此在每次正式测量前,对其进行2-3次的充放电“热身”很有必要。(3)时钟晶振的选择与影响。单片机可选外接石英晶振或内部时钟作为运行时钟。虽然使用外部石英晶振作为单片机运行的时基具有更高的时钟精度及稳定性。在实际测量中,我们希望得到的是时间与阻值之间的等比例关系,因此时基的精度对实际测量没有影响,一次完整的温度测量周期不到2ms,在极短时间内采用内部时基不会有太大的波动,采用内部时基完全可以满足测量的需求,同时降低了功耗。

4 测试结果

以下是我们采用24MHz时钟,10nF放电电容的一组定时器计数测试数据:

参考温度

基准电阻计数值

被测电阻计数值

100℃

0x2B0CD4F3‬‬‬‬

0xB2814D7E‬‬‬‬

0x2B0CD25E‬‬‬

0xB2814A51‬‬‬‬

0x2B0CD2A7‬‬‬‬

0xB2814BC6‬‬‬‬

48℃

0x2B0CE013‬‬‬

0x6EBC9143‬‬‬‬‬‬‬

0x2B0CDE92‬‬‬

0x6EBC901A‬‬‬

0x2B0CD147‬‬‬‬

0x6EBC923D‬‬‬‬

以下是采用标准电阻箱模拟PT1000铂热电阻阻值进行的对应测量数据:

标准阻值温度(℃)

测量温度(℃)

误差(℃)

11.30

11.37

0.07

26.70

26.81

0.11

41.50

41.64

0.14

65.00

65.17

0.17

88.30

88.45

0.15

100.60

100.72

0.12

5功耗测试

由于整个测量周期不到不到2ms,只有在放电测量时,系统才会以24MHz时钟进行高速运行,其余时间处于睡眠状态。以现有条件进行精确的功耗测量存在一定难度,因此我们采用实际测量+理论计算的方式对功耗进行估算。测试条件为室温27℃,被测电阻1300欧姆,电压电压3.3V。整套测量系统在睡眠方式时,静态电流1.1uA。系统在全速连续测量状态时,电流约3.4mA。因此推算,每60秒测量一次,平均电流低于1.5uA,这对于物联网传感器应用具有出色的功耗适应性。

综上所述,利用电阻电容充放电原理进行低成本、低功耗、高精度温度测量在工业物联网传感器应用场景中具有很好的应用前景,通过改变软硬件配置,可以满足PT100、PT500、PT1000铂电阻的温度测量。利用OriginPro数学曲线拟合计算功能,将RC放电的非线性拟合转换成无数条线性拟合,极大的提高了温度计算精度及计算效率,但测量精度的进一步提升仍需要进行大量测试进行软硬件的进一步优化。

参考文献

  1. AMS AG. Ultrasonic water&heat metering with TDC-GP22[M]. Austria:acam-messelectronic gmbh,2013,4-23

[2] 李煜斐. RC充放电电路时间特性研究[J]. 科学与财富,2015,33:15-16

[3] AMS AG. Ultrasonic-Flow-Converter Data Sheet[M]. Austria:acam-messelectronic gmbh,2014,6-1