温湿度检测控制系统_第1页
温湿度检测控制系统_第2页
温湿度检测控制系统_第3页
温湿度检测控制系统_第4页
温湿度检测控制系统_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 前言温度和湿度的检测和控制是许多行业的重要工作之一, 不论是货品仓库、 生产车间, 都需要有规定的温度和湿度,然而温度和湿度却是最不易保障的指标,针对这一情况, 研制可靠且实用的温度和湿度检测与控制系统就显得非常重要。温湿度的检测与控制是工业生产过程中比较典型的应用之一, 随着传感器在生产和 生活中的更加广泛的应用。在生产中,温湿度的高低对产品的质量影响很大。由于温湿 度的检测控制不当, 可能使我们导致无法估计的经济损失。 为保证日常工作的顺利进行, 首要问题是加强生产车间内温度与湿度的监测工作,但传统的方法过于粗糙,通过人工 进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工

2、作。这种人工测 试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。目前,在低温条件 下(通常指100C以下),温湿度的测量已经相对成熟。利用新型单总线式数字温度传感 器实现对温度的测试与控制得到更快的开发。但人们对它的要求越来越高,要为现代人 工作、科研、学习、生活提供更好的更方便的设施就需要从数字单片机技术入手,一切 向着数字化,智能化控制方向发展。对于国内外对温湿度检测的研究, 从复杂模拟量检测到现在的数字智能化检测越发 的成熟,随着科技的进步,现在的对于温湿度研究,检测系统向着智能化、小型化、低 功耗的方向发展。在发展过程中,以单片机为核心的温湿度控制系统发展为体积小、操 作简

3、单、量程宽、性能稳定、测量精度高,等诸多优点在生产生活的各个方面实现着至 关重要的作用。温湿度传感器除电阻式、电容式湿敏元件之外,还有电解质离子型湿敏元件、重量 型湿敏元件(利用感湿膜重量的变化来改变振荡频率) 、光强型湿敏元件、声表面波湿 敏元件等。湿敏元件的线性度及抗污染性差,在检测环境湿度时,湿敏元件要长期暴露 在待测环境中,很容易被污染而影响其测量精度及长期稳定性。2002年Sensiron公司在世界上率先研制成功 SHT10型智能化温度/温度传感器,体 积与火柴头相近。它们不仅能准确测量相对温度,还能测量温度和露点。测量相对温度 的范围是0100%,分辨力达%RH最高精度为土 2%R

4、H测量温度的范围是-40 C +1238C,分辨力为0.01 To测量露点的精度1。在测量湿度、温度时 A/D转换器 的位数分别可达 12位、 14位。利用降低分辨力的方法可以提高测量速率,减小芯片的 功耗。SHT1115的产品互换性好,响应速度快,抗干扰能力强,不需要外部元件,适配 各种单片机,可广泛用于医疗设备及温度、湿度调节系统中。现在虽然单片机的品种繁多,各具特色,但仍以 MCS-51 为核心的单片机占主流, 兼容其结构和指令系统的有 PHILIPS公司的产品,ATMEL公司的产品和中国台湾的 WinBond系列单片机。STC89C5是一种低功耗、高性能CMOS8位微控制器,具有8K在

5、系统可编程Flash存 储器。使用Atmel公司高密度非易失性存储器技术制造, 与工业80C51产品指令和引脚 完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上, 拥有灵巧的8位CPU和在系统可编程Flash,使STC89C5为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。本设计以此为出发点,以温湿度控制为核心思想,根据自己所学的专业知识,用新 型的智能集成温温度传感器 SHT10主要实现对温度、湿度的检测,将温度湿度信号通过 传感器进行信号的采集并转换成数字信号,再运用单片机STC89C52进行数据的分析和处理,为显示和报警电路提供信号,实现对温湿度的

