传感器实训报告3.docx

上传人:b****8 文档编号:9704997 上传时间:2023-05-20 格式:DOCX 页数:25 大小:373.49KB
下载 相关 举报
传感器实训报告3.docx_第1页
第1页 / 共25页
传感器实训报告3.docx_第2页
第2页 / 共25页
传感器实训报告3.docx_第3页
第3页 / 共25页
传感器实训报告3.docx_第4页
第4页 / 共25页
传感器实训报告3.docx_第5页
第5页 / 共25页
传感器实训报告3.docx_第6页
第6页 / 共25页
传感器实训报告3.docx_第7页
第7页 / 共25页
传感器实训报告3.docx_第8页
第8页 / 共25页
传感器实训报告3.docx_第9页
第9页 / 共25页
传感器实训报告3.docx_第10页
第10页 / 共25页
传感器实训报告3.docx_第11页
第11页 / 共25页
传感器实训报告3.docx_第12页
第12页 / 共25页
传感器实训报告3.docx_第13页
第13页 / 共25页
传感器实训报告3.docx_第14页
第14页 / 共25页
传感器实训报告3.docx_第15页
第15页 / 共25页
传感器实训报告3.docx_第16页
第16页 / 共25页
传感器实训报告3.docx_第17页
第17页 / 共25页
传感器实训报告3.docx_第18页
第18页 / 共25页
传感器实训报告3.docx_第19页
第19页 / 共25页
传感器实训报告3.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

传感器实训报告3.docx

《传感器实训报告3.docx》由会员分享,可在线阅读,更多相关《传感器实训报告3.docx(25页珍藏版)》请在冰点文库上搜索。

传感器实训报告3.docx

传感器实训报告3

编号:

传感器综合设计

实训(论文)说明书

题目:

湿度传感器应用设计

院(系):

信息与通信学院

专业:

电子信息工程

2012年6月20日

摘要

随着科学技术的快速发展,人类社会取得了很大的进步。

在生活、工农业生产、气象、环保、国防、科研、航天等部门,经常需要对环境中的温湿度进行测量及控制。

本检测仪采用技术成熟的DHT11作为测量湿度和温度的传感器的一个智能化的温湿度测量装置。

DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。

传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。

它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。

控制芯片采用技术成熟,价位低廉的STC89C52单片机。

LCD显示电路,报警电路都由STC89C52单片机控制。

最后设计了检测仪各个功能部分的软件程序。

由本设计课题做成的温湿度检测系统结构简单、价格便宜、量程宽,具有较高的可靠性、安全性及实用性。

关键词:

STC89C52单片机;DHT11数字温湿度传感器;LCD显示

Abstract

Withthedevelopmentofscienceandtechnology,humansocietyhasachievedgreatprogress!

Inthelifethatoccupythehome,industry,agriculture,nationaldefense,weather,environmentalprotectionandscientificresearchdepartments,suchasaerospace,oftenneedtotheenvironmenthumidityandtemperaturemeasurementandcontrol.Thedetectorofanintelligenthumiditymeasuringdevice.TheDetectoradoptsthetechnologyDHT11andasmeasuringthehumidityandtemperaturesensorandtemperaturesensor.EachDHT11sensorsareaccuratecalibrationofhumidityincalibration.Itusesadedicateddigitalmodulesandacquisitionoftemperatureandhumiditysensortechnologytoensurethatproductswithhighreliabilityandexcellentlong-termstability。

朗读显示对应的拉丁字符的拼音

Detectorchipadoptmaturetechnology,powerful,pricecheappopularSTC89C51.LEDdisplaycircuit,alarmcircuitcontrolledbySTC89C51.Finallythedesignofthesystemsoftwareprogrameachfunction.Bythisdesigntasktomakethetemperatureandhumidityofthedetectiondetectorstructureissimple,cheapprice,widerange,highreliability,safetyandpracticality.

Keywords:

STC89C51;DHT11;LCD

 

目录

引言1

1概述1

1.1湿度定义与检测原理1

