基于单片机的多路无线温度检测系统
扫描二维码
随时随地手机看文章
温度在人类日常生活中扮演着极其重要的角色,同时在工农业生产过程中,温度检测具有十分重要的意义。现阶段温度检测主要是有线定点温度检测,其温度检测原理为单片机利用温度传感器检测温度,并在数码管或LCD 上进行温度显示。同时由于系统没有报警功能,故需要人为来判断是否需要进行升温或者降温,这使系统的检测丧失了实时性。另外,在某些环境恶劣的工业环境,以人工方式直接操作设置仪表测量温度也不现实,因此采用无线方式进行温度检测尤为必要。
目前有些设计能够实现无线温度采集,但功耗过高是其最大的缺点。在实际温度控制过程中既要求系统具有稳定性、实时性,又需要使系统功耗低及保证温度的均匀性,因此设计一种低功耗的多点无线温度检测系统很有意义。本文提出一种采用低功耗单片机MSP430F149 单片机实现的多点无线温度测量系统,解决了上述问题。该系统能实现对温度智能化的检测,能够同时进行多点温度检测,是可以实现远程控制的无线温度检测系统。低功耗、实时性的无线温度检测是该设计的最大特点。
1 系统构成
系统分为下位机、上位机和PC 机三部分。PC 机是整个系统的最上层,负责对下位机的控制和管理,并对收集到的各个节点的数据进行存储和处理。由于下位机无法直接与PC 机通信,这就需要使用上位机作为中间媒介。上位机与下位机通过无线模块通信,与PC机采用有线连接。
该设计采用MSP430F149 单片机作为核心控制模块,其最主要特点为低功耗。MSP430F149 具有双串口的特点,利用其中的一个串行口与PC 机进行通讯时,两者之间必须通过RS 232 电平转换芯片。单片机与无线发射模块nRF24L01 通讯时可通过通用I/ O口模拟串口通讯。现场温度数据的采集是利用NT C100 热敏电阻和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 温度采集电路
为了使整个系统的功耗更低,采用低功耗的热敏电阻NT C100 和MSP430149 内部自带的12 位A/ D 转换器实现温度的采集功能。其理论分析与计算电阻值和温度变化之间的关系。
式中: RT 为温度T( 单位: K) 时的NTC 热敏电阻阻值;RN为额定温度T N ( 单位: K) 时的NTC 热敏电阻阻值;T 为规定温度( 单位: K) ;B 为NTC 热敏电阻的材料常数,又叫热敏指数。
常温环境中,温度为28℃,换算成开氏温度为273. 15+ 28= 301. 15 K。通过多次测28℃及30℃环境下的数据,如表1 所示,取平均值,尽量减小误差,算得B 值。
表1 测量NTC100 热敏电阻B 值
通过式( 1) 可得,将T ,T N 都转化成开尔文温度进行计算得B = 4 064. 34。经过比较发现,求得的阻值与测得的阻值很相近。
图4 为温度采集模块,其中R 1 为热敏电阻,R3 为200 kΩ电阻,R2 为0~ 20 kΩ 的可调电阻,用来调整温度计的准确性。U0 为检测到的电压,将U0 接到单片机管脚,通过A/ D 转换,将得到的电压值转换成温度值,在LCD 上显示出来。
图4 温度采集模块
2. 3 显示模块
本次设计采用自制的16 位段码液晶进行显示。利用液晶驱动IC( HT 1621) 以及配套的液晶LCD 玻璃片,自制16 位段码液晶。另外,驱动IC 上装有两种频率的蜂鸣驱动电路,可以实现报警功能。
2. 4 串口通信模块
在温度采集过程中,由于系统随时需要将采集到的温度数值通过PC 机上的VC 界面进行显示,因此需要在PC 机和单片机之间进行相互通信。由于PC 机的RS 232电平与单片机的TTL 电平不同,因此用MAX3232 芯片实现电平的相互转换,这样就可以实现单片机与PC 机之间的相互通信。
3 软件设计
系统的软件设计采用模块化设计方法。下位机利用定时中断发送温度数据,利用端口中断设置温度报警的上下限,其他时间处于低功耗模式3 的状态下,这样可以大大降低功耗。上位机利用接收中断接收数据,并且利用MAX3232 与PC 机通信。
NTC 热敏电阻的主要缺点是热电特性的非线性现象严重,本次设计采用查表法对NT C 热敏电阻进行线性化。线性插值法软件流程如图5 所示。
图5 线性插值法热敏电阻非线性自校正程序流程图
图5 中,0,R1 ,R2 ,,R K 是曲线上横坐标取值;0,T1 ,T2 ,,T K 是其对应的纵坐标。K 的取值可根据所需温度精度确定。
4 测试结果及分析
4. 1 温度采集及显示
将程序写入单片机中,连好硬件线路,通过键盘设置好温度上下限后,单片机开始采集温度数值。如图6所示,是下位机显示界面,LCD 显示报警温度的上下限、当前温度以及下位机的代号。
图6 下位机显示界面
经过多次测试,将LCD 显示的温度与普通温度计进行比较,得到表2 中的数据。
表2 LCD 显示的温度值与普通温度计的温度值的对比表
经过测试,温度误差在允许范围内,系统能够稳定的运行。当采集到的温度数值超过设定的上下限时,单片机就会发出报警信号,提醒用户进行温度控制。
4. 2 功耗测试
当下位机进入LPM3( 睡眠) 模式,LCD 不显示,但内部时钟仍运行,串入电流表,测量电流值,测得电流为4 uA 左右。证明系统很好地实现了超低功耗。
4. 3 无线模块测试
将无线模块连接好,先进行一对一的收发调试。
让下位机1 控制无线收发模块发送一连串有规律的数,观察上位机接收的数字。经过测试,3 路下位机系统都可以与上位机进行稳定的一对一收发。然后3 个下位机都与上位机通信,进行一对三的收发调试,上位机接收3 路数据,并且显示。
经过测试,3 路都能正常的工作,且误码率低,工作稳定。无线模块nRF24L01 的最大传输距离大约为100 m。
4. 4 VC 界面显示
首先进行上位机的硬件连接,连接完成后进行上电初始化并打开PC 机的VC 界面。当VC 界面正常打开时,会出现“串口已打开”的提示;当VC 界面无法正常打开时,会出现“ 串口无法打开”的提示,出现此情况时首先检测硬件连接,再检查选定串口通道是否正确。
PC 机最终显示如图7 所示。
图7 PC 机显示图
5 结 语
本文描述了基于MSP430 单片机的无线温度控制系统的软、硬件设计。通过调试证明系统运行正常,各项指标均能达到设计要求。整个系统集成度高,功耗低,温度采集和无线传输速度快,误码低,且具有体积小,重量轻,可靠性高,易于控制和使用灵活等优点,因而性价比极高。
本次设计的温度精度为0. 5 ℃,可以根据实际需求进一步提高精度;基站为了实现断电存储,可以将数据存储于单片机的FLASH 中,上电时单片机从FLASH中取出所需的数值进行显示。