6、控制报警。根据工作环境要求设定 系统的温湿度阈值,利用LCD实时地测量显示环境的温湿度值,实现温湿度自动控制, 使其在较宽的温度范围内具有较高的测试精度,同时还可以根据预设定报警阈值报警, 一旦发现环境温湿度超限,立即报警。为此我设计了操作简单、测量精度高、工作稳定 的基于单片机的温湿度检测与控制系统。2设计内容及方案设计内容用新型的智能集成温温度传感器 DHT11主要实现检测温度、湿度的检测,将温度湿 度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机STC89C524行数据的分析和处理,为显示和报警电路提供信号。设定模块主要为设定温湿度报警的阈值。 如图2-1所示。图2-1设计模

7、块图要求如下:1、用单片机通过编程来实现温湿度的显示与控制 ;2、通过LCD来显示温湿度的数值;3、能够实现超阈值的报警;4、检测范围与精度:温度检测范围:-30C+100C测量精度:C湿度检测范围:0100%RH检测精度:%RH温湿度传感器方案选择方案一:湿度检测采用湿敏元件, 其主要分为电阻式和电容式。 湿敏电阻的种类多, 灵敏度高,但是起线性度和产品的互换性差。湿敏电容灵敏度高,产品互换性搞,响应 速度快,偏于实现产品小型化和集成化,是精度一般比湿敏电阻要低一些。综合湿敏元 件,其线性度可抗污染性差,在湿度的检测环境中湿敏元件需要时刻在检测环境中,很 容易受到环境污染从而影响其测量精度和

8、持续的稳定性。温度检测采用最基本的热电偶和热敏电阻。热电偶应用广泛,价格便宜而且耐用。种类多,能够覆盖非常宽的温度范围,最高温度可以到达 2000r。但是其非线性、响应 速度慢、精度中等、灵敏度低、稳定性低、高温下容易老化和有线性漂移,并且测量需 要参考量。热敏电阻,该传感器主要随温度的变化阻值发生变化, 主要用于-200到500C 温度范围内的温度测量。其温度系数要大而且需要稳定的温度源,反应速度快,工艺好 价格低,测温环境稳定。方案二:温湿度检测采用集成模拟传感器,其灵敏度高、线性度好、响应速度快, 而且它可以和信号处理电路及逻辑控制电路集成在一起,使用方便。湿度传感器选用 HS1101,

9、温度传感器选择AD590。这两个传感器,在接入电路中,都需要 A/D转换器, 把模拟信号转换成数字信号从而是单片机存储采集到的数据。方案三:采用数字式传感器,起初选择DS18B20和SHT10作为温度和湿度测量元件, 但是SHT10包含相对湿度传感器、温度传感器,所以把SHT10作为温湿度检测的一个整 体。SHT10作为典型的温湿度传感器,在测量过程中可对相对温湿度进行自动校准,准 确的测量温湿度。产品互换性好,相应速度快,抗干扰性强,不需要外部参考源和外部 器件。综上所述,SHT10与温湿敏元件的温湿度测量以及模拟测量的元器件相比,起数字 温湿度传感器低成本,内部集成复杂,测量准确,而且能够

10、提供数字输出,简化外部测 量电路,精度高,适用广泛的测量范围,并且本设计的温湿度检测系统相适合。因此, 选择温度湿度传感器SHT10作为此次设计中的测量元件。显示器方案选择方案一:数码管显示,数码管按段数分为七段数码管和八段数码管,起驱动方 式分别为静态驱动和动态驱动, 静态驱动编程简单, 显示亮度高但是占用 I/O 端口 多,在十几应用时必须增加译码器驱动进行驱动,增加了硬件电路的复杂性。动 态电路是最广泛的显示方式之一,其能够节省大量的 I/O 端口,而且功耗低。针对 数码管,其显示单调不具备数据的直观性。方案二:LCD1602液晶显示,具有字符发生器ROM可显示192种字符(160个57

11、 点阵字符和32个510点阵字符)具有64个字节的自定义字符RAM,可自定义8个58 点阵字符或四个511点阵字符。具有80个字节的RAM,标准的接口特性,适配M6800 系列 MPU 的操作时序。模块结构紧凑、轻巧、装配容易,像素尺寸小,分辨率高。综上,选择 LCD1602 能够把温湿度很直观的显示出来,能够在设定阈值时更能简洁明了,所以选择LCD1602为显示元件。3系统的硬件选择及设计原理温湿度传感器SHT10温湿度传感器SHT10由Sensirion公司生产,其产品具有无可比你的优越性能。SHT10单芯片传感器内含有已校准数字信号输出的复合传感器,它应用专利的COMS过程微加工技术确保

