当前位置: 首页 > 范文大全 > 办公范文

温度监测系统范例(3篇)

时间:

温度监测系统范文篇1

关键词:嵌入式Linux;DS18B20;温度监测;Qt

中图分类号:TP274+.2文献标识码:A文章编号:1007-9599(2011)12-0000-01

ARM-BasedTemperatureMonitoringSystemDesignandImplementation

GuoZhiheng

(UniversityofElectronicScienceandTechnologyofChina,ZhongshanInstitute,ZhongshanUniversity,Zhongshan528402,China)

Abstract:Inthispaper,asystemdesignformonitoringtemperaturebasedonARMplatform.theDS18B20temperaturesensorsareusedtocollecttemperaturedata,themicrocontrollercontrolstemperatureacquisitionandsenddatatotheARMhostthroughtheRS-485busprotocol.TheS3C2410asthecorewithQtGUI,carryoutdisplayingoftemperatureandstoringdataforreal-time.

Keywords:EmbeddedLinux;DS18B20;Temperaturemonitoring;Qt

一、引言

在工农业生产环境以及公共场所、家庭环境中,温度数据作为主要监测因素显得越来越重要,温度的远程监控问题尤其应用领域越来越广泛。目前温度监控系统主要使用在需要对温度数据信息进行实时获取的环境场合,比如:药品生产车间、温室蔬菜水果大棚中、禽类孵化房、服务器机房等。

二、系统软硬件环境

监控系统主机采用SAMSUNG公司的微处理器S3C2410,该芯片基于ARM9架构,主频202MHz,配置8寸640*480TFT真彩LCD、触摸屏,串口通讯电路。温度采集子系统采用ATmega16单片机,温度传感器DSl8B20电路,以及单总线串口电路。

嵌入式Linux(EmbeddedLinux)是指对标准Linux经过小型化裁剪处理后,适合于特定嵌入式应用场合的专门Linux操作系统。嵌入式Linux具有低成本、高性能、网络和广泛的硬件支持等优点,在嵌入式系统开发中有广泛的应用。本系统采用Linux-2.4内核,支持yaffs2根文件系统和带有完善的设备驱动。

三、系统设计与实现

传统的模拟远距离温度测量存在,如引线误差、多点切换误差、零点漂移等问题,为了克服这些问题系统采用美国DALLAS公司生产的可以组网的数字温度传感器DS18B20。温度传感器DS18B20可以实时采集温度并且通过单线串口发送到ARM主机上,对数据进行实时显示及存储[2]。

(一)温度采集子系统设计

ATmega16是高性能、低功耗的8位AVR单片机,具备有32个可编程的I/O口。用于控制数字温度传感器DS18B20进行多点温度采集和温度数据上传ARM主机通讯。

DS18B20内部结构ROM中的64位序列号是出厂前被光刻好的,可以看作是该DS18B20的地址序列码,每一个DS18B20都不相同,可以实现一根总线上挂接多个DS18B20。CPU对DS18B20器件操作常用指令表如表1所示。

表1.命令表

指令代码功能

读命令33H读DS18B20ROM中的编码(即64位地址)

定位命令55H发出此命令和64位ROM编码,单总线上与该编码相对应的DS18B20做出响应,为对其读写做准备。

查询命令F0H查询总线上DS18B20的数目及其64位序列号

跳过命令CCH该命令允许主机跳过ROM序列号检测而直接对寄存器操作,适用于单片工作。

读出命令BEH该命令可读出寄存器中的内容,复位命令终止读出。

转换命令44H该命令使DS18B20立即开始温度转换

采集温度的实现的程序流程:如图1所示。

图1.DS18B20流程图

(二)ARM主机端设计

1.用户界面。嵌入式主流用户界面接口(GUI)Qt支持Linux等多种操作系统,良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便。同时Qt还支持2D/3D图形,支持OpenGL。

2.读取、显示、保存数据实现。完成温度数据读取、显示、保存的程序使用多线程设计,主线程用于显示温度和界面交互响应,创建了一个线程用于实时监听串口的数据读入,把读入的数据传送给主线程显示,如果有用户要求保存温度数据的命令,还要把温度数据写入文件系统中。

四、系统测试

在系统开发中,测试是一个非常重要的环节。测试主要针对本系统的两个子系统进行测统完整测试。

