找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 25153|回复: 9
收起左侧

单片机DHT11温度湿度测试仪设计报告(非常详细)

  [复制链接]
ID:328014 发表于 2018-5-15 04:04 | 显示全部楼层 |阅读模式
目录
摘要2
引言3
1 设计方案与论证
  1.1 技术指标与要求4
  1.2 设计原理及思路4
  1.3 理论计算7
  1.4 单片机程序设计9
2 方案比较与选择
2 方案比较与选择10
3 仿真电路图及元件清单
  3.1 555振荡电路仿真电路12
  3.2 555振荡电路仿真结果12
  3.3 单片机程序仿真13
  3.4 单片机程序仿真结果13
  3.5 元件清单14
4 电路图及软件程序
  4.1 原理图15
  4.2 PCB电路图15
  4.3 实物图16
  4.4 软件部分16
5 附10K_NTC电阻随温度变化曲线图
  5附10K_NTC电阻随温度变化曲线图21
6 结论与心得24
参考文献24

温度湿度测试仪

摘要

本设计采用STC89C52单片机的外部中断部分以及LCD1602部分完成测量和显示部分,利用DHT11数字温湿度传感器进行数据采集,这是一款含有已校准数字信号输出的温湿度复合传感器,它凭借专用的数字模块采集技术和温湿度传感技术,单线制串行接口,无需额外部件;超长的信号传输距离;超低能耗;全部校准,数字输出;确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,使其成为该类应用中,在苛刻应用场合的最佳选择。


DHT11数字温湿度传感器与STC89C52结合实现最简温度湿度检测系统,该系统结构简单,性价比高,广泛应用于暖通空调,测试及检测设备,汽车,数据记录器,消费品,自动控制,气象站,家电,湿度调节器,医疗,除湿器等领域



引言

现如今随着科学发展,单片机在检测系统中得到了广泛的应用,而温度湿度与我们生产生活密切相关。温度湿度传感器的应用范围不仅应用于日常生活中而且也大量应用于自动化和过程检测系统控制。


单片微型计算机简称单片机(Microcontrollers),是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构


在日常生活中,温湿度监控系统应用很广泛,例如:机房,档案室,图书馆,材料加工场,大棚等场所;都必须严格控制环境的温度和相对湿度,使其保持在一定的范围内。使用DHT11可以灵活简单的检测环境的温湿度,由用户设置一定的阈值,实时监测显示,并且可以更具用户的需求设计特定的报警装置,当温度或湿度超过用户设置的上限值时,立即报警。因此我设计了一款基于51单片使用DHT11传感器的温度湿度监控系统,操作简介,使用方便,很适合日常的监测使用。


1 设计方案与论证

本设计实现的是对温度湿度的简易测量。通过DHT11检测环境的温度与湿度,传输40位二进制数据给89C51,单片机对40位数据进行处理,然后由LCD1602液晶显示器显示环境的温度湿度与用户所设定的温度湿度报警值。

1.1技术指标与要求

(1)利用51单片机通过编程来控制温度湿度的显示。

(2)液晶要实时地准确显示外界的温度与湿度。

(3)温度范围为0-50℃,湿度范围20%-90%。

(4)可以根据实际用途设定温度和湿度的报警值。

1.2设计原理及思路

DHT11传感器原理图所示:

在我的作品中单片机的P1^1用来发收串行数据,即数据口。连接传感器的Pin2(单总线,串行数据)。由于测量范围电路小于20米,建议加一个5K的上拉电阻,因此在传感器的Pin2口与电源之间连接一个5K电阻。而传感器的电源端口Pin1和Pin4分别接单片机的VDD和GND端。传感器的第三脚悬浮放置。

DHT11数据结构:

DHT11数字湿温度传感器采用单总线数据格式。即单个数据引脚端口完成输入

输出双向传输。其数据包由5Byte(40Bit)组成。数据分小数部分和整数部分,具体格式在下面说明。

  • 一次完整的数据传输为40bit,高位先出。

② 数据格式:8bit湿度整数数据+8bit湿度小数数据

+8bit温度整数数据+8bit温度小数数据 +8bit校验和

③ 校验和数据为前四个字节相加。

④ 传感器数据输出的是未编码的二进制数据。数据(湿度、温度、整数、小数)之

间应该分开处理。如果,某次从传感器中读取如下5Byte数据:

byte4     byte3    byte2    byte1    byte0

00101101 00000000 00011100 00000000 01001001

整数      小数      整数     小数    校验和

⑤ 湿度 温度 校验和 由以上数据就可得到湿度和温度的值,计算方法:   

Humi (湿度)= byte4 . byte3=45.0 (%RH)      

Temp (温度)= byte2 . byte1=28.0 ( ℃)