12、了产品具有极高的可靠性与卓越的长期稳定性。体积与火柴头相近。它们不仅能准确测量相对温度,还能测量露点参数。广泛应用在数 据采集器、变送器、自动化过程控制、汽车行业、楼宇控制、暖通空调、电力机房、计量测试、医药业。实体图如图3-1所示。引脚名称描述1GND接地2DATA串行数据,双向3SCK串行时钟,输入口4VDD电源NCNC必须为空图3-1 SHT10传感器实体与接口图表3-1接口定义接口定义如表3-1所示:SHT10的供电电压范围为,建议供电电压为。在电源引脚(VDD,GND)之间须加一个100nF的电容,用以去耦滤波。SHT10的串行接口,在传感器信号的读取及电源损耗方面,都做了优化处理。

13、传感器不能按照I2C协议编址,但是,如果I2C总线上没有挂接别的元件,传感器可以连接到I2C总线上,但单片机必须按照传感器的协议工作。SCK用于微处理器与 SHT10之间的通讯同步。由于接口包含了完全静态逻辑,因而不存在最小SCK频率。DATA引脚为三态结构,用于读取传感器数据。当向传感器发送命令时,DATA在SCK上升沿有效且在 SCK高电平时必须 保持稳定。DATA在SCK下降沿之后改变。为确保通讯安全,DATA的有效时间在SCK上升沿之前和下降沿之后应该分别延长至TSU and THO当从传感器读取数据时,DATA TV在SCK变低以后有效,且维持到下一个SCK的下降沿。为避免信号冲突,

14、微处理器应驱动 DATA在低电平。需要一个外部的上拉电阻(例如: 10k Q) 将信号提拉至高电平。上拉电阻通常已包含在微处理器的I/O电路中。电路热性电气特性,如能耗,高、低电平,输入、输出电压等,都取决于电源。表3-2详细解释了 SHT10的电气特性,若没有标明,则表示供电电压为5V。若想与传感器获得最佳通讯效果。参数条件最小典型最大单位供电电源DC10V供电电流测量状态1mA平均值11228休眠状态低电平输出电压IOL4mA0250mV高电平输出电压RP b 3-J、4 - ft a n .iU 2I0 34 s 6D ?O 80 空0 110-4rnid.328 PZ7 (A15)(T

15、O) P3.4 匚*427 P2 0 (AU :(TT)P3为匚1526 P2.5 (A13)=三1匚为- P2 4 (A12)无 F3.7L1724n P2_3 (A11)XTAL2C1523 P2 2 (AW)XTAL* 匚nn P2 1 A?i匚2D21 PZCiABi图 3-5 STC89C52框图脚口介绍:8位微控制器 8K字节在系统可编程 Flash STC89C52P0 口: P0 口是一个8位漏极开路的双向I/O 口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“ 1时,弓I脚用作高阻抗输入。当访问外部程序和数 据存储器时,P0 口也被作为低 8位地址/数据复用。在这

16、种模式下,P0不具有内部上拉电阻。在flash编程时,P0 口也用来接收指令字节;在程序校验时,输出指 令字节。程序校验时,需要外部上拉电阻。P1 口: P1 口是一个具有内部上拉电阻8位双向I/O 口,pl输出缓冲器能驱动4个TTL逻辑电平。P1端口写“ 1时,内部上拉电阻把端口拉高,此时可以作为 输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)此外,和分别作定时器/计数器2的外部计数输入(T2)和定时器/计数器2的 触发输入( T2EX)。在flash编程和校验时,P1 口接收低8位地址字节。引脚号第二功能:T2 (定时器/计数器T2的外部计数输入),

