摘 要:以单片机为核心,设计了一种智能型低功耗热量表。介绍了热量表的流量和温度测量原理与方法,利用软件编程提高了流量和温度测量精度。选用EFM32TG840F32内置低功耗传感器接口LESENSE和LC传感器进行无磁流量测量,避免了由磁场引起的干扰;设计了一种恒流源测温方法,提高了测温精度,从而提高了热量表整机的精度。该热量表支持红外抄表和M-Bus传输方式,可方便地进行实时监测和数据采集,总体达到了降低功耗、节省能源的目的。
关键词:热量表;EFM32单片机;低功耗;温度测量;流量测量
热量表是供热体系中按热量计量收费的关键仪表和重要依据,其测量精度和工作稳定性等技术指标至关重要。我国北方地区于2003年开始进行供热体制改革,2006年开始推行热量表,2010年2月国家颁布《关于进一步推进供热计量改革意见》,要求按计划逐步实现按热量计价收费[1]。基于此,研制开发低成本且符合国家有关标准的热量表是大势所趋。本文主要针对现有热量表,重点在低功耗和智能化两方面进行设计与改进,现处于试验研究阶段。
1 热量表结构及原理
热量表结构如图1所示。将一对温度传感器分别安装在通过载热流体的进水管和回水管上,流量计安装在进水管或回水管上,温度传感器给出表示温差的模拟信号,流量计发出与流量成正比的脉冲信号,热量积算仪采集来自3路传感器的信号,利用传热公式计算出热用户获得的热量[2]。
热量表一般采用焓差法计算热量,焓差法的传热公式为:
2 热量表硬件系统设计
2.1 温度信号检测
两只温度传感器用来测量进水和回水的温度。作为热能表的温度传感器,目前常用的有铂电阻和热敏电阻两种。与热敏电阻相比较,铂电阻具有测量精度高和阻值漂移小等优点,因此本设计采用成对的PT1000铂电阻作温度传感器。该传感器在0~850℃范围内的电阻值与温度之间的关系可近似表示:
2.2 流量信号检测
2.2.1 流量测量原理
本设计采用无磁智能流量传感技术,即流量传感器中不含任何磁性元器件,流量计中只有叶轮部分,而没有齿轮组,完全消除了铁锈水对表的影响,而且不受任何外界磁场的干扰。叶轮上有一个特殊的半金属片,在转盘的上面成90°角放置两个电感线圈,通过一种LC振荡阻尼电路,以非接触的方式探测到叶轮上的无磁金属片的转动情况,然后直接向积算器输出而省去了齿轮组部分。这样既减少了表体内容易损坏的机械传动部分,同时大大降低了功耗,通过这两个谐振电路就可以测量转盘的转向和转速。测量原理如图3所示。
EFM32TG840F32的LESENSE模块给传感器提供激励信号。电感L就会产生阻尼振荡,阻尼系数取决于电感线圈和转盘的相对位置。当传感器在经过有金属的位置时,LC阻尼振荡的振幅衰减速度快,如图4(a)所示;相反,在经过非金属部分时,LC阻尼振荡振幅衰减的速度就慢,如图4(b)所示。MCU 检测信号衰减,就可以判断电感的状态,从而测量出流速和旋转方向。
2.2.2 流量检测模块
LESENSE是一个片上外设有控制能力的模块,用于在很少或没有CPU干预的情况下监测不同的传感器。LESENSE采用模拟比较器、ACMP来测量传感器的信号。LESENSE也能控制DAC产生精确的参考电压。
一个整体的LESENSE由序列发生器、计数器、比较模块、解码器、RAM模块(用于配置和存储结果)组成。序列发生器处理其他外设间的相互作用以及传感器测量时间。在与一个阈值比较之前,计数器和比较模块用来测量来自ACMP输出的脉冲。为了自主分析传感器的结果,LESENSE的解码器定义了多达16个状态的有限状态机,并且在状态转换上进行可编程的行为。这使得解码器实施了广泛的解码方案,比如正交解码。RAM模块用于配置和储存测试结果。这就使得LESENSE在收集传感器数据时有一个相当大的结果缓冲区使能芯片长时间保持在一个低能量模式。值得注意的是,在检测传感器信号时,LFACLK_LESENSE不应超过50 kHz。
2.2.3 信号处理
随着叶轮转动,两个传感器信号不断变化。假设两个传感器分别连接LESENSE的CH_6和CH_12,如图5所示,得出传感器变化规律。脉冲计数器被用来计算转速并探测旋转方向的变化,利用软件设定每个状态对应的流量变化为1个单位,可实现流量转换。
2.3 积算仪硬件电路
积算仪是热量表的核心部分,主要完成数据采集、处理、存储、显示、远程通信及电池电压监控(电池电压不足时发出警报)等功能。智能化热量表积算仪以EFM32TG840单片机为核心,其系统框图如图6所示。
超低功耗单片机EFM32TG840作为无磁热量表的微处理器,基表经水流冲击使得叶轮转动,EFM32主要依靠检测LESENSE外接的LC振荡电路的阻尼振荡波形变化来判断外部电感量的变化,从而得到旋转叶轮的转动情况,无需外扩其他传感器芯片。同时,EFM32片上带有12 bit ADC,无需外扩ADC芯片即可与PT1000铂电阻结合来实现高精度温度检测功能。其片上集成的LCD控制器可实现热表液晶显示屏的驱动,用于人机交互界面。模拟EEPROM则是负责单片机掉电后的重要数据恢复功能。此外,EFM32片内带有RTC功能模块,可用于时间记录。热表的通信接口可通过EFM32的两路UART扩展为红外通信接口及M-Bus/RS-485总线通信接口。EFM32的工作电压范围为1.8 V~3.8 V,因此能够在3.6 V锂电池直接供电的情况下工作,并且能够兼容锂电池的浮动电压范围,使得系统的可靠性和稳定性大大提高。
2.4 系统的低功耗优势
在硬件和软件设计方面降低系统功耗是本系统研究的一个重点。EFM32具有5种功耗模式,在RTC及低功耗模块运行的EM3模式下,EFM32的功耗仅900 nA。EFM32的LESENSE、LEUART以及LETIMER模块均为针对低功耗设计。LESENSE能够在低功耗模式EM2下对流量进行检测,无需CPU干预,待检测完成后唤醒CPU进行数据的处理及运算。LEUART在9 600的波特率下仅为150 nA,且支持LEUART接口通信唤醒,适合于热表通信总线中的低功耗应用。热表系统中的温度检测ADC模块在12 bit、1 MS/s的速率下功耗低至350 μA。驱动液晶屏显示的LCD Controller能够在低功耗模式下保持显示8×36段的驱动功耗也只需0.55 μA。可见,EFM32的低功耗外设功能模块非常适合于热表方案的设计应用。
3 热量表软件系统设计
热量表终端程序主要包括主程序、中断服务子程序和功能子程序。系统在上电初始化后进入低功耗模式,并且由外部中断或者定时器唤醒,这样才能降低系统的功耗。软件系统流程图如图7所示。
单片机需要处理的事件有温度和流量测量、热量计算、按键处理、LCD液晶显示、数据存储、电压监控、红外通信以及M-Bus远传等。由上图可知,系统上电初始化后进入低功耗模式,其他要处理或者实现的任务都要通过中断唤醒,包括按键中断、定时中断、通信中断等,整个程序按照轮询的方式进行,自顶向下执行完后单片机又进入低功耗模式状态。按键采用状态机建模方式,可以有效地避免中断嵌套引起的冲突,并配合显示子程序进行数据的实时显示。为了防止单片机在长时间无人监守的情况下运行异常,使用单片机内部的看门狗模块来监测程序的运行。
利用EFM32单片机设计的热量表具有体积小、功耗低、精度高的特点,能支持红外通信方式和M-Bus远传方式。同时软件设计了动态流量补偿方法,使得误差减小,进一步提高了测量精度,因此具有更好的经济性和实用价值。
参考文献
[1] 崔红琴.中国热量表行业发展进程概述[J].现代供热, 2012(181):1-16.
[2] 刘全胜,李宏敏.热能计量仪表及应用[J].煤气与热力,2000,20(2):134-135.
[3] (日)松井邦彦,著.传感器应用技巧141例[M].梁瑞林,译. 北京:科学出版社,2005.
[4] (美)BAKER B,著.嵌入式系统中的模拟设计[M].李喻奎,译.北京:北京航天大学出版社,2006.