gsm智能家居毕业论文.docx

上传人:b****5 文档编号:4516063 上传时间:2022-12-01 格式:DOCX 页数:14 大小:30.52KB
下载 相关 举报
gsm智能家居毕业论文.docx_第1页
第1页 / 共14页
gsm智能家居毕业论文.docx_第2页
第2页 / 共14页
gsm智能家居毕业论文.docx_第3页
第3页 / 共14页
gsm智能家居毕业论文.docx_第4页
第4页 / 共14页
gsm智能家居毕业论文.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

gsm智能家居毕业论文.docx

《gsm智能家居毕业论文.docx》由会员分享,可在线阅读,更多相关《gsm智能家居毕业论文.docx(14页珍藏版)》请在冰豆网上搜索。

gsm智能家居毕业论文.docx

gsm智能家居毕业论文

基于GSM智能家居控制系统的设计

物理与电子信息工程系电子信息工程专业张彪指导老师张华林

摘要论文中介绍了一种智能家居控制的新方法,详细的论述了系统的组成及实现原理。

以STC12C5A60S2单片机作为主控制芯片,使用GSM模块TC35i发送短信息和接收短信息,实现了手机终端和智能家居控制系统远距离全双工通信。

使用红外热式传感、MQ2煤气传感器、MQ5烟雾传感器采集家中的安全信息并将险情发送至用户的手机上。

系统可以用手机短信定时控制家电,也可以利用VB上位机通过CC1100无线传输模块定时控制家电。

关键词:

智能家居;单片机;远程控制;GSM

1引言

随着通信技术、嵌入式技术、网络技术的迅猛发展,生活节奏不断加快使人们对智能化的家庭居住环境提出了更高的要求。

目前市场上各种智能化家居控制系统的产品层出不穷,其中大部分产品是以电话线作为载体的,对电话线的依赖较高。

但目前现状是电话家庭用户的数量正逐步减少,且电话线路容易遭到破坏,同时受到地区限制,故这种智能化家居产品中有存在一定的局限性和安全隐患。

但随着GSM移动网络通信的普及和移动通信应用领域不断扩大以及手机用户的日益增多,为利用GSM网络研制智能化家居系统提供了一种新的途径。

2系统的设计要求

系统的设计要求

系统设计要求主要有:

(1)能够用PC机和远程终端定时和立即控制多路家电的电源开关;

(2)具备监控家庭中的安全信息并能把险情随时通知用户。

设计的基本思路

设计一个实用智能化家居控制系统,按照系统设计的基本要求,可分为5个主要模块,分别是:

远程控制模块、液晶显示模块、无线射频CC1100模块、实时时钟模块、六路继电器控制模块。

其中远程控制模块是使用短信息或者电话远程控制家用电器(包括定时和立即控制)。

CC1100模块是实现上下位机数据中转,因此PC机可以实现短距无线传输控制家电。

实时时钟模块为定时控制家电提供时间参考,系统实现的大部分功能需要软件控制。

系统方案比较

2.3.1主方案比较

方案一:

以电话线为通信载体的远程控制

电话远程控制是使用电话线传递国际统一使用的双音频通信标准DTMF[1]信号的控制方式,发送方需要将发送的按键信息转换成一对双音多频信号并传送到电话线等传输电路,接收方需要将接收到的双音多频信号还原成按键信息,从而达到信息传送和交流的目的。

目前广泛采用MT8870芯片实现双音频编解码,单片机通过MT8870识别来自电话程控交换机的网络控制信号以实现远程控制。

方案二:

使用商用移动通信进行远程控制

GSM网络是覆盖方位广、手机用户多、最可靠、最成熟的商用移动通信网络,采用该网络可以实现中文短消息或电话形式提醒用户,直接把报警的情况信息反映到用户手机屏幕上。

方案一中信息的发送需要电话线传输,其对电话线的依赖程度很高,当电话线出现通信故障时系统会出现崩溃。

同时电话线受线路布线和地区的限制,使用不方便。

GSM网络在通信范围等方面有着巨大的优势。

所以系统选择方案二。

2.3.2主控制器比较

方案一:

以AT89S52单片机为主控制芯片。

方案二:

以STM32系类Cortex—M3内核为主控芯片。

