APP下载

基于C8051F020的无线仓库温度传感系统设计

2013-08-29

大众科技 2013年3期
关键词:时钟房间单片机

(四川工商职业技术学院,四川 都江堰 611830)

1 引言

市面上所销售的仓库温度显示系统大多是基于本地的七段LED显示,而具有无线通信功能且能进行LCD显示的较少;其原因主要是无线通信的控制较普通温度显示复杂得多,且LCD的显示控制也较七段LED显示要复杂一些。但为了获得更多的显示信息,并且能监视和存储仓库中不同房间的温度等信息,就必须使用具有无线通信功能的仓库温度传感系统,并且采用LCD进行相关内容的显示;

基于上述内容,本文系统采用具有增强功能性的单片机C8051F020作为核心处理器,采用433M频段的无线通信模块进行无线的数据传输,采用DS18B20进行温度的检测和采集,采用DS1302进行实时信息的采集,同时,通过LCD12864进行相关信息的显示。

2 系统概述

本系统主要由核心处理器、无线通信模块、按键电路、温度检测模块、实时时钟模块、LCD显示模块、存储模块、232接口组成,如图1所示。

图1 系统框图

核心处理器选用3.3V供电的增强型单片机C8051F020,完成实时时间芯片DS1302的交互通信、DS18B20芯片的温度检测和采集、433M无线通信模块的驱动及数据处理、LCD12864液晶驱动和文字显示、温度报警等功能。

无线通信模块的核心芯片采用 Nordic公司生产的433MHz ISM 频段具有FSK 调制解调技术的单片UHF 无线收发芯片NRF401进行设计,同时根据其推荐电路进行外围的配置,天线采用增强型外置天线使无线通信距离能达到 500m以上。

温度检测选用DS18B20数字温度芯片进行温度的检测和采集;实时时钟选用DS1302芯片进行年、月、日、时、分、秒的时间采集;显示模块选用LCD12864液晶进行相关内容的中文显示;存储模块选用 I2C通信的串行 EEPROM芯片AT24C512进行设计;232接口选用MAX232芯片,实现通过PC机串行通信进行时间的调整和数据的提取。

3 硬件设计

本系统以C8051F020单片机为核心,工作电压为3.3V,用于温度检测、实时时钟数据的读取、温度等数据的无线通信和存储、LCD12864液晶的驱动,本文主要介绍硬件电路中无线通信模块电路、LCD显示电路、实时时钟电路、温度检测及数据存储电路。

3.1 无线通信模块电路

本文使用无线收发芯片 NRF401进行无线通信模块的设计,该芯片通信频段处于433MHz ISM 频段、具有FSK 调制解调技术,电路中采用外置差分天线电路可达到500m以上的通信距离,仅5个引脚与单片机C8051F020相连,进行数据的收/发处理、芯片待机等等。电路如图2所示。

图2 无线通信模块电路

3.2 LCD显示电路

本文中显示模块选用带中文字库的LCD12864,电路中使用74HC573进行驱动,其中PSB引脚可选择控制,LCD通信方式为并行或串行。电路如图3所示。

图3 LCD12864显示电路

3.3 实时时钟、温度检测及数据存储电路

本文中实时时钟模块选用DS1302芯片进行设计,实际电路中采用纽扣电池和 3.3V单片机电源双电源供电,32.768kHz晶振提供实时时钟源;温度检测模块采用独立式数字温度芯片DS18B20进行温度的检测和采集;数据存储模块采用I2C串行通信的EEPROM芯片AT24C512进行相关数据的存储。电路如图4所示。

图4 实时时钟、温度检测及数据存储电路

4 软件系统的设计

本文使用C语言在Keil C的软件平台上对系统的软件进行设计。本系统软件由4大个部分组成,分别是实时温度检测和数据处理模块、实时时钟模块、数据存储模块、无线通信及数据分析模块组成。本文主要介绍实时温度检测和数据处理模块,无线通信及数据分析模块的软件设计。

4.1 实时温度检测和数据处理模块的软件设计

