基于GSM移动通信的分布式温度采集系统设计与实现.docx

上传人:b****7 文档编号:10000998 上传时间:2023-02-07 格式:DOCX 页数:18 大小:223.96KB
下载 相关 举报
基于GSM移动通信的分布式温度采集系统设计与实现.docx_第1页
第1页 / 共18页
基于GSM移动通信的分布式温度采集系统设计与实现.docx_第2页
第2页 / 共18页
基于GSM移动通信的分布式温度采集系统设计与实现.docx_第3页
第3页 / 共18页
基于GSM移动通信的分布式温度采集系统设计与实现.docx_第4页
第4页 / 共18页
基于GSM移动通信的分布式温度采集系统设计与实现.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

基于GSM移动通信的分布式温度采集系统设计与实现.docx

《基于GSM移动通信的分布式温度采集系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于GSM移动通信的分布式温度采集系统设计与实现.docx(18页珍藏版)》请在冰豆网上搜索。

基于GSM移动通信的分布式温度采集系统设计与实现.docx

基于GSM移动通信的分布式温度采集系统设计与实现

 

合肥学院

 

课程设计报告

 

题目:

基于GSM移动通信的分布式温度采集系统设计与实现

系别:

电子信息与电气工程系

专业:

通信工程

班级:

08通信工程2班

学号:

姓名:

导师:

成绩:

________________________

2011年12月11日

设计

题目

基于GSM模块的分布式数据采集

设计类型

应用型

导师姓名

胡国华

主要内容及目标

基于GSM移动通信的分布式温度采集系统是借助于GSM移动公网,将各采集点的温度数据以短信或以GPRS数据的方式发送到主控站。

主控站可以主动查询或被动接受各数据采集点的数据,从而使被监控环境及设备可以做到无人职守,只要有手机信号的地方,就可以设置数据采集点。

要求:

1、具备一定的识图、用图和焊接的能力,能正确使用示波器、三用表等,有基本的电路调试能力;

2、掌握GSM移动通信AT信令;

3、掌握VB6.0软件,编写程序并调试实现;

4、实现温度实时采集;

5、自由发挥其他功能;

6、要求有系统框图,电路原理图,软件流程图,模拟仿真结果图。

具有的设计条件

根据设计要求提供相关的实验环境

计划学生数及任务

计划需要3人:

1人主要对系统硬件设计和焊接

1人运用VB6.0软件编写程序并调试实现

1人主要进行硬件测试实现及报告的编写

计划设计进程

1、从接题开始收集资料、准备设计

2、第1周系统硬件设计和焊接,软件编写程序并调试实现;

3、第2周调试和完善,同时编写设计报告。

参考文献

[1]李志强,屈国普,陈列尊,谭岳衡.基于GSM的温湿度远程监控系统设计[J].核电子学与探测技术,2010,30(4):

533-536

[2]黄欣荣.基于GSM短信模块的家庭防盗报警系统的设计[J].中国新通信,2010,9:

83-85

[3]粱健,戈振扬,齐亚峰.基于GSM无线传输的温室温度监控系统的设计[J].湖南农业科学,2010,4:

135-146,140

[4]梁健.基于GSM技术的温室环境远程监控[J].科技资讯,20109:

49-51

[5]施云波,周磊,修德斌,顾简,王立权.基于GSM的温湿度环境参数远程无线监测系统[J].传感器与微系统,2010,4:

96-98

《通信技术综合课程设计》课程设计任务书

目录

1方案论证与选择1

1.1温度传感器模块1

1.2GSM模块2

1.389C2051处理器模块2

2DS18B20简介和工作原理3

2.1DS18B20性能特点3

2.2DS18B20内部结构4

2.3DS18B20控制方法5

2.4高速暂存存储器6

3硬件工作原理电路7

3.1电路工作框图7

3.2硬件电路图8

3.3硬件引脚锁定8

4实验数据9

5小结9

6参考文献10

附:

程序清单11

基于GSM模块的分布式数据采集

摘要:

本设计中,采用了新型数字温度传感器DS18B20以及GSM模块的应用。

主要是基于GSM移动通信的分布式温度采集系统是借助于GSM移动公网,将各采集点的温度数据以短信或以GPRS数据的方式发送到主控站。

