陶卫平黎远洋罗 孟(.钦州学院电子与信息工程学院,广西 钦州 535000;.钦州学院,广西 钦州 535000)
基于GSM的智能热水器控制系统设计
陶卫平1黎远洋1罗 孟2
(1.钦州学院电子与信息工程学院,广西 钦州 535000;2.钦州学院,广西 钦州 535000)
文章研究利用现有的GSM网络,设计一种基于GSM的热水器远程控制系统实现对家庭热水器的远程控制。
AT89C52单片机;DS18B20;GSM模块;温度检测
目前生活中,很多热水器都是手动控制,不能进行远程控制。本系统主要研究通过GSM网络和单片机的控制,完成在远程终端对家庭热水器进行智能化控制操作,使人们在不在现场的情况下开启热水器,既避免了等待,又减少了能源过多消耗的浪费,方便了人们的生活。GSM网络实现远程控制成本、信号稳定性、使用便利性和维护等方面都具有很大的优势,有很大的发展前景。
1.1 GSM模块
本设计用单片机控制GSM模块控制远程加热器,整个系统由GSM模块、微处理器模块、加热模块、电源模块和外围模块组成。
1.2 无线通信模块
系统的前提是使用短信方式,简单、经济、方便使用的实用性系统,而不是需要联网才能进行使用的GPRS通信模块,如SIM300T和MC35等系列模块。综合使用价值、经济实用等方面原因,本系统选择TC35作为系统的无线通信模块。
1.3 控制单元模块的选择
基于成本和性能等方面的考虑,本系统选择 STC89C52模块。
1.4 系统总体框架
系统的实现只要是,利用STC89C52控制TC35无线模块进行远程通信。手机通过读取TC35接收到的短信内容从而在通过信息数据控制相应的外部继电器进行工作,达到控制加热器的目的。
图1所示为系统远程端系统框图:
图1 系统远程端框图
系统由STC89C52单片机主控,TC35作为无线通信模块,继电器组控制加热器,DS18B20温度传感器作为温度采集,电源模块提供模块的电源供应。
硬件系统包括单片机模块、电源模块、DS18B20温度传感器模块、GSM模块。现对其中的部分电路进行介绍。
2.1 指示灯电路
TC35有一个同步信号脚SYNC,该脚是一个同步信号输出端,该脚输出的信号,反应了模块的工作情况。本系统在该端通过一个三级管接入 LED 灯,接法如图 2所示。LED灯受到该脚信号控制,可以显示TC35模块运行的状态。
图2 指示灯电路
(1)LED 灯熄灭时:表示TC35处于关闭、休眠、报警或者充电状态二;
(2)LED灯600ms亮/600ms暗:表示SIM卡没有插入,或者正在搜索网络,或者正在认证用户,或者正在注册网络;
(3)LED灯75ms亮/3S暗:表示已经注册上网,处于待机状态二;
(4)LED灯75ms亮/75ms暗/75ms亮/3S暗:表示一个或多个GPRS文件被激活二;
(5)LED 灯闪烁:表示 GPRS 的数据传输,当GPRS数据传输时,在交换一个数据包后,LED灯将会在一秒内点亮。闪烁的持续时间约为0.5秒。
2.2 SIM卡电路
TC35模块的SIM卡座采用的是Molex座,该座有8个管脚,而TC35模块的SIM管脚只有6个管脚。其它的接口分别对应于TC35的5个管脚,SIM上的CCRST、CCIO、CCCL、CCVCC和CCGND通过SIM卡阅读器与TC35的同名端直接相连。
图3 SIM座接口电路图
系统的软件主要包括串口程序、短消息程序、水温采集程序和加热程序。本系统软件采用了前后台的设计方式,前台系统是主程序,后台是由所有的中断服务程序,如串口接收中断服务程序,定时器中断服务程序等功能模块组成。程序主要由三部分代码组成:启动与初始化、水温监控、远程开启与控制。
3.1 串口程序设计在本系统中,串口与GSM模块接口,串口程序主要包括初始化和中断服务程序两个部分。
3.1.1 串口初始化程序
串口初始化程序主要包括初始化和中断服务程序两个部分。下面为初始化程序。
Ini_UART(void)//串口初始化、定时器初始化
{
SCON = 0x50 ; //SCON∶ serail mode 1, 8-bit UART, enable ucvr
//UART为模式1,8位数据,允许接收
TMOD |= 0x21; //TMOD∶ timer 1, mode 2, 8-bit reload
//定时器1为模式2,8位自动重装
PCON |= 0x80 ; //SMOD=1;
TH1=0xFA ; //Baud∶19200 fosc="11".0592MHz
TL1=0xFA;
TH0=(65536-50000)/256; //(65536-50000)/256,50ms定时
TL0=(65536-50000)%256;
IE |= 0x90 ; //Enable Serial Interrupt
TR1 = 1 ; // timer 1 run
TR0=0; //开启T0定时器
ET0=1; //允许T0定时器中断
EA=1;
TI=1;
ES=1;
}
通过上面的程序可以看出,只要设置相应的寄存器就可以设置串口工作的参数。在上面的程序中,串口的通信率为19200波特/秒。
3.1.2 中断服务程序
串口进行数据的发送和接收处理时,采用中断服务程序来实现,下面为具体的中断服务程序。
void ser() interrupt 4
{
if(RI==1)
{
aa[j]=SBUF;//命令存到命令数组RI=0; //软件清除接收中断
j++;
}
}
在上面的中断服务程序中,为了与其他程序进行数据交互,使用全局缓冲区来实现,例如“aa[j]”等。
3.2 短消息程序设计
在本系统中,单片机通过串口向 GSM模块发送相应的
AT命令来实现短消息的发送和接收。
短消息可以是按照TEXT模式或者PDU模式发送,具体采用哪种模式发送短消息,需要根据系统的需要来决定。
基于TEXT模式的发短信代码简单,实现十分容易,只要把电话号码和发送内容封装好就可以,但是最大的缺点就是不能发送中文短信;而PDU模式不仅支持英文内容,也可以发送中文短信。基于PDU模式的实现要稍微复杂一点,由于PDU数据包有具体的帧结构,因此必须按照PDU的数据包格式进行封装数据[4]。
在PDU数据包的帧结构中,“SMSC”字段为短消息中心的地址;“PDU类型”指明数据包的类型;“MR”协议识别号;“DCS”为短消息的编码格式。对于数字或者字符采用编码值为“00”,如果内容是汉字,则采用的编码值为“08”,采用的是“UNICODE”编码方式。在该系统中采用的字符编码方式为:“VP”表示短消息的有效时间;“UDL”表示数据内容的长度;“UD”为具体的短消息的内容,在 PDU数据包里面,所有的数字是以字符形式发送的。
3.3 温度采集程序设计
本系统使用DS18B20进行温度采集,其代码如下:void read_temperture()
{
DS18B20_Reset(); //设备复位
DS18B20_Writeuchar(0xCC); //跳过ROM命令
DS18B20_Writeuchar(0x44); //开始转换命令
while (!DQ); //等待转换完成
DS18B20_Reset(); //设备复位
DS18B20_Writeuchar(0xCC); //跳过ROM命令
DS18B20_Writeuchar(0xBE); //读暂存存储器命令
TPL = DS18B20_Readuchar(); //读温度低字节
TPH = DS18B20_Readuchar(); //读温度高字节
symbol=TPH&0xf8; //判定符号
temp=(TPH&0x07)*256+TPL;
temp=temp*0.0625*100;
}
3.4 加热程序设计
本系统使用三极管控制续电器控制加热,其代码如下:
if(temp>5500) //如果温度大于55度,继电器关,发短信一次
{
JIDIANQI=1;
if(flag0==1)
{
write_str( 3,0, "中文短信【..】") ;
send_pdu();
write_str( 3,0, "中文短信【OK】") ;
flag0=0;
flag1=1;
}
}else //循环保温状态
{
if(flag1==1)
{
JIDIANQI=0;
}
}
从程序中可以看到,当温度达到55度之后停止加热。
4.1 操作说明
连接好硬件以把SIM卡插入到GSM的卡槽上,打开电源开关,单片机液晶上显示GSM初始化过程,稍等待初始化成功,可以进行一下操作。
(1)通过打电话或者发送K1短信内容给GSM模块,热水器系统进行加热。
(2)发送K0短信内容给GSM模块,热水器系统停止加热。
(3)当温度达到55℃时,热水器系统停止加热,并发送短信内容到手机上。
4.2 实物测试测试仪器:手机一部,SIM卡两张热水器系统的测试结果如表1所示。
表1 热水器系统的测试记录表
由上表格数据可以知道该系统能正常工作。
[1] 徐文斌,孙广大,黄健,等.基于单片机的智能家居远程控制系统的设计与实现[J].电脑知识与技术,2012(2)∶473-475.
[2] 刘鸣,车立新,陈兴梧,等.温度传感器DS18B20的特性及程序设计方法[J].电测与仪表,2001(10)∶47-51.
[3] 张军.智能温度传感器 DS18B20及其应用[J].仪表技术, 2010(4)∶68-70.
[4] 吴玉田,王瑞光,郑喜凤,等.GSM 模块 TC35及其应用[J].计算机自动测量与控制,2002(8)∶557-560.
[5] 李海生.基于 GSM短消息的远程监测系统[D].秦皇岛∶燕山大学,2005.
[6] 杜婷.基于 GSM 的远程温度控制系统的设计[D].呼和浩特∶内蒙古大学,2013.
[7] 张华,高需.基于 TC35模块实现短消息收发[J].电脑知识与技术,2010(17)∶4817-4819,4821.
[8] 刘涛,张春业,韩旭东,等.基于手机模块 TC35的单片机短消息收发系统[J].电子技术,2003(3)∶36-38.
[9] 赵大成,贾海燕.手机短信收发的 AT指令控制[J].信息工程大学学报,2004(2)∶90-92.
GSM -based control system of the water heater
Based on the existing GSM network, this paper designs a kind of remote control system of water heater based on GSM.
AT89C52 MCU; Ds18B20; GSM module; temperature detection
TP924;TP18
A
1008-1151(2016)10-0015-03
2016-09-10
2015年度广西高等教育本科教学改革工程项目(2015JGA371);2015年度国家级大学生创新创业训练计划项目(201411607003)。
陶卫平(1981-),女(壮族),广西钦州人,钦州学院电子与信息工程学院讲师,工程硕士,研究方向为信息化教学技术、多媒体技术。