无线湿温度监测系统的设计

小编为您提供一篇关于无线湿温度监测系统设计毕业论文开题报告,欢迎参考!

摘 要: 针对现实中更为便捷的监测湿温度的要求,下位机以无线收发模块nRF2401 为基础,配合51 单片机和湿温度传感器设计出了监测系统的硬件电路;上位机用VC6.0 开发,可以实现对监测结果的动态曲线显示,储存,打印。该设计可移植性好,在仓库系统、电力系统、档案资料库、烟草和食品加工行业具有广泛的应用前景。

关键词:无线通信;湿温度监测;单片机;串口通信;VC

1 引 言

随着经济发展,各行各业需要监测湿温度的场合越来越多。现有的湿温度监测系统多是采用有线传输,不仅要敷设大量的电缆,而且电源线,控制线,信号线混在一起,可能会出现相互之间的干扰。尤其是当监测点过多时,布线复杂,有线传输的问题会更严重。因此需要建立一套稳定可靠,管理科学,高效率的湿温度监测系统。本文介绍的无线湿温度监测系统,改进和克服了有线的上述缺点。改变温湿度测量点位置和增加或减少测量点数目都非常方便。

2 方案设计

2.1 系统框图

整个系统可由多个无线传感器节点和一个中心节点组成。其中,无线传感器节点分布在需要测量的现场,由湿度传感器和温度传感器完成对周围环境湿温度数据采集,送至单片机进行处理并在液晶模块显示,然后通过无线发射模块将数据发送出去。监测中心节点负责接收传感器节点的数据,由单片机处理后通过RS-232 串口传至PC 端,进行图像的绘制,数据的处理和储存。当湿温度超过预设阀值时,中心节点处蜂鸣器进行报警提示。

2.2 技术指标

温度测试范围:-55- +125 ℃ 测试精度:0.5 ℃湿度测试范围:10%-100%RH 测试精度:1%RH无线传输范围:开阔地80m 左右。

3 系统组成模块

3.1 无线发射接收模块

系统通过无线收发模块传输现场采集的数据,系统所处环境较恶劣,对数据传输的可靠性要求较高。综合考虑以上因素,采用以nRF2401AG 为核心芯片的无线数传模块。nRF2401AG 是单片无线收发一体的芯片。模块工作电压为2.7~3.6V,内置天线;采用全球开放2.4GHz ISM 频段,免许可证使用;采用高效GMSK 调制最高传输速率达到1Mbit/s,抗干扰能力强;有125 个频道,可满足多频及跳频需要;内置硬件CRC 检错,支持点对多点通信地址控制。

模块可以通过软件设置地址,只有收到本机地址时才会输出数据,可直接连接各种MCU,软件编程非常方便。nRF2401AG 可通过软件设置40 bit 的地址,适合点对多点的数据传输;CRC 纠检错硬件电路和协议,提高了系统的可靠性,且不再需要用软件对传输数据进行差错控制编码,简化了软件编程。PTR4000PA 是PTR4000 的功率加强型产品,传输距离更远(开阔地约300-400m,室内约 50-100m)。nRF2401AG 最突出的特点是具有一种ShockBurstTM Mode(突发模式)的通信模式。ShockBurst Mode 使用芯片内部的先入先出堆栈区,数据可以从低速微控制器送入,高速(1 Mb/s)发射出去,字头和校验码由硬件自动添加和去除。其优点是功耗低,抗干扰能力强。

3.2 温度测量模块

温度传感器采用采用 Dallas 公司的单总线数字温度传感器 DS18B20,芯片内部集成了温度传感器和模数转换器。其测温范围为-55-+125℃,测量的温度值可编程为9、10、11 和12 位数字表示,相应温度分辨力分别为0.5℃、0.25℃、0.125℃ 和 0.0625℃。用户可设定温度超标报警的上、下限值。

DS18B20 为一线通信接口,必须先完成ROM 设定,否则记忆和控制功能将无法使用。主要首先提供以下命令之一:1)读ROM,2)ROM 匹配,3)搜索ROM,4)跳过ROM,5)报警检查。这些指令操作作用在没有一个器件的64 位光刻ROM 序列号,可以在挂在一线上多个器件选定某一个器件,同时总线也可以知道总线上挂有多少,什么样的设备。

3.3 湿度测量模块

湿度传感器采用HS1101。HS1101 是HUMIREL 公司生产的变容式相对湿度传感器,采用独特的工艺设计。

HS1101 测量湿度采用将HS1101 置于555 振荡电路中,将电容值的变化砖换成电压频率信号,可以直接被微处理器采集。