ARM主机的测试内容主要有温度数据同步、温度数据显示、温度数据保存结果。从显示窗口观测到的数据与单片机LCD显示的数据完全一致,没有出现丢包,发错包的现象。通过文件系统保存的数据内容查看到的温度数据也与显示数据完全一致。

参考文献:

温度监测系统范文

【关键词】Proteus;温湿度;SHT7X;单片机;测量

SimulationRealizationofTemperatureandHumidityMeasurementSystemBasedonProteus

ChengWei,GuGuoliang,LiuYuhai,ChenJiang

(YanchengCityelectronicequipmentfactory,YanchengJiangsu,224051)

Abstract:ThispaperintroducestheprincipleandcommunicationprotocloftemperatureandhumiditysensorSHT7x,anddescribestheusageofit.Theprogramflowispiven.OnthesimulationplatformofProteus,thesystem’scoreisthemicroprocessorandSHT7x.InordertousiefewerI/Oports,aseriallyinterfaced,8-DigitLEDdisplaydriversMAX7219wasselectedtodrive8LEDs.Thetemperatureandhumiditymeasurementsystemwasrealizedandthesimulationresultwasdisplayedbasedproteussoftware.Thisrealizationofsimulationisworthyofthedesignofindustrialcomputercontrolsystems.

Keywords:Proteus;Temperatureandhumidity;SHT7x;MCU;Measurement

1.引言

温湿度物理量的测量在工农业生产和日常生活的很多领域应用非常广泛。过去的温度与湿度测量,采用比较多的是DS18B20、热敏电阻和湿敏电阻等传感器,通过ADC转换输送给控制器,很难适合一些精度要求比较高及电路要求简单的领域。另外,传统的温湿度测量仪开发大部分是先按照系统的要求设计出原理图,画出PCB电路板,制作电路板和焊接元器件,然后进行软件编程,通过多次的硬件和软件调试,最后把调试好的程序固化到程序存储器。这一系列的过程中,如果调试发现问题,需要修改硬件,并重新制板。调试过程中的误操作会导致重要元器件损坏,需要重新购买,在时间和成本上都带来了很多问题[1-3]。

英国LabcenterElectronics公司推出的ProteusISIS,可仿真很多复杂电路,也可以用于单片机应用系统的开发,为电子产品的开发大大节约了硬件成本和调试周期[4-5]。本文用Proteus软件作为设计仿真平台,以SHT7x和单片机芯片为核心设计温湿度测量系统,选择MAXIM公司的多功能串行LED显示驱动器MAX7219,温湿度显示在8位LED显示器上。本系统节约了I/O口线,没有使用单片机的P0口,可以在此基础上开发和环境温湿度相关的控制系统。实际电路验证了仿真的硬件和软件的正确性,本文的方法可使计算机控制系统设计效率得到很大的提高。

2.SHT7x简介

SHT7x(包括SHT71、和SHT75)是属于瑞士Sensirion公司温湿度传感器家族中的插针型封装系列。该传感器将传感元件和信号处理电路集成在一块微型电路板上,输出完全标定的数字信号。传感器采用专利的CMOSens?技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电容性聚合体测湿敏感元件、一个用能隙材料制成的测温元件,并在同一芯片上与14位的ADC转换器以及串行接口电路实现无缝连接。该产品具有品质卓越、响应迅速、抗干扰能力强、性价比高等优点。它的每个传感器芯片都在极为精确的湿度腔室中进行标定,校准系数以程序形式储存在内存中,用于内部的信号校准。两线制的串行接口与内部的电压调整,使系统集成变得快速而简单。微小的体积、极低的功耗,使SHT7x成为各类系统应用的首选[6]。其引脚如图1所示。

2.1电源引脚(VDD,GND)

SHT7x的供电电压范围为2.4-5.5V,建议供电电压为3.3V。电源引脚(VDD,GND)之间有一个100nF的滤波电容,已经封装在SHT7x的背面。

2.2串行时钟输入(SCK)

SCK用于微处理器与SHT7x之间的通讯同步。由于接口包含了完全静态逻辑,因而不存在最小SCK频率。

2.3串行数据(DATA)

DATA引脚为三态结构,用于读取传感器数据。当向传感器发送命令时,DATA在SCK上升沿有效且在SCK高电平时必须保持稳定。DATA在SCK下降沿之后改变。为避免信号冲突,微处理器应驱动DATA在低电平。需要一个外部的上拉电阻(如10kΩ)将信号提拉至高电平。

