基于MSP430F1232的温湿度检测系统

楼主
基于MSP430F1232的温湿度检测系统
摘自:热量表信息网  作者:高翔 陈志辉

引言
    随着社会经济的发展和科学技术的不断进步,许多情况下都需要对环境的温湿度进行限定,因此,必须在某些特定环境安装温湿度报警器以进行监控。为此,本文利用集成温湿度传感器HM1500的测温快速、使用简便等特点,同时结合MSP430单片机强大的功能,设计了一个监控系统来对温湿度进行实时监控以进行超限报警。本系统测量准确、调试方便、可实时记录报警信息、方便工作人员排故,并可广泛应用于条件恶劣、人员不便进入的场合。

1 系统结构和总体设计方案
本系统的总体设计方案如图1所示。本方案采用分别设计温度和湿度采样电路的方法,将集成温度传感器AD590采集得到的电流信号和湿度传感器HM1500采集到的电压信号转换为给定范围内的电压信号。然后由单片机MSP430F1232的AD采样端口将该电压信号读入,如果温度小于门限值或者湿度大于门限值就给出报警信号。门限值可以通过按键进行设定。同时,系统还可以通过中断方式按给定协议将采集到的温湿度值送给上位机。
          [imga]../../upload/2007/10/20/000236.gif[/imga]
2 器件选择  

2.1 MSP430F1232单片机  
MSP430系列单片机是TI公司推出的功能强大的超低功耗16位混合信号处理器。该系列单片机以其极低的功耗、强大的处理能力、丰富的片上外围模块、方便高效的开发方式等特点,被广泛应用于便携式仪表、智能传感器、实用检测仪器、电机控制等领域。为了最大限度地利用单片机端口和片内外设并降低设计成本,本设计选用MSP430F1232,该单片机有3个并行端口,一个RS485串行通讯口,同时内置10位AD采样器,可完全满足温湿度采样的精度要求。  

2.2 AD590温度传感器  
AD590是美国AD公司生产的二端式集成温度一电流传感器,该器件体积小、重量轻、性能稳定。测温范围为-50~+150℃;线性电流输出为1μA/K;线性度好,测量精度为±0.3℃;电源电压范围为4~30 V。当电源电压在5~10 V之间,电压稳定度为1%时,其误差只有±0.1℃。  

2.3 HM1500湿度传感器  
线性电压输出式集成湿度传感器HM1500采用获得专利的湿敏电容HS1101设计制造,其湿度测量范围为5%~99%(相对湿度);相对湿度精度为3%;工作温度为-30~+60℃;工作湿度范围为0~100%(相对湿度);供电电压为5V(最大电压DC16V);可输出DC电压为1~4 V;响应时间为5s,适用于工业级场合。  

3 信号调理电路设计  

3.1 温度测量电路设计  
考虑到AD590温度传感器的输出电流源特性,设计的温度信号测量电路如图2所示。该电路的温度测量范围为-10~+500℃。AD590采用15V电压供电;电阻R1用于调整零点;电阻R3为精密电阻,用来调整增益。运放的同向端输入2.50V精密参考电压,该电压由TL431提供。IN端输入AD590的电流,OUT端输出为相应转换所得到的电压。根据AD590的特性,在-10℃时,流过电流为262.2μA,设计使这部分电流全部流过R1、R2,而其后增加的电流均流过R3,OUT端的输出电压为:
              [imga]../../upload/2007/10/20/000453.gif[/imga]
当温度在-10~+50℃之间变化时,该电压就在2.5~0V之间反向线性变化,调节R1的阻值大小可以消除不同传感器的零点误差。
      [imga]../../upload/2007/10/20/000335.gif[/imga]

