基于STM32和LabVIEW的无线温湿度检测系统

2015-02-20 05:31胡四海李志华
中国测试 2015年5期
关键词:上位温湿度单片机

胡四海,李志华

(中国地质大学(武汉)机械与电子信息学院,湖北 武汉 430074)

基于STM32和LabVIEW的无线温湿度检测系统

胡四海,李志华

(中国地质大学(武汉)机械与电子信息学院,湖北 武汉 430074)

基于STM32和LabVIEW平台,设计一种无线温湿度检测系统方案。该系统以STM32为控制核心,nRF24L01P为无线收发模块,采用功耗低、响应快的数字温湿度传感器AM2303进行温湿度信号的采集。上位机利用LabVIEW作为开发平台,通过串口进行STM32单片机与上位机的通信,从而实现对环境温湿度的实时检测。实验结果表明:该系统具有稳定性高、抗干扰能力强和使用方便等优点,适用于各种温湿度环境检测。

STM32;nRF24L01P;传感器;串口通信

0 引 言

日常生活中,温度和湿度是两个很重要的物理参数,它不但与人们的身体健康密切联系,而且与科学研究、园林技术、仓库管理、机房管理等方面都息息相关。随着电子科技的发展,人们对环境温湿度监控的要求也越来越高[1]。传统的温湿度检测技术都是采用有线传输装置,不但布线麻烦,而且消耗大量的人力物力,在实际应用中有很大的局限性。

本文设计了一种无线温湿度检测系统方案,其主控制器采用STM32,无线收发模块芯片选用nRF24L01P,传感器选用功耗低、响应快、稳定性强的数字温湿度传感器AM2303。

1 系统设计框图

该系统是一个“多对一”系统[2],即由若干个无线发送模块和一个无线接收模块组成。系统发送端组成框图如图1所示。在发送端,STM32控制AM2303的温湿度数据采集并利用nRF24L01P实现数据的无线发送。系统接收端组成框图如图2所示。在接收端,STM32控制nRF24L01P实现多组数据的无线接收功能,并通过串口将接收到的数据传递给上位机,上位机对数据进行处理、分析以及实时显示。

图1 系统发送端结构框图

图2 系统接收端结构框图

2 系统硬件设计

系统硬件设计由STM32单片机主控电路、无线收发电路、温湿度数据采集电路、报警电路、电源电路等构成,主要完成温湿度数据的实时采集、传输、显示等功能。

2.1 STM32单片机控制电路

系统采用ST公司生产的STM32F103RBT6作为控制核心,STM32F103RBT6是ST公司基于ARM最新Cortex-M3架构内核的32位处理器产品,其处理速度可达72MHz,内置128 KB的Flash、20KB的SRAM、12位的A/D、4个16位定时器、3路USART通信口和2个SPI接口等丰富的片内资源,完全满足本检测系统对数据采集、处理、传输等应用的要求。STM32F103RBT6作为系统的主控制器,通过SPI1接口控制nRF24L01P芯片实现数据的无线收发功能,并将接收到的数据进行相应的转换处理后通过RS-232串口总线与上位机进行通信。

2.2 无线收发电路

系统中无线收发功能主要利用nRF24L01P芯片来实现,nRF24L01P是一款工作在2.4~2.5GHz的ISM频段的无线单片收发芯片,工作电压为2.0~3.6V,电流消耗极低。该芯片有126个通信通道,6个数据通道,能够满足多点通信和调频需要,支持250KB/s、1,2Mb/s数据传输速率。系统中还用到了功率放大芯片和低噪声放大器芯片,使无线模块的最大发射功率达到20dBm,并同时将接收灵敏度提升10dBm,使得无线通信距离超过nRF24L01P自身的10倍以上。