方案三:

以STC12C5A60S2为主控芯片。

AT89S52是ATMEL公司的基本型单片机,其片内资源较少,RAM为256B,程序存储器的容量为8K、定时器有3个,同时含有一个全双工UART串口等、但单片机内部时钟周期为晶振周期的十二分之一,指令处理的速度相对较慢,同时在系统设计中多数实现的功能是通过软件实现的。

所以使用此种单片机的RAM可能会不够用。

STM32为目前市场上比较流行的32位ARM处理器,价格比STC12C5A60S2贵很多,片内资源较多,处理速度较快,但是开发环境比较复杂,同时很多资源本次设计用不到会造成资源的浪费。

STC12C5A60S2片内资源比AT89S52丰富很多。

其主要片内资源有1280RAM、可以设置I/O的工作模式,最多可使用44个I/O口、片内同时含有掉电不丢失的用户程序存储区、看门狗复位电路、4个16位定时器,可以使用定时器资源设置为2路PWM、CCP功能、中断资源丰富,含有7个中断源、2个串口、8路10位模数转换等资源。

由于本设计需要使用较多的设置数值需要使用EEPROM,AT89S52不满足系统设计要求,STM32会造成成本的增加。

故本系统采用内部含有EEPROM的STC12C5A60S2单片机作为系统主控制芯片。

2.3.3显示输出电路比较

方案一:

使用数码管显示

使用数码管显示,此种方案显示较直观,设计中需要显示电话号码、时间、定时控制时间、家电开关信息诸多信息,这就需要很多的数码管,而且数码管显示内容受限制只能显示数字和部分英文。

由此增加了电路的复杂程度,也使软件编程变得很复杂,更增加了成本。

方案二:

使用LCD12864显示

LCD12864显示[2]模块具有体积小、功耗低、显示内容丰富、除显示字符外还能显示各种图形和汉字等特点,同时编程比较简单,不需要单片机动态扫描。

硬件方面接口相对简单,可以使用并行和串行的方式传输数据。

方案三:

使用TFT彩屏模块显示

TFT彩屏显示内容比较丰富,画面显示比较逼真,可以显示图片等信息。

是目前嵌入式产品中广泛采用的显示模块,但由于单片机的处理速度有限,刷新屏幕时间比较长,并且多数TFT彩屏需要采用并行数据传输,会占据很多的I/O口。

并且TFT彩屏管脚的电压要求与本系统选所用单片机管脚输出电压不兼容,需要额外的电压转换。

综上比较,因此选用方案二。

系统组成

系统组成框图如图2-1所示。

从图中可以看到系统的主要结构框图以及各个模块实现的功能,其中上下位机控制芯片均采用单片机STC12C5A60S2。

程序开发是使用KeiluVision3软件平台,采用C语言为编程工具。

单片机主要实现12864液晶驱动、红外遥控器解码、TC35i串行通信、数据采集等任务。

图2-1系统组成框图

3单元电路设计

MQ2传感器信号采集电路

MQ2传感器广泛应用于工厂和家庭中气体的检测,可以检测液化气、丁烷、丙烷、甲烷、酒精、烟雾等物质。

其气敏元件的结构和外形如图3-1所示,该传感器主要由SnO2敏感层、微型AL2O3陶瓷管、加热器和测量电极构成的。

敏感元件固定在不锈钢或塑料的腔体内。

加热器是气敏元件工作的必要条件。

图3-2为MQ2采集信号原理图可实现模拟量和数字量输出。

图3-1MQ2结构和外形

图3-2MQ2采集信号原理图

热式红外开关电路

热式红外开关电路[3]主要由热释电红外传感器RE200B和红外传感信号处理芯片BISS0001构成的。

其电路原理图如图3-3所示。

RE200B传感器由一种晶体材料做成,其主要材料是硅。

当这种晶体表面受到红外线照射时会在其表面产生电荷。

不同程度的光照会产生电荷量的大小不同。

这种大小的电信号可以通过场效应管进行测量。

RE200B对于不同波长的光线照射很敏感会做出不同程度的响应。

BISS0001[4]是传感信号集成处理芯片,具有使用简单、性能较高等特点。