check校验)= byte4 + byte3+ byte2 + byte1 =73(=Humi+Temp)(校验正确)

⑥ 注意:DHT11一次通讯时间最大3ms,主机连续采样间隔建议不小于100ms。

集成模块555电路原理图见图1-2-2。

图1-2-2 集成模块555 芯片原理图

由 555 定时器构成的多谐振荡器如图1-2-3所示,其工作波形见图 1-2-4。

接通电源后,电源 VDD 通过 R1 和 R2 对电容 C 充电,当 Uc<1/3VDD 时,振荡器输出Vo=1,放电管截止。当 Uc充电到≥2/3VDD 后,振荡器输出 Vo 翻转成 0,此时放电管导通,使放电端 (DIS)接地,电容 C 通过 R2 对地放电,使 Uc 下降。当 Uc 下降到≤1/3VDD 后,振荡器输出Vo 又翻转成 1,此时放电管又截止,使放电端 (DIS) 不接地,电源 VDD 通过 R1和 R2 又对电容 C 充电,又使 Uc 从 1/3VDD 上升到 2/3VDD,触发器又发生翻转,如此周而复始,从而在输出端 Vo 得到连续变化的振荡脉冲波形。脉冲宽度 TL≈0.7R2C,由电容 C放电时间决定;TH=0.7(R1+R2)C ,由电容 C 充电时间决定,脉冲周期 T≈TH+TL 。

因此使用NTC热敏电阻代替图1-2-3中的R2即可利用该电路所测得的温度转变成矩形波,通过一定的计算制出表格。

长寿命 NTC热敏电阻=高安全+高品质。

图1-2-3 NE555电路图
图1-2-4 NE555工作波形

将测温所得的输出的信号输入单片机,通过STC89C52单片机的编程实现采集,并利用LCD1602加以显示。

STC89C52单片机是宏基公司生产的高性能 8 位单片机,晶振采用12MHz,如图1-2-3所示,分别接入XTAL1和XTAL2,复位电路如图1-2-4所示。

外部中断触发方式:电平触发(如IT0=0)、下降沿触发(如IT0=1)

初始化步骤(外部中断INT0为例):

EA=0;                            //开总中断

EX0=1;                                          //开INT0中断

图1-2-3 晶振电路


1.3理论计算

555多谐振荡器电路输出的矩形波主要参数计算公式见图1-3-1。
图1-3-1 555电路主要参数计算公式

由公式可知:555多谐振荡器电路输出的矩形波的高低电平、脉冲周期、频率、占空比均与外置电路的电容容值和电阻阻值有关。本设计单片机软件部分所涉及的主要是频率与温度的转换。通过查询NTC热敏电阻的详细使用手册可知下列结论。

NTC热敏电阻的温度特性可用下式近似表示:

式中: RT:热敏电阻器在温度 T时的零功率电阻值。

T:为绝对温度值,K;

  • BCD:为特定的常数。

10KΩ的NTC热敏电阻在温度为10℃~35℃时对应的电阻值如下:


若R1=10kΩ,C=10nF,利用555多谐振荡器电路中的公式
可以算出各个温度时对应的输出频率,计算结果见下表

温度(℃)

10
11
12
13
14
15
16

阻值(KΩ)

18.231399185
17.481363273
16.767123414
16.086755023
15.438447903
14.820498836
14.231304683

频率(Hz)

384.381
400.414
416.977
434.081
451.737
469.958
488.755

温度(℃)

17
18
19
20
21
22
23

阻值(KΩ)

13.669355966
13.133230897
12.621589814
12.133170007
11.666780884
11.221299475
10.795666238

频率(Hz)

508.138
528.121
548.713
569.928
591.775
614.266
637.412

温度(℃)

24
25
26
27
28
29
30

阻值(KΩ)

10.388881138
10
9.628131096
9.2724319585
8.9321064055
8.6064017588
8.2946062436

频率(Hz)

661.224
685.714
710.891
736.766
763.350
790.652
818.683

温度(℃)

31
32
33
34
35





阻值(KΩ)

7.9960465557
7.710085586
7.4361202907
7.1735796969
6.9219230346





频率(Hz)

847.452
876.970
907.244
938.284
970.098





  得到如下计算公式 温度=-0.00003*频率^2+0.0817*频率-17.707。

1.4 单片机程序设计

程序流程图见图1-4-1。

利用了STC89C52单片机的一个定时器和一个外部中断实现功能,使用P3^2端口的外部中断INT0的下降沿触发方式(IT0=1),配置1602显示所获得温度数据。由于定时器无法直接定时1s,故本程序采用定时50ms,进入20次中断执行一次的方式间接定时1s,故多了一个是否为1s的判断。当一秒钟结束时,外部中断中的计数即所测得频率,根据上表温度和频率的对应数据,编写程序驱动1602显示对应的温度值。