1.2方案论证1

1.2系统功能原理图2

2硬件设计2

2.1电路原理图2

2.1.1电路原理图介绍3

2.1.2蜂鸣器电路部分说明3

2.1.3晶振电路部分说明3

2.2湿度传感器电路部分说明4

2.2.1湿度传感器DHT11介绍4

2.2.2技术参数说明4

供电电压:

3.3~5.5VDC4

3软件设计5

3.1软件总体模块5

3.2软件设置实现的功能5

3.3软件流程图5

3.4信息处理芯片6

4综合测试7

4.1电路模块调试7

4.2软件调试的基本方法7

4.3软件调试的问题分析7

4.4传感器测试记录7

4.4.1传感器性能初步判断7

4.4.2对传感器实际测量检测7

5实训心得体会8

谢辞9

附录一11

附录二12

附录三13

引言

温度是指物体冷热程度,微观上是指物体分子热运动的剧烈程度。

在整个宇宙当中,温度无处不存在。

无论在地球上还是在月球上,也无论是在炽热的太阳上还是在阴冷的海王星上,这一切无不由于空间位置的不同而存在着温度的差异。

湿度是表示大气干燥程度的物理量。

在一定的温度下在一定体积的空气里含有的水汽越少,则空气越干燥;水汽越多,则空气就越潮湿。

空气的干湿程度叫做“湿度”。

在此意义下,常用绝对湿度、相对湿度、比较湿度、混合比、饱和差以及露点等物理量来表示。

湿度表示气体中的水蒸汽含量,有绝对湿度和相对湿度两种表示方法。

绝对湿度是一定体积的空气中含有的水蒸气的质量,一般其单位是克/立方米,绝对湿度的最大限度是饱和状态下的最高湿度;相对湿度是绝对湿度与最高湿度之间的比,它的值显示空气中水蒸气的饱和度有多高。

温度、湿度和人类的生产、生活有着密切的关系,同时也是工农业生产中最常见最基本的工艺参数,例如机械、电子、化工等各类工业中广泛需要对温度、湿度的检测与控制。

并且随着人们生活水平的提高,人们对自己的生存环境越来越关注。

空气中温湿度的变化与人体的舒适度和情绪都有直接的影响,所以对温度、湿度的检测就非常有必要了。

1概述

1.1湿度定义与检测原理

湿度是指大气中所含有的水蒸气,即大气的干湿程度。

湿度表示方法主要有两种:

(1)绝对湿度。

在一定温度及压力条件下,单位体积空气中所含的水蒸气的质量。

(2)相对湿度。

空气中实际所含水蒸气密度(即绝对湿度)与同温度下饱和水蒸气密度的百分比值。

湿度传感器是根据某种物质从其周围空气中吸收水分后引起的物理或化学性质的变化,从而获得该物质的吸水量和周围空气的湿度。

湿度传感器分为电阻式和电容式两种,产品的基本形式都是在基片涂覆感湿材料形成感湿膜。

空气中的水蒸汽吸附于感湿材料后,元件的阻抗、介质常数发生很大的变化,从而制成湿敏元件。

湿敏电容一般是用高分子薄膜电容制成的,由于它具有灵敏度高、产品互换性好、响应速度快、湿度的滞后量小、便于制造、容易实现小型化和集成化,其精度一般比湿敏电阻要低一些。

1.2方案论证

本设计可视为一个对信息采集处理的系统模型。

按功能实现,可分为湿度源、测控电路、通信接口三个部分。

经过调研考查相关资料,得出以下几种可行方案:

方案一:

湿度传感器——数字量信号——单片机处理——数码管显示。

方案二:

HS1101湿敏元件——频率计数——单片机处理——对应显示。

方案三:

采用DHT11代替(湿度—电阻值——电压经A/D转换变为数字量)的环节,再传给单片机进行处理,最后通过数码管来显示。

经过对比以上三个方案,从软硬件实现的难易程度、最终数据实现的准确可靠性,本次设计我采用方案三的方法进行设计的。

 