其内部框图如图3-4所示,主要包含电压比较器、运算放大器、状态控制器、延迟时间定时器以及封锁时间定时器等单元。

BISS0001主要管脚介绍如下:

管脚1(A)为触发方式选择端,通过改变管脚1(A)的电平便可以设置重复触发和不可重复触发两种触发方式。

重复触发和不可重复触发的主要区别是在发时间内触发是否有效,当选择重复触发时在触发时间内再次触发此时触发的时间会叠加。

管脚5(ENC)、6(ENR)是设置封锁时间Ti改变这两个管脚的电阻和电容值便可以调节封锁时间,在封锁时间内触发是无效的。

改变管脚3(TR),4(TC)便可以改变触发时间Tx。

8脚(VRE/R)为复位脚,通常接低电平。

管脚管脚9(INH)为禁止触发端,当管脚9的电压低于时禁止触发。

图3-3红外热式开关原理图

图3-4BISS0001结构图

MCU控制电路

本设计中下位机的控制系统主要由STC12C5A60S2单片机、电源部分、传感器信号采集部分、12864液晶显示部分、TC35i串口通信和红外遥控解码部分等组成的。

系统实现的功能主要通过单片机编程实现的。

单片机主要对红外遥控解码电路、传感器采集电路、显示电路进行控制处理以及和TC35i串口通信等。

单片机I/O口资源分配如下:

P0口主要为LCD12864接口,P1口主要为驱动继电器提供接口,P4口主要为实时芯片DS1302提供接口,P3口主要为红外解码和连接TC35i提供接口,P2口主要为CC1100提供接口。

上位机控制系统主要由RS232串口通信电路模块、CC1100模块组成的。

该硬件实现的主要功能实现PC机和下位机硬件电路的数据中转。

3.3.1STC12C5A60S2单片机简介

单片机STC12C5A60S2是宏晶科技生产的(1T)的单片机,是高速/低功耗/抗干扰能力强的新一代单片机,但速度比传统8051快8-12倍。

STC12C5A60S2具有如下特点:

指令代码完全兼容传统8051,可使用定时器设置脉宽调制、脉宽捕捉等功能,具有60K程序存储区、1280字节程序存储器、通用I/O口(36/40/44个)、8路高速10位数模转换转换,速度为较快,可使用软件设置I/O口四种模式。

同时片内配有掉电不丢失的用户程序存储区、WDT内部含有专用复位电路、4个16位定时器、2个串行口通信接口等。

STC12C5A60S2单片机管脚如图3-5所示。

STC12C5A60S2管脚说明:

(1)电源引脚

VCC(40脚):

接+5V电源正端。

GND(20脚):

接电源地端。

(2)外接晶体引脚

XTAL1(19脚)、XTAL2(18脚):

连接石英晶体,可以为单片机提供时钟。

(3)输入/输出引脚

P0口(32脚~39脚):

~统称为P0口。

P0口既可以作为I/O口也可以作为地址/复用数据总线,当P0口作为I/O口使用时是一个8位准双向口。

内部有弱上拉电阻,无需再外接上拉电阻。

当P0作为数据/地址复用总线使用时是低八位地址线[A0-A7],数据线[D0-D7]。

P1口(1脚~8脚):

~统称为P1口。

P1口为双功能口,可以作为一般的准双向I/O接口,也可以将每一位用于AD转换,SPI等特殊功能。

而且P1口每个管脚均可以设置为四种模式。

P2口(21脚~28脚):

P2口既可以作为I/O口也可以地址/复用数据总线使用。

当P2口作为I/O口使用时,P2口是一个8位准双向口,内部有上拉电阻。

P3口(10脚~17脚):

~统称为P3口。

可以作为一般的准双向I/O接口,也可以将P3口设置为第二功能。

~为串行通信数据接口。

~为外部电平中断接口。

通过设置相关寄存器可以将此两个管脚设置为低电平和下降沿触发外部中断。

P4口(29、30、31脚):

为标准的I/O口。

可以作为I/O使用和地址锁存允许脚使用。

既可以作为I/O使用也可以作为外部低电压检测终端或第二复位脚使用。

图3-5STC12C5A60S2管脚图

人机交互界面

由于STC12C5A60S2单片机可利用的I/O多,资源多,可以使用液晶显示相关的信息。

