无线数据采集系统设计毕业设计.docx
- 文档编号:10407946
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:22
- 大小:215.14KB
无线数据采集系统设计毕业设计.docx
《无线数据采集系统设计毕业设计.docx》由会员分享,可在线阅读,更多相关《无线数据采集系统设计毕业设计.docx(22页珍藏版)》请在冰点文库上搜索。
无线数据采集系统设计毕业设计
摘要
本系统使用两片单片机作为控制、处理核心,由数据采集和数据显示两个分系统组成。
系统核心模块使用两块NRF509无线收发模块来完成数据的无线传输。
在数据采集系统中还有五路DS18B20和五路DHT11进行采集数据,然后使用红外遥控指定数据的发送,LED灯和1602液晶的显示发送指示更具直观性。
在数据显示系统中的友好中文显示12864液晶更具可是效果,外加DS1302时钟、EEPROM数据存储和报警模块,然后通过灵活的操作键盘完成五路温度接收显示、五路湿度接收显示、数据实时保存且可查询和可设定数据报警范围且实时监测报警等功能。
关键字:
单片机NRF509无线收发DS18B20DHT1112864
abstract
Thesystemusestwosingle-chipasacontrol,theprocessingcore,thedataacquisitionanddatadisplaycomposedoftwosubsystems.KernelmoduleusestwoNRF509wirelesstransceivermoduletocompletethewirelesstransmissionofdata.Inthedataacquisitionsystem,andthereDS18B20RdRdDHT11tocollectdataandthenusetheinfraredremotecontroltosendthespecifieddata,LEDlightsandLCDdisplay1602tosendinstructionsmoreintuitive.InthedatadisplaysysteminamorefriendlyandChinesebuttheresultsshow12864,plusDS1302clock,EEPROMdatastorageandalarmmodule,andthencompletedthroughaflexiblekeyboardRdreceivedisplaytemperature,humidityRdreceiverdisplay,real-timedataissavedandcanqueryandsetthedatarangeandreal-timealarmmonitoringalarm.
Keywords:
single-chipNRF509wirelesstransceiverDS18B20DHT1112864
1方案论证与比较
本次设计有数据采集系统和数据显示系统,即发送与接收两个模块。
数据采集系统完成五路温度采集和五路湿度采集,然后通过无线传输到接收站,即数据显示系统接收数据,然后将数据信息显示出来。
1.1控制核心CPU的论证与比较
方案一:
采用嵌入式单CPU实现
采用高性能单CPU实现系统,比如以32位的嵌入式CPUARM芯片作为控制系统核心。
此方案可以很好的完成数据采集和显示功能,但是ARM系统设计调试比较复杂,在短的时间内难以很好地完成设计,并且成本较高,所以不宜采用此方案。
方案二:
采用FPGA实现
采用FPGA作为系统的控制器,它可以实现各种复杂的逻辑功能,所有的器件集中在一块芯片上,体积小,稳定性高。
同时FPGA可用于EDA软件仿真调试,易于进行功能扩展。
但是本系统对于数据处理的速度要求不高,而FPGA的引脚较多、布局复杂,相对成本较高,所以不宜采用此方案。
方案三:
采用两片51单片机实现
采用两片51单片机分别作为两个分系统的控制器,单片机使用简单,软件编程灵活,成本较低。
对于本系统的设计要求,使用STC89C52足以满足它的算法和控制功能。
综上所述,我们决定采用方案三。
1.2无线传输模块的论证与比较
方案一:
基于PT2262/2272芯片的发/收模块
PT2262/2272是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),可选地址较多,其工作频率315M,在空旷地域传输距离可达50到1000米,并且操作简单。
但是基于PT2262只能完成发送功能,基于PT2272只能实现接收功能,如果设计到反馈信息将无法实现,不适合应用在本题。
方案二:
NRF509无线收发模块
NRF905单片无线收发器是挪威Nordic公司推出的单片射频发射器芯片,工作于433/868/915MHz3个ISM频道,NRF905可以自动完成处理字头和CRC(循环冗余码校验)的工作,可由片内硬件自动完成曼彻斯特编码/解码,使用SPI接口与微控制器通信,配置非常方便,使用51单片机可模拟SPI接口进行编程配置,编程较复杂,直线可视通讯距离200到300米,兼有收发两个功能。
综上所述,我们决定采用第二方案。
1.3显示模块论证与比较
方案一:
采用数码管显示
LED数码管显示内容单一,显示信息量较少,而且耗电量比较大,接口又比较多,然而驱动电路设计比较复杂,有点成本低。
方案二:
采用1602液晶显示
采用1602LCD显示器,具有体积小、质量较轻、功耗低等优点,不过1602只能够显示16*2个字符,不能够显示汉字,8位并行数据传输。
方案三:
采用12864液晶显示
采用点阵型(128*64)液晶显示器(LCD),可以显示字符、数字、汉字及简单的图形,可设计出各种清晰的功能菜单及数据,提供全面的信息,功耗低、界面友好、控制灵活,另一较大有点可以串行数据传输,从而节省IO口资源。
综上所述,我们决定在数据采集系统中选择使用1602液晶,在数据显示系统中使用12864液晶显示。
1.4键盘模块论证与比较
方案一:
采用矩阵式
矩阵式按键设计适应于按键数量较多,这种方式的优点就是相对于独立接口方式可以节省很多I/O资源,且更为灵活。
缺点就是需要用软件处理消抖、重键等问题。
矩阵式按键接口根据采用的按键识别方法不同基本有两种接法:
线反转法和扫描法。
其中扫描法的列线始终为输入,行线始终为输出;线反转法则需要改变列线和行线的方向。
。
方案二:
采用独立键盘
独立式按键接口设计优点是电路配置灵活,软件实现简单,但缺点也很明显,每个按键需要占用一根口线,若按键数量较多,资源浪费将比较严重,电路结构也变得复杂。
因此本方法主要用于按键较少或对操作速度要求较高的场合。
软件实现时,可以采用中断方式,也可以采用查询方式。
综上所述,由于本设计键盘按键较少,我们决定使用采用独立键盘。
1.5时钟实现论证与比较
方案一:
软件实现
用软件实现,直接用单片机的定时器编程以实现时钟。
方案二:
时钟芯片实现
用专门的时钟芯片DS1302实现时钟的计时,再把时间数据送入单片机,由单片机控制显示。
综上所述,比较两种方案,用软件实现时钟固然可以,但是程序运行的每一步都需要时间,多一步或少一步程序都会影响计时的准确度,用专用时钟芯片DS1302则可以实现准确记时。
所以选二方案。
1.6控制发射方案论证与比较
方案一:
按键控制
采用按键控制发射,有点是设计简单,但是受到控制距离的限制。
方案二:
红外遥控控制
采用红外遥控控制发射,使用红外遥控器和一个红外接收头SM0038来实现,使用一个外部中断口,使用外部中断的方式来实现解码过程。
使用遥控最大的有点就是可以把控制距离阔长。
综上所述,我们决定采用第二方案。
1.7温度采集模块论证与比较
方案一:
采用热敏器件
由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,再将随着被测温度变化的电压或电流采集过来,进行A/D转换后,用单片机进行数据的处理,就可以将测温度显示出来。
这种设计需要用到A/D转换电路,测温电路比较复杂。
方案二:
采用温度传感器
温度传感器DS18B20是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式,它内部有一个结构为8字节的高速暂存RAM存储器。
另外,DS18B20的一个主要特点就是单总线多节点控制,节约IO口和满足系统要求。
综上所述,我们决定采用第二方案。
1.8湿度采集模块论证与比较
方案一:
采用DHT1101湿度传感器
HS1101湿度传感器来测量湿度,HS1101是法国Humirel公司推出的一款电容式相对湿度传感器,HS1101湿度传感器在电路构成上等效于一个电容器件,将HS1101的电容量的变化量准确地转变为单片机易接受的信号需要一个振荡电路来实现,电路设计比较复杂。
方案二:
采用DHT11温湿度传感器
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。
其可靠性和稳定性较强,使用方便,单线制串行接口,使系统集成变得简易快捷。
超小的体积、极低的功耗,信号传输距离可达20米以上。
综上所述,我们决定采用第二方案。
1.9报警模块论证与比较
方案一:
采用LED灯报警
虽然操作简单,但是过于简单。
方案二:
采用LED和蜂鸣器同时报警
将LED和蜂鸣器并联在一起,使用一个三极管同时驱动,同时具有声光报警。
综上所述,我们决定采用第二方案。
1.10存储模块论证与比较
方案一:
采用单片机内存
单片机内存有限,只是用于较小的数据存储。
方案二:
采用EEPROM
使用EEPROM芯片AT24C02芯片,存储量较大,使用IIC总线控制,可以随机存取数据。
综上所述,我们决定采用第二方案。
2系统硬件设计与实现
2.1系统总体设计
基于上述各方案的论证与分析,我们确定了最终方案。
整个系统采用5V电源分别为两个系统供电。
系统的总体结构框图如下所示:
图2-1
图2-2
2.2最小控制系统设计
最小控制核心模块原理图如图所示,本模块采用STC89C52作为控制芯片,采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。
5l系列单片机为许多控制提供了高度灵活和低成本的解决办法,充分利用他的片内资源,即可与外围电路构成功能完善的无线采集系统。
图2-3
2.3电源模块设计
电源模块是系统设计的重要部分之一,只有为系统提供了稳定的电压,系统才能够正常的工作,如果说电压过高或者过低都有可能导致系统损坏。
本系统使用了10uf的电解电容和104的瓷片电容作为稳定电压措施,如图所示:
图2-4
2.4温度采集模块设计
这里我们用到温度芯片DS18B20。
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式。
测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出。
其工作电源既可在远端引入,也可采用寄生电源方式产生。
CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
DS18B20支持“一线总线”接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于本五路采集系统。
图2-5
2.5湿度采集模块设计
SHT11的湿度检测运用电容式结构,并采用具有不同保护的“微型结构”检测电极系统与聚合物覆盖层来组成传感器芯片的电容,除保持电容式湿敏器件的原有特性外,还可抵御来自外界的影响。
由于它将温度传感器与湿度传感器结合在一起而构成了一个单一的个体,因而测量精度较高且可精确得出露点,同时不会产生由于温度与湿度传感器之间随温度梯度变化引起的误差。
CMOSensTM技术不仅将温湿度传感器结合在一起,而且还将信号放大器、模/数转换器、校准数据存储器、标准I2C总线等电路全部集成在一个芯片内。
SHT11的每一个传感器都是在极为精确的湿度室中校准的。
SHT11传感器的校准系数预先存在OTP内存中。
经校准的相对湿度和温度传感器与一个14位的A/D转换器相连,可将转换后的数字温湿度值送给二线I2C总线器件,从而将数字信号转换为符合I2C总线协议的串行数字信号。
图2-6
2.6NRF509无线收发模块设计
本设计中将单片机模拟SPI接口和nRF905的SPI接口相连,另外再选几个I/O口连接nRF905的输入输出信号,nRF905传输数据时为非实时方式,即发送端发出数据,接收端收到后先暂存于芯片存储器内,外面的MCU可以在需要时再到芯片中去取。
nRF905一次的数据传输量最多为32B。
nRF905在正常工作前应根据需要写好配置寄存器,其后的工作主要是两个:
发送数据和接收数据。
发送数据时,先把nRF905置于待机模式(PWR_UP引脚为高、TRX_CE引脚为低),然后通过SPI总线把发送地址和待发送的数据都写入相应的寄存器中,之后把nRF905置于发送模式(PWR_UP、TRX_CE和TX_EN全置高),数据就会自动通过天线发送出去。
为了数据可靠地传输,将射频配置寄存器中的自动重发位(AUTO_RETRAN)设为有效,数据包重复不断地一直向外发,直到把TRX_CE拉低,退出发送模式为止。
接收数据时,把nRF905的TRX_CE引脚置为高电平,TX_EN引脚拉为低电平后,就开始接收数据。
本设计中设定的40s内一直判断nRF905的DR引脚是否变高,若为高,则证明接收到了有效数据,可以退出接收模式,若一直没有接收到,待时间到时也退出接收模式。
退出后在待机模式,通过模拟SPI总线把nRF905内部的接收数据寄存器中的数据读出,即接收到的有效数据。
图2-7
2.71602液晶模块设计
1602液晶的电路设计使用8位数据IO口并行传输,三个控制信号线,背光灯电源出加一个限流电阻,在字符亮度电源处加一个可调变阻器,方便调节字体显示亮度。
图2-8
2.8LED指示灯模块设计
LED指示灯电路设计简单,直接通过串联限流电阻与IO口连接,操作简单。
图2-9
2.9红外模块设计
一体化红外线接收器是一种集红外线接收和放大于一体,不需要任何外接元件,就能完成从红外线接收输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和外线数据传输。
图2-10
2.10键盘模块设计
键盘模块采用独立键盘方案来设计电路,在数据显示系统中设计了5个按键,作用分别是确认、加、减、返回和一个附加功能,有着五个键可以通过软件编程灵活的操作12864液晶显示器的界面切换及其系统参数的改变。
图2-11
2.11EEPROM模块设计
AT24C02存储芯片采用的是IIC总线控制,通过一条数据线和一条时钟信号线进行同步串行通信,即SDA和SCL都是双向线路都通过一个电流源或上拉电阻连接到正的电源电压,当总线空闲时这两条线路都是高电平连接到总线的器件输出级必须是漏极开路或集电极开路才能执行线与的功能I2C总线上数据的传输速率在标准模式下可达100kbit/s在快速模式下可达400kbit/s在高速模式下可达3.4Mbit/s连接到总线的接口数量只由总线电容是400pF的限制决定。
图2-12
2.12串口通信模块设计
STC89C52有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。
进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。
图2-13
2.1312864液晶模块设计
带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
本电路设计使用12864的串行数据通信的方式,这样可以节省IO的占用。
图2-14
2.14报警模块设计
本模块设计有三极管驱动蜂鸣器,通过IO口控制信号可以发出来不同频率的声音,其电路设计如图:
图2-15
2.15时钟模块设计
时钟电路原理图如图,DS1302与单片机的连接也仅需要3条线:
CE引脚、SCLK串行时钟引脚、I/O串行数据引脚,Vcc2为备用电源,外接32.768kHz晶振,为芯片提供计时脉冲。
图2-16
3系统软件设计与实现
3.1采集系统软件流程
N
Y
3.2采集系统软件设计
本系统软件设计采用模块化设计,模块化编程的最大优点是:
思路清晰、移植方便、程序简化。
3.2.1主程序设计
在主程序中首先对NRF509、1602、外部中断进行初始化,然后进入实时循环检测红外中断,即检测是否有发出发射数据的遥控指令,同时不断读取温湿度更新数据,一旦有发射数据的遥控指令,则将启动NRF509的发射模式,依照不同的发射数据遥控指令发射出相应的数据,同时将有1602液晶显示提示发送不同的数据和伴随有不同的LED灯发射指示。
3.2.2温度检测程序设计
检测温度模块程序中,在系统调试之前首先使用读取5个不同的DS18B20的ROM地址,并且显示在1602液晶上面,将其记录下来放到一个数组中。
在系统运行中读取每一路温度时就需要使用地址匹配指令,将上面记录下来的地址与相应实物DS18B20进行匹配,若匹配成功将正确读取该路温度。
3.2.3湿度检测程序设计
由于DHT11采用单线双向的串行数据传输,DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:
一次完整的数据传输为40bit,高位先出。
数据格式:
8bit湿度整数数据+8bit湿度小数数据
+8bi温度整数数据+8bit温度小数数据
+8bit校验和
数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。
用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。
3.2.4红外遥控程序设计
红外遥控使用了遥控的四个键码,分别用于控制发射前三路温度数据、后两路温度数据、前三路湿度数据、后两路湿度数据。
3.2.5NRF509发射程序设计
在NRF509发射程序中首先要进行初始化nRF905的射频配置寄存器,然后配置nRF905的发送地址,本设计中配置最多4个字节(32位),发送端的发送地址应与接收端设备的接收地址相同。
本模块设定为发送模式。
3.3显示系统软件流程图
NN
YY
N
N
Y
Y
3.4显示系统软件设计
本系统软件设计采用模块化设计,模块化编程的最大优点是:
思路清晰、移植方便、程序简化。
3.4.1主程序设计
在主程序中首先对NRF509、12864、DS1302、AT24C02进行初始化,然后进入实时循环刷新12864液晶显示屏(由显示屏幕号和一些相关数据变量而定)和检测扫描键盘,同时初始化NRF509配置寄存器并且设置为接受模式,一旦发射系统发射数据将在这里接受,之后匹配地址,只有地址匹配才会更新接受数据,在此过程同时伴随有成功接受数据的声光提示信息。
在这个循环中还有不断的读取DS18B20时钟进行刷新时间和进行定时的进行数据存储。
3.4.212864液晶屏幕程序设计
在12864液晶显示器的函数基础上,本系统共设计了五个显示界面,并且设定五个界面的屏幕号分别是阿拉伯数字1到5,这五个界面显示功能分别是菜单界面显示和年月日显示、五路温度数据显示和时分秒时钟显示、五路湿度数据显示和时分秒时钟显示、设定温湿的的报警上下线界面显示、数据存储及查询数据记录界面显示。
3.4.3键盘检测程序设计
本设计键盘程序将由五个按键完成,分别是确认键、加数键、减数键、返回键和附件键,由这简单的五个按键完成的功能很多,主要有:
菜单选择、进行界面切换、设定0到100之内的任意温湿度报警上下限和显示系统简介界面。
3.4.4报警程序设计
本系统的声光报警程序设计更具特色,可以提供按键声、成功接收无线数据提示声和温湿度超出上下限报警提示,其中可以根据不同的参数设定报警声的不同频率。
3.4.5DS1302和EEPROM程序设计
本系统中DS1302提供实时显示时钟信息,并且定期的将接受数据存储到AT24C02存储芯片中。
3.4.6NRF509发射程序设计
在NRF509发射程序中首先要进行初始化nRF905的射频配置寄存器,然后配置nRF905的发送地址,本设计中配置最多4个字节(32位),发送端的发送地址应与接收端设备的接收地址相同。
本模块设定为接受模式。
4系统调试
4.1测试环境及工具
测试温度:
0~100摄氏度。
(模拟多点不同温度值环境)
测试湿度:
50~100%。
(模拟多点不同湿度值环境)
测试仪器及软件:
数字万用表,温度计0~100摄氏度,湿度计。
测试方法:
目测。
4.2测试方法
使系统运行,观察系统硬件检测是否正常(包括单片机最小系统,键盘电路,显示电路,温度测试电路,湿度测试电路等)。
系统自带测试表格数据,观察显示数据是否相符合即可。
采用湿度检测器和温度计同时测量室温和湿度变化情况(取温度值不同的多点),目测显示电路是否正常。
并记录各点温度、湿度值,与实际温度、湿度值比较,得出系统的温度、湿度指标
4.3测试数据
采集器
一路
二路
三路
四路
五路
显示值
25
24
25
26
26
实测值
25
25
25
25
25
表4-1温度测试
采集器
一路
二路
三路
四路
五路
显示值
65
66
65
64
66
实测值
65
65
65
65
65
表4-2湿度测试
4.4测试结果
测量温度平均值=25.2与实际温度相差0.2误差;
测量湿度平均值=65.2与实际湿度相差0.2误差。
5结束语
本系统设计及调试完毕,基本上完成实验要求,测试
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 无线数据 采集 系统 设计 毕业设计