3.2 湿度测量电路设计  
集成湿度传感器HM1500的输出电压在1~4 V间随湿度线性变化,考虑到本系统的单电源特点,设计的湿度信号采集电路如图3所示,该电路的测湿范围为0~100%。
      [imga]../../upload/2007/10/20/000357.gif[/imga]
     由于该电路中没有负压,电路的主体采用差分式减法电路,精密电阻R3=R6=2.4kΩ,R4=R7=2kΩ,用这四个电阻可调节增益。通过HM1500传感器测量所得到的湿度电压信号从IN端输入。差分的另一侧输入Vs。由TL431提供2.5 V的精密电压分压后可得到1.0 V左右的电压。并由此可以得到输出电压的计算公式为:  
       [imga]../../upload/2007/10/20/000431.gif[/imga]
若输入电压在1~4 V之间变化,则输出电压就相应在0~2.5 V之间变化。调节R1可以消除不同的湿度传感器的零点误差。  

4 显示存储和串行通讯电路设计  

本系统采用3个独立按键和四位七段数码管动态扫描显示的方式,数据存储采用。EEPROM芯片AT24C02来存储设定的温湿度传感器地址、温湿度报警门限值,以及报警记录。采集到的各种数据和存储的报警信息可以按照指定的协议传送给上位主控制器进行处理。  

图4所示是该系统中的按键显示、数据存储和串行通讯电路。图中,当单片机从ADIN1和ADIN2口采集到温湿度数据以后,首先把湿度值送到数码管显示,同时点亮湿度指示灯,表示现在显示的是湿度。通过按2号键和3号键可以切换温湿度显示,其中2号键显示湿度,3号键显示温度,显示温度时同样会点亮相应的指示灯。如果检测到温湿度超过门限,则点亮报警灯,以表示数据超限。按1号键可以进行相应温湿度门限和传感器地址的设定。数据设定完成以后,可通过两个IO口编程模拟I2C总线协议以把数据存入指定位置,从而使断电后再开机时,数据能正常读出。由于单片机IO口有限,该系统又采用两片SN74HC373芯片扩展了8个IO口以满足设计要求。为了保证电平兼容,这部分电路均采用3.3V电压供电。数据采集转换完成以后,系统可直接通过单片机的UASRT(异步串行通讯口)接到MAX3485通讯芯片,以便按照指定的协议把数据传送给上位机。
  [imga]../../upload/2007/10/20/000529.gif[/imga]
5 软件设计  
本系统的软件设计采用C语言编写,主要通过MSP430F1232单片机的10位AD采样模块读人端口温湿度电压信号,并按照相应转换公式转化成实际温湿度数值并存储。然后根据需要将其送到数码管显示或者通过RS485串口送给上位机。另外,该软件还可进行模拟I2C总线的数据存储。  
图5为该系统的主循环流程。系统上电以后,首先读取存在EEPROM中的地址和温湿度门限值,然后进入循环状态进行温湿度信号采样,接着对采集得到的数据进行处理并存储,同时在循环中对按键标志位进行判断。如果被置位,则执行相应的按键处理。
           [imga]../../upload/2007/10/20/000555.gif[/imga]
图6为该系统的定时器中断流程。当系统进入中断以后,首先通过判断相应的IO口输入电平是否跳低来判断是否有键按下,如果有键按下,则进一步判断是哪一个键,接着存储该键位并将按键标志位置位。之后再调用显示刷新程序,将最新采集到的数据送到数码管显示。最后判断采集到的数据是否超出门限,并相应点亮指示灯或者报警灯。执行完以上操作后中断返回。
         [imga]../../upload/2007/10/20/000617.gif[/imga]

6 结束语  
本系统最大的特点是测量准确、结构简单、调试使用方便、性价比高、可以单独使用,也可以和上位机连接。为了确保整个系统运行的稳定性,本系统还用硬件设计上采用了单片机上电复位电路,而在软件设计中则加入了看门狗和软件陷阱。实验证明,该装置运行可靠,测量误差小,具有很好的应用效果,因此,可以广泛应用于工业环境中对温度或者湿度有超限报警要求的场合。
1楼
我以前在学校的时候,做过这个项目,不过没做出来,哎.那时候太懒了.

电脑版 Page created in 0.1729 seconds width 6 queries.