温度与湿度控制系统设计.docx
- 文档编号:30566019
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:35
- 大小:587.33KB
温度与湿度控制系统设计.docx
《温度与湿度控制系统设计.docx》由会员分享,可在线阅读,更多相关《温度与湿度控制系统设计.docx(35页珍藏版)》请在冰豆网上搜索。
温度与湿度控制系统设计
本科生课程设计
课程名称:
单片机课程实训
题目:
温湿度控制
专业班级:
学生姓名:
学生学号:
日期:
2014年6月
指导教师:
陈斯
一、课程设计目的、任务和内容要求:
通过该课程设计使学生进一步了解和加深智能化仪器设计的一般原则;熟练掌握智能化仪器与装置的软、硬件设计方法;掌握仪器的软件调试及软硬件联合统调方法与技能。
掌握仪器的接口技术和程控方法;熟练掌握仪表总线的工作原理、设计步骤、编程及调试;掌握C设计软件的编程与调试方法;掌握网络化仪器设计编程与调试方法。
本课程设计的任务就是设计一个温度与湿度控制系统。
鼓励学生在熟悉基本原理的前提下,与实际应用相联系,提出自己的方案,完善设计。
具体设计任务如下:
1.熟悉DHT11温度与湿度传感器的工作原理;
2.写出温度与湿度控制系统的设计方案;
3.用硬件加以实现;
4.写课程设计报告。
设计要求:
1.温度测量范围:
0-50摄氏度;
2.温度测量精度:
±2摄氏度;
3.湿度测量范围:
20%-90%RH;
4.湿度测量精度:
±5%RH;
5.显示当前测量到的温度与湿度的值;
6.设置温度上下限,湿度上下限。
二、进度安排:
第1~3天:
查找资料,熟悉DHT11传感器的工作原理,给出总体设计方案;
第4~6天:
各模块的详细设计;
第7~12天:
硬件连线,调试;
第13~14天:
写课程设计报告。
三、主要参考文献:
[1]丁元杰.《单片微机的原理与应用》.机械工业出版社
[2]童诗白,华成英,模拟电子技术基础,高等教育出版社
指导教师签字:
年月日
摘要
以MC9S08QG8单片机为核心,并通过DHT11温湿度传感器的工作原理,实现了对当前环境中温度与湿度的测量,而且通过设置好的温度与湿度的上限、下限的值对当前环境下的温度和湿度实施监控,超过预警值则实施自动报警。
该系统由温度传感器模块、湿度传感模块和液晶显示模块组成,应用温湿度传感器的工作原理对当前环境实施监控,按时收集数据传送给单片机,单片机按照温湿度传感器收集到的数据进行处置,再将接收的数据显示到12864液晶显示屏上,若是超过预期设置的上限和下限,采用二极管模拟报警,由于制作和组合上的精细,使得本设计显得智能化、实用化。
关键词:
单片机(MC9S08QG8);温度传感;湿度传感;12864液晶显示
Abstract
ThedesignMC9S08QG8microcontrollercore,andthroughDHT11temperatureandhumiditysensorworkstoachieveinthecurrentenvironment,temperatureandhumiditymeasurements,andagoodtemperatureandhumiditybysettingtheupperlimit,lowerlimitvalueofthetemperatureonthecurrentenvironmentimplementationofmonitoringandhumidity,morethanthevalueofimplementinganearlywarningalarm.Thesystemconsistsoftemperaturesensormodule,humiditysensingmoduleandliquidcrystaldisplaymodule,theapplicationoftemperatureandhumiditysensorworksbymonitoringtheimplementationofthecurrentenvironment,regularlycollecteddatatothemicrocontroller,microcontrollerbasedtemperatureandhumiditysensorforprocessingthedatacollected,andthenwillreceivethedatatotheLCDscreenonthe12864,ifmorethanexpectedtosettheupperandlowerlimits,theuseofdiodeanalogalarm,duetoacombinationofproductionandfine,makingthedesignisintelligent,practical.
Keywords:
singlechip(MC9S08QG8);temperaturesensor;humiditysensor;12864LCD
1绪论
设计目的
最近几年来,我国的设施农业取得了较大进展,温室大棚钟植技术已冲破了传统的农作物种植受地域自然环境等诸多因素的限制,对农业生产有重大意义。
但目前我国温室大棚的温湿度测量和设备的操作大多仍是由人工来完成,当温室较大时,操作人员的劳动强度专门大本温湿度控制系统是以单片机控制为核心,以瑞士生产的SHT11单片集成温湿度传感器作为温湿度检测元件,初步实现了温室大棚的自动化管理,大大降低了工人的劳动强度。
设计背景
系统的一大特点是用户能够通过下位机中的键盘输入温湿度的上下限值和预置值,也能够通过上位机对温湿度的上下限值和预置值进行输入,从而实现上位机对大棚内作物生长的远程控制。
系统下位机设在种植植物的大棚内,下位机中的温湿度传感器能够将环境中的温湿度非电量参数转化成电量信号,再将这些信号进行处置后送至下位机中的单片机,单片机读取数据后将数据送到缓冲区内,通过LED数码管进行实时显示。
同时与原先内部设定的参数值进行比较处置;单片性能够按照比较的结果对执行机构发出相应的信号,并通过继电器的控制对相应的设备如喷水器、吹风机、加热器、降温泵等进行操作,调节大棚内温湿度状态。
用户直接通过键盘对温湿度的上下限值和预置值进行设置后,若是环境的实时参数超越上下限值,系统自动启动执行机构调节大棚内湿度和温度状态,直到温湿度状态处于上下限值之内为止。
若是有预置初值且与当前状态不相等时,系统也会启动执行机构动态调节温湿度状态,直到所处的平衡状态与预置值相等为止。
2设计方案简述
方案设计
温湿度的测量模块
通过温湿度传感器DHT11收集数据,再通过QG8单片机对其内部数字进行分析后,将其数值送到12864液晶模块上进行显示,本系统能够设定温度范围0~50摄氏度,最小区分度为一度,设定湿度范围为20%-90%RH,最小区分度为1%RH。
其长处在于DHT11
1.湿温度传感器的一体化结构能相对的同时对相对湿度和温度进行测量。
2.数字信号输出,从而减少用户信号的预处置负担。
3.单总线结构输出有效的节省用户控制器的I/O口资源。
而且,不需要额外电器元件。
4.独特的单总数据传输线协议使得读取传感器的数据加倍便捷。
5.全数校准。
编码方式为8位二进制数。
二进制数据输出。
其中湿度整数部份占1Byte,小数部份1Byte;温度整数部份1Byte,小数部份1Byte。
其中,湿度为高16位。
最后1Byte为校验和。
7.卓越的长期稳固性,超低功耗。
引脚安装,超小尺寸。
9.各型号管脚完全能够互换。
方案设计
按照设计要求肯定了系统的整体方案,整个系统由单片机、温湿度传感器、显示模块、报警器、温湿度调节系统组成。
用户预先输入温湿度报警值到程序中,该值作为系统阈值。
温湿度传感器监测值传输给单片机,当单片机比较监测到的数值超出所设定阈值时,驱动蜂鸣器报警,并为温湿度调节系统提供控制信号,实现自动控制。
图2-1DHT11电路连接图
单片机发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号收集,若是没有接收到单片机发送来的信号,DHT11不会主动进行温度收集,收集数据后转换到低速模式。
湿度测量范围1%~99%;最小进步为1%;
3设计部份
硬件设计
单片机是整个系统的控制中枢,它指挥外围器件协调工作,从而完成特定的功能。
硬件实现上采用模块化设计,每一模块只实现一个特定功能,最后再将各个模块搭接在一路。
这种设计方式能够降低系统设计的复杂性。
系统电路原理图如图2所示。
本系统主要硬件设计包括电源电路、复位电路、LCD显示电路和温湿度传感器电路。
3.1.1.MCS08QG8芯片
图3-1MC9S08QG8的16管脚分派
Freescale08系列进展简史及S08系列MCU命名规则
目前,Freescale的08系列单片机主要有HC0八、HCS08和RS08三种类型。
1999年,HC08面世--高性能8位单片机。
2004年,HCS08诞生--资源丰硕,功耗低,性价比很高。
2006年,RS08涌现--内核体积比传统的内核小30%,带有精简指令集,知足用户对体积更小、加倍经济高效的解决方案的需求
FreescaleS08系列MCU的型号庞大,但同一系列的CPU是相同的,也就是说具有相同的指令系统,多种型号只是为了适用于不同的场合。
为了方便实际应历时选型,需要了解FreescaleMCU的命名方法,其大体命名规则如下
хххххххххххх
①②③④⑤⑥⑦
①产品状态MC—FullyQualified(合格)
PC—ProductEngineering(测试品)
②存储器类型标志8—片内带EPPROM9--片内带FlashEPPROM
③芯片内核08—HC08S08RS08
④子系列型号标志AWQGGBDZJM
⑤存储器大小8—8KB32—32KB60—60KB
⑥工作温度范围标志“无”--0℃--70℃C---40℃--85℃
⑦封装标志P—DIPSD--SSOP
AT89S52中有一个用于组成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2别离为该反向放大器的输入端和输出端。
那个反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一路组成自激振荡器。
外接石英晶体(或陶瓷谐振器)及电容C一、C2接在放大器的反馈回路中组成并联振荡电路。
对外接电容C一、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳固性、起振的难易程度及温度稳固性。
若是利用石英晶体,电容应该利用30pF。
还能够利用外部时钟。
这种情形下,外部时钟脉冲接XTAL1端,即内部时钟发生器的输入端,XTAL2应悬空。
由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所之外部时钟信号的占空比没有特殊要求,但最小高电平持续时刻和最大低电平持续时刻应符合产品技术条件的要求。
3.1.2液晶显示模块电路设计
这部份设计液晶屏显示,包括显示温度、显示湿度和设置温湿度上下限值。
LCD12864内部提供128×2字节的字符显示RAM缓冲区(DDRAM)。
字符显示是通过将字符显示编码写入该字符显示RAM实现的。
按照写入内容的不同,可别离在液晶屏上显示CGROM(中文字库)、HCGROM(ASCII码字库)及CGRAM(自概念字形)的内容。
三种不同字符/字型的选择编码范围为:
0000~0006H(其代码别离是0000、000二、0004、0006共4个)显示自概念字型,02H~7FH显示半宽ASCII码字符,A1A0H~F7FFH显示8192种GB2312中文字库字形。
字符显示RAM在液晶模块中的地址80H~9FH。
字符显示的RAM的地址与32个字符显示区域有着一一对应的关系,其对应关系如下表3所示。
表3:
80H
81H
82H
83H
84H
85H
86H
87H
90H
91H
92H
93H
94H
95H
96H
97H
88H
89H
8AH
8BH
8CH
8DH
8EH
8FH
98H
99H
9AH
9BH
9CH
9DH
9EH
9FH
LCD通过RS、R/W、E组成的时序图实现数据的读与写,时序图如图5-4、图5-5所示。
图3-2MPU写资料到ST7920(8位数据线模式)
图3-3MPU从ST7920读资料(8位数据线模式)
模块控制芯片提供两套控制命令,大体指令和扩充指令如下表4、表5:
指令表4:
(RE=0:
大体指令)
指
指令码
功能
令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
清除
显示
0
0
0
0
0
0
0
0
0
1
将DDRAM填满"20H",并且设定DDRAM的地址计数器(AC)到"00H"
地址
归位
0
0
0
0
0
0
0
0
1
X
设定DDRAM的地址计数器(AC)到"00H",并且将游标移到开头原点位置;这个指令不改变DDRAM的内容
显示状态开/关
0
0
0
0
0
0
1
D
C
B
D=1:
整体显示ON
C=1:
游标ON
B=1:
游标位置反白允许
进入点
设定
0
0
0
0
0
0
0
1
I/D
S
指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位
游标或显示移位控制
0
0
0
0
0
1
S/C
R/L
X
X
设定游标的移动与显示的移位控制位;这个指令不改变DDRAM的内容
功能
设定
0
0
0
0
1
DL
X
RE
X
X
DL=0/1:
4/8位数据
RE=1:
扩充指令操作
RE=0:
基本指令操作
设定CGRAM
地址
0
0
0
1
AC5
AC4
AC3
AC2
AC1
AC0
设定CGRAM地址
设定DDRAM
地址
0
0
1
0
AC5
AC4
AC3
AC2
AC1
AC0
设定DDRAM地址(显示位址)
第一行:
80H-87H
第二行:
90H-97H
读取忙标志和地址
0
1
BF
AC6
AC5
AC4
AC3
AC2
AC1
AC0
读取忙标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值
写数据到RAM
1
0
数据
将数据D7——D0写入到内部的RAM(DDRAM/CGRAM/IRAM/GRAM)
读出RAM的值
1
1
数据
从内部RAM读取数据D7——D0
(DDRAM/CGRAM/IRAM/GRAM)
指令表5:
(RE=1:
扩充指令)
指
指令码
功能
令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
待命
模式
0
0
0
0
0
0
0
0
0
1
进入待命模式,执行其他指令都棵终止
待命模式
卷动地址开关开启
0
0
0
0
0
0
0
0
1
SR
SR=1:
允许输入垂直卷动地址
SR=0:
允许输入IRAM和CGRAM地址
反白
选择
0
0
0
0
0
0
0
1
R1
R0
选择2行中的任一行作反白显示,并可决定反白与否。
初始值R1R0=00,第一次设定为反白显示,再次设定变回正常
睡眠
模式
0
0
0
0
0
0
1
SL
X
X
SL=0:
进入睡眠模式
SL=1:
脱离睡眠模式
扩充
功能
设定
0
0
0
0
1
CL
X
RE
G
0
CL=0/1:
4/8位数据
RE=1:
扩充指令操作
RE=0:
基本指令操作
G=1/0:
绘图开关
设定绘图RAM
地址
0
0
1
0
AC6
0
AC5
0
AC4
AC3
AC3
AC2
AC2
AC1
AC1
AC0
AC0
设定绘图RAM
先设定垂直(列)地址AC6AC5…AC0
再设定水平(行)地址AC3AC2AC1AC0
将以上16位地址连续写入即可
备注:
当IC1在同意指令前,微处置器必需先确认其内部处于非忙碌状态,即读取BF标志时,BF需为零,方可同意新的指令;若是在送出一个指令前并非检查BF标志,那么在前一个指令和那个指令中间必需延长一段较长的时刻,即是等待前一个指令确实执行完成。
3.1.3蜂鸣器模块电路
1.蜂鸣器的作用蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,普遍应用于运算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、按时器等电子产品中作发声器件。
2.蜂鸣器的分类蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
3.蜂鸣器的电路图形符号蜂鸣器在电路顶用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。
(如右图为蜂鸣器实物图)
压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。
有的压电式蜂鸣器外壳上还装有发光二极管。
多谐振荡器由晶体管或集成电路组成。
当接通电源后(~15V直流工作电压),多谐振荡器起振,输出~的音频信号,阻抗匹配器推动压电蜂鸣片发声。
压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。
在陶瓷片的两面镀上银电极,经极化和老化处置后,再与黄铜片或不锈钢片粘在一路。
图3-5蜂鸣器部份电路
3.1.4DHT11温度湿度传感器电路设计
图3-6DHT11电路连接图图3-7DHT11实物图
一、电源引脚
DHT11的供电电压为3-。
传感器上电后,要等待1s以越过不稳定状态在此期间无需发送任何指令。
电源引脚(VCC,GND)之间可增加一个电容,用以去耦滤波。
二、串行接口(单线双向)
DATA用于微处置器与DHT11之间的通信和同步,采用单总线数据格式,一次通信时刻4ms左右,数据分小数部份和整数部份,具体魄式在下面说明,当前小数部份用于以后扩展,现读出为零.操作流程如下:
一次完整的数据传输为40bit,高位先出。
数据格式:
8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。
用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号收集,用户可选择读取部份数据.从模式下,DHT11接收到开始信号触发一次温湿度收集,若是没有接收到主机发送开始信号,DHT11不会主动进行温湿度收集.收集数据后转换到低速模式。
图3-8DHT11内部通信进程
总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必需大于18毫秒,保证DHT11能检测到起始信号。
DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40us后,读取DHT11的响应信号,主机发送开始信号后,能够切换到输入模式,或输出高电平都可,总线由上拉电阻拉高。
图3-9DHT11数据预备传送进程
总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,预备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0仍是1.格式见下面图示.若是读取响应信号为高电平,则DHT11没有响应,请检查线路是不是连接正常.当最后一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。
图3-10数字0信号表示方式.
图3-11数字1信号表示方式.
软件设计
3.2.1系统软件设计说明
进行测量控制系统设计时,除系统硬件设计外,大量的工作就是如何按照每一个测量对象的实际需要设计应用程序。
因此,软件设计在微机测量控制系统设计中占重腹地位。
对于本系统,软件设计更为重要。
在单片机测量控制系统中,大体上可分为数据处置、进程控制两个大体类型。
数据处置包括:
数据的收集、数字滤波、标度变换等。
进程控制程序主如果使单片机按必然的方式进行计算,然后再输出,以便达到测量控制目的。
本软件设计主如果对距离进行测量、显示。
因此,整个软件可分为依照硬件电路对单片机位概念;温湿度设置子程序;温湿度接收子程序;显示子程序;延时子程序等。
3.2.2编程语言的选择
本设计是硬件电路和软件编程相结合的设计方案,选择适合的编程语言是一个重要的环节。
在单片机的应用系统程序设计时,常常利用的是汇编语言和C语言。
汇编语言是一种用文字助记符来表示机械指令的符号语言,是最接近机械码的一种语言。
其主要长处是占用资源少、程序执行效率高,而且执行速度快。
可是不同的CPU,其汇编语言可能有所不同,即依赖于运算机硬件,程序可读性和可移植性比较差。
C语言是编译型程序设计语言,兼顾高级语言的特点,并具有汇编语言的功能。
C语言是一种结构化程序设计语言,它支持当前程序设计中普遍采用的由顶向下结构化程序设计技术。
另外,C语言程序具有完善的模块程序结构。
C语言执行效率没有汇编语言高,但语言简练,利用方便,灵活,运算丰硕,表达化类型多样化,数据结构类型丰硕,具有结构化的控制语句,程序设计自由度大,有专门好的可重用性,可移植性等特点。
基于C语言的众多长处本设计选择此语言来编程。
3.2.3主程序流程图
软件分为两部份,主程序和中断服务程序。
主程序完成初始化工作、温湿度数据接收处置控制。
外部中断服务子程序主要完成时刻值的读取、距离计算、结果的输出等工作。
图3-12主程序流程图
图3-13设置温湿度内部流程图3-14显示温湿度内部流程
3.2.3系统的软硬件的调试
硬件电路制作完成并调试好后,即可将程序编译好下载到单片机试运行。
按如实际情形能够修改温度和湿度的上限值和下限值,以达到监控的作用。
按照所设计的电路参数和程序,温湿度测量仪的温度测量范围为0-50摄氏度,温度测量的最大误差不超过±2摄氏度;湿度的测量范围为20%-90%RH,湿度测量的最大误差不超过±5%RH。
系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际利用的测量要求。
4设计结果及分析
设计的最终结果是使温湿度测量仪测量而且显示温度,实现温湿度数据的发送与接收,从而实现利用温湿度传感器进行测量,以数字的形式显示测量数据。
它的硬件电路的设计主要包括单片机系统及显示电路、系统电源
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度 湿度 控制系统 设计