E+H嵌入式超声波热量表系统的研制
时间:2011-12-14 阅读:2468
长期以来,我国的供暖系统是按面积收费而不是按用户的能耗收费,用户不能根据居室条件自行调节供暖时间和温度,智能化程度低,造成了能源的浪费。国家建设部已将热量计量收费列入《建筑节能“九五”计划和2010年规划》,热量的计量收费已作为建筑节能的一项基本措施[1]。近年来,家庭型热量表开始逐渐推广,但现在普遍使用的机械式热量表的流量测量部件多采用叶轮结构,对水质的要求高,易造成叶轮轴承的磨损,外界环境变化对测量有较大的影响,故障率较高,使用寿命短。而传统的超声波热量测量一般侧重于大管径的管道上,不适合家庭热量表的使用。针对以上的问题,本文提出了一种基于嵌入式操作系统C/OS的超声波热量表系统,应用德国ACAM公司设计的TDC-GP2时间转换芯片,可以方便准确的实现对流量和温度的测量。嵌入式操作系统的应用,提高了CPU利用率,减少了出错率,增加了该系统的稳定性和可扩展性,可用于家庭仪表的综合开发。
德国E+H超声波热量表测量算法
超声波热量表是将超声波应用到热量表的流量测量中,利用时差法测量原理测量出超声波在顺、逆流中的时间差,间接测量出液体的流速,再获取当前的供、回水温度,利用焓差法就可以计算出热量了。时差法测量流量的原理如图1所示。
图1 时差法测量原理
时差法超声波测量是根据超声波在顺流和逆流的液体中传播时,顺流传播的速度高于逆流传播的速度,同一传播距离就可以得出两个不同的传播时间,从而得出它们的传播时间差值,再计算出液体的流速。在图1中,有两个换能器:顺流换能器、逆流换能器,分别安装在管径的两侧,交替作为超声波的发射和接收器,管道的直径为D,超声波的传播方向与液体的流向所成的夹角为α,液体的流速为v,超声波在液体中的传播速度为c。设超声波在顺逆流中传播的时间分别为T1和T2,如图1所示坐标中,液体在沿超声波传播方向的分速度为vcosα,超声波的传播路径为D/sinα,则T1和T2可以通过下面的公式求得
式中:t'为延迟时间。
顺、逆流时间差为
超声波在水中传播速度c约为1500m/s,C2>>v2cos2α,式(3)可简化为
(4)
从而可以求得液体的流速
(5)
这里所求得的v是线平均流速,而所需测量的是面平均流速,需要进行修正,乘以一个流量修正系数K,因此瞬时体积流量公式为
(6)
热量计算算法焓差法为
将式(6)代入到式(7)中,就可以计算出热量
(8)
式中Q——吸收或释放的热量(J),——进口和出口液体的焓值(J/Kg);qv——瞬时体积流量(m3/s);ρ——进水口或出水口液体密度(Kg/m3),——入口和出口液体的定压比热容(J/(Kg•℃)),——入口和出口液体的温度(℃)。
从式(8)中可以看出,只需要测出超声波的顺、逆流时间差t和进出水的温度就可以求出热量Q。另外比热容c和载热液体密度都是温度和压力的函数,在实际运算中,压力变化对计算结果的影响较小,可以忽略,因此在本设计的运算中将这两个参数作为温度的变量考虑,采用查表法计算,从而保证测量的精度。
硬件系统设计及器件的选择
硬件系统总体设计
本系统硬件采用模块化设计,硬件系统包括电源管理模块、TDC-GP2模块、键盘模块、液晶显示模块、M-BUS通讯模块。超声波热量表硬件系统结构如图2所示。
图2 硬件系统结构
德国E+H温度传感器安装在进水管和出水管上,用来测量进水管和出水管的温度。超声波传感器安装在进水管流体管线的两侧,并相距一定的距离,用来接收和发射超声波,通过时间芯片TDC-GP2记录时间,进行相应的处理后,微处理器根据热量计算算法算出向用户提供的热量,与存储器中以前的热量值相加,通过M-bus通讯模块可以将数据传送给上位机,同时用户可以对键盘操作,通过LCD读出所用热量和温度值等。
器件芯片选择与详细设计
MCU的选择
MSP430F1611是TI公司推出的高集成度、高精度的单芯片系统,是目前工业界中具有zui低功耗的16位RISC混合信号处理器[2]。具有极低的工作电压,超低功耗特性,能够在1.8~3.6V电压、1MHZ的时钟条件下运行,耗电电流(在0.1~400uA之间)因不同的工作模式(有6种工作模式)而不同。运算速度高,在8MHZ晶振驱动下,实现125ns的指令周期。MSP430单片机内部具有3个时钟信号,包括1个高频时钟,1个低频时钟和1个DCO。灵活的时钟选择使得系统可以在zui合理的时钟下进行工作,大大降低了系统的功耗,方便了系统的设计。MSP430还有着丰富的外围接口,包括标准串口,SPI接口,I2C接口,方便连接多种设备。拥有丰富的片上外围芯片,系统无须外扩ADC、DAC、定时器、看门狗等外围芯片,提高了系统的稳定性与可靠性。MSP30F1611内部具有10kB的RAM和48kB的FLASH,充足的存储空间,可以保证嵌入式操作系统的任务正常运行,方便系统的设计与实现。另外MSP430具有中断唤醒功能,可以通过中断使单片机从休眠模式转为活动模式,非常符合热量表系统的设计要求。
e+h 流量和温度的测量
为减小超声波热量表的流量计量误差,降低热量表的成本,提高精度,选用性能*、价格较低的TDC-GP2。TDC-GP2精度高、封装小,具有高速脉冲发生器、停止信号使能、温度测量和时钟控制功能。极低的损耗电流保证在这些应用中电池具有较长的有效使用时间,特别适合于超声波流量和热量测量方面的应用[3]。
流量的测量
根据式(6)可知,流量测量的关键是对顺、逆流时差Δt的测量。TDC-GP2测量时间十分,依赖于芯片内部的基础逻辑门的延迟时间,测量时间的有效值可以达到50ps。
E+H TDC-GP2的流量测量模块原理如图3所示,数字TDC-GP2测量单元由start信号触发,接收到stop信号停止,通过环形振荡器的位置和粗值计数器可以计算出start信号和stop信号之间的时间间隔,测量精度范围可达20位。首先MSP430启动飞行时间的测量,fire引脚发射脉冲信号,同时启动start信号,开始计时,脉冲信号激励超声波传感器产生超声波;超声波信号穿过管道中的流动液体,接收换能器将接收到的超声波信号转换成电信号,经过模拟电路部分的滤波放大,触发TDC-GP2的stop信号,停止计时,zui后由TDC-GP2中的ALU计算出通过流体的时间。在启动fire时,MSP430通过模拟电路部分对测量方向进行定时切换,这样就可以分别得出顺流和逆流方向的时间,zui后由MSP430对两次时间进行差值运算,得出Δt。
图3 流量测量模块
温度的测量
TDC-GP2内部包含了一基于PICOSTRAIN的高精度低功耗测量单元,测量出每个电阻和电容组成的RC电路的放电时间[3]。TDC-GP2的温度测量模块设计如图4所示,温度传感器采用Ptl000铂电阻。温度的测量是全自动的,通过微控制器发送启动代码启动后,TDC-GP2自动控制4次测量,分别将结果存入相应的寄存器中,然后由微控制器读取并分别做比值运算,通过查表就可以得出冷水和热水的温度了。温度测量的精度可以达到0.004℃。
图4 温度测量模块
另外,MSP430通过SPI接口与TDC-GP2进行通信,对TDC-GP2初始化设置,发送控制命令,读取寄存器的测量值。
其它模块的设计
为实现远程抄表,本系统设计了基于M-bus总线的通讯模块,M-bus仪表总线(欧洲EN1434-3标准)是专为消耗测量仪器和计数器传送信息的数据总线,用于水表、电表、气表等各种测量装置的自动抄表总线结构,用两条无极性的传输线来同时作为供电线路和传输串行数据的传输线,主从式异步半双工传输,采用主叫/应答的通信方式,有专门设计的报文格式,具有布线简单、抗干扰能力强和成本低等优点[4]。具体选用TI的终端收发芯片TSS721A来实现,其内含的接口电路可以调节仪表总线结构中主从机之间的电平,将整个数据发送功能集成于一体,远程供电与电池供电并用,总线正常供电时提供3.3v稳压源,给微处理器供电。当总线供电故障时,接通备用电池为系统供电,zui大的节省了电能。
LCD液晶显示模块采用长沙太阳人电子公司的SMS0810B热量表显示模块[5]。在简化硬件的同时功能却大大加强,显示容量为8位带小数点数字+15段符号,与CPU的接口方式为三线式串行接口,接口简单,编程方便,大大降低了研制时间。为降低功耗,通常LCD处于关闭状态。当有健按下时,LCD显示热量累积值,再次按下按键时,显示相应的数据。
系统中未使用复杂的按键,只使用了一个独立按键,根据按键次数通过中断来显示入水温度、出水温度、流量、热量和时间。
嵌入式系统软件设计
传统的嵌入式软件系统一般采用的都是前后台式的软件设计方法,使用这种方法编写的嵌入式系统软件一般只能满足简单流程的要求。本系统将嵌入式操作系统C/OS-Ⅱ引入到软件系统的设计过程中,提高了整个系统的稳定性、实时性和可靠性 C/OS-Ⅱ是由JeanJ.Labrosse编写的免费公开源代码的实时操作系统,不仅具有结构小巧、可固化、可裁减、多任务和可剥夺型的实时内核等特点,而且其实时性、稳定性和可靠性也得到了广泛的认可。根据2.2.1可知MSP430F1611*符合C/OS-Ⅱ实时系统移植的条件,使用C语言交叉编译器IAREmbeddedWorkbench可以很方便地进行编程和移植。
C/OS-Ⅱ的移植比较方便,主要修改与处理器相关的几个文件,它们是OS_CPU.H、OS_CPU_C.C、OS_CPU_A.ASM等[6]。在具体应用设计过程中,首先按照系统要求划分任务,确定任务优先级,各个任务完成相对独立的功能,任务的调度按优先级的高低进行的[7]。任务间要有数据进行交换,采用消息机制进行任务间的通信,多个数据组成消息队列,依次完成数据的传递。根据应用系统完成的功能将系统分成7个任务,优先级的设置是按照整个系统运行的时序来确定的,对系统安全运行较重要的和对实时性要求较严格的任务,设定较高的优先级。各任务的优先级由高到低依次如下:流量测量任务,温度测量任务,计算任务,数据存储任务,键盘任务,LCD显示任务,通信任务。通过使用C/OS-Ⅱ的信号量、消息的系统服务来完成不同任务之间的通信,从而保证多任务调度的同步。每个任务的执行时间具有相对的确定性,在计算测量结果时,加入必要的误差消除算法可以保证测量结果的准确性[8]。在设计过程中,针对于系统本身低功耗的特点,当系统空闲的时候应该使其进入低功耗状态,因此根据实际情况的需要把空闲任务设为低功耗的休眠模式,优先级zui低。C/OS-Ⅱ系统任务调度流程图如图5所示。
本文采用基于e+h超声波测量的时间测量芯片TDC-GP2和嵌入式操作系统C/OS-Ⅱ来设计热量表系统,该系统耗能低,测量精度高,性能稳定,使用寿命长,较好地解决了传统的机械式热量表的流量计部件受热变形、运动磨损及脏堵等问题。将嵌入式操作系统C/OS-Ⅱ移植到MSP430中给设计者提供了一个操作平台,可扩展性有很大的提高,设计过程变得更加简单,实时性、稳定性和可靠性都有很高的保障。移植了操作系统的处理器可以很方便地应用到建设部正在推广“三表合一”中去,使用同一块MSP430单片机来完成多种不同的实时任务,既充分发挥了MSP430系列单片机的功能,又大大节约了生产成本。