基于无线测粮仓温度的检测系统设计.docx
- 文档编号:17003218
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:20
- 大小:738.25KB
基于无线测粮仓温度的检测系统设计.docx
《基于无线测粮仓温度的检测系统设计.docx》由会员分享,可在线阅读,更多相关《基于无线测粮仓温度的检测系统设计.docx(20页珍藏版)》请在冰点文库上搜索。
基于无线测粮仓温度的检测系统设计
电子课程设计
——基于无线测粮仓温度的检测系统设计
学院:
电子信息工程学院
专业、班级:
姓名:
学号:
指导教师:
李小松
2013年12月21日
目录
1、设计任务与要求..................................................2
2、总体框图........................................................2
2.1设计原理....................................................2
2.2原理框图....................................................2
3、选择器件........................................................3
3.1系统元件清单.............................................3
3.2器件介绍.................................................4
3.2.1温度传感器DS1820...................................4
3.2.2无线模块nRF903.....................................6
3.2.3LED显示屏..........................................8
4、功能模块.......................................................10
4.1温度采集模块.............................................10
4.1.1温度采集模块的硬件设计.............................10
4.1.2温度采集模块的软件设计.............................10
4.2无线通信模块.............................................11
4.2.1无线通信模块的硬件设计.............................11
4.2.2无线通信模块的软件设计.............................11
4.3LED显示模块.............................................12
4.3.1显示屏的硬件设计...................................12
4.3.2显示模块的整体设计..................................14
4.4报警电路.................................................14
5、总体设计电路图.................................................15
5.1硬件电路图...............................................15
5.2系统的软件设计...........................................16
6、系统调试......................................................17
7、总结...........................................................17
基于无线测粮仓温度的检测系统设计
1、设计任务与要求
利用单片机设计一个基于无线测粮仓温度的检测系统。
1、利用单片机作为主控制器。
2、可远程监测粮仓的温度,检测范围为-55℃~125℃。
3、利用LED显示屏实时更新显示粮仓的温度变化情况,更新时间为1s.
4、设定一个粮仓温度的上限值,假设预定值为25℃,当粮仓温度超过该温度时,发出报警声。
2、总体框图
2.1设计原理
系统按功能可以分为温度采集部分和主机部分。
温度采集部分包括温度数据采集模块、温度处理模块和无线数据发送模块。
主机部分包括无线数据接收模块、温度处理模块和温度显示模块。
两者之间通过无线数据通信方式进行联系。
系统的具体工作过程:
温度采集部分,温度采集模块是由温度传感器负责采集环境的温度,然后通过I/0口直接送给温度数据处理模块,即单片机,单片机将接收的数字信号转换成对应值,按一定的通信协议格式进行数据打包,打包后的数据写入无线通讯模块的发送缓冲区,由无线收发模块经PCB板天线完成数据的传输。
主机部分,无线数据接收模块将接收到的数据通过I/0口传给温度处理模块,即单片机,单片机将接收到的数据解包,并进行分析综合,然后通过温度显示模块将采集的温度显示出来。
2.2原理框图
根据对功能要求的理解,设计了如下方案。
方案原理框图如图1所示。
图1系统总体结构框图
3、选择器件
3.1系统元件清单
综上分析选择主要器件如表1所示。
名称
数量
备注
AT89C51
2
DS1820
1
温度传感器
nRF903
2
LED显示屏
1
32*80
蜂鸣器
1
按钮
1
4插脚
晶振
2
12MHZ
三极管
1
8550
电阻
1
300欧姆
电阻
2
1K
电阻
2
200欧姆
电阻
1
4.7K
电容
2
22uF
电容
4
30pF
杜邦线
若干
下载线
2
电源
1
5V
电路板
2
表1系统元件清单
3.2器件介绍
3.2.1温度传感器DS1820
(1)工作原理
DS1820是单总线数字温度传感器。
无需外加A/D即可输出数字量,把温度信号直接转换成串行数字信号供微机处理。
DSl820数字温度计提供9位(二进制)温度读数。
信息经过单线接口送入DSl820或从DSl820送出。
DSl820的测量范围从-55℃到+125℃,增量值为0.5℃,可在ls(典型值)内把温度变换成数字。
每一个DSl820包括一个唯一的64位长的序号,该序号值存放在DSl820内部的ROM(只读存贮器)中。
开始8位是产品类型编码(DSl820编码均为10H)。
接着的48位是每个器件唯一的序号。
最后8位是前面56位的CRC(循环冗余校验)码。
DSl820中还有用于贮存测得的温度值的两个8位存贮器RAM,编号为0号和1号。
1号存贮器存放温度值的符号,如果温度为负(℃),则1号存贮器8位全为1,否则全为0。
0号存贮器用于存放温度值的补码,LSB(最低位)的“1”表示0.5℃。
将存贮器中的二进制数求补,再转换成十进制数,并除以2,就得到被测温度值。
(2)引脚说明
DS1820的引脚图如图2所示。
第2个引脚为数字输入输出的引脚,其余两个引脚一个接地,一个接+5V电源。
图2DS1820的引脚图
(3)时序图
a.初始化时序图
初始化时序图如图3所示,主机总线to时刻发送一复位脉冲(最短为480us的低电平信号),接着在t1时刻释放总线,并进入接收状态。
DSl820在检测到总线的上升沿之后等待15-60us,接着DS1820在t2时刻发出存在脉冲(低电平持续60-240us),如图3中虚线所示。
图3初始化时序图
b.写时序图
当主机总线to时刻从高拉至低电平时就产生写时间隙,如图4、图5所示。
从to时刻开始15us之内,应将所需写的位送到总线上,DSl820在to后15-60us间对总线采样。
若低电平写入的位是0,如图4所示;若高电平写入的位是1,如图5所示。
连续写两位的间隙应大于1us。
图4写0时序图5写1时序
c.读时序图
读时序图如图6所示。
主机总线to时刻从高拉至低电平时,总线只须保持低电平l7ts之后,在t1时刻将总线拉高,产生读时间隙。
读时间隙在t1时刻后t2时刻前有效,t2距to为15us,也就是说t2时刻前主机必须完成读位,并在to后的60us一120us内释放总线。
图6读时序
(4)DS1820主要特性
与其它温度传感器相比DS1820具有以下特点:
1 独特的单线接口方式。
DS1820在与微处理器连时仅需要一条接口线即可实现微处理器与DS1820的双向通讯。
2 DS1820在使用中无需任何外围元件。
3 可用数据线供电,电压范围从3.0V到5.5V。
4 可测量的温度范围从-55℃到+125℃,增量值0.5℃。
3.2.2无线模块nRF903
(1)工作原理
nRF903是单片射频发射器芯片,工作电压为1.9-3.6V,工作于433/868/915MHz3个ISM频道(可以免费使用)。
nRF903可以自动完成处理字头和CRT(循环冗余码校验)的工作,可由片内硬件自动完成曼彻斯特编码/解码,使用SPI接口与微控制器通信,配置非常方便。
其功耗非常低,以-10dBm的输出功率发射时电流只有11mA,在接收模式时电流为12.5mA。
空闲模式或关机模式时的电流为2.5μA,易于实现低功耗设计。
在进行数据通信之前,需要通过nRF903的SPI接口进行工作方式配置,包括状态寄存器、射频配置寄存器、发送地址寄存器、发送数据寄存器和接收数据寄存器。
状态寄存器包含习作和地址匹配引脚状态信息;射频配置寄存器包含收发器配置信息,如工作频段和频率、本机地址、收发数据长度和输出功率等;发送地址寄存器包含目的地址,地址的长度由射频配置寄存器决定,最长的有4个字节;发送数据寄存器包含待发送的数据包的信息,发送数据包的长度由射频配置寄存器决定,最多可一次发送32个字节;接收数据寄存器包含要接收的数据信息,接收数据包的长度由射频配置寄存器决定,最多可一次接收32个字节。
(2)nRF903实物图及引脚说明
nRF903的实物图如图7所示。
图7nRF903实物图
图8nRF903芯片引脚图
nRF903芯片引脚图如图8所示,下面是各引脚功能介绍。
引脚1:
VCC,3.3V电源;
引脚2:
SCS,数字输入,SPI片选;
引脚3:
SDIO,数字双向IO口,SPI双向数据线;
引脚4:
SCK,SPI时钟;
引脚5:
CKO,始终输出;
引脚6:
DIO,数据输入输出;
引脚7:
TRS,数字输入,接收发送模式选择;
引脚8:
IRQ,数字输出,数据完成指示;
引脚9:
PWR_UP数字输入,上电;
引脚10:
TRE数字输入,接收发送使能;
引脚11:
ADCIN外部输入ADC;
引脚12:
RTCO32K时钟输出;
引脚13:
GND,接地;
引脚14:
GND,接地;
(3)nRF903工作方式
RF903一共有两种工作模式,FIFOmode和Directmode。
通过Modecontrol寄存器的FMS位可设置,0为时是Directmode
(直接模式),为1时是FIFOmode。
在FIFO模式下,RF903自动处理字头和CRC校验码。
在接收数
据时,自动把字头和CRC校验码移去。
在发送数据时,自动加上字头
和CRC校验码,当发送过程完成后,IRQ引脚通知微处理器数据发射
完毕。
3.2.3LED显示屏
(1)显示屏的工作原理
显示屏使用显示模块组成,显示模块内部结构如图8所示,32×80点阵共由64*160个LED组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置高电平,某一列置低电平,则相应的二极管就会点亮。
显示屏的三色指红、绿、黄三色。
如图9所示,如果要将第一个绿灯点亮,则`2脚接高电平,1脚和3脚接低电平;如果要将第一行红灯点亮,则1脚接低电平,而第一行所有与红灯相连的管脚接高电平,其余接低电平;如要要将第一列绿灯点亮,则2脚接高电平,而第一列所有与绿灯相连的管脚接低电平,其余接高电平。
若两种颜色均亮,则呈现出黄色。
图98*8内部原理图
(2)字模的生成
本文采用的是16×16的点阵宋体字库,即在16×16的区域内显示一个汉字所对应的二进制码。
系统采用取字模软件直接进行取模,如图10所示,使用取字模软件取出汉字“力”的字模为:
0xBF,0xFF,0xBF,0xFF,0xBF,0xFF,0xBF,0xFF,0x01,0xE0,0xBF,0xEF,0xBF,0xEF,0xBF,0xEF,
0xBF,0xEF,0xDF,0xEF,0xDF,0xEF,0xEF,0xEF,0xEF,0xEF,0xF7,0xEE,0xFB,0xF5,0xFD,0xFB,
图10字模的生成
4、功能模块
4.1温度采集模块
4.1.1温度采集模块的硬件设计
DS1820的数据线DQ通过与单片机的P3.5口连接,实现传感器与微控制器之间的数据传输。
DS1820与单片机的硬件连接如图11所示。
图11DS1820与单片机的硬件连接
4.1.2温度采集模块的软件设计
温度信息采集的基本软件实现方法是:
在完成对串口的工作参数设置的基础上,向DS1820发出温度变换命令,DS1820更新温度采集信息并存储起来,待主机发出读取温度命令,可分别赋予无符号整型温度信息的低位和高位,通过整型合成、进制转换、四舍五入等计算可获得扩大了十倍的真实的十进制温度值,分离该值的百位、十位、个位,通过无线通信模块发送给主机,主机通过分析处理,再驱动LED显示屏显示出真实的温度值。
每隔一段短暂的时间重复一次上述操作,可以较及时获取不同时刻的温度信息。
4.2无线通信模块
4.2.1无线通信模块的硬件设计
图12给出了nRF903硬件设计的电路图。
无线的工作控制参数由3串行接口CS,CCLK,C-DATA来控制写入。
图12nRF903的硬件设计
4.2.2无线通信模块的软件设计
RF903收发流程分以下几步:
1.FIFOTX发送流程
A.当微控制器有数据要发送时,通过SPI接口,按时序把接收机的地
址和要发送的数据送传给RF903,SPI接口的速率在通信协议和器件配置时确定;
B.微控制器置Modecontrol寄存器,且TRS为高,激发RF903的FIFO
发送模式;
C.RF903的FIFO模式发送:
(1)射频寄存器自动开启;
(2)数据打包(加字头和CRC校验码);
(3)发送数据包;
(4)当数据发送完成,IRQ有相应指示(具体可配置);
D.RF903发送过程完成,可选着进入任何模式,可通过SPI或管脚
控制。
2.FIFORX接收流程
A.当通过SPI指令(或者管脚控制)使RF903进入接收模式;
B.RF903不断监测,等待接收数据;
C.当RF935检测到同一频段的载波时,载波检测引脚被置高(根据
配置IRQ有不同的表现);
D.当一个正确的数据包接收完毕,RF903自动移去字头、地址和CRC
校验位,然后把IRQ引脚置为高
E.微控制器通过SPI口,以一定的速率把数据移到微控制器内;
4.3LED显示模块
4.3.1显示屏的硬件设计
(1)行驱动电路
由于32x80点阵屏由32行即两个16行组成,本电路加入了一个4—16译码器,即两个74HCl38并联,输入一个16进制码,解码输出形成16种不同的输入状态,分别为0000~1111,每种状态只控制一路输出。
通过控制图4中显示屏接口处的IR1、IG1和IR2、IG2管脚电平的高低,来控制上、下16行的显示。
行驱动电路如图13所示。
图13行驱动电路
(2)列驱动电路
列驱动电路如图14所示。
本系统列扫描驱动电路的设计采用的是串入并出的集成电路74HC595作为数据锁存。
其中DS是串行数据的输入端,STCP是存储寄存器的输入时钟,SHCP是移位寄存器的输入时钟。
Q7’是串入数据的输出,与后一个74HC595的DS相连。
OE是数据的输出使能控制,Q0~Q7为串入数据的并行输出。
数据从DS口输入,在SHCP脚上升沿的作用下输入到74HC595中,并在STCP脚的上升沿作用下将数据锁存在74HC595中,当OE为低电平时,数据并行输出,从而控制显示屏的列显示。
图14列驱动电路
4.3.2显示模块的整体设计
显示模块由51单片机作为主控制器,通过行驱动电路和列驱动电路驱动显示屏完成动态显示,利用人眼的视觉暂留效应,显示屏会呈现出一幅完整的文字或画面。
显示模块的结构图如图15所示。
图15显示模块的结构图
4.4报警电路
报警电路主要由蜂鸣器来完成。
当温度超过预定值时,蜂鸣器响,发出警报信号。
报警电路的硬件设计如图16所示。
图16报警电路的硬件设计
5、总体设计电路图
5.1硬件电路图
主机电路图和从机电路图如图17、18所示。
图17主机电路图
图18从机电路图
5.2系统的软件设计
图19系统的软件设计流程图
系统的软件设计流程图如图19所示,分为主机程序和从机程序。
图19(a)是主机程序,主要是接收从机发送的数据,同时驱动LED显示信息;图7(b)是从机程序,主要完成粮仓温度检测并发送数据包。
六、系统调试
在实验室里,系统显示当前的实时温度,以一个粮仓为例系统调试显示的结果如图13、图14所示。
LED屏第一列显示的是粮仓号,第二列显示的是粮仓的温度。
假设预值温度为25℃,当粮仓温度在预值范围内时,温度显示为绿色,如图13所示;当粮仓温度超过预值范围时,粮仓温度显示为红色,如图14所示,与此同时发出报警声。
当温度下降到25℃时,温度显示为绿色,报警声停止。
多次调试结果表明本系统能够准确的实现实时对粮仓温度进行检测显示。
图20温度正常时LED显示结果
图21温度超标时LED显示结果
七、总结
本系统以AT89C51单片机和nRF903无线传输模块相结合,构成了基于无线测粮仓温度的检测系统,实现环境温度参数的测量。
采用基于nRF903的无线传输方式,具有低功耗、抗干扰性强、克服了有线通信电缆线路架设困难的缺点,可以对环境温度进行实时测量,使测量工作十分方便。
经实测,系统无线传输的有效半径在开阔地可达100~200米,数据传输可靠。
采用高度集成的射频芯片,大大简化了系统的硬件和软件设计,减小了体积,提高了系统的工作可靠性,并以无线数字通讯为纽带,方便了外界环境的数据采集。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 无线 粮仓 温度 检测 系统 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)