3.系统硬件设计

如图2所示,系统以SHT7x和单片机为核心进行设计,温湿度显示在8位LED液晶显示器上。单片机采用通用的AT89S52,选择MAXIM公司的多功能串行LED显示驱动器MAX7219。MAX7219仅使用3线串行接口传送数据,可直接与单片机接口,使用者可以方便地修改其内部参数以实现多位LED显示,它可同时驱动8位共阴极LED,通信方式为串行数据方式,节约了I/O口线。8位LED显示器的前4位用于显示温度,后3位显示湿度值。按键s1用于设定报警模式,s2用于增加报警值,s3减小报警值,D2为报警灯,D3为加湿指示灯,D4为加热指示灯。

4.微处理器与传感器通讯

4.1启动传感器

选择供电电压后将传感器通电,上电速率不能低于1V/ms。通电后传感器需要11ms进入休眠状态,在此之前不允许对传感器发送任何命令。

4.2发送命令

用一组“启动传输”时序来完成数据传输的初始化。它包括:当SCK时钟高电平时,DATA翻转为低电平,紧接着SCK变为低电平,随后是在SCK时钟高电平时DATA翻转为高电平。(见图3)

后续命令包含三个地址位,目前只支持000和五个命令位,参见表1。SHT7x会以下述方式表示已正确地接收到指令:在第8个SCK时钟的下降沿之后,将DATA下拉为低电平。在第9个SCK时钟的下降沿之后,释放DATA。

4.3温湿度测量

一组测量命令(“00000101”表示相对湿度RH,“00000011”表示温度T)后,控制器要等待测量结束。这个过程需要大约20/80/320ms,分别对应8/12/14bit测量。确切的时间随内部晶振速度,最多可能有-30%的变化。SHT7x通过下拉DATA至低电平并进入空闲模式,表示测量的结束。控制器在再次触发SCK时钟前,必须等待这个“数据备妥”信号来读出数据。检测数据可以先被存储,这样控制器可以继续执行其它任务在需要时再读出数据。

接着传输2个字节的测量数据和1个字节的CRC奇偶校验(可选择读取)。uC需要通过下拉DATA为低电平,以确认每个字节。所有的数据从MSB开始,右值有效。例如对于12bit数据,从第5个SCK时钟起算作MSB;而对于8bit数据,首字节则无意义。

在收到CRC的确认位之后,表明通讯结束。如果不使用CRC-8校验,控制器可以在测量值LSB后,通过保在测量和通讯结束后,SHT7x自动转入休眠模式。

4.4通讯复位时序

如果与传感器通讯中断,可通过下列信号时序复位:当DATA保持高电平时,触发SCK时钟9次或更多,参阅图4。接着发送一个“传输启动”时序。这些时序只复位串口,状态寄存器内容仍然保留。

5.标度变换

5.1湿度线性补偿和温度补偿

SHT7x可通过DATA数据总线直接输出数字量湿度值。该湿度值称为“相对湿度”,需要进行线性补偿和温度补偿后才能得到较为准确的湿度值。由于相对湿度数字输出特性呈一定的非线性,因此为了补偿湿度传感器的非线性,可按下式修正湿度值:

式中:为经过线性补偿后的湿度值,为相对湿度测量值,、、为线性补偿系数,取值如表2所示。

由于温度对湿度的影响十分明显,而实际温度和测试参考温度25℃有所不同,所以对线性补偿后的湿度值进行温度补偿很有必要。补偿公式如下:

式中:为经过线性补偿和温度补偿后的湿度值,为测试湿度值时的温度(℃),和为温度补偿系数,取值如下表所示。

5.2温度值输出

由于SHT7x是采用PTAT能隙材料制成的温度敏感元件,因而具有很好的线性输出。实际温度值可由下式算得:

式中:d1和d2为特定系数,d1的取值与SHT11工作电压有关,d2的取值则与SHT11内部A/D转换器采用的分辨率有关,其对应关系分别如表4和表5所列。

本温湿度监测系统的显示结果如图5所示。前4位显示温度值,后3位显示湿度值。

6.系统流程图

