基于无线的测温测距实验系统设计

2018-03-07 06:15冉玉梅
无线互联科技 2018年21期
关键词:温度传感器

冉玉梅

摘 要:基于无线的测温测距实验系统选择了典型的温度传感器和超声波传感器,文章使用nRF24L01和ZigBee两种方式进行无线传输数据实验,利用Visual Basic实现上位机实验软件功能,具有直观性和交互性。通过方便的人机对话,学生可以完成4种实验,根据实验结果图形直观感受传感器性能指标。该实验系统可以辅助教学,用于课堂演示,提高课程的教学质量。

关键词:ZigBee;nRF24L01;温度传感器;超声波传感器

高校在开展“传感器与检测技术”教学时,通常使用企业生产的实验平台,包括传感器安装台、显示与激励源、传感器符号及引线单元、处理电路单元等。除了费用较高外,系统控制对象相对固定,控制方式较为单一,硬件和软件不开放[1]。而随着无线传感器网络的逐渐普及,将各类传感器实时监测的数据,通过无线传输的方式进行收集,再通过上位机程序处理,即“无线”+“传感”的模式将成为未来趋势。为了让学生更加直观地认识无线传感模式,搭建了基于无线的测温测距实验系统。

1 实验系统简介

短距离无线通信包括无线编解码芯片,无线数传芯片,ZigBee,WiFi,蓝牙,IrDA这些方式,本文选择了无线数传芯片和ZigBee两种方式。我国传感器产品开发涵盖光敏、热敏、力敏、气敏、电压敏、磁敏、湿敏、声敏、射线敏、离子敏和生物敏等传感器,系统选择了常用的温度传感器和超声波传感器。系统包括4个实验,分别为无线数传芯片传输温度传感器数据、无线数传芯片传输超声波传感器数据、ZigBee模块传输温度传感器数据、ZigBee模块传输超声波传感器数据。

系统主要由控制器、无线传输模块、传感器模块和上位机软件构成。通过单片机连接无线传输模块和传感器,传感器收集数据,无线模块发射端将数据发送到连接上位机的接收端,上位机软件系统对数据进行处理并实时显示。

系统对温度传感器、超声波测距传感器和单片机采用﹢5.0 V的电源供电,对无线模块采用﹢3.3 V供电。软件设计主要通过Keil4.0,IAR EW8051-8.1和Visual Basic6.0开发。

2 硬件设计

硬件系统由检测模块和无线传输模块组成。无线数传芯片通過芯片提供的接口进行数据的传输,典型的数传芯片有Si4432,nRF24L01,CC1100等,系统使用nRF2401L芯片。ZigBee是基于IEEE802.15.4标准的低功耗局域网协议,CC2530是用于ZigBee的一个片上系统解决方案[2]。检测模块包括温度传感器和超声波传感器,温度传感器选择的型号是DS18B20,测温范围在﹣55~﹢125 ℃,在常温环境中实验测量时,通常在15~40 ℃变化,系统通过图形化显示的数据也在此区间内。超声波传感器选择的型号是HC-SR04,可提供2~400 cm的非接触式距离感测功能。

3 软件设计

软件设计针对单片机和上位机,分别通过Keil4.0,IAR EW8051-8.1和Visual Basic6.0开发。对ZigBee设备,使用Z-Stack协议栈开发,定义通信硬件和软件在不同级如何协调工作[2]。为了实现Z-Stack代码的公用,用户需要添加几个文件,编写自己的任务处理函数。一个是主文件,存放具体的任务事件处理函数;一个主文件的头文件;一个是以Osal开头的操作系统接口文件,专门存放任务处理函数数组tasksArr[]的文件。

在Visual Basic6.0中有一个名为Microsoft Communication Control的通信控件。通过对此控件的属性和事件进行相应编程操作,可以实现串口通信,部分代码如下。

MSComm1.OutBufferSize = 2

If MSComm1.PortOpen = True Then MSComm1.PortOpen = False

MSComm1.SThreshold = 1

MSComm1.InputLen = 0

MSComm1.InputMode = comInputModeText

MSComm1.InBufferCount = 0

根据软件模块化设计方法,将实验系统软件功能模块划分为“选择无线传输方式”模块、“选择传感器类型”模块、“选择com端口”模块、“选择波特率”模块、“选择保存文件”模块、“打开串口/关闭串口”模块、“保存数据/停止保存”模块、文字显示模块、图形化数据演示模块[3]。

4 实验设计举例

4.1 无线数传芯片的传输方式

以传输温度传感器数据为例,选择nRF24L01芯片模块,通过USB接口连接单片机和nRF24L01接收器。

运行“基于无线的传感器实验系统”软件,“选择无线传输方式”中单击“无线数传芯片”,“选择传感器类型”中单击“温度传感器”,单击“选择com端口”下显示的端口号,“选择波特率”中单击“9600”,“选择保存文件”中按照自己的存放路径和存放文件名称进行修改。

按下单片机上的加电开关,单击“打开串口”。将不同温度的热源接近传感器,传感器收集到温度值,nRF24L01芯片将这些数值传递到上位机软件,以图形、文本两种方式显示温度,如图1所示,“实时数据”中的数值和单片机上液晶显示屏上数据一致。

单击“保存数据”按钮,经过一段时间后,单击“停止保存”按钮,期间的数据将保存在“data.txt”文档中,双击打开可浏览。单击“关闭串口”,将单片机的加电开关关闭,完成本个实验的运行过程。无线数传芯片传输超声波传感器数据的实验过程与上述过程相似[4]。

4.2 ZigBee的传输方式

以ZigBee模块传输超声波传感器数据为例,选择ZigBee无线传输模块,将超声波传感器安装到CC2530发送端接口上,CC2530发送端模块连接到移动电源。

各项参数进行相应选择后,打开CC2530模块的加电开关,单击“打开串口”,将超声波传感器对准不同的参照物,反馈的距离数据通过CC2530传递到上位机,以图形、文本显示数据。ZigBee模块传输温度传感器数据的实验过程与上述过程相似[5]。

一般的上位机通过手工方式选择端口,先连接无线模块,在“设备管理器”中查看占用的端口号,再返回系统选择相应选项,过程复杂效率低。本系统在运行时通过代码自动搜索被占用的端口号,显示在选项菜单中,提高了工作效率[6]。

5 结语

基于模块化的思想,设计并开发了基于无线的测温测距实验系统,在系统中使用了两种传感器和两种无线传输方式。本实验系统具有可靠高效的优点。4个实验项目直观地展现了传输方式与传感器之间的连接,图形化展示了传感器数据的变化,其设计目的是给学生提供实际动手机会,有利于学生加深对无线传输方法和常用传感器的了解。

猜你喜欢
温度传感器
气象用温度传感器检定结果的测量不确定度评定与应用
温度传感器DS18B20在温度计设计中的应用
一种高性能CMOS温度传感器
XTR105电流变送器在温度传感器中的应用
一种自组网分布式无线温度传感器的设计
温度传感器在笔记本电脑散热系统中的应用