湿度测量仪设计综述.docx
《湿度测量仪设计综述.docx》由会员分享,可在线阅读,更多相关《湿度测量仪设计综述.docx(27页珍藏版)》请在冰豆网上搜索。
湿度测量仪设计综述
郑州轻工业学院
课程设计说明书
题目:
智能仪器仪表设计与实践
姓名:
徐萍
院(系):
电气信息工程学院
专业班级:
自动化01班
学号:
541101010144
指导教师:
李银华齐汝宾
成绩:
时间:
2015年01月05日至2015年01月23日
郑州轻工业学院
课程设计任务书
题目湿度测量仪设计
专业、班级:
自动化11-01学号:
541101010144姓名徐萍
主要内容、基本要求、主要参考资料等:
主要内容
●实现单片机和湿度传感器完成湿度测量功能。
●相对湿度(探头)范围:
5~95%。
●具有数字显示功能
●参数设置功能和数据通信功能
基本要求
●明确课程设计任务,复习和查阅相关资料。
●按照要求对设计进行说明,给出总体设计方案,设计原理。
●软件编程必须有流程图,程序必须加注释,各程序段的开始要注明该段功能和作用。
●写出体会和总结
要求使用B5打印稿或16开纸手写,不少于5000字。
格式遵照学校规定。
主要参考资料
●孙环,滕召胜.基于SHT10单片集成传感器温湿度检测模块设计[J].国外电子测量技术,2006,25(6).
●樊建明,陈渊睿.基于SHT10的温室多点测量系统设计[J].国外电子测量技术,2006,25(11).
●陈钊,郭永彩,高潮,等.微环境温湿度智能化测量仪研究[J].仪器仪表学报,2004,25(5).
完成期限:
2015年1月23日
指导教师签名:
课程负责人签名:
2015年1月5日
摘要
温湿度测量仪是对环境温湿度进行现场检测的常用仪表,讨论了一种基于SHT10的数字温湿度测量仪的设计方法。
该温湿度测量仪的控制系统采用AT89S51单片机,温湿度传感器采用SHT11为主要硬件,实现简易数字式温湿度测量仪的硬件电路与软件程序的设计。
实践证明该温湿度测量仪具有测量精度高等特点,具有一定的实用价值。
采用单片机和温湿度传感器构成的数字温湿度测量仪显得非常重要,数字温湿度测量仪已被广泛应用于电子测量、仪表自动化、温室大棚、自动控制等多个智能化领域中。
在过去某些场合经常采用热敏电阻和湿度电容来分别测量环境的温湿度,这种测量系统普遍精度不高,而且在多点测量时系统设计较为复杂。
而采用SHT10这种集温湿度传感器于一体的数字集成式传感器,则会使得系统大大降低成本,简化设计。
关键词:
SHT10;AT89S51;湿度传感器
1绪论
在日常生活或者工农业生产中,经常会需要检测环境的温湿度,因此采用单片机和温湿度传感器构成的数字温湿度测量仪显得非常重要,数字温湿度测量仪已被广泛应用于电子测量、仪表自动化、温室大棚、自动控制等多个智能化领域中。
在过去某些场合经常采用热敏电阻和湿度电容来分别测量环境的温湿度,这种测量系统普遍精度不高,而且在多点测量时系统设计较为复杂。
而采用SHT10这种集温湿度传感器于一体的数字集成式传感器,则会使得系统大大降低成本,简化设计。
1.1数字式湿度测量仪设计的意义
随着工业自动化的愈趋完善,各种各样的传感器被用在了各式各样的场合。
而湿度这个重要的参数成为了实现过程控制自动化必不可少的过程。
换言之,问题具体化为了选择怎样的传感器及如何去检测湿度的变化,并根据检测结果调整系统以使之保持在最佳工作状态。
此外,单片机技术的不断发展完善使单片机已经成为科技领域的重要工具,广泛应用于各种仪表中,由于单片机具有体积小、耗能小、功能强的特点,引入单片机可使仪表数字化、智能化、微型化,提高测试的自动化程度和精度。
将单片机和SHT10结合的数字式湿度测量仪,大大提高了观测精度,数值显示清晰度,将会取得很好的应用效果。
总之,环境湿度的检测与调节仪器的设计和开发具有非常大的市场前景和实用价值。
1.2国内外研究现状
湿度由于受到温度、大气压强的影响,其标准是个难题。
从早期的毛发湿度计到后来发展起来的电阻式、电容式温度计,由于他们存在着热敏元件的长期稳定性差,需要常常进行表面的清洗及校准,造成使用不方便,而且精度较差的缺陷,因此,最常采用的方法依然是干湿球间接测湿法,但是干湿球温度与湿度的关系比较复杂,模拟仪表难以实现这种转换,通常是借助人工计算或查表求出相对湿度,随着单片机的发展,使一些繁重而复杂的人工计算自动完成。
后来发展到利用湿空气光学特性的红外、紫外吸收湿度计乃至光纤湿度计,但是到目前为止,全世界还没有一种完全理想的测湿材料,原因在于湿敏元件的线性化一直是困扰人们的一个难题,测量仪表数字化后,要求相对湿度与显示值线性化的对应关系才能保证湿度的测量精确度。
目前,国外生产集成湿度传感器的主要厂家及典型产品分别为Honeywell公司(HIH-3602、HIH-3605、HIH-3610型),Humirel公司(HM1500、HM1520、HF3223、HTF3223型),Sensiron公司(SHT11、SHT15型)。
这些产品可分成以下三种类型:
(1)线性电压输出式集成湿度传感器;典型产品有HIH3605/3610、HM1500/1520。
其主要特点是采用恒压供电,内置放大电路,能输出与相对湿度呈比例关系的伏特级电压信号,响应速度快,重复性好,抗污染能力强。
(2)线性频率输出集成湿度传感器;典型产品为HF3223型。
它采用模块式结构,属于频率输出式集成湿度传感器,在55%RH时的输出频率为8750Hz(型值),当上对湿度从10%变化到95%时,输出频率就从9560Hz减小到8030Hz。
这种传感器具有线性度好、抗干扰能力强、便于配数字电路或单片机、价格低等优点。
(3)频率/温度输出式集成湿度传感器;典型产品为HTF3223型。
它除具有HF3223的功能以外,还增加了温度信号输出端,利用负温度系数(NTC)热敏电阻作为温度传感器。
当环境温度变化时,其电阻值也相应改变并且从NTC端引出,配上二次仪表即可测量出温度值。
2002年Sensiron公司在世界上率先研制成功SHT11、 SHT15型智能化温度/温度传感器,其外形尺寸仅为7.6(mm)×5(mm)×2.5(mm),体积与火柴头相近。
出厂前,每只传感器都在温度室中做过精密标准,标准系数被编成相应的程序存入校准存储器中,在测量过程中可对相对湿度进行自动校准。
它们不仅能准确测量相对温度,还能测量温度和露点。
测量相对温度的范围是0~100%,分辨力达0.03%RH,最高精度为±2%RH。
测量温度的范围是-40℃~123.8℃,分辨力为0.01℃。
1.3设计主要任务
1.设计的主要内容:
(1)实现单片机和湿度传感器完成湿度测量功能。
(2)相对湿度(探头)范围:
5~95%。
(3)具有数字显示功能。
(4)参数设置功能和数据通信功能。
2.系统硬件电路设计,给出总体设计框图,而且详细描述各组成电路的设计原理及方法。
3.系统软件设计与实现,介绍数据采集程序、参数存储及校正程序、数码管显示程序、键盘程序等设计,给出了系统主程序框图及数据显示程序框图。
2总体设计方案
2.1系统综述
根据本设计内容要求的性能指标,方案设计时不仅要考虑怎么样实现测量一定精度的温湿度信号值的基本功能,还要考虑温湿度超限时系统的报警功能。
根据设计要实现的功能,还要考虑系统控制芯片扩展口分配方案。
选择AT89S51单片机就能够满足设计要求。
作为工业用的环境检测类仪器,系统工作的可靠性,实用性,长久性指标也是系统在设计时值得考虑的几个因素。
2.2方案选择
(1)数字式
这种方案在信号的采样、放大电路、报警设置以及报警电路等环节与第一种方案区别不大,只是在放大电路后采用了A/D转换电路,它将模拟量转换成数字量,然后经过驱动电路进行数码显示,它最大的好处是显示直观,这是模拟式产品向智能式产品过渡的中间型产品,属于第二代仪表,在上个世纪80年代的设计中大都采用这种结构的方案,在日常生活中看到的大都是未被替换的产品。
在目前的设计中,基本上是不采用这种方案。
(2)智能式
这是目前检测类仪器首选的方案,利用目前成熟的计算机技术,依靠计算机强大的处理能力,对数据前向通道采集到的湿度,温度数据进行判断、处理、存储,并可采用十分简单的方法通过显示驱动芯片将显示信息送出进行数码显示。
对测量所得结果超限时的报警处理可以按照测量时间的不同情况分别设置不同的报警值。
系统将会对测量回路巡回监测。
目前国内外对温度和湿度测量产品有很多,但是大部分的产品都是用红外热辐射的传感器制作的。
这种产品结构复杂,价格昂贵并不适用于大气的测量。
本设计使用比较常见的温湿度传感器和价格便宜的电子元器件,实现检测系统的智能化。
它还具有较高的安全性,可靠性,适用于一般的家庭。
鉴于国外欧美等国家微电子技术的发展,在不少的测试领域,将一个系统的所有电路,包括CPU都集成在一块芯片上,构成一个集成的系统,况且这也是目前仪表发展的方向。
所以本设计采用集成芯片SHT10作为温湿度传感器。
鉴于以上情况,本课题考虑到国内目前的现状,构成器件的来源以及微电子技术的发展趋势,本设计决定采用智能化的设计方案设计。
2.3总体设计方案设计
该系统主要由AT89S51单片机系统,电源电路,复位及振荡电路,LED显示电路,通信模块,键盘模块和报警电路等部分组成。
如图2.1所示为总体方案设计框图。
本方案采用单片数字温湿度集成传感器将湿度转换成数字信号,然后通过总线将信号传递给CPU。
SHT10采用CMOS过程微加工专利技术,确保产品具有极高的可靠性。
SHT10将检测的湿度通过内部的AD转换器转换成数字信号,然后将信号输入单片机进入显示电路显示,期间可以按下按键定点显示此时刻湿度值,若此环境的湿度值低于或者超过设限范围并进入报警电路,蜂鸣器能响起。
图2-1总体设计方案图
3系统的硬件设计
本设计的原理是一个基于单片机AT89S51与湿度传感器SHT10等技术相结合主体,利用模拟湿度传感器SHT10对某一环境的湿度进行检测,实现对此环境湿度的测控,并将它的输出由单片机的软件对其进行校正处理,所得到的结果最终送给四位数码管显示,切带有湿度上下限的报警。
该系统主要由AT89S51单片机系统,电源电路,复位及振荡电路,LED显示电路,通信模块,键盘模块和报警电路等部分组成。
3.1系统的硬件电路
AT89S51单片机的最小系统由时钟电路、复位电路、电源电路及单片机构成。
单片机的时钟信号用来提供单片机片内各种操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种确定的初态开始运行。
3.1.1单片机的电源模块
直流电源的输入为220V的电网电压,所需直流电压的数值和电网电压的有效值相差较大,因而需要通过电源变压器降压。
再通过整流电路将正弦波电压转换为单一方向的脉动电压。
为了减小电压的脉动,需通过低通滤波电路滤波,使输出电压平滑。
理想情况下是可以将交流分量全部滤掉,但是因为受负载影响,加之滤波电路并不能达到理想效果。
还需要加入稳压电路,使输出直流电压基本不受电网电压波动和负载电阻变化的影响。
如图3.1电源电路所示。
3.1.2晶振及复位电路
单片机的时钟信号通常用两种电路形式得到:
内部振荡方式和外部振荡方式。
在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
当5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST持续为高电平,单片机就处于循环复位状态。
根据应用的要求,复位操作通常有两种基本形式:
上电复位和上电或开关复位。
上电复位要求接通电源后,自动实现复位操作。
上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。
单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。
系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。
51单片机的复位是由RESET引脚来控制的,此引脚与高电平相接超过24个振荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。
如图3.2所示。
图3-1单片机的供电电源电路
图3-2单片机的晶振电路及复位电路
3.2单片机与SHT10连接电路图
SHTxx单片数字温湿度集成传感器采用CMOS过程微加工专利技(CMOSenstechnology),确保产品具有极高的可靠性和出色的长期稳定性。
该传感器由1个电容式聚合体测湿元件和1个能隙式测温元件组成,并与1个14位A/D转换器以及1个2-wire数字接口在单芯片中无缝结合,使得该产品具有功耗低、反应快、抗干扰能力强等优点。
SHT10的特点主要包括以下几个方面:
相对湿度和温度的测量兼有露点输出;全部校准,数字输出;接口简单(2-wire),响应速度快;超低功耗,自动休眠;出色的长期稳定性;超小体积(表面贴装);测湿精度±4.5%RH,测温精度±0.5℃(25℃)。
SHT10只需要通过两条线与AT89S51单片机的管脚连接即可进行串行通信,如图3.5,其中单片机的P2.2口与SHT10的DATA端相连,P2.1与SCK端相连,SHT10的VDD接电源,GND接地。
如图3.3单片机与SHT10连接图所示。
图3-3单片机与湿度传感器连接图
3.3LED显示电路的设计
本方案采用LED显示方式湿度示数,所有位的段选线并联起来,由一个8位I/O端口控制,而各位的阳极或阴极分别由相应的I/O端口控制,形成各位的轮流选通,即LED显示器分时轮流工作,每次只能使一个器件显示1~5ms。
由于人的视觉暂留现象和发光二极管的余晖效应,人眼仍感觉所有的器件同时显示,获得稳定的视觉效果。
此种显示方式的优点是占用I/O端口少,随着高亮度LED数码管的出现,动态显示同样可以达到很好的显示效果。
如图3.4所示为LED动态显示电路,LED显示器采用共阴极接法,单片机P0口作为段码输出口,P2.4~P2.7口作为位码输出口。
每次显示时,单片机将段码送至P0口,经过驱动器74LS244提供必要的驱动电流,送到各个LED显示器的相应段;然后将位码送入P2.4~P2.7口,再经过6反相驱动器,使其中一个LED的阴极变为低电平,这样对应该为显示器的段码有效,而其他位无效。
一段时间以后,程序更换段码和位码,使下一个显示器选中并显示相应内容。
如图3.4LED显示电路图所示。
图3-4LED显示电路图
3.4报警电路
报警电路由蜂鸣器,电阻,三极管组成,如图3.5报警电路图所示,当湿度值超过上下限范围时进入报警电路,蜂鸣器响。
图3-5报警电路图
3.5键盘模块
键盘部分如图3.6所示。
由于整体电路不需要很多按键,所以用不到矩阵键盘的方案。
单片机只需要检测哪个按键有了低电平,即可确定哪个按键被按下了。
图3-6键盘部分电路图
4系统的软件设计
4.1主程序框图
程序数据的一种理想方法是结构化程序设计方法。
结构化程序设计是对利用到的控制结构类程序做适当的限制,特别是限制转向语句(或指令)的使用,从而控制了程序的复杂性,力求程序的上、下文顺序与执行流程保持一致性,使程序易读易理解,减少逻辑错误和易于修改、调试。
根据系统的控制任务,本系统的软件设计主要由主程序、初始化程序、显示子程序、数据采集子程序和延时程序等组成。
主程序框图:
SHT10温湿度子程序主要包括:
SHT10启动程序、应答位检测、湿度测量、湿度数据处理等,其主要流程图如图4.1所示。
4-1SHT10温湿度子程序流程图
4.2数据显示程序框图
数据显示程序框图如图4.2所示。
显示子程序主要是来判断是否需要显示,以及如何去显示,也是十分重要的程序之一。
而显示子程序是其他程序所需要调用的程序之一,因此,显示子程序的设计就显得举足轻重,必须认真细心的编写。
图4-2数据采集显示程序框图
总结
在完成课程设计的过程中,我在图书馆查阅了老师任务书上给出的相关资料,懂得了湿度测量仪的工作过程,并且能够和自己学过的知识很好的结合。
本次课设是湿度测量仪设计,主要作用是实现单片机和湿度传感器完成湿度测量功能,且具有数字显示功能。
课程设计旨在锻炼每位同学对所学知识的运用能力,自己设计一个合理的方案,不仅需要对该生产过程有最基本的理解,而且需要考虑采用何种方案,如何实现预期的效果,通过几天紧张的忙碌,对过程控制这门课有了更深的了解,对上课中老师所讲的单片机及程序设计有了进一步了解,同时对各种不同系统选用什么样的电阻,电容有了进一步的理解,特别是SHT10温湿度传感器的使用及工作原理有了深刻理解,就像老师说的,我们都应该对自己严格要求,只有把所学的知识牢牢掌握,才能适应不同工况下对产品的需求。
参考文献
[1]孙环,滕召胜.基于SHT10单片集成传感器温湿度检测模块设计[J].国外电子测量技术,2006,25(6):
43-46
[2]樊建明,陈渊睿.基于SHT11的温室多点测量系统设计[J].国外电子测量技术,2006,25(11):
4-8.
[3]谢敏,徐会冬.智能传感器SHT11在单片机嵌入式系统中的应用[J].现代电子技术,2005,28(14):
89-91,94.
[4]陈钊,郭永彩,高潮,等.微环境温湿度智能化测量仪研究[J].仪器仪表学报,2004,25(5):
620-623.
[5]《微机原理及应用》黄冰等编著重庆:
重庆大学出版社,2003
[6]谭浩强,C程序设计[M].清华大学出版社,1998,1.
附录1
系统的主程序及子程序
001.#include
002.#include
003.
004./********************************************************
005.宏定义
006.********************************************************/
007.#defineuintunsignedint
008.#defineucharunsignedchar
009.#definenoACK0
010.#defineACK 1
011.#defineSTATUS_REG_W0x06
012.#defineSTATUS_REG_R0x07
013.#defineMEASURE_TEMP0x03
014.#defineMEASURE_HUMI0x05
015.#defineRESET 0x1e
016.
017.enum {TEMP,HUMI};
018.
019.typedef union //定义共用同类型
020.{
021.unsigned int i;
022.float f;
023.}value;
025.
026./********************************************************
027.位定义
028.********************************************************/
029.sbitlcdrs=P1^0;
030.sbitlcdrw=P1^1;
031.sbitlcden=P1^2;
032.sbitSCK=P2^2;
033.sbitDATA=P2^1;
034.
035./********************************************************
036.变量定义
037.********************************************************/
038.uchartable2[]="SHT11温湿度检测";
039.uchartable3[]="温度为:
℃";
040.uchartable4[]="湿度为:
";
041.uchartable5[]=".";
042.ucharwendu[6];
043.ucharshidu[6];
044.
045./********************************************************
046.1ms延时函数
047.********************************************************/
048.void delay(int z)
049.{
050.int x,y;
051.for(x=z;x>0;x--)
052.for(y=125;y>0;y--);
053.}
054.
055./********************************************************
056.50us延时函数
057.********************************************************/
058.void delay_50us(uintt)
059.{
060.uintj;
061.for(;t>0;t--)
062.for(j=19;j>0;j--);
063.}
064.
065./********************************************************
066.50ms延时函数
067.********************************************************/
068.void delay_50ms(uintt)
069.{
070.uintj;
071.for(;t>0;t--)
072.for(j=6245;j>0;j--);
073.}
074.
192./********************************************************
193.LED显示函数
194.********************************************************/
195.void displayshidu(void)
196.{
197.uchari;
198.write_com(0x8C);
199.for(i=0;i<3;i++)
200.{
201.write_dat(shidu[i]);
202.delay_50us
(1);
203.}
204.for(i=0;i<1;i++)
205.{
206.write_dat(table5[i]);