555 芯片外接电阻R57,R58 与HS1101,构成对HS1101 的充电回路。7 端通过芯片内部的晶体管对地短路实现对HS1101 的放电回路,并将引脚2,6 端相连引入到片内比较器,构成一个多谐波振荡器,其中,R57 相对于R58 必须非常的小,但决不能低于一个最小值。R51 是防止短路的保护电阻。

HS1101 作为一个变化的电容器,连接2 和6 引脚。引脚作为R57 的短路引脚。HS1101 的等效电容通过R57 和R58 充电达到上限电压(近似于0.67 VCC,时间记为T1),这时555 的引脚3 由高电平变为低电平,然后通过R58 开始放电,由于R57 被7 引脚内部短路接地,所以只放电到触发界线(近似于0.33 VCC,时间记为T2),这时555 芯片的引脚3 变为高电平。通过不同的两个电阻R19, R20 进行传感器的不停充放电,产生方波输出。

由此可以看出,空气相对湿度与555 芯片输出频率存在一定线性关系。给出典型频率湿度关系(参考点:25℃,相对湿度:55%,输出频率:6.208k Hz)。可以通过微处理器采集555 芯片的频率,然后查表即可得出相对湿度值。为了更好提高测量精度,也可采用下位机负责采集频率,将频率值送入上位机进行分段处理的方法。

4 PC 机与数据处理

PC 机采用VC6.0 开发上位机软件。VC6.0 具有面向对象的设计方法、友好的用户界面、实时型强等优点,还具有强大数据处理和图形处理功能,因此非常适用于开发通信系统控制软件。在采用VC 开发过程中,为实现远程通信,设计中采用MSComm 控件。该控件屏蔽了通信过程中的底层操作,应用时只需要监控MSComm 控件的属性和事件,便可以通过RS-232 与单片机实现串行异步通信。

PC 机与单片机的通信协议设定波特率为9600,偶校验,8 个数据位,一个停止位。MSComm 控件通讯方式采用事件驱动方式。PC 机把单片机传送过来的温湿度测量值存放在内存中,并可以利用PC 机的时间功能,记录下测量数据的时间。VC 编写基于对话框的应用程序,可在显示屏幕上动态曲线的形式来显示湿温度的值,还可打印和存储大量的温湿度测量值,供以后参考和分析,也是对单片机性能不足的补充。

可利用 VC6.0 对测量的数据进行数字滤波,提高温湿度的测量精度。也可以用最小二乘法,对测量结果进行线性化处理,进一步提高测量的精度。

此外,在绘制动态曲线的过程,每一次从串口传来的数据都会引起窗口的重绘,如果采用直接在GDI 中绘图的方法会引起图像的闪烁现象。因此可以采用双缓存技术。双缓存技术就是把要显示的图形先在内存中绘制好,然后调用BitBlt 函数,把内存设备复制到显示设备上。由于这时非常规整的内存拷贝,这个过程会进行的非常快,这样就会消除重绘而引起的图像闪烁问题。

实现双缓存技术的过程如下:

1. 保证绘图过程中的所有CDC 及其继承类指向内存DC。这里可以利用内存设备环境变量CMemDC(一个开源的类)来代替设备环境变量。

2. 修改OnEraseBkgnd(CDC*) 事件将代码屏蔽,改为一句 return TRUE;

3. 将图像背景擦除的的过程放到内存缓冲区里面去做。部分关键代码如下:

void CGraphView::OnDraw(CDC* pDC)

{

CRect rectClient;

GetClientRect( &rectClient );

CMemDC memDC(pDC, rectClient);

EraseBkgnd(&memDC);

// OnEraseBkgnd 失效了,但是仍然需要在内存缓冲区中擦除背景

m_graph.Redraw( &memDC, rectClient );

}

4. 在内存中绘制图形,并把结果切换到显示DC。实践表明,双缓存技术在绘图中有稳定良好的效果。

5 系统软件设计

本系统用 C 语言编程,软件采用模块化结构程序设计方式。总体上包括主程序模块、参数设置模块、通信模块、显示模块以及报警子模块等。最后主程序和中断处理程序将各个模块连接起来。这样使程序利于修改和调试,也增强了程序的可移植性。下位机完成对周围湿温度数据的采集、处理、显示和发送。上位机基于VC 开发应用程序,来实现对下位机的控制,节点选择以及对接收到数据的动态显示、储存、分析和处理。

6 结束语

总体来说,系统设计新颖,简单实用。样机经过长时间的运行测试,可靠稳定,使用方便。特别是基于VC6.0开发的上位机界面使监测更加便捷,更具人性化特点。此外,本设计在系统分析和设计方法学上也有一定的学术参考价值。

一键复制全文保存为WORD