主控站可以主动查询或被动接受各数据采集点的数据,从而使被监控环境及设备可以做到无人职守,只要有手机信号的地方,就可以设置数据采集点。

在本系统设计中共有以下三个模块组成:

GSM模块、89C2051处理器模块、温度传感器模块。

能实现以下两个基本功能:

2位温度的输送、随时的测量室内温度并且发送给指定的手机上。

关键字:

89C2051、DS18B20、GSM

1方案论证与选择

1.1温度传感器模块

方案一:

用模拟温度传感器,比如普通的热敏电阻。

热敏电阻的温度特性曲线是一条指数曲线,非线性度较大,因此在使用时要进行线性化处理,线性化处理虽然能改善热敏电阻的特性曲线,但比较复杂。

为此常在要求不高的一般应用中,作出在一定的温度范围内温度与阻值成线性关系的假定,才能简化计算。

另外,温度与输出电压量是非线性的,读出的是模拟量,需要A/D转换器进行转换才能送给数码管显示,从而增加了软硬件的负担。

方案二:

采用数字温度传感器DS18B20作为温度传感器模块,它具有独特的单总线接口方式,需一根总线就能实现控制模块与DS18B20之间的半双工通信。

DS18B20是集传感元件和转换电路于一体的小芯片上。

 另外,DS18B20也支持"一线总线"接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。

现场温度直接以"一线总线"的数字方式传输,大大提高了系统的抗干扰性。

适合于恶劣环境的现场温度测量,如:

环境控制、设备或过程控制、测温类消费电子产品等。

与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便,体积更小。

综上分析,DS18B20大大节约了I/O口资源,且在软件结构上省去建查找表这一繁琐的步骤,且它有精确的转换电路直接送出直观的数据,并且DS18B20拥有较高的温度分辨率0.0625度(采用默认的12位时),在价格方面,单个DS18B20市场价7元,与热敏电阻加A/D转换器ADC0809的组合价格相差不大。

用它作为本设计传感器模块最恰当不过,固选择方案二。

1.2无线模块

无线模块使用的是华为GTM900,这是一款应用非常广泛的无线模块,许多手机上使用的就是这个模块,它的性能非常稳定,电路也十分简单,许多部分已经集成起来了,可以直接使用。

其基本配置:

丰富的AT命令集,40—pinzip连接器,RS232双工串口,红外串口接口,SIM3.OV和1.8V接口,2路模拟音频输入输出接口,电源输入接口和充电管理,电源为3.6V。

其接线图如下:

GSM模块

1.389C2051处理器模块

at89c2051与MCS-51产品指令系统完全兼容,2K字节可重擦写闪速存储器1000次擦写周期,2.7-6V的工作电压范围,全静态操作:

0HZ-24MHZ,两级加密程序存储器,128X8字节内部RAM,15个可编程I/O口线,两个15位定时计数器,6个中断源等等。

下面是AT89C2051的管脚图

2DS18B20简介和工作原理

DS18B20数字温度计是DALLAS半导体公司生产的1-Wire,即单线智能温度传感器,体积小的特点。

因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。

属于新一代适配微处理器的智能温度传感器,它具有体积小,接口方便,传输距离远等特点。

2.1DS18B20性能特点

①采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(16位二进制数,含符号位)。

②测温范围为-55℃-+125℃,测量分辨率为0.0625℃。

③内含64位经过激光修正的只读存储器ROM。

④适配各种单片机或系统机。

⑤用户可分别设定各路温度的上、下限。

⑥内含寄生电源。

2.2DS18B20内部结构

DS18B20内部结构主要由四部分组成:

64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。

DS18B20的管脚排列如图1所示。

图1 DS18B20引脚分布图

 

表2引脚功能描述

序号

名称

引脚功能描述

1

GND

地信号

2

DQ

数据输入/输出引脚。

开漏单总线接口引脚。

当被用着在寄生电源下,也可以向器件提供电源。

3

VDD

可选择的VDD引脚。

当工作于寄生电源时,此引脚必须接地。

表3:

DS18B20高速暂存器共9个存存单元

序号

寄存器名称

作   用

序号

寄存器名称

作   用

0

温度低字节

以16位补码形式存放

4、5

保留字节1、2

1

温度高字节

6

计数器余值

2

TH/用户字节1

存放温度上限

7

计数器/℃

3

HL/用户字节2

存放温度下限

8

