×
嵌入式 > 技术百科 > 详情

基于MSP430 的温湿度监控系统分析

发布时间:2020-06-22 发布时间:
|

  0 引言

  随着社会经济的发展和科学技术的不断进步,许多情况下都需要对环境的温湿度进行限定。因此,为了随时可以检测环境温湿度以进行监测,减少由于温湿度对工程带来的经济损失,本文设计基于SHT11 对温湿度进行测量的系统,可以实现对环境温湿度的监测。

  1 系统硬件设计

  1.1 总体结构

  温度监测系统以msp430 为核心,采用温湿度传感器SHT11测量温湿度,系统由温湿度数据采集模块、主控模块、显示模块、按键模块组成,由温湿度数据采集模块采集数据送入单片机,处理之后根据按键操作完成相应的温度和湿度显示,并且具有超限报警的功能,图1 为系统结构图。

  

  1.2 硬件选型

  1.2.1 主控模块

  MSP430 单片机是由TI 公司推出的一系列超低功耗微处理器。它的显着特性是具有超低功耗,有5 个低功耗模式可供选择;数字控制的振荡器可以使硬件从低功耗状态快速转化到唤醒状态,可以在少于6μs 时间内达到激活工作方式;开发语言有汇编语言和C 语言等特点。以上特性使之成为电池供电便携设备的首选微处理器。

  1.2.2 温湿度监测模块

  本设计采用SHT11 传感器测量温湿度。温湿度测量芯片由一个电容式聚合体测湿元件和一个能隙式测温元件组成,并与14位的模数转换芯片以及串行接口电路无缝连接。因此,该芯片与其他同类芯片相比,具有抗干扰能力强、测量精度高、相应时间极短、性价比高等优势。

  SHT11 的内部硬件结构如图2 所示。

  

  SHT11 传感器测量温度和相对湿度的默认精度分别为14 位、12 位,如果设置状态寄存器,可将精度降至12 位、8 位。可以测量温度的范围为-40 ~ 123.8℃,如果设置的精度为14 位,则温度分辨率为0.01℃ ;可以测量的湿度范围为0% ~ 100%RH,如果设置的精度为12 位,则湿度分辨率为0.03%RH .SHT11传感器芯片在出厂前,进行了极为精确的湿度标定,校准系数在OTP 内存以程序形式进行储存。在测量过程中,程序能够对相对湿度自动校准,传感器的信号的校准与校准系数相关。SHT11 芯片利用温湿度传感器分别产生的相对温度、相对湿度模拟信号,经过放大器进行信号放大,然后经过模数转换芯片进行模数转换、信号校准和纠错,最后通过RS232 串行接口将相对温度及湿度传送到MSP430 单片机进行处理。[page]

    如图3、4 所示,SHT11 的传输过程为当SCK 是高电平时DATA线是低电平,接着SCK 给出一个低脉冲,当SCK 再次为高电平时DATA 再次升高。之后的命令序列由三个地址位(目前支持只000)和五个命令位组成。SHT11 通过第八个SCK 时钟的下降沿后的DATA 的下拉引脚来指示命令的正确接收。在SCK 时钟的第九个下降沿时,DATA 线被释放(升为高电平),如图4 所示。传输两个字节的测量数据和一个字节的CRC 校验和传输,μC 必须通过DATA 线的下拉引脚接收每一个字节。

  

  当外部与SHT11 传感器芯片的之间的通信突然中断,则依据下面的时序可以使串口复位:如图4 所示,置位DATA 线处于高电平,触发SCK 脉冲9 次以上,紧接着在SCk 线上传送一个“传输开始”命令序列。当执行温(湿)度测量命令序列后,温湿度测量控制器需要测量完成后才能接受新的命令。当使用12 位和14 位测量精度时,分别需要55 和210ms 的测量时间。当一次测量完成时,SHT11 芯片将置位数据线为低电平,此时温湿度测量控制器必须重新启动SCK 信号后,传输2 字节的随机测量数据和1 字节CRC校验和。温湿度测量控制器必须通过置位DATA 线为低电平,来确认接收的每一个字节,接收到数据是以MSB 序列传输的。温湿度测量控制器在确认CRC 数据正确后便停止工作,如果CRC-8 校验和不存在或没有被是以,则温湿度测量控制器在接收到LSB 位后保持SCK 线为高电平来停止数据的传输,SHT11 芯片会在测量温湿度和数据通信完成后,返回睡眠模式自动节能。

  1)显示和按键模块

  系统的显示模块采用8 位数码管显示,加上4*1 的按键模块控制。其中K1、K2 分别在数码管上显示当前温度和湿度,K3、K4 显示0,方便硬件调试。

  2)报警模块

  系统采用了声光报警。若系统检测到周围环境的温湿度超过或低于测量的要求范围,则单片机驱动P3.5 接口的LED 闪烁,同时蜂鸣器响起,提醒报警。

  2 系统软件设计

  整个程序主要包括了主程序、温湿度数据采集、数码管显示、按键处理、声光报警等模块的设计。

  图5 是监测仪主程序流程图,在程序设计时采用按键选择的结构,主要为温湿度显示选择。按键后,由单片机系统判断,若为K1,则显示当前温度;若为K2,则显示当前湿度;若为K3 或者K4,则显示“0”.最后判断温湿度有没有超限,若超限,则进入声光报警,LED 闪烁和蜂鸣器响起;若正常,则继续测量温湿度。

  

  本系统的温湿度测量模块中,SHT11 芯片的I2C 口与MSP430 单片机通用I/O 口连接进行数据命令的传输。温湿度测量程序放在定时器的中断服务程序里,系统自动判断事件后调用“写”命令子程序、“读”命令子程序、数值计算子程序和显示子程序,最后将实际温湿度值存储于2 个固定存储单元中,温、湿度各占一个单元。

  3 系统测试与分析

  为了检验SHT11 显示温湿度的正确性,利用可以显示温湿度的闹钟与本系统放在离加热到一定温度的热水旁,观察其读数变化并记录。表1 为闹钟与本系统监测的温湿度记录结果对比。

  

  温湿度闹钟的参数:

  温度测量范围:-20℃~ +60℃

  温湿度测量精度:±1.0℃(15℃~ 30℃)

  ±5%RH(40%RH ~ 80%RH)

  温度分辨率:0.1℃

  湿度测量范围:10%RH ~ 99%RH

  湿度分辨率:1%RH

  从得到的实验结果可以看出,系统测量出来的温度值与闹钟显示的数值很接近,而相对温度与闹钟的显示数值有大概1% 到2% 的误差,但在温湿度闹钟的测量精度的误差范围内。在用两种不同的仪器测量温湿度的时候,本系统实时显示当前温湿度,可以较快的得到实时数值,而温湿度闹钟需要5s 时间的取样刷新,所以相对于系统来说要得到当前温湿度时间较长,且测量数据也不如本系统精准。

  4 结论

  本设计在传统的温湿度监测和报警系统的基础上加以改进,设计出低功耗的温湿度监测系统。通过软硬件测试证明该系统能够安全可靠的运行测量误差小,具有良好的应用效果。

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
无人机新突破:或将利用手机发射塔追踪无人机