系统设定每次测得的数据要和设定值进行比较,如果在允许的范围内,则程序进行下一步操作,如果不满足要求,则应报警并将此刻的数据值显示出来,其程序流程图如图。

7.结语

本文讨论的温湿度监测系统采用了SHT7x,它集温度传感器和湿度传感器于一体,采用SHT7x进行温湿度实时监测的系统具有精度高、成本低、体积小、接口简单等优点。本设计选择MAXIM公司的多功能串行LED显示驱动器MAX7219。MAX7219仅使用3线串行接口传送数据,可直接与单片机接口,使用者可以方便地修改其内部参数以实现多位LED显示,它可同时驱动8位共阴极LED,通信方式为串行数据方式,节约了I/O口线。采用的Proteus仿真平台不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及器件。它是目前最好的仿真单片机及器件的工具。目前国内Proteus的推广范围不断扩大,已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐,真正实现了从概念到产品的完整设计,是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。以此为基础我们可以开发和环境温湿度相关的计算机控制系统,提高设计效率。

参考文献

[1]薛玲,孙曼,张志会.基于单片机AT89S51的温湿度控制仪[J].化工自动化及仪表,2010,37(7):66-69.

[2]李俊,张晓东.基于单片机的温湿度检测与控制系统研究[J].微计算机信息,2008,24(6):116-118.

[3]姜连祥,许培培.温湿度传感器SHT11的感测系统设计[J].单片机及嵌入式系统应用,2007(4):49-51.

[4]袁易君,刘建平,王啸.基于Proteus的高精度存储式温室温湿度测量仪[J].农机化研究,2008(10):68-70.

[5]冯梅琳,王芸,温家旺.基于Proteus的温湿度数据采集系统设计与仿真[J].仪表技术,2010(2):12-15.

温度监测系统范文

【关键词】温湿度;检测;采集

0引言

随着科技的飞速发展和普及,高性能设备越来越多,各行各业对温湿度的要求也越来越高。传统的温湿度监测模式是以人为基础,依靠人工轮流值班,人工巡回查看等方式来测量和记录环境状况信息。在这种模式下,不仅效率低下不利于人才资源的充分利用,而且缺乏科学性,许多重大事故都是由人为因素造成的,人工维护缺乏完整的管理系统。而温度湿度监控系统就可以解决这样的人才资源浪费、管理漏洞等问题。本文基于单片机[1]和VisualC++[2]相结合的方式设计了温湿度监测系统,其中温湿度数据的获取通过下位机完成,温湿度数据的处理通过上位机完成。

1下位机系统

下位机系统以C8051F020单片机为主控模块,DHT11传感器为温湿度数据采集模块,LCD1602液晶显示屏为采集到的温湿度数据实时显示模块,RS232为下位机与上位机之间的通信方式[3],主要功能是将下位机采集到的温湿度数据传送给上位机。下位机系统工作流程如图1所示。

依据下位机的主要功能设计实现的下位机系统实物图如图2所示。

2上位机系统

上位机系统主要基于VisualC++6.0平台开发,主要功能为采用串行通信方式接收下位机传送的温湿度数据,并将数据实时显示、存储、统计分析等。上位机系统功能框图如图3所示。

图3所示上位机系统中对温湿度数据的接收主要通过MSComm控件实现,对数据的存储、查询功能主要通过ADO方式对Access数据库的访问来实现。

3系统联调

本文通过以单片机为主的下位机和以VC为主的上位机的联合设计实现了对温湿度的实时测试、显示、存储等功能。下位机系统测得的温湿度数据如图4所示。图中,H代表湿度值,T代表温度值。

通过上位机将温湿度数据存储在Access数据库中,通过读取历史数据并结合当前数据就可以绘制出温湿度数据的实时检测曲线,如图5所示。

图5中采用双坐标同时绘制了温度、湿度的数据曲线图。结合图4、图5可以看出本文设计的系统实现了对温湿度数据的实时监测功能。

4结论

本文通过C8051F020单片机、DHT11温湿度传感器、LCD1602液晶屏、VisualC++6.0、Access数据库相结合的方式,设计了温湿度监测系统,实现了对温湿度的实时采集、显示、存储、统计等功能。通过系统测试表明该系统具有精度高、实时性好、稳定性好、性价比高等优点。

【参考文献】

[1]宋彩利,孙友仓,等.单片机原理与C51编程[M].西安:西安交通大学出版社,2008.