图1系统功能原理图

1.2系统功能原理图

根据设计要求确定了系统的总体方案,整个方案由单片机、湿度传感器、温度传感器、显示模块、报警器等五部分组成。

系统功能原理图如图1所示。

2硬件设计

2.1电路原理图

单片机是整个系统的控制中枢[1],它指挥外围器件协调工作,从而完成特定功能。

硬件实现上采用模块化设计,每个模块只实现一个功能,最好将各个模块连接在一起。

这种设计比较简单的就可以实现,电路原理图如图2所示:

图2电路原理图

2.1.1电路原理图介绍

本系统主要硬件有电源电路、温湿度传感器、蜂鸣器、晶振电路、复位电路、LCD显示电路。

控制电路的核心器件是由美国Atmel公司生产的AT89S51单片机,属于MCS-51系列,AT89S51是一种低功耗、高性能的CMOS8位微控制器,具有8K在系统可编程FLASH存储器;片上Flash允许程序存储器在线编程。

这些优点使得AT89S51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案,借个低廉,性能可靠,抗干扰强,因此广泛应用在工业控制和嵌入式中。

系统的蜂鸣器电路、晶振电路、复位电路如图3、图4、图5所示:

图3蜂鸣器电路图4晶振电路图5复位电路

2.1.2蜂鸣器电路部分说明

蜂鸣器额定电流小于30mA,其中使用三极管驱动工作,为了减少功耗本实验采用9012晶体管。

2.1.3晶振电路部分说明

晶振电路采用11.095MHz的无源晶振,微调电容大小取30PF。

2.1.41602模块电路说明

显示模块选用1602字符型液晶模块,是目前应用比较广泛的液晶屏之一,电路如图6所示。

图61602液晶显示电路

2.2湿度传感器电路部分说明

2.2.1湿度传感器DHT11介绍

DHT11数字温湿度传感器[2]是一款含有已校准熟悉信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。

传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。

因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。

每个DHT11传感器都在即为精确的湿度校验室中进行校准。

校准系数以程序的形式存在OTP内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。

单线制串行接口,使系统集成变得简易快捷。

超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为给类应用甚至最为苛刻的应用场合的最佳选择。

产品为4针单排引脚封装,连接方便。

DHT11应用电路如图7:

2.2.2技术参数说明 

供电电压:

3.3~5.5VDC

  输出:

单总线数字信号

  测量范围:

湿度20-90%RH,温度0~50℃

  测量精度:

湿度+-5%RH,温度+-2℃

  分辨率:

湿度1%RH,温度1℃

  互换性:

可完全互换,

长期稳定性:

<±1%RH/年

图7DHT11应用电路

3软件设计

3.1软件总体模块

本设计单片机需要处理的信息有:

温度采集、湿度采集、数码管显示、控制策略。

所以程序就包括:

温度采集子程序、湿度采集子程序、显示子程序、控制策略等。

3.2系统硬件调试

3.2软件设置实现的功能

系统单片机代码采用C语言编写,以KeiuVision为开发环境。

系统软件实现的功能:

1.通过LCD显示温湿度值;

2.比较检测到的温湿度值和报警值,发现超限蜂鸣器立即报警;

3.3软件流程图

根据这些功能,系统软件流程图如图8所示:

图8系统软件流程图

3.4信息处理芯片

图9单片机内部结构图

根据设计输出要求,本实训选用了4位共阴数码管作为最后显示器件。

4综合测试

4.1电路模块调试

对于显示电路,由于使用的是数码管显示屏,首先要确定数码管的是共阴还是共阳极。

因此,先用万用表检测是什么极性。

然后再固定下,检查显示电路能否正常显示。

然后再焊接上去。

4.2软件调试的基本方法

软件的设计与调试实行分模块实现方法。

各个独立模块功能调试成功后,将这些模块通过程序合并在一起,最后再对合并后的总程序进行调试。

再烧写进入单片机看能否在实际电路板上正常工作。

编程语言的软件上采用C语言编写设计。