3.4.1液晶显示电路

12864液晶显示模块表示横向有128点,纵向有64点,可显示4行汉字,每行可以显示8个汉字,也可以显示图形和字符,其内置8192个16*16点汉字。

该模块构成的显示电路具有操作简单、功耗低、显示内容丰富、编程简单等特点。

引脚功能如表3-1所列。

LCD12864液晶显示电路原理图如图3-6所示。

表3-1LCD12864液晶引脚功

引脚

符号

引脚功能

1

GND

电源地

2

VCC

电源+5V

3

VL

液晶显示驱动电源0-5V

4

RS

H:

数据输入L:

指令输入

5

R/W

H:

数据读取L:

数据写入

6

EN

使能信号。

由H到L完成使能

7-14

DB0-DB7

数据线

15

CS1

CS1=1:

芯片选择左边64*64点

16

CS2

CS2=1:

芯片选择右边64*64点

17

RST

复位。

低电平有效

18

VCC

LCD驱动负电源

19

BL+

背光电源(+)

20

BL-

背光电源(-)

图3-6液晶显示电路原理图

电源电路

电源电路如图3-7所示。

主要采用的稳压芯片为LM7805、LM7812、。

可以为系统提供+12V、+5V、+三种电压。

其中+12V为六路继电器电路供电、+为CC1100模块电路供电。

+5V为单片机和外围电路供电。

图3-7电源电路原理图

RF收发芯片CC1100简介

利用单片机和CC1100构成的无线传输系统能够实现低功耗近距离的无线数据传输,具有成本低、通用性强、可拓展性强、操作简单等特点[5]。

CC1100模块是集ASK/FSK/MSK/OOK调制方式于一体的无线收发模块。

该模块是用于低功耗无线应用的业界系统成本最低的多通道无线电产品,内部主要是由集成的频率调制器、功率放大器、带解调器的接收器、调节器和晶体震荡器构成的。

并具有无线唤醒、信息包处理、空闲信道评估等功能。

广泛应用于315/434/868/915MHz的频段中。

比如PKE无钥门禁系统、无线安防系统、AMR远程抄表系统、消费电子产品、工业监控等等。

该模块所有配置字都是通过SPI接口送给CC1100寄存器地址位(0x00-0x3F)。

图3-8为其SPI时序图。

当接收数据时,需将CC1100配置为接收状态,当收到合法的数据时,数据就会被存入接收FIFO中,MCU便可以通过SPI传输协议方式读取接收到的数据。

当需要发送数据时,需要把写入的数据通过SPI传输协议方式写入发送FIFO,并且将CC1100配置为发送状态,数据便可以发送出去。

对CC1100进行接收数据操作时,可以使用中断法和SPI查询的方法。

但SPI查询法有时会使接收的数据灵敏度低。

其数据包主要包括可以软件进行控制字节数的前导码、同步字节、数据长度、数据地址、数据、和两个字节的CRC-16校验位。

该模块有如下特点:

(1)使用免费的433MHz频段,其最高工作速率500kbps;

(2)支持调制方式较多;

(3)软件可修改波特率;

(4)接收的灵敏度较高,数据包丢失率低;

(5)具有单独的64字节TX和RX数据FIFO;

(6)电流消耗较低(RX中,,,433MHz);

(7)可用软件改变发射功率大小,对所有的支持频率可达+10dBm;

(8)具有硬件CRC检测功能。

图3-8CC1100SPI时序图

TC35i模块简介

TC35i是德国SIEMENS(西门子)公司的一款高度集成的GSM模块,可以工作在EGSM900/GSM1800双频段[6]。

该模块支持语音,短信息,打电话等功能,被广泛应用中远程控制领域。

TC35i的组成框图[7]如图3-9所示,主要由GSM基带处理器、GSM射频部分、FlashROM、电源、天线连接器、40脚ZIF插座(零阻力插座)六部分组成。

基带处理器主要处理GSM终端内的数据信号、语音信号等。

在不需要连接额外硬件电路的前提下,可支持FR、HR和EFR语音信道编码[8]。

TC35i的引脚分布如图3-10所示。

图3-9TC35i组成框图

3.7.1TC35i引脚简介