STM32单片机与nRF24L01P无线收发模块之间利用同步串行口SPI进行双向通信,nRF24L01P的SPI总线有SCK(SPI时钟)、MISO(主入从出)、MOSI(主出从入)、CSN(SPI使能)[3]。STM32通过配置寄存器CONFIG使nRF24L01P分别处于发射模式和接收模式,IRQ是中断标志位。STM32与nRF24L01P的连接电路如图3所示。

图3 nRF24L01P电路图

2.3 温湿度数据采集电路

系统中温湿度的数据采集利用AM2303数字传感器来完成。AM2303是一款出厂已含有校准数字信号输出的温湿度复合传感器,主要特性有:温度分辨率为0.1℃,准确度为±0.2℃;湿度分辨率为0.1%RH,精度为±2%RH;供电电压为3.5~5.5V等。其优点有自动化校准、超小体积、极低功耗、采用标准单总线接口、信号传输距离可达20m以上等[4]。

温湿度数据采集电路主要由STM32单片机PA3引脚与AM2303传感器的SDA引脚相连接,通过标准的单总线通信方式控制传感器进行数据采集,设计电路如图4所示。

图4 传感器连接电路图

2.4 报警电路

报警电路采用有源蜂鸣器进行设计,设计电路如图5所示,当单片机的PB1引脚输出低电平时,蜂鸣器鸣叫,否则蜂鸣器停止[5]。

2.5 电源电路

STM32单片机是一款低功耗单片机,其供电电压为3.3 V,nRF24L01P芯片供电电压为2.0~3.6 V,AM2303工作电压为3.5~5.5V。系统中采用9V干电池通过电压转换芯片AMS1117-5和AMS1117-3.3给系统供电[6]。

图5 报警电路图

3 系统软件设计

该系统以单片机为控制核心,完成对系统数据的采集及无线传输[7]。系统软件设计由下位机软件和上位机软件两部分组成。下位机包括主程序和多个子程序。子程序包括单片机控制传感器实现温湿度数据采集、SPI1控制nRF24L01P无线收发数据、数据报警处理等。上位机则采用NI公司的LabVIEW作为开发平台。

3.1 系统发送端软件设计

由于系统是一个“多对一”系统,有多个发送端,在发送端正常工作之前,需要对每个发送端进行初始化。当传感器上电初始化之后,MCU向传感器发送一次起始信号,传感器读取起始信号后工作模式由原来的休眠模式切换到高速模式,并向MCU发送响应信号;随后MCU读取传感器从SDA引脚输出的40b数据,并对40b数据进行校验,若校验正确,则将数据传送给无线收发模块,此时通过配置无线收发模块芯片的寄存器,使其工作模式配置为发送模式,将数据发送出去,若校验错误,则说明本次读取的数据不正确,放弃数据,重新初始化传感器。图6为系统发送端软件设计框图。

图6 发送端软件设计流程图

3.2 系统接收端软件设计

系统只需设计一个接收端,系统接收端的STM32单片机通过配置无线收发模块芯片的寄存器,设置其工作模式为接收模式,使其一直工作在接收状态,STM32单片机将接收到的数据处理后,跟系统设置的温湿度报警值进行对比[8],并进行相应的处理。同时,STM32单片机的液晶能实时显示接收到的各个发送端的温湿度数据。图7为系统接收端软件设计框图。

图7 接收端软件设计流程图

3.3 LabVIEW上位机软件设计

系统上位机部分采用LabVIEW作为开发平台,上位机通过串口实现与STM32单片机的通信。单片机将采集到的温湿度数据通过串口传输给上位机[9],上位机进行识别、处理后显示相应的结果。与编程复杂、入门较难的VB和VC++相比,基于LabVIEW的温湿度检测系统界面清晰、使用灵活、工作效率高,还具有良好的功能扩展性,能够满足本系统的设计要求。图8为LabVIEW温湿度检测系统上位机设计界面,该系统可以同时显示4个不同发送端的环境温湿度数据情况。

图8 LABVIEW温湿度检测系统界面

4 实验数据

