引言
随着科技的发展,能源的消耗越来越严重,节能问题成为人们关注的大问题,冬季北方供暖是能耗大户,经常出现无人空房供暖不停的浪费现象。如白天上班,家中无人、办公室晚上无人等都造成能源浪费。本文设计了一个自动控制系统,通过按键设定暖气开关时间,在无人时暖气低温运行。另外,特殊情况,如推迟或提前回家,可以通过手机与GSM模块通信,远程控制暖气提前或推迟打开。
1 整体设计
根据实际需要供暖模式分为家庭模式和办公室模式:家庭模式适用于家庭供暖的模式,通常是早上7:00到下午5:00用户上班或上学,家中无人;办公室模式适用于办公室或学校等供暖的模式,一般早上7:00到下午5:00有人,其余时间无人。通过单片机设定开关暖气的时间,无人时关闭暖气,有人时打开暖气,达到节能的目的。特殊情况,如推迟或提前回家,可以通过手机发送短信“open”或“close”到GSM模块,单片机读取短信内容并控制暖气开关。在指定模式下,如家庭模式,根据是否需要供暖,可以设为供暖段和关暖段。在供暖段内,将温度控制在一定的范围内,如18~23 ℃,当温度低于18 ℃时,打开电动二通阀,使温度升高;当温度高于23 ℃时,关闭电动二通阀,使温度降低。同样,在关暖段内,将温度控制在5~8 ℃,保证暖气暖道不被冻裂。
供暖控制电路主要包括以下几部分:手机与GSM通信模块、单片机控制模块、温度检测模块、定时模块、显示模块、驱动电路和设备对象。总体结构如图1所示。
图1 供暖控制电路整体结构设计
2 硬件介绍
2.1 GSM模块
GSM模块由SIMCOM公司的SIM300模块及其外围电路组成,主要用于通信领域,如移动电话、收发短信和GPRS数据收发、彩信收发等业务。
2.1.1SIM300硬件介绍
SIMCOM公司的SIM300模块可在全球范围内的EGSM 900 MHz、DCS 1800 MHz、PCS 1900 MHz三种频率下工作,能够提供 GPRS多信道类型多达10个,并且支持 CS1、CS2、CS3和CS4四种 GPRS编码方案。SIM300内部集成了 TCP/IP协议栈,并且扩展了 TCP/IP AT指令,使用户利用该模块开发数据传输设备变得特别简单、方便[1]。
SIM300结构小巧,外形尺寸仅 40 mm×33 mm×2.85 mm,功耗低,供电电压为 3.4~4.5 V,睡眠模式下的电流消耗仅为 2.5 mA。SIM300除了RF接口,其他所有硬件接口都通过一个 60引脚、引脚间距为 0.5 mm的板板连接器与用户移动应用平台连接。板板连接器的子接口包括电源供电接口、双串行接口、两个模拟音频接口、SIM卡接口。
SIM300与SIM卡通过SIM_DATA引脚接收SIM卡数据,通过TXD、RXD引脚与单片机通信,具体连接如图2所示。
图2 GSM模块与单片机连接图
2.1.2 单片机与GSM模块通信
GSM模块与计算机之间的通信协议是一些AT指令集,手机与GSM模块的通信是通过AT指令实现的,单片机也是通过编写AT指令与GSM模块通信。该AT指令包括 一般命令、呼叫控制命令、网络服务命令、安全命令、电话簿命令、短消息命令、追加服务命令、数据命令等,本文主要用到短消息命令。
GSM模块支持TEXT和PDU两种消息模式,TEXT模式是纯文本方式,可使用不同的字符集,理论上也可以发送中文短消息,但国内手机基本不支持,主要在欧美地区;PDU模式是发送和接受短消息的另一种方式,可以被任何手机支持[2],应用更为广泛。当只发送、接收字符短信时,使用TEXT模式比较简单。
(1)短信相关的AT指令
短信相关的AT指令如下:
① AT+CMGF设置短信模式。AT+CMGF=1时设为TEXT模式,AT+CMGF=0时设为PDU模式。在PDU模式中所有的字符都是十六进制,因此它所用的字符只能是0~9和A~F,在TEXT模式中所用的字符都是ASCII码[2]。
② AT+CNMI新消息提示。AT+CNMI=<mode>,<mt>,<bm>,<bfr>[3]。mode控制TE(终端设备)的方式,可取值0~3,其中2表示数据线空闲时,直接通知TE,否则先将通知缓存起来,当数据线空闲时再行发送。mt控制短消息存储和通知TE内容,mt=1时接收的短消息存储到默认的内存位置,并向TE发出通知,通知方式为“+CMTI:"SM",<index>”,index为存储位置。mt=2时在默认短消息类下,将短消息存储到SIM卡上,并向TE发出通知“+CMT:”直接读取短消息内容。bm设置小区广播,brf始终为1,详情见参考文献[3]。通常设“AT+CNMI=2,1”,有短信时提醒,程序中通过编写“AT+CMGR=<Iindex>”指令读取短信,或“AT+CNMI=2,2”,有短息时模块自动读取内容。
③ AT+CMGS发送短消息指令。PDU模式下,首先发送短消息数据的长度AT+CMGS=<Length>,等待SIM300返回ASCII字符“>”后,输入PDU数据。PDU数据以“<Crtl>+<Z>”作为结束符,以十六进制数0x1a结束。消息发送成功后,模块返回<CR><LF>OK<CR><LF>。TEXT模式下,先发送手机号码,等待SIM300返回ASCII字符“>”,然后输入短信内容,最后以十六进制数0x1a作为结束符。短信息成功发送,模块返回OK。
PDU模式下与手机进行通信,要先对信息进行PDU编码和解码。以向手机15964282650发送短信“打开”为例,PDU编码如下:
0891683108502305F011000D91685169242856F00008B00462535F00
编码详情见参考文献[2]。
④ AT+CMGR读取短消息。“AT+CMGR=<index>”读取相应位置的短信。当模块收到该指令时,返回“+CMGR:”及内容。
(2) GSM模块短信控制设置
通过按键置低一会儿,实现手动复位。等模块找到信号,就可以正常工作了。本文中短信控制,可以通过发送英文短信实现。短信模式设为TEXT模式,以发送“open”为例,其具体实现过程如下:
① 初始化GSM模块。通过单片机串口向GSM模块发送字符串“AT+CMGF=1\\r”,将短信息格式设置为TEXT模式,发送字符串“AT+CSCS=\\"GSM\\"\\r”,将字符模式设为GSM模式,发送“AT+CSMP=17,167,0,240\\r”设置相关参数,发送“AT+CNMI=2,2\\r”设置接收短信模式为收到短信息后,自动读取短信息。
② 用户编写短信“open”或“close”发送给GSM模块中的SIM卡号码。
③ GSM模块收到短信息后自动读取短信内容,单片机通过if(strstr(raid,"open"))语句,判断短信内容是否有打开暖气命令,如果strstr(raid,"open")不为空,则进入供暖段函数,如果strstr(raid,"open")为空,则执行语句if(strstr(raid,"open")),继续判断是否有关闭暖气命令,有则进入关暖气函数,否则不执行。
(3) 短信控制编程实现
设置短信模式:
send_char_com("AT+CMGF=1\\r\\n");
delaysec(1);
send_char_com("AT+CSCS=\\"GSM\\"\\r\\n");
delaysec(1);
send_char_com("AT+CSMP=17,167,0,240\\r\\n");
delaysec(1);
收到短信时处理函数:
if(uartRxFlag){
if(strstr(read,"open")){
kg=1;
relaycon(kg);
memset(read,0,64);
}
if(strstr(read,"close")){
kg=0;
relaycon(kg);
memset(read,0,64);
}
count=0;
uartRxFlag=0;
}
2.2 单片机及其外围电路
2.2.1 单片机外围电路
单片机外围电路包含按键模块、LCD12864液晶、温度传感器DS18B20、继电器及电动二通球阀,具体链接电路如图3所示。
图3 单片机及其外围电路
STC89C52单片机外接DS1302时钟芯片,设计了一个时钟,LCD12864液晶显示时钟信息[5]。
用户使用按键输入暖气开关时间及供暖温度,通过LCD12864液晶提示用户如何正确设置开关时间及温度。首先按时间/温度设置键,LCD12864液晶提示输入开暖气时间,输入完成后,继续按时间/温度设置键输入关暖气时间,同理完成暖气温度设置。
温度传感器DS18B20测定室内温度,DS18B20是单线总线系统,单片机通过对DS18B20初始化、ROM操作命令、存储器操作命令将温度转换为十进制数字温度。
STC89C52单片机比较时钟信息与设定时间,判断是否处于供暖时间段,当收到短信时,根据GSM短信内容,判断是否供暖,在供暖段和关暖段分别判断传感器检测温度是否在设定温度内,控制暖气阀开关。STC89C52单片机通过设置P2.0口控制继电器,从而控制暖气阀门。
2.2.2 电动二通球阀
暖气设备通过热水循环供暖,本文通过控制暖气阀门开关,将温度控制在一定的范围内。采用电动二通球阀代替传统的手动阀门,实现对暖气设备的自动控制。选用上海立盾阀门公司生产的型号为Q911F16T的电动二通蝶阀,口径选择DN20。
该电动二通球阀是由阀体和电动执行器两部分组成,具有结构简单、工作可靠、流体通过能力强及节能等优点。可广泛应用于采暖、中央空调、太阳能热水系统、水处理系统的冷热水通断控制;也可以用于低压水蒸汽的通断控制。其中配B型号电动执行器的电动二通球阀,实现一条线控制,能与所有的温控开关配套使用,还可以进行多阀并联运行,是一款性价比很高的产品[6]。普通电动二通阀接线图如图4所示。
图4 电动二通阀接线图
采用型号为HK4100F的继电器,驱动电路如图5所示。
图5 电动二通球阀驱动电路
3 软件设计
主流程图如图6所示。
图6 供暖系统程序主流程图
供暖段和关暖段,暖气温度维持在一定范围内,关暖段称为低温运行阶段,供暖段称为正常运行阶段,其具体实现流程如图7、图8所示。
图7 低温运行流程图图8 正常运行流程图
4 测试
实验中用LCD12864液晶显示时钟信息、温度信息、定时信息、短信设置及短信内容、暖气开关信息,并通过继电器引出两个LED灯验证暖气开关信息。在供暖时间内,人为改变DS18B20的温度,当温度低于温度上限时,暖气打开;高于温度上限时,暖气关闭。当GSM模块收到"open"时,液晶屏显示读取的内容,暖气处于工作状态,根据温度判断阀门开关;当GSM模块收到“close”时,液晶屏显示读取的内容,同时暖气处于低温运行状态,如图9所示。
图9 实物测试图
结语
该系统采用单片机控制电动二通阀实现暖气的开关,能够控制暖气开关时间,控制暖气在一定温度范围内,实现节能的要求。GSM网络通信具有简单、可靠的特点,在远程控制领域有良好的前景,但是由于存在延时,不能应用在实时控制上。该智能控制方法在智能家居及其他方面也有很好的应用前景,比如选择合适的开关及驱动应用于门窗自动控制等。