摘 要: 针对目前我国室内采暖计费方案的主要不足,提出了一个新的计费平台方案。该系统选用温度传感器DS18B20采集信息,通过以无线单片机CC2530为核心组成的模块实现数据的无线传输,并将信息传送至上位机进行数据处理,从而实时监测管辖区域内所有住户的用暖情况。
关键词: 室内采暖;分户计量;ZigBee;CC2530;DS18B20
节能减排是我国长远的政策方针,而对于供热行业来说,节能的潜力又是巨大的。长期以来,我国城市室内采暖系统在设计上基本上都采用单管水平串联的系统方案进行设计[1-3],然而该方案不便于住户进行热量调节,并且现今绝大部分的暖气费用是按面积进行集中收取,存在很大的不合理性,这两个主要因素造成了极大的供热用热浪费。随着人们生活水平的不断提高和供暖行业的不断发展,对供暖系统实现分户计量和独立控制的呼声越来越高[4-5],本文针对分户计量中的无线测温系统提供一个可靠的设计方案。
ZigBee技术是一种短距离、低功耗、低复杂度、短时延、低速率的大容量无线网络技术,是目前短距离无线传感器网络的首选技术之一[6-8]。ZigBee网络组网方式丰富灵活,可根据实际应用来选择。
1 系统架构设计方案
该设计以CC2530无线单片机为核心,整个收发系统由主站(监控中心)和子站(测温终端)组成(如图1所示)。在正常环境下,将温度传感器采集到的温度数据处理后通过ZigBee网络发送给主站节点,完成主站节点与子站节点的通信过程。结合串口通信技术,通过RS-232串口线连接主站上位机(PC),上位机接收并存储数据后,根据住户在冬季实际获得的温度值,结合一系列算法以及当地制定的收费标准,就可以简单地计算出住户在冬季的真实采暖费用,真正做到收费公平合理[9]。
2 硬件设计
子站(测温终端)由数据采集、无线通信和处理器等模块构成,其任务是采集待测点的温度,并将温度数据通过无线通信网络发送至主站中。主站是由微处理器和无线通信模块组成,主要负责接收各节点的温度信息,并通过RS232串口[10]将其传送至服务器上进行显示和处理。另外,根据实际需要,也可在终端节点上安装显示模块或报警模块,以方便网络安装测试。
2.1 数据采集模块
数据采集模块又称温度采集节点,温度传感器选用美国Dallas公司生产的DS18B20,它可直接将温度转化成串行数字信号进行处理,无需进行模数转换,处理器可以直接读取温度数据。该温度传感器测量范围为-55℃~+125℃,温度转换位数可以选择9~12 bit,对应的温度分辨率分别为0.5℃、0.25℃、0.125℃和0.062 5℃(温度/数据关系如表1所示),电压范围为3.0 V~5.5 V,可用数据线供电[11-13]。DS18B20具有微型化、精度高、低功耗、响应时间短和抗干扰能力强等特点,适用于本设计的温度采集模块。值得注意的是,与CC2530的I/O端口连接时,需要上拉一个4.7 kΩ的电阻,原理图如图2所示。
2.2 ZigBee无线通信模块
无线通信模块是基于CC2530芯片实现的(如图2所示)。其主要特点是体积小、高性能、低功耗、具有优良的无线接收灵敏度和强大的抗干扰性。CC2530是一个兼容IEEE 802.15.4的片上系统,支持专有的802.15.4协议,此外还集成了符合ZigBee技术2.4 GHz频段RF无线电收发模块[14]。CC2530工作电压范围内2.0 V~3.6 V,工作温度为-40 ℃~+125 ℃,休眠时功耗电流可降低至0.6 μA。本设计中的网络通过ZigBee协议将多个温度采集节点组建成星形网络(如图3所示),将各个节点采集的温度数据实时发送至协调器,并由协调器通过串口汇聚到主站上位机中,从而实现温度数据的实时采集。
3 软件设计
系统的软件设计包括数据采集、通信控制和监控中心3个部分。其中,数据采集程序运行在子站的微处理器上,其主要任务是负责采集温度数据并实现无线收发;通信控制程序运行在主站的微处理器上,该程序需要实时地处理从子站节点传来的温度数据,并且还要控制它们按照上位机的操作指令进行工作,它是整个系统程序的核心;监控程序运行在上位机中,它会监视节点的工作状态,对子站发送的温度数据进行有效处理。
3.1 温度采集节点软件设计
DS18B20工作流程图如图4所示,其主程序(仅测温)如下。
void main()
{
……;
init();
while(1)
{
temp_tran();
value1=get_tmp_value();
temp1=abs(temp_value1);
}
……;
}
另外,向DS18B20内写数据函数编辑如下(严格按照时序图进行编程)。
void write_byte(unsigned char dat)
{
……;
for(j=0;j<8;j++)
{
b=dat & 0x01;
dat>>=1;
if(b)
{
ds=0;
i++; i++;
ds=1; i=8;
while(i>0)
i--;
}
else
ds=0;i=8;
while(i>0)
i--;
ds=1;
i++; i++;
}
}
值得注意的是,在温度转换函数中,需要添加“跳过序列号”命令,即:
void temp_tran()
{
……;
write_byte(0xcc);
……;
}
本设计于每日5:00、13:00和21:00 3个时段进行温度采样,采用DS12CR887时钟芯片进行计时。参考该芯片的技术手册[15],依据DS12CR887时钟芯片的时序图,可写出对应总线(选用intel总线)读数据与写数据的函数,如下所示。
void write_ds(uchar add,uchar dataa)//intel总线写数据
{
ds_cs=0;ds_as=1;
ds_ds=1;ds_rw=1;
P0=add;
ds_as=0;
ds_rw=0;P0=dataa;
ds_rw=1;
ds_as=1;ds_cs=1;
}
uchar read_ds(uchar add)
{
uchar ds_dataa;
ds_cs=0;ds_as=1;
ds_ds=1;ds_rw=1;
P0=add;ds_as=0;
ds_ds=0;
P0=0xff;
ds_dataa=P0;ds_ds=1;
ds_as=1;ds_cs=1;
return ds_dataa;
}
另外,该时钟芯片时、分、秒的读取函数分别为shi=read_ds(4)、fen=read_ds(2)和miao=read_ds(0)。
温度采集节点作为终端节点,通电后加入由协调器建立的ZigBee网络,其中协调器负责建立网络和接收终端节点加入。温度采集节点和网络协调器之间构成简单的星形网络(如图3所示),温度采集模块的工作流程如图5所示。
3.2 协调器设计
协调器的主要功能有:收集各个节点的温度数据,并将其通过串口传至上位机中进行数据处理;将上位机的监控需求传到协调器中,并通过ZigBee网络发送到终端节点上[16],图6仅展示上述第一种功能的流程图。
接收系统接收到温度数据后,再通过RS-232串行通信接口与上位机相连,将接收的温度数据实时存储在上位机中并显示在上位机界面上,方便后期处理。上位机数据处理流程如图7所示。
4 系统测试
由于家用水暖系统有进出水管,为了测量温度差,将两个温度采集节点标号后分别贴附在进水管和出水管上,把每次测得的两组数据发送到上位机端,我国供暖时间(不计特殊情况)为11月15日至次年3月15日,供暖时间为120天,进水管和出水管的数据均为360个,结合供暖热量算法以及当地供暖收费标准,将这些数据在上位机中做最优计算,再根据每家每户的最终数据进行精确收费。
本设计采用串口调试助手V3.7.1进行系统测试,端口参数如下:比特率为9 600 b/s,数据位为8 bit、停止位为1 bit,校验位为NONE。为了验证该设计能否正常工作,搭建了如图8所示简易场景进行测试,从串口调试助手窗口中,可以看到两个节点的温度,如图9所示。
通过分析了ZigBee网络相关特性,以CC2530为核心、DS18B20为温度节点,设计实现了基于ZigBee协议的温度采集与传输,阐明了硬件框架设计以及ZigBee网络组建流程,完成了对多个不同位置的温度数据采集的设计要求。本系统具有通信可靠性高、结构简单及成本低的特点,通过实验验证,在此基础上经过系统后期完善与调试之后,便可投放给用户进行使用。
参考文献
[1] 王卫东.浅述住宅室内采暖系统节能设计[J].中国科技财富,2011(6):144.
[2] 徐明昌,李桢,张华.现行室内的采暖方式[J].房材与应用,2003,31(4):25-26.
[3] 辛坦.在中国推选供暖按表计量收费亟待解决的几个问题[J].区域供热,1999,81(4):15-21.
[4] 吴思.分户计热新政有多远[J].走向世界,2011(33):50-51.
[5] 王颖,刘敬露.智能小区中冷暖气计量收费的研究[J].计量与测试技术,2007,34(12):22-23.
[6] 于博,邓高林,郑宾.ZigBee无线温度数据采集系统设计[J].电子测试,2012(12):38-41.
[7] Zhang Qian, Yang Xianglong, Zhou Yiming, et al. A wireless solution for greenhouse monitoring and control system based on ZigBee technology[J]. Journal of Zhejiang University SCIENCE A,2007,8(10):1584-1587.
[8] 范茂军.物联网与传感器技术[M].北京:机械工业出版社,2012.
[9] 孙恩学.住宅室内采暖系统节能设计方案[J].科技致富向导,2013(6):180,274.
[10] 周建春,钱敏,李文石,等.基于单片机和PC串口通信的测温系统[J].通信技术,2011,44(5):157-159.
[11] DS18B20 Data sheet.
[12] 关学忠,姜南,王一群,等.基于ZigBee技术的多点温度监测系统的设计[J].自动化技术与应用,2011,30(10):41-44.
[13] Wang Hao, Sha Sha. Based on TMS320LF2407 Environment Temperature Humidity Detection[J]. Physics Procedia,2012(25):1258-1263.
[14] 王龙山,马珺.基于物联网的家居综合监测系统[J].电子技术应用,2013(2):78-81.
[15] DS12CR887 Data sheet.
[16] 李永龙,杨明枫,曹莹莹.基于ZigBee的无线温度监测系统的设计与实现[J].电脑知识与技术,2013,9(15):3545-3549.