4.3软件调试的问题分析

LED显示问题:

本次设计的最终方案是采用LED数码管实现显示功能,起初数码管显示不正常,出现闪烁现象。

通过调试发现这是由于延时时间选择不当会使人眼产生视觉暂留效果,每一次显示时都必须加入适当的时间延时。

由于一开始所选的延时时间太短,因此出现闪烁现象,在增加显示延时之后,数码管显示正常。

4.4传感器测试记录

4.4.1传感器性能初步判断

在开始整体调试前,首先要对传感器性能作初步判断。

以下是常用的几种方法:

1、一致性判定,同一类型,同一厂家的湿度传感器产品最好一次购买两支以上,越多越说明问题,放在一起通电比较检测输出值,在相对稳定的条件下,观察测试的一致性。

若进一步检测,可在24h内间隔一段时间记录,一天内一般都有高、中、低3种湿度和温度情况,可以较全面地观察产品的一致性和稳定性,包括温度补偿特性。

2、用嘴呵气或利用其它加湿手段对传感器加湿,观察其灵敏度、重复性、升湿脱湿性能,以及分辨率,产品的最高量程等。

3、对产品作开盒和关盒两种情况的测试。

比较是否一致,观察其热效应情况。

4、对产品在高温状态和低温状态(根据说明书标准)进行测试,并恢复到正常状态下检测和实验前的记录作比较,考查产品的温度适应性,并观察产品的一致性情况。

4.4.2对传感器实际测量检测

电路调试正常后,对传感器在不同时间进行实际测量检测操作。

相对湿度

天气实况

测试数据

误差

6-22早上(气温26摄氏度)

67

73

6

6-22中午(气温26摄氏度)

70

72

2

6-22傍晚(气温26摄氏度)

77

73

4

6-23早上(气温26摄氏度)

70

75

5

6-23中午(气温26摄氏度)

68

73

3

6-23傍晚(气温26摄氏度)

71

74

3

表1.传感器实测记录

5实训心得体会

本次实训时间为两周,主要的工作可分为三个阶段:

前期是确定题目后,查找资料、选择合适的电路组成以及对电路图的仿真;中期是画原理图及PCB图;后期是对硬件的制作与软件的编程和调试。

首先,理解好一个题目的真正意图,是进入实训状态的开始.因为它能指引你的下一步工作.其次,画好原理图和PCB是非常重要的,在画的过程中选用的器件、功能、效果都应在你的思考范围内.原理图正确,是发挥电路性能的关键,是判断一个设计的基本.而在画PCB中,这次设计的是湿度传感器,因此可以参考实际使用仪表仪器的形象加以设计,以使达到一种实用的效果。

在实训过程的总会遇到各种问题,这时要耐心,不能心急,往往当你静下心来的时候就会发现解决的方法。

在选择传感器环节中,我原计划自己设计调理电路。

但试做一块板之后,接下来的标定工作,就我们目前的条件是无法很好的完成。

于是经过与同学讨论、咨寻老师,决定更改方案选择一个更为易于实现传感器模块。

总之,在整个实训过程中,我学会了理论加实践的分析方法。

每当有不懂的地方,学会了从资料查找,或与其他人讨论、交流。

一些我们没有遇到过的问题老师同学们也许会给以一定的启发。

经过这次实训,我对电路的分析能力有了进一步地提高。

学会了总结问题,发现问题。

在调试过程中,通过反复操作,加强了动手能力。

培养了对实践掌握、估量的水平,同时增加了对于实际的应用的经验的积累。

这样为后面更进一步的学习和实践,打下了结实的基础。

谢辞

在这两周的实训中,首先,感谢学校为我们电子信息工程专业学生提供了一次实训学习的平台。

在硬件方面,学校提供了很好的实训平台,并且为学生提供大量需使用的电子元件,为能完成本次实训提供了良好的条件。

其次,我要感谢我的老师和同学,谢谢你们!

是你们,在实训过程中给予了我悉心的指导,是你们,以严谨的工作作风,渊博的知识和务实的工作态度,让我受益匪浅并深深的感动。

