基于MSP430单片机的多路无线温度检测系统

时间:2022-09-22 05:43:54

基于MSP430单片机的多路无线温度检测系统

摘 要:设计了基于MSP430的多点无线温度检测系统。系统采用低功耗的MSP430F149单片机作为核心控制部件,硬件由无线通信模块、温度采集电路、显示模块和串口通信模块组成,软件采用模块化的设计方法。测试表明,整个系统都是在超低功耗的要求下进行元件及运行方式的选择,各个基站只需要3 V电池供电就能实现长时间运作,能很好地实现超低功耗,并且实现了测量温度的实时性。

关键词:MSP430单片机; NRF24L01; NTC热敏电阻; 超低功耗

中图分类号:TN919-34文献标识码:A

文章编号:1004-373X(2011)01-0125-03

Multi-spots Wireless Temperature Detecting System Based on MSP430

WANG Ling,WANG Zhong-xun,WANG Heng

(Institute of Science and Technology for Opto-electronics Information, Yantai University, Yantai 264005, China)

Abstract: The multi-spots wireless temperature detecting system based on MSP430 is designed, which uses the low power consumption MSP430F149 microcontroller as the core control unit. Its hardware is composed of wireless communication module, temperature acquisition circuits, display module and serial communication modules. Its software adopts modular design methods. The system tests show that the components and running modes of the whole system are selected under ultra-low power consumption, and each base station can get long working hours by using 3V battery. This system greatly realized ultra-low power consumption.

Keywords: MSP430 MCU; NRF24L01; NTC thermistor; ultra-low power

0 引 言

温度在人类日常生活中扮演着极其重要的角色,同时在工农业生产过程中,温度检测具有十分重要的意义。现阶段温度检测主要是有线定点温度检测,其温度检测原理为单片机利用温度传感器检测温度,并在数码管或LCD上进行温度显示\1 系统构成

系统分为下位机、上位机和PC机三部分。PC机是整个系统的最上层,负责对下位机的控制和管理,并对收集到的各个节点的数据进行存储和处理。由于下位机无法直接与PC机通信,这就需要使用上位机作为中间媒介。上位机与下位机通过无线模块通信,与PC机采用有线连接。

该设计采用MSP430F149单片机作为核心控制模块[5-6],其最主要特点为低功耗[7]。MSP430F149具有双串口的特点,利用其中的一个串行口与PC机进行通讯时,两者之间必须通过RS 232电平转换芯片。单片机与无线发射模块nRF24L01通讯时可通过通用I/O口模拟串口通讯。现场温度数据的采集是利用NTC100热敏电阻和MSP430F149单片机部带有的12位A/D转换器来实现的。这里不需要外加ADC,可以简化电路,提高系统的稳定性。将按键作为输入模块,用来改变温度报警的上下限。由于设计要求不需要太多内容的显示,考虑到功耗及性价比,可以自制一个简易段码液晶用于显示。下位机设计方案和系统整体构成框图分别如图1,图2所示。

图1 下位机设计方案

图2 系统的整体构成

2 硬件设计

2.1 无线通信模块设计

nRF24L01是一款新型单片射频收发器件,工作于2.4~2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01功耗低,有多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便,图3为它的应用电路。

图3 NRF24L01 应用电路

从单片机控制的角度来看,只需要将图3中左边的6个控制和数据信号与单片机通用I/O口相连。

2.2 温度采集电路

为了使整个系统的功耗更低,采用低功耗的热敏电阻NTC100和MSP430149内部自带的12位A/D转换器实现温度的采集功能。其理论分析与计算电阻值和温度变化之间的关系。

RT=RNeB(1/T-1/TN)

(1)

式中:RT为温度T(单位:K)时的NTC热敏电阻阻值;RN为额定温度TN(单位:K)时的NTC热敏电阻阻值;T为规定温度(单位:K);B为NTC热敏电阻的材料常数,又叫热敏指数。

常温环境中,温度为28 ℃,换算成开氏温度为273.15+28=301.15 K。通过多次测28 ℃及30 ℃环境下的数据,如表1所示,取平均值,尽量减小误差,算得B值。

表1 测量NTC100热敏电阻B值

温度 /℃282828电阻均值

NTC阻值(K)RT /Ω103.87104.18103.63103.89

温度TN /℃303030电阻均值

NTC阻值(K)RN /Ω94.92694.07895.37694.793

通过式(1)可得B=TTNTN-TlnRTRN,将T,TN都转化成开尔文温度进行计算得B=4 064.34。Ь过比较发现,求得的阻值与测得的阻值很相近。

图4为温度采集模块,其中R1为热敏电阻,R3为200 kΩ电阻,R2为0~20 kΩ的可调电阻,用来调整温度计的准确性。U0为检测到的电压,将U0接到单片机管脚,通过A/D转换,将得到的电压值转换成温度值,在LCD上显示出来。