本文温度检测过程中,单片机C8051F020使用定时器以5s为单位的定时与 DS18B20交互进行数据采集,采集后将DS18B20的温度数据处理成以0.5℃为单位的摄氏温度,并进行温度上限和下限的判断。若出现超过仓库所在房间规定的温度范围、温度急升、温度急降等情况时,则即时启动无线通信模块发送所在房间的温度超限报警信号,同时启动存储模块进行温度、时间等数据的存储;否则,将以15min为单位定时启动无线通信模块发送温度信息,并启动存储模块存储温度、时间等数据。

其中,实时温度检测和数据处理模块的子程序实现多个定时标识的识别、温度数据的检测和采集、温度数据的处理等内容,而定时中断服务程序则只进行定时标识的更新。由于篇幅有限,此处只给出了温度检测和数据处理部分的程序流程,如图5所示。

图5 温度检测和数据处理部分流程图

4.2 无线通信及数据分析模块的软件设计

本文中,在不同房间的多个单片机C8051F020通过对无线通信芯片 NRF401的控制实现多点温度等数据汇集一点的无线通信。

无线通信协议主要由房间地址码、温度数据码或数据成功接收反馈码、校验码组成,其中为了提高通信数据的准确度,校验码采用固定公式计算循环冗余校验码进行数据校验。

在通信处理过程中,各房间的主发送模块按统一的无线通信协议定时重复发送该房间的温度信息,每次发送完数据后,切换到从接收模式准备接收主接收模块的反馈信息;短定时后若接收到该房间的反馈信息,则进入待机模块等待下一次启动,否则循环切换主发送模式和从接收模式直至接收到对应房间的反馈信息。

而唯一的主接收模块按接收到的通信信息顺序,逐一接收无线通信信息并进行校验,若校验成功,则进一步识别房间及温度信息并进行存储和LCD中文显示,同时切换到从发送模式发送两次该房间的反馈信息,之后接收下一组房间及温度信息。当所有房间数据接收完后,再次按顺序多次发送各房间的反馈信息,之后再次进入主接收模式。

由于篇幅有限,此处只给出无线通信中主接受部分的程序流程,如图6所示。

图6 无线通信中主接受部分程序流程图

5 系统测试及运行

本文在实际的运行测试过程中,根据大部分仓库的工作特点,将主接收模块设置在位于学院机电综合楼三楼的办公室中,而各主发送模块分别设置在机电综合楼一楼车间以及距主接收模块200m距离以上的信息综合楼、教学楼各层办公室中,针对实际不同工作环境和工作距离进行测试。

通过长期的测试,结果表明工作环境和墙壁等障碍物对温度检测准确度、无线通信的距离和质量有一定影响。在工作环境中需通过墙壁障碍物较多的无线通信距离相对下降,且数据丢失相对较多,主发送模块需工作时间较长,功耗增加;有机械噪音存在的工作环境对温度检测准确度影响相对较大,且对数据丢失有一定影响,如表1所示。

表1 仓库无线温度系统多点综合测试结果

本系统在实际运行过程中,通过不断的测试发现当无线通信距离达到460m±15m后,随着通信距离的进一步增加,误码率上升变化显著,且接收和发送天线所在方向对通信有影响。但当采用不同天线的材料或者改变天线结构时,对无线通信距离和误码率也有很大的影响;同时,在通信距离300m范围内,障碍物的多少对无线通信误码率影响有限。

本系统经过反复长期在不同情况下的测试、调整及运行,得到 400m范围内,经修正后无线通信误码率可小于 1×10E-7;在有一定机械噪声存在的情况下,经修正温度误差可小于 1℃。实验证明本系统适用于工作环境适中的中小型多隔间的普通仓库的温度无线检测和监控报警。

6 结论

在实际使用中,数据无线通信的方法有多种而且灵活,给应用带来了极大的方便。本文利用433MHz频段的无线收/发芯片NRF401控制无线通信结合温度检测,通过测试实现了短距离仓库内多点的温度监控和报警功能,为仓库的智能化和信息化管理提供了基础。

[1]鲍进可,赵念强.SOC 单片机原理与应用[M].清华大学出版社,2011.

[2]黄军友.基于 nRF401芯片的温度无线数据采集系统设计[J].齐齐哈尔大学学报,2009(02).

猜你喜欢

时钟房间单片机
Chapter 4 Merrick's first home
别样的“时钟”
古代的时钟
房间
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
有趣的时钟
房间,这是我的房间