TC35i引脚有40个,其管脚结构如图3-10所示。

这些引脚可以划分为5类,即BAT电源脚、接SIM卡引脚、音频接口及控制脚、数据输出/输入脚。

1-10为电源脚,其中6-10为接电源地脚、1-5接电源VCC。

VCC的取值范围为++,推荐值为+。

11、12脚为充电出入端可以为外接锂电池充电。

13脚为对外电压输出脚。

14脚为电池温度端,接负温度系数的热敏电阻用于锂电池充电保护控制。

15脚IGT为触发点火信号触发端,低电平有效,对于IGT点火信号的处理首先先拉低该管脚到地并至少维持100ms,如果通过通电回路供电,或者通过电池供电那么IGT点火信号必须至少维持1s。

16-23脚为数据输入输出脚,符合电子协会规定的232通信标准。

18脚RXD、19脚TXD为TTL串行通信脚,用于和单片机、PC机串行通信。

24-29脚为SIM卡脚。

30-32脚为控制引脚。

35-38脚为麦克风和免提接口。

与拨打接听电话中使用的语音有关。

图3-10TC35i引脚分布图

3.7.2AT指令与短信编码简介

AT指令集是从终端设备(TE)或数据终端设备(DTE)向终端适配器(TA)或数据终端数据设备(DCE)发送的[9]。

常用的AT指令如下所示[10]

AT+CGMI获得厂家的标识;

ATD拨打电话号码;

ATH挂机指令;

ATA接听电话;

AT+CSMS选择消息服务,支持的服务有GSM-MO、SMS-MT、SMS-CB;

AT+CNMA新信息确认应答;

AT+CPMS优先信息存储,这个命令定义用来读写信息的存储区域;

AT+CMGF优先信息格式,执行格式有PDU方式和TEXT方式;

AT+CSAS保存设置,保存+CSAS和+CSMP的参数;

AT+CRES恢复设置;

AT+CSDH显示文本方式的参数;

AT+CNMI新信息指示,这个命令选择如何从网络上接收短信息;

AT+CMGR读短信,信息从+CPMS命令设定的存储器读取;

AT+CMGL列出存储的信息;

AT+CMGS发送短信息指令;

AT+CMGW写短信息并存储;

AT+CMSS从存储器中发送信息;

AT+CSMP设置文本模式的参数;

AT+CMGD删除短信息,删除一个或多个短信息;

AT+CSCA短信服务中心地址;

AT+CSCB选择单元广播信息类型;

AT+WCBM查看小区广播信息标识符;

AT+WMSC修改信息状态;

AT+WMGO信息覆盖写入;

AT+WUSS保持短信状态不变。

下面以一个发送实例讲述短信的编码方式:

例如福建省漳州市的移动中心号码为,短信接收的号码为,短信内容为(最多为140个字节,中文最多为70个汉字)为“煤气泄漏”。

通过串口助手接收TC35i返回来的信息可以看出短信最终的编码如下:

00B8130008A70871646C146CC46F0F01

短信的编码格式如下:

08:

表示短信中心的地址长度,一般固定不变;

91:

表示短信中心号码类型,一般固定不变;

68:

表示中国地区代码,一般固定不变;

1100:

发送短信的编码方式,一般固定不变;

0B:

目的地址的长度;

81:

目的地址的类型;

0008:

表示中文字符方式;

08:

表示短信长度;

71646C146CC46F0F:

发送中文短信“煤气泄漏”的Unicode码;

01:

发送结束标志位,表示短信码结束。

红外解码电路与原理

本系统操作需要输入电话号码等一些参数据需要使用10个按键、另需2个按键用于撤防和布防、1个按键为确认键、1个按键用于返回设置界面,一共需要14个按键。

所以在选择遥控器时选择了按键大于14的遥控器。

使用遥控器比使用矩阵键键盘的好处是省去了软件去抖动、动态扫描等环节,但会占用单片机的中断资源。

红外解码电路[11]如图3-11所示,目前市场上各种协议的遥控器很多,本系统选用了一种NEC协议的遥控器作为系统数据输入的工具。

该遥控器使用的发射集成芯片为TC9012。

其可以提供32个用户按键、可以提供8种用户编码、还有3种双重按键功能。