试验中采用温湿度计和本文提出的无线温湿度检测系统测量方法分别对温度和湿度进行测量对比[10],表1和表2分别为每隔30min采用温湿度计和本系统测量方法测得的某室外温湿度值,以及两者的相对误差和绝对误差。

表1 温度测量数据对比

表2 湿度测量数据对比

从表1和表2测量数据可以看出最大相对误差为4.2%,系统相对误差大小均在±5%以内。本系统经过实际检测,在平旷的地方,当无线模块的传输速率在2Mb/s时,传输距离可达100M,当传输速率更小时,传输距离可达500M甚至最远,且数据误码率非常小。证实本系统具有良好的稳定性和可靠性。

5 结束语

本文采用 STM32单片机作为主控制器,nRF24L01P实现数据的无线收发功能,并通过Lab-VIEW上位机界面实时显示数据,设计出了多对一的无线温湿度检测系统。经过实际论证,该系统稳定性高,抗干扰能力强。将数据发送端控制在一定的数量范围之内时,系统的稳定性会更好,相对误差会更小,能够有效地运用在各种温湿度环境检测中。

[1]朱玉颖,蔡占辉.基于nRF24L01的远程温度检测系统设计[J].自动化技术与应用,2010,29(5):56-58.

[2]符多铎,谭秋林,刘文怡,等.低功耗电梯呼叫系统的设计与实现[J].电子技术应用,2013,39(9):77-80.

[3]马瑾,裴东兴,张少杰.基于nRF24L01的无线温湿度测试系统[J].电子设计工程,2012,20(2):64-66.

[4]陈城.基于Stm32的温湿度检测系统[D].武汉:武汉科技大学,2012.

[5]刘洲峰,黎小静,吕云鹏,等.基于STM32F103VBT6的射频加热温湿度监测系统设计[J].微型机与应用,2012,31(16):28-31.

[6]顾简,施云波,修德斌,等.基于GPRS的环境温湿度监测系统设计[J].黑龙江大学自然科学学报,2010,27(6):832-835.

[7]王涛.基于nRF24L01的2.4 GHz无线通信系统设计[J].无线通信技术,2011,37(3):4-7.

[8]董冬,司颉.基于LabVIEW的温湿度检测系统的设计[J].黑龙江科技信息,2010(33):5-6.

[9]黄松岭,吴静.虚拟仪器设计基础教程[M].北京:清华大学出版社,2008:181-208.

[10]卑璐璐.无线温湿度监测系统设计[D].辽宁:辽宁工程技术大学,2009.

Wireless temperature-humidity detection system based on platforms STM32 and LabVIEW

HU Sihai,LI Zhihua
(Faculty of Mechanical&Electronic Information,China University of Geosciences,Wuhan 430074,China)

A wireless temperature-humidity detection system solutions was designed based on platforms STM32 and LabVIEW.Taking the STM32 as an essential control method and using a chip nRF24L01Pin a wireless transceiver module,the system acquired temperature-humidity signals through a digital temperature-humidity sensor AM2303 of low power and fast response.An upper computer was communicated with a STM32 MCU through a serial port based on the development platform LabVIEW to detect the environmental temperature and humidity in real time. Experiment results indicate that the system is stable,interference-resistant and convenient to use,suitable for a variety of temperature and humidity detections.

STM32;nRF24L01P;sensor;serial communication

A

:1674-5124(2015)05-0099-04

10.11857/j.issn.1674-5124.2015.05.025

2014-08-28;

:2014-10-22

胡四海(1989-),男,湖北武汉市人,硕士研究生,专业方向为智能仪器设计研究。

猜你喜欢
上位温湿度单片机
基于AT89C51的数字型蚕用温湿度计的设计
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
要攻城略地关键要有好筹码,这匹水产动保“黑马”如何能迅速上位?
基于温湿度控制的天气预测装置
特斯拉 风云之老阿姨上位
基于DSP和μcos的温湿度检测系统的设计
PLC在计算机空调机房温湿度控制中的应用