图4 温度采集模块

2.3 显示模块

本次设计采用自制的16位段码液晶进行显示。利用液晶驱动IC(HT1621)以及配套的液晶LCD玻璃片,自制16位段码液晶。另外,驱动IC上装有两种频率的蜂鸣驱动电路,可以实现报警功能。

2.4 串口通信模块

在温度采集过程中,由于系统随时需要将采集到的温度数值通过PC机上的VC界面进行显示,因此需要在PC机和单片机之间进行相互通信。由于PC机的RS 232电平与单片机的TTL电平不同,因此用MAX3232芯片实现电平的相互转换,这样就可以实现单片机与PC机之间的相互通信。

3 软件设计

系统的软件设计采用模块化设计方法。下位机利用定时中断发送温度数据,利用端口中断设置温度报警的上下限,其他时间处于低功耗模式3的状态下,这样可以大大降低功耗。上位机利用接收中断接收数据,并且利用MAX3232与PC机通信。

NTC热敏电阻的主要缺点是热电特性的非线性现象严重,本次设计采用查表法

图5 线性插值法热敏电阻非线性自校正程序流程图

图5中,0,R1,R2,…,RK是曲线上横坐标取值;0,T1,T2,…,TK是其对应的纵坐标。K的取值可根据所需温度精度确定。温度T的表达式为:

T=TK+TK+1-TKRK+1-RK(Ri-RK)

(2)

4 测试结果及分析

4.1 温度采集及显示

将程序写入单片机中,连好硬件线路,通过键盘设置好温度上下限后,单片机开始采集温度数值。如图6所示,是下位机显示界面,LCD显示报警温度的上下限、当前温度以及下位机的代号。

图6 下位机显示界面

经过多次测试,将LCD显示的温度与普通温度计进行比较,得到表2中的数据。

表2 LCD显示的温度值与普通温度计的温度值的对比表

项目测试次数

123456

LCD显示温度 /℃11.414.225.426.230.233.2

实际温度 /℃11.314.025.426.430.633

误差 /℃0.10.200.20.40.2

经过测试,温度误差在允许范围内,系统能够稳定的运行。当采集到的温度数值超过设定的上下限时,单片机就会发出报警信号,提醒用户进行温度控制。

4.2 功耗测试

当下位机进入LPM3(睡眠)模式,LCD不显示,但内部时钟仍运行,串入电流表,测量电流值,测得电流为4 μA左右。证明系统很好地实现了超低功耗。

4.3 无线模块测试

将无线模块\4.4 VC界面显示

首先进行上位机的硬件连接,连接完成后进行上电初始化并打开PC机的VC界面。当VC界面正常打开时,会出现“串口已打开”的提示;当VC界面无法正常打开时,会出现“串口无法打开”的提示,出现此情况时首先检测硬件连接,再检查选定串口通道是否正确。PC机最终显示如图7所示。

图7 PC机显示图

5 结 语

本文描述了基于MSP430单片机的无线温度控制系统的软、硬件设计。通过调试证明系统运行正常,各项指标均能达到设计要求。整个系统集成度高,功耗低,温度采集和无线传输速度快,误码低,且具有体积小,重量轻,可靠性高,易于控制和使用灵活等优点,因而性价比极高。

本次设计的温度精度为0.5 ℃,可以根据实际需求进一步提高精度;基站为了实现断电存储,可以将数据存储于单片机的FLASH中,上电时单片机从FLASH中取出所需的数值进行显示。

参 考 文 献

[1]姜薇,丁明.单片机在多通道温度检测系统中的应用[J].现代化农业,2003(3):30-31.

[2]王振,胡清,黄杰.基于nRF24L01的无线温度采集系统设计[J].电子设计工程,2009,17(12):24-26.

[3]周航慈.单片机应用程序设计技术[M].北京:北京航空航天大学出版社,2002.

[4]杨守义,杨宏丽,王静霞.单片机应用技术[M].西安:西安电子科技大学出版社,2002.

[5]楼然苗,李广飞.51系列单片机设计实例[M].北京:北京航空航天大学出版社,2003.

[6]李广第.单片机基础[M].北京:北京航空航天大学出版社,2002.

[7]谢兴红,林凡强,吴雄英.MSP430单片机基础与实践[M].北京:北京航空航天大学出版社,2008.

[8]孟凡文.NTC热敏电阻的非线性误差及其补偿[J].传感器世界,2003,5(3):12-16.

[9]吴键,袁慎芳.无线传感器网络节点的设计和实现[J].仪器仪表学报,2006,27(9):140-144.

[10]英庆,王代华,张志杰.基于nRF24L01的无线数据传输系统

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

上一篇:室外3.5 GHz电波传播特性研究 下一篇:强噪声背景下的弱信号检测仿真