图1-4-1 程序流程图

2 方案比较与选择

方案一:

利用温度传感器DS18B20测量温度,其余部分电路与本设计相同。总体框图见图2-1-1。

图2-1-1 总体结构框图

   优点:主要优点有精度较高,制作方便、结构简单、元件体积小。

缺点:温度传感器DS18B20单价4.87元/个,不适合大批量生产。

方案二:

利用555多谐振荡器加上NTC热敏电阻测量温度,采用STC89C52单片机的外部中断部分以及LCD1602完成测量和显示部分。

优点:元器件价格低廉,性价比较高。

缺点:电路以及计算以及软件方面复杂,精度较低,最多只能精确到1℃。

由于方案二的制作较为简便,价格便宜,性价比高,适合用于工业生产,较有创新性并且存在较高的未来市场价值,有广泛的应用前景,所以本设计采用的方案为方案二。






3 仿真电路图及元件清单

3.1 555振荡电路仿真电路


3.2 555振荡电路仿真结果

仿真结果表明:随着R2减小,温度升高,对应的矩形波的频率增大。

3.3 单片机程序仿真

3.4 单片机程序仿真结果

3.5元件清单:
元件类型
元件序号
型号
主要参数
数量

四角按键


S2





1个

晶振

Y1




12M

1个

排阻


A



10KΩ

1个

电解电容


C1




10uF/50V


1个

瓷片电容

C2、C3、
C4、C5




104、103、30pF、30pF

各1个

电阻

R1

NTC热敏电阻



1个

电阻


R2、R3



10KΩ

2个

1602


LCD1





1个

1602底座


LCD1





1个

滑动变阻器


R4



1kΩ

1个

单片机


U1

STC89C52



1个

单片机底座


U1




1个

4 电路图及软件程序

4.1原理图

4.2 pcb电路图

4.3 实物图

4.4 软件部分

(见附件)

附10K_NTC电阻随温度变化曲线图


将10K的NTC电阻的各温度对应的电阻值输入excel表格中,选中数据,建立图表并修改横纵坐标为R和T可得到总关系图与不同分段的曲线如下。

图5-1 NTC电阻在-40℃~0℃时特性曲线

-40℃~0℃曲线见图5-1,由图可知在该分段中,10K_NTC电阻的R-T曲线非成线性关系,随着温度的增加,电阻的变化趋势越来越小(斜率越来越小)。


图5-2 NTC电阻在1℃~33℃时特性曲线

1℃~33℃曲线见图5-2,由图可知在该分段中,10K_NTC电阻的R-T曲线基本成线性关系,随着温度的增加,电阻的变化趋势越来越小(斜率越来越小)。

图5-3 NTC电阻在34℃~100℃时特性曲线

34℃~100℃曲线见图5-3,由图可知在该分段中,10K_NTC电阻的R-T曲线成非线性关系,随着温度的增加,电阻的变化趋势越来越小(斜率越来越小)。


图5-4 NTC电阻在101℃~127℃时特性曲线

101℃~127℃曲线见图5-4,由图可知在该分段中,10K_NTC电阻的R-T曲线基本呈线性关系。


88.png

全部资料51hei下载地址(内含源码+word格式的设计报告):
http://www.51hei.com/bbs/dpj-117959-1.html


评分

参与人数 1黑币 +10 收起 理由
IdeaMing + 10 很给力!

查看全部评分

回复

使用道具 举报

ID:325226 发表于 2018-5-15 08:45 | 显示全部楼层
很好哟
回复

使用道具 举报

ID:276663 发表于 2018-5-15 09:11 | 显示全部楼层
原理都解剖清楚了
回复

使用道具 举报

ID:326864 发表于 2018-5-15 10:46 | 显示全部楼层
很好,很清晰
回复

使用道具 举报

ID:272819 发表于 2018-5-15 11:46 | 显示全部楼层
很好,很清晰
回复

使用道具 举报

ID:290752 发表于 2018-5-15 14:01 | 显示全部楼层
此方案,学习可以。实际应用就是太差的方案了。没有人这样用的,你不知道有单片机自带AD转换接口的吗?。
回复

使用道具 举报

ID:284500 发表于 2018-5-15 15:48 | 显示全部楼层
不错,学习一下。
回复

使用道具 举报

ID:612440 发表于 2019-10-10 22:15 | 显示全部楼层
很有用
回复

使用道具 举报

ID:110278 发表于 2020-3-12 15:08 | 显示全部楼层
很好用。
回复

使用道具 举报

ID:514974 发表于 2020-3-13 11:14 | 显示全部楼层
不错的资料,学习一下!谢谢
   
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表