管脚分布如图3-12所示。

编码规则主要采用脉冲位置调试方式(PPM)来区分“0”和“1”。

的高电平和的低电平表示“0”,的高电平和的低电平表示“1”。

TC9012的一帧数据中含有33位码,包含1位引导码、包含两个8位用户码,1个8位数据码和1个8位数据码的反码及位最后位的同步位,其中作为用户码、数据吗、及数据反码的先导的引导码由9ms的高电平和的低电平构成。

TC9012发射码波形如图3-13所示。

当使用单片机进行软件解码时可以接到MCU外部中断同时利用定时器来判断电平占空比,也可以使用单片机脉宽捕捉CCP功能进行脉宽的捕捉,从而解码出数据码等。

本系统采用的前者的解码方案。

图3-11红外解码原理图

图3-12TC9012管脚图

图3-13TC9012发射码的波形

4系统软件设计

系统软件的设计要求

4.1.1单片机系统软件的设计要求

根据系统功能要求,使用C语言软件实现以下功能,系统软件设计多数是采用模块化编程。

将各个模块调试成功。

最终进行各个模块之间的联合调试。

(1)设置并保存电话号码、修改系统时间参数、设置定时控制家电时间;

(2)发送险情的中文短信;

(3)红外解码;

(4)12864液晶显示;

(5)读取短信内容并能接收上位机发送的协议指令;

(6)控制六路继电器吸合与断开;

(7)控制CC1100发送和接收数据。

4.1.2上位机系统软件的设计要求

上位机系统软件的功能要求为:

(1)上位机电脑通过CC1100模块对单片机发送协议指令以修改系统时间、定时时间、系统电话号码等。

(2)能够接收单片机传送过来的确定信息并且显示在VB界面上。

系统软件的设计流程

4.2.1主流程图设计及说明

下位机单片机程序的主程序流程图如图4-1所示,该流程图起到了向导的作用,是根据系统软件的工作流程得出的,主程序流程图给出了系统工作的基本过程及实现的主要功能,描述了系统的基本流向。

上位机单片机程序主流程图如图4-2所示,主要实现数据的中转。

图4-1下位机软件主流程图

图4-2上位机软件主流程图

4.2.2各个子程序说明

(1)显示子程序

通过显示部分操作者可以更直观的了解输出结果。

同时操作者也可以了解单片机的运行结果。

(2)继电器吸合与断开程序

使用该部分可以利用继电器达到弱电控制强电的目的,从而可以达到通过单片机间接控制家电电源开关。

(3)红外遥控解码程序

红外解码程序是操作者与单片机交换信息的一种方式。

通过此部分的程序可以修改系统一些重要的参数。

4.2.3VB串口通信介绍与上位机界面

串口通讯作为一种通讯方式,被广泛应用于工业控制等领域。

在Visual?

Basic中有一个名Microsoft?

Communication?

Control(简称MSComm)的通讯控件,只要通过对此控件的属性和事件进行相应编程操作,就可以轻松地实现串口通讯。

本系统采用VB软件设计的上位机界面图4-3所示。

MSComm控件[12]的主要属性如下:

Commport:

设置并返回通讯端口号;

Setting:

设置串口通信相关的参数,包括比特率、奇偶校验位、停止位等相关信息。

InBufferCount:

设置输入寄存器所存储的字符数,当将其值设为0时,则输入寄存器将被清空;?

Input:

表示从接收缓冲区移走一串字符,返回值为从串口读取的数据内容,同时输入寄存器将被清空;

Ouput:

发送数据到输出寄存器;?

Portopen:

用于打开和关闭串口。

当Portopen的值为Ture时,会把对应的控件串口打开,Flase则把串口关闭。

InputMode:

访属性用于设置或者返回传输数据的类型。

若值为0,则表示以文本形式读取;值为1,则表示以二进制形式读取;?

OutBufferCount:

设置或返回输入缓冲区内等待读取的字节个数,当将该属性设置为0时,则输出寄存器将被清空;?

图4-3上位机界面

程序清单

单片机和VB程序清单参见附录一。

5系统调试

调试仪器清单

系统测试仪器设备如表5-1所列。

表5-1系统测试仪器设备

序号

名称

型号

数量

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1