CRC

以12位转化为例说明温度高低字节存放形式及计算:

12位转化后得到的12位数据,存储在18B20的两个高低两个8位的RAM中,二进制中的前面5位是符号位。

如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625才能得到实际温度。

表4温度高低字节存放说明

高8位

S

S

S

S

S

26

25

24

低8位

23

22

21

20

2-1

2-2

2-3

2-4

2.3DS18B20控制方法

在硬件上,DS18B20与单片机的连接有两种方法,一种是Vcc接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。

无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻。

DS18B20有六条控制命令。

表5RAM指令表

指   令

约定代码

操     作   说     明

温度转换

44H

启动DS18B20进行温度转换

读暂存器

BEH

读暂存器9个字节内容

写暂存器

4EH

将数据写入暂存器的TH、TL字节

复制暂存器

48H

把暂存器的TH、TL字节写到E2RAM中

重新调E2RAM

B8H

把E2RAM中的TH、TL字节写到暂存器TH、TL字节

读电源供电方式

B4H

启动DS18B20发送电源供电方式的信号给主CPU

CPU对DS18B20的访问流程是:

先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。

DS18B20每一步操作都要遵循严格的工作时序和通信协议。

如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:

每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。

DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。

配置寄存器该字节各位的意义如下:

表6:

配置寄存器结构

TM

R1

R0

1

1

1

1

1

2.4高速暂存存储器

高速暂存存储器由9个字节组成,其分配如表5所示。

当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。

单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表1所示。

对应的温度计算:

当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。

表7是对应的一部分温度值。

第九个字节是冗余检验字节。

表7:

DS18B20暂存寄存器分布

寄存器内容

字节地址

温度值低位(LSByte)

0

温度值高位(MSByte)

1

高温限值(TH)

2

低温限值(TL)

3

配置寄存器

4

保留

5

保留

6

保留

7

CRC校验值

8

根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:

每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。

复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。

表8:

ROM指令表

指令

约定代码

功能

读ROM

33H

读DS1820温度传感器ROM中的编码(即64位地址)

符合ROM

55H

发出此命令之后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS1820使之作出响应,为下一步对DS1820的读写作准备。

搜索ROM

0FOH

用于确定挂接在同一总线上DS1820的个数和识别64位ROM地址。

为操作各器件作好准备。

跳过ROM

0CCH

忽略64位ROM地址,直接向DS1820发温度变换命令。

适用于单片工作。

告警搜索命令

0ECH

执行后只有温度超过设定值上限或下限的片子才做出响应。

3硬件工作原理电路

公网

3.1电路工作框图

3.2硬件电路图

硬件电路图

3.3硬件引脚锁定

RS-232接口引脚定义

RS232连线方式

4实验数据

序号

室内温度(度)

发送温度(度)

1

15.8

16

2

15.9

16

3

15.8

16

4

15.8

16

5小结

经过两周时间的设计,我们的设计在硬件、软件方面都已经顺利完成。

但是在实验室测试过程中,却遇到了一系列的问题。

其中最主要的是串口线连接问题。

我们用RS232串口线将PC与新的移动试验箱相连接时,用移动信令软件测试时,输入AT信令,点击发送,返回信息中没有显示OK或者0,即串口线连接出现问题。

但是当我们用同一根串口线连接旧的移动试验箱时,输入AT信令,点击发送,返回信息为0,即连接正常。

从上面的测试结果中,我们三人推测到问题应该出现在实验箱或者焊接的电路板问题。

我们用新的移动试验箱上配套的GSM模块测试,发现串口线连接还是出现异常。

随后又换了新的移动试验箱,RS232串口线连接问题还是没有解决。

就在昨天答辩的前一刻,我们还没有顺利的完成实验,跟胡老师说了下出现的问题,胡老师给了我们一根新的串口线。

再次连接时,连接成功!

把AT信令设置好后,顺利的完成了实验。

此次温度显示设计,一波三折的完成了实验。

我们还是从中学到了不少东西。

让我们学会了规范化的步骤和方法是很重要的,程序调试的各种方法以及解决调试过程中出现的一系列的问题。

更重要的是让我们明白实验设计是多么重要。

试验中对于原理的理解,一定要彻底,在此基础上,要熟悉电路的每一个模块,对他的工作性质加以分析和了解,在经过自己细心的调节,才能得到自己期望的结果。