感谢我的同学在实训与调试过程中给予的帮助,有了你们的帮助,我才没了那么大的学习压力,多了一份坚持的毅力。

对于学校开展实训这样的课题,我感觉非常有用,使我受益匪浅,在实践的同时,也可以充分利用自己的理论知识,这种理论结合实践的学习可以说是很好的,这样的实践学习可以再一次的巩固我们书本上所学的东西。

实训完毕后,我感觉自己对以前学过的知识有了更加深刻的印象,同时我也找到了自己的不足之处!

明确了一步学习的方向。

参考文献

[1]何道清.传感器与传感器技术第二版.北京,科学出版社,2008

[2]张国雄.测控电路第三版.北京,机械工业出版社,2007

[3]赵继文.传感器与应用电路设计[M].北京,科学出版社,2002

[4]刘海涛.8051单片机C语言程序设计与实例解析.北京,清华大学出版社,2009

[5]杨将新.单片机程序设计与应用从基础到实践.北京,电子工业出版社,2006

[6]胡向东.传感技术.重庆大学出版社,2006

附录一

电路原理图

 

附录二

电路PCB图

 

附录三

源程序

//*****************************************************************************

//显示模块

//*****************************************************************************

voidDisplay(void)

{

U8i;

for(i=0;i<=5;i++)

{

DDRD|=0XFC;

PORTD&=0x03;

DDRC|=0X0C;

PORTC&=0xF3;

Delay(10);

switch(i)

{

case0:

PORTC|=led1;break;

case1:

PORTD|=led2;break;

case2:

PORTD|=led3;break;

case3:

PORTD|=led4;break;

case4:

PORTD|=led5;break;

case5:

PORTD|=led6;break;

default:

break;

}

PORTB=LED[PLAY[i]];//送数据

if((i==0)|(i==2)|(i==3)|(i==5))//消小数点

{

PORTB|=0x80;

}

DelayNS

(1);

}

PORTD&=0x03;

PORTC&=0xF3;

}

voidDelayNS(U16dly)//延时子程序1.010ms

{

U16i;

for(;dly>0;dly--)WDR();

for(i=0;i<1131;i++);

}

voidDelay(unsignedinti)

{

while(i--);

}

voiddelay1N(unsignedintDcount)

{

while(Dcount--)

{

NOP();NOP();NOP();

}

}

voidTimer2_Delay150ms(void)//Timer2

{

TCCR2=0x00;

TCNT2=0xDE;

TIFR|=0X40;

TCCR2=0x02;

}

//*****************************************************************************

//系统初始化函数

//*****************************************************************************

voidinit_devices(void)

{

CLI();

port_init();

timer0_init();

TIMSK=0x05;

SEI();

}

//*****************************************************************************

//端口初始化

//*****************************************************************************

voidport_init(void)

{

DDRB=0xFF;

PORTB=0x00;

DDRC=0x0C;

PORTC=0x03;

DDRD=0xF0;

PORTD=0x00;

}

//*****************************************************************************

//TIMER0initialize-prescale:

256

//desiredvalue:

1mSec

//actualvalue:

0.992mSec(0.8%)

//*****************************************************************************

voidtimer0_init(void)

{

TCCR0=0x00;

TCNT0=0xE1;

TCCR0=0x04;

}

//*****************************************************************************

//TIMER2initialize-prescale:

8

//WGM:

Normal

//desiredvalue:

35uSec

//actualvalue:

34.000uSec(2.9%)

//*****************************************************************************

voidtimer2_init(void)

{

TCCR2=0x00;

ASSR=0x00;

TCNT2=0xDE;

OCR2=0x22;

TCCR2=0x02;

}

//*****************************************************************************

//定时器TIMER0中断

//*****************************************************************************

#pragmainterrupt_handlertimer0_ovf_isr:

10

voidtimer0_ovf_isr(void)

{

TCNT0=0xE1;

u16ReadDownStreamTimer++

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2