17、时钟输出。T2EX (定时器/计数器T2的捕捉/重载触发信号和方向控制)。MOSI (在系统编程用)。MISO (在系统编程用)。SCK(在系统编程用)。P2 口: P2 口是一个具有内部上拉电阻的8位双向I/O 口,P2输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P2 端口写 “1”时,内部上拉电阻把端口拉高,此时 可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因, 将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MO

18、VX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在 flash编程和校验时,P2 口也接收高8位地址字节和 一些控制信号。P3 口: P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口, p3 输出缓冲器能 驱动 4个 TTL 逻辑电平。对 P3 端口写 “1”时,内部上拉电阻把端口拉高,此时可 以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因, 即P3 口输出电流(IIL)。P3 口亦作为STC89C52特殊功能(第二功能)使用,如下表 3-3所示。在flash编程和校验时,P3 口也接收一些控制信号。端口引脚第二功能RXD(串行输入口 )TXD(串行

19、输出口 )INTO(外中断0)INT1(外中断1)TO(定时/计数器0)T1(定时/计数器1)WR(外部数据存储器写选通)RD(外部数据存储器读选通)表3-3 P3 口引脚与第二功能此外,P3 口还接收一些用于 FLASH闪存编程和程序校验的控制信号。RS复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE (地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的 1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每 当访问外部数据存储器时将跳过一个ALE脉

20、冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG。如有必要,可通过对特殊功能寄存器( SFR区中的8EH单元的DO位置位,可禁止 ALE操作。 该位置位后,只有一条MOVX和MOVC指令才能将 ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储 存允许(PSEN)输出是外 部程序 存储器的读选通信号,当 AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为 0000H

21、-FFFFH,EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存 EA端状态。如EA端为高电平(接 Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源 Vpp,当然这必须是器件是使用12V编程电压Vpp复位电路RST引脚是单片机复位端,高电频有效。在引脚端输入至少连续两个单片机周期的高电频,单片机复位。使用时,在引脚与VSS引脚之间接一个10K Q的下拉电阻,与VCC引脚之间接一个约 10卩F的电解电容,即可保证上电自动复位。本设 计中复位电路如图 3-6所示。R ES1 SW -PB图3-6复位电路晶振电路在

22、单片机电路中晶振的作用非常大,结合单片机内部的电路,产生单片机所必需的时钟频率,单片机的一切指令的执行都是建立在晶振的基础上。晶振利用一种特殊的晶体,在电能和机械能之间相互转化产生共振,提供稳定精确的单频震荡,为系统提供基本的时钟信号。晶振元器件实物图如图3-7所示图3-7晶振实物图C1、C2为负载电容,X1为晶振,12MHz。设计中晶振电路如图 3-8所示。C2I111 X1I01图3-8晶振电路显示电路本设计显示部分采用字符型TC1602液晶显示所测温湿度值并且显示控制界面。TC1602实物图如图 3-9所示。LCD1602显示器主要特点:液晶显示屏是以若干个58或511点阵块组成的显示字

23、符群。每个点阵块为一个字符位,字符间距和行距都为一个点的宽度。主控制驱动电路为HD44780(HITACHI)及其他公司全兼容 电路,如 SED1278 ( SEIKO EPSON)、KS0066 (SAMSUNG)、NJU6408 ( NER JAPAN RADIO。具有字符发生器 ROM可显示192种字符(160个57点阵字符和32个510 点阵字符)具有 64个字节的自定义字符 RAM,可自定义8个58点阵字符或四个 511点阵字符。具有80个字节的RAM,标准的接口特性, 适配M6800系列MPU的操作时序。模块结构紧凑、轻巧、装配容易,像素尺寸小,分辨率高。颜色分单色(黑白)、彩色两

24、种为便于夜间观察,可采用由LED或ELD器件构成的背景光源。液晶显示器属于被动发光型显示器件,它本身不发光,只能反射或透射外界光线,因此环境亮 度越高,显示越清晰。其亮暗对比度可达100:1。单+5V电源供电,采用交流驱动方式。图3-9 TC1602实物图使用时,可将P0与LCD的数据线相连,P2口与LCD的控制线相连,其中,TC1602第4脚RS为寄存器 选择,第5脚RW为读写信号线,第6脚E为使能端。第714脚:D0D7为8位双向数据线。这里要注意的是,为了布线方便,单片机端的D0D7是接到LCD602的D1D0,正好相反,因LCD1示电路如图3-10所示。此在编写软件时需要做处理,使读取

25、正确。3USS V CCCVLC D 1602SRWR1A3 A2A3 4 5 6 |7625 6VC-9 1P12 P0卜W 1 10 K1602对比调节图3-10显示电路报警电路本设计采用的是声光报警,设定报警的上下限值实现报警功能,使用单片机的中断系统。根据单片机接收到的数据经过处理后与该参数设定的上下限进行比较,高于上限值(或低于下限值)则进行报警,同时能进行正常的显示。报警电路中,以指示灯和蜂鸣器构成,在输入温湿度的上下限后,系统会进行实时采样,并判断测 试温湿度与输入温湿度之间的差异,当检测出的温湿度在设定的温湿度上下限外就会报警,即指示 灯亮,同时蜂鸣器响,电机转动。报警电路如图

26、 3-11所示。1LJ13V WWLH-mrj|ITE=-!jR- Tism关诃制U2!怛Hide Al12MHzHide Al21* Hide Al|AT93C5?匚a reelOlher pop 訥 iew;Exclude Iron Sim Jatn E xdud fpm PCB L那5 Edit all properties as textAttach hierarchy module Hide GoninQn pin?图5-4程序导入界面根据原理图焊接电路板按照设计的电路图焊接电路板,原理图如图5-2。焊接时要牢记注意点, 短路、虚焊都不要出现,在焊接每一次完成后都要认真检查有没有出现

27、错误,避免在总 体的焊接完毕后,出现不知所以的问题。所以在焊接时严格按照电路图焊接。焊接完成后检查电路板焊接情况,用万用表检查电路是否存在短路、虚焊。检查完毕确认没有问题的情况下加电测试。实物电路板如图 5-6所示。附录头文件:#ifndef _TOU_H_ #define _TOU_H #include #include 据端口*DS1602 函数声明 */void LCD_Initial();void GotoXY(unsigned char x, unsigned char y); void Print(unsigned char *str);void LCD_Write(bit sty

28、le, unsigned char input);*SHT10 函数声明*/void s_connectionreset(void);char s_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode); void calc_sth10(float *p_humidity ,float *p_temperature);/float calc_dewpoint(float h,float t);#endif*SHT10程序():#include#define noACK 0/ 继续传输数据,用于

29、判断是否结束通讯#define ACK 1/ 结束数据传输;/ 地址命令读/写#define STATUS_REG_W 0x06/00000110#define STATUS_REG_R 0x07/00000111#define MEASURE_TEMP 0x03/00000011#define MEASURE_HUMI 0x05/00000101#define RESET0x1e/00011110/ 写字节程序char s_write_byte(unsigned char value)unsigned char i,error=0; for (i=0x80;i0;i=1) if (i&val

30、ue) DATA=1;else DATA=0;SCK=1;_nop_();_nop_();_nop_();SCK=0;DATA=1;SCK=1; error=DATA; _nop_();_nop_();_nop_();SCK=0;DATA=1; return error;/ 读字节程序char s_read_byte(unsigned char ack) /unsigned char i,val=0;DATA=1; for(i=0x80;i0;i=1)SCK=1; if(DATA) val=(val|i);SCK=0;DATA=!ack;SCK=1; _nop_();_nop_();_nop_();SCK=0; _nop_();_nop_();_nop_();DATA=1; return val;/ 高位为 1 ,循环右移/ 和要发送的数相与,结果为发送的位/ 延时 3us/ 释放数据线/ 检查应答信号,确认通讯正常/error=1 通讯错误/ 释放数据线/ 高位为 1,循环右移/ 读一位数据线的值/ 如果是校验,读取完后结束通讯;/ 延时 3us/ 释放数据线/ 启动传输void s_transstart(void)/ generates a transmis

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论