本次设计过程中,经过三个人的努力,加强了我们的团队合作能力,顺利完成了本次实验。

但是在课程设计过程中,指导老师胡老师给了我们循序渐进地指导,在此特别感谢!

6参考文献

[1]李志强,屈国普,陈列尊,谭岳衡.基于GSM的温湿度远程监控系统设计[J].核电子学与探测技术,2010,30(4):

533-536

[2]黄欣荣.基于GSM短信模块的家庭防盗报警系统的设计[J].中国新通信,2010,9:

83-85

[3]粱健,戈振扬,齐亚峰.基于GSM无线传输的温室温度监控系统的设计[J].湖南农业科学,2010,4:

135-146,140

[4]梁健.基于GSM技术的温室环境远程监控[J].科技资讯,20109:

49-51

[5]施云波,周磊,修德斌,顾简,王立权.基于GSM的温湿度环境参数远程无线监测系统[J].传感器与微系统,2010,4:

96-98

附:

程序清单

PrivateSubChkHanziMessage_Click()

DimstrSendAsString

CallMDIfrm.get_receive

IfgHanziMessage=FalseThen

gHanziMessage=True

cmdSendoutCommand.Visible=False

Frame1.Caption="输入电话号码"

strSend="AT+CMGF=0"

txtSendCommand.Text="1"

CallMDIfrm.ComSend(strSend)

txtReceive.Text=""

txtHistory.Text="发送:

"&strSend&vbCrLf&vbCrLf&vbCrLf&txtHistory.Text

Else

gHanziMessage=False

cmdSendoutCommand.Visible=True

strSend="AT+CMGF=1"

CallMDIfrm.ComSend(strSend)

txtReceive.Text=""

txtHistory.Text="发送:

"&strSend&vbCrLf&vbCrLf&vbCrLf&txtHistory.Text

txtSendCommand.Text="AT"

Frame1.Caption="输入命令"

EndIf

EndSub

………………………………………………………………………………………………………

PrivateSubMSComm1_OnComm()

SelectCaseMSComm1.CommEvent

CasecomEvReceive

DimBuffer_stringAsString

Buffer_string=""

IfmsbytInstumentType=CRZ6001_MCUOrmsbytInstumentType=CRZ6001_GSMThen

MSComm1.InputMode=comInputModeText

MSComm1.InputLen=0

Buffer_string=MSComm1.Input

IfmsbytInstumentType=CRZ6001_GSMThen

IfgRecieveTime>=10Then

frmPC2GSM.txtReceive.Text=""

EndIf

gStartReceive=True

gRecieveTime=0

frmPC2GSM.txtReceive.Text=frmPC2GSM.txtReceive.Text+Buffer_string

Else'msbytInstumentType=CRZ6001_MCUThen

IfLen(frmPC2MCU.txtReceive.Text)

IfLen(frmPC2MCU.txtReceive.Text)>Len(frmPC2MCU.txtSend.Text)ThenfrmPC2MCU.txtReceive.Text=Left(frmPC2MCU.txtReceive.Text,Len(frmPC2MCU.txtSend.Text))

EndIf

EndIf

CaseElse

EndSelect

EndSub

………………………………………………………………………………………………………

PrivateSubTimer1_Timer()

IfgHanziMessageStartSend=TrueThen

IfgHanziMessageSendTime<10Then

gHanziMessageSendTime=gHanziMessageSendTime+1

EndIf

IfgHanziMessageSendTime>=10Then

'frmPC2GSM.txtHistory.Text=frmPC2GSM.txtReceive.Text&vbCrLf&frmPC2GSM.txtHistory.Text

CallfrmPC2GSM.send_pdu

EndIf

EndIf

IfgStartReceive=TrueThen

IfgRecieveTime<10Then

gRecieveTime=gRecieveTime+1

Else

frmPC2GSM.txtHistory.Text=frmPC2GSM.txtReceive.Text&vbCrLf&frmPC2GSM.txtHistory.Text

gStartReceive=False

gRecieveTime=10

IfgHanziMessageStartSend=TrueThen

CallfrmPC2GSM.send_pdu

EndIf

EndIf

EndIf

EndSub

《通信技术综合课程设计》

课程设计评语

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

当前位置:首页 > 表格模板 > 调查报告

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

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