沐浴热水器节水控制系统.docx

上传人:b****9 文档编号:26184227 上传时间:2023-06-17 格式:DOCX 页数:29 大小:401.74KB
下载 相关 举报
沐浴热水器节水控制系统.docx_第1页
第1页 / 共29页
沐浴热水器节水控制系统.docx_第2页
第2页 / 共29页
沐浴热水器节水控制系统.docx_第3页
第3页 / 共29页
沐浴热水器节水控制系统.docx_第4页
第4页 / 共29页
沐浴热水器节水控制系统.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

沐浴热水器节水控制系统.docx

《沐浴热水器节水控制系统.docx》由会员分享,可在线阅读,更多相关《沐浴热水器节水控制系统.docx(29页珍藏版)》请在冰豆网上搜索。

沐浴热水器节水控制系统.docx

沐浴热水器节水控制系统

前言

目前我国国有企业、事业单位、学校等都有许多公共浴室,其多是传统淋浴设备,这些设备旧,造成大量淡水资源的浪费,针对我国淡水资源浪费的现状,本文设计了一种能自动感应人的来去的红外自动淋浴系统。

在硬件方面系统主要以AT89S51单片机为核心,以RE200B传感器为红外接收模块,DS18B20温度检测、按键电路、蜂鸣器报警模块,LCD显示模块及电磁阀控制模块,并辅有一些外部元件组成。

单片机接收到的红外信号后打开电磁阀,此时开始淋浴,同时通过LCD液晶显示淋浴时间或定时时间,当定时时间快到时,通过蜂鸣器进行声音报警,并一分钟后关闭电磁阀,从而达到淋浴节水效果。

在软件设计方面采用C语言编程,是由于其易于为单片机所识别,执行速度快。

程序容易读懂、最后对软件调试进行了误差分析。

基于单片机淋浴热水器节水控制设计完善,实现方案简单易行。

采用软件设计来控制,可以实现智能检测水位及水温,智能加热,自动判断人来,节约了用水。

集成了光学、电子、单片机和机械等技术于一体。

系统工作可靠,成本低廉,经济效益显著,并且提高了整机的可靠性及准确性。

 

一:

总体设计容

1.设计思路及原理框图

在硬件方面系统主要以AT89S51单片机为核心,以RE200B传感器为红外接收模块,DS18B20温度检测、按键电路、蜂鸣器报警模块,LCD显示模块及电磁阀控制模块,并辅有一些外部元件组成。

在软件设计方面采用C语言编程,是由于其易于为单片机所识别,执行速度快。

人靠近淋浴器时,系统中的红外传感器检测模块便检测到相应的人体红外信号,系统便被触发;单片机接收到的红外信号后打开电磁阀,此时开始淋浴,同时通过LCD液晶显示淋浴时间或定时时间,当定时时间快到时,通过蜂鸣器进行声音报警,并一分钟后关闭电磁阀,从而达到淋浴节水效果。

在洗澡时还可以调节温度。

2.控制回路

淋浴热水器节水自动控制系统主要包括三个回路:

1.水温检测控制回路:

当传感器工作时,先设定温度在一定的围,一般是40-50度之间,如果水温超过50,将温度传给单片机,蜂鸣器报警,并断电;如果水温低于40热水器开始工作,加热指示灯亮。

2.人体信号检测回路:

人靠近淋浴器时,系统中的红外传感器检测模块便检测到相应的人体红外信号,系统便被触发;单片机接收到的红外信号后打开电磁阀

3.按键控制水温检测回路:

通过按下加键或减键来给单片机一个信号,经部转换后,输出另外一个信号来控制热电偶,使水温在设定值上增加或减小。

3.检测元件

(1)RE200B热释电红外传感器

红外信号采集都是指从传感器或者其他待测的设备等模拟被测单元或数字被测单元中自动采集信息的一个过程。

信号采集系统是结合计算机的测量软硬件相关产品来实现灵活、用户自定义的测量系统。

一个完备的数据采集系统应该包括传感器或变换器、信号调理设备、数据采集和分析硬件、驱动程序和应用软件等等。

本系统中被检测的信号为模拟量,要经过BISS0001转换成数字量,才能实现单片机的控制。

数据采集模块是将人体红外的传感器信号,经过BISS0001送给单片机进行处理,终端单片机判断处理并作时间数码显示及蜂鸣器报警。

在数据采集模块部分,本系统采用AT89S51单片机作为前端警情采集中心控制单元,主要完成对所采集数据的处理。

RE200B热释电红外传感器通常由热释电晶体、氧化膜、滤光镜片、结型场效应管FET和电阻等部分组成。

红外传感器工作原理与红外线有关,它是利用红外线的物理性质来进行测量的传感器,热释电红外传感器部的热释电晶体具有极化现象,并且随温度的变化而变化。

通过滤镜可以限定晶体对特定波长的光线产生响应,一般在8um-14um,这样就非常接近人体辐射的红外线波长了。

当恒定的红外辐射照射在探测器上时,热释电晶体温度不变,晶体对外呈电中性,探测器没有电信号输出,因而恒定的红外辐射不能被检测到。

当交变的红外线照射到晶体表面时,晶体温度迅速变化,这时才发生电荷的变化,从而形成一个明显的外电场,这种现象称为热释电效应。

由于热释电晶体输出的是电荷信号,不能直接使用,需要用电阻将其转换为电压形式,该电阻阻抗高达104兆,故引入N沟道结型场效应管接成共漏形式(即源极跟随器)来完成阻抗变换。

热释电红外传感器。

该传感器将两个特性相同的热释电晶体逆向串联,用来防止其他红外光引起传感器误动作。

另外,当环境温度改变时,两个晶体的参数会同时发生变化,这样可以相互抵消,避免出现检测误差。

该传感器使用时,D端接电源正极,G端接电源负极,S接地。

RE200B红外热释电处理芯片BISS0001,BISS0001是一款具有较高性能的传感信号处理集成电路,它配以热释电红外传感器和少量外接元器件构成被动式的热释电红外开关。

它能自动快速开启各类白炽灯、荧光灯、蜂鸣器、自动门、电风扇、烘干机和自动洗手池等装置

BISS0001是由运算放大器、电压比较器、状态控制器、延迟时间定时器以及封锁时间定时器等构成的数模混合专用集成电路。

有如下特点:

1.CMOS工艺

2.数模混合

3.具有独立的高输入阻抗运算放大器

4.部的双向鉴幅器可有效抑制干扰

5.设延迟时间定时器和封锁时间定时器

6.采用16脚DIP封装

两种工作方式

1.不可重复触发工作方式

 首先,根据实际需要,利用运算放大器OP1组成传感信号预处理电路,将信号放大。

然后耦合给运算放大器OP2,再进行第二级放大,同时将直流电位抬高为VM(≈0.5VDD)后,将输出信号V2送到由比较器COP1和COP2组成的双向鉴幅器,检出有效触发信号Vs。

由于VH≈0.7VDD、VL≈0.3VDD,所以,当VDD=5V时,可有效抑制±1V的噪声干扰,提高系统的可靠性。

COP3是一个条件比较器。

当输入电压VcVR时,COP3输出为高电平,进入延时周期。

当A端接“0”电平时,在Tx时间任何V2的变化都被忽略,直至Tx时间结束,即所谓不可重复触发工作方式。

当Tx时间结束时,Vo下跳回低电平,同时启动封锁时间定时器而进入封锁周期Ti。

在Ti时间,任何V2的变化都不能使Vo跳变为有效状态(高电平),可有效抑制负载切换过程中产生的各种干扰。

2.可重复触发工作方式

可重复触发工作方式下在Vc=“0”、A=“0”期间,信号Vs不能触发Vo为有效状态。

在Vc=“1”、A=“1”时,Vs可重复触发Vo为有效状态,并可促使Vo在Tx周期一直保持有效状态。

在Tx时间,只要Vs发生上跳变,则Vo将从Vs上跳变时刻起继续延长一个Tx周期;若Vs保持为“1”状态,则Vo一直保持有效状态;若Vs保持为“0”状态,则在Tx周期结束后Vo恢复为无效状态,并且,同样在封锁时间Ti时间,任何Vs的变化都不能触发Vo为有效状态。

(2)DS18B20温度传感器

DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式。

现场温度直接以一线总线的数字方式传输,大大提高了系统的抗干扰性。

适合于恶劣环境的现场温度测量,如:

环境控制、设备或过程控制、测温类消费电子产品等。

与前一代产品不同,新的产品支持3V-5.5V的电压围,使系统设计更灵活、方便。

其性能特点可归纳如下:

1)独特的单线接口仅需要一个端口引脚进行通信;

2)测温围在-55℃到125℃,分辨率最大可达0.0625℃;

3)采用了3线制与单片机相连,减少了外部硬件电路;

4)零待机功耗;

5)可通过数据线供电,电压围在3.0V-5.5V;

6)用户可定义的非易失性温度报警设置;

7)报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;

8)负电压特性,电源极性接反时,温度计不会因发热烧毁,只是不能正常工作。

DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量围为-55℃至+125℃,可编程为9位到12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出,支持3V-5.5V的电压围,使系统设计更灵活、方便;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。

以上特点使DS18B20非常适用于远距离多点温度检测系统。

分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。

DS18B20使电压、特性有更多的选择,让我们可以构建适合自己的经济的测温系统。

如图2所示DS18B20的2脚DQ为数字信号输入/输出端;1脚GND为电源地;3脚VDD为外接供电电源输入端。

当传感器工作时,先设定温度在一定的围,一般是40-50度之间,如果水温超过50,将温度传给单片机,蜂鸣器报警,并断电;如果水温低于40热水器开始工作,加热指示灯亮。

4.计算机的机型选择

本设计采用AT89S51单片机

1.主要参数如下:

1)与MCS-51产品指令系统完全兼容

2)4k字节在线系统编程(ISP)Flash闪速存储器

3)1000次擦写周期

4)4.0-5.5V的工作电压围

5)全静态工作模式:

0Hz-33MHz

6)三级程序加密锁

7)128×8字节部RAM

8)32个可编程I/O口线

9)2个16位定时/计数器

10)6个中断源

11)全双工串行UART通道

12)低功耗空闲和掉电模式

13)看门狗(WDT)及双数据指针

14)掉电标识和快速编程特性

15)灵活的在线系统编程(ISP字节或页写模式)

2.串行编程指令设置:

串行编程指令设置为一个4字节协议。

3.并行编程接口:

采用控制信号的正确组合可对Flash闪速存储阵列中的每一代码字节进行写入和存储器的整片擦除,写操作周期是自身定时的,初始化后,它将自动定时到操作完成。

4.功能特性概述:

AT89S51提供以下标准功能:

4k字节Flash闪速存储器,128字节部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片振荡器及时钟电路。

同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

5.AT89S51单片机最小系统

AT89S51单片机最小系统由AT89S51单片机及其外围电路组成,外围电路包括时钟电路和复位电路两部分。

1)时钟电路:

时钟电路为单片机产生时序脉冲,单片机所有运算与控制过程都是在统一的时序脉冲的驱动下的进行的,时钟电路就好比人的心脏。

同样,如果单片机的时钟电路停止工作(晶振停振),那么单片机也就停止运行了。

当采用部时钟时,连接方法如下图所示,在晶振引脚XTAL1(19脚)和XTAL2(18脚)引脚之间接入一个晶振,两个引脚对地分别再接入一个电容即可产生所需的时钟信号,电容的容量一般在几十皮法,如30PF。

单片机部有一个高增益反向放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2。

而在芯片外部XTAL1和XTAL2之间跨接晶体震荡器和微调电容,从而构成一个稳定的自激振荡器。

外接晶体(石英或瓷,瓷的精度不高,但价格便宜)振荡器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中,C1和C2的大小会对振荡器频率的高低、振荡器的稳定性、起振的快速性和温度特性有一定的影响。

因此建议在采用石英晶体振荡器时取

,瓷振荡器时取

,典型值为40pF。

在设计电路板时,振荡器和电容应尽量安装得与单片机靠近,以减小寄生电容的存在,更好的保障振荡器稳定、可靠的工作。

在任何情况下,振荡器始终驱动部时钟发生器向主机提供时钟信号,因为时钟发生器的输入是一个二分频电路,所以对外部振荡信号的脉宽无特殊要求,但必须保证高、低电平的最小宽度。

2)复位电路:

单片机的复位电路分上电复位和按键手动复位。

它是利用外部复位电路来实现的。

当Vcc上升时间不超过1ms(RC=τ),振荡器启动时间不超过10ms。

在加电情况下,这个电路可以使单片机复位。

在加电开机时,RST上的电压从Vcc逐渐下降,RST引脚的电位是Vcc与电容电压的差,RST上的电压必须保证在斯密特触发器的阀值电压以上足够长时间,以满足复位操作的要求。

按键电平复位是将复位端通过电阻与Vcc相连。

在按键电平复位和按键脉冲复位两种简单的复位电路中,干扰易串入复位端,在大多数情况下,不会造成单片机的错误复位,但会引起部寄存器错误复位,这里可在复位端引脚上接一个去藕电容。

需说明的是,如复位电路中R、C的值选择不当,使复位时间过长,单片机将处于循环复位状态,

为了使用方便和设计电路简化及设计要求,我们采用上电复位和按键电平复位相结合的方法。

复位后,单片机从0000H单元开始执行程序,并初始化一些专用寄存器为复位状态值,受影响的专用寄存器如下表所示:

表3.1专用寄存器状态表

寄存器

状态

寄存器

状态

PC

0000H

TCON

00H

ACC

00H

TL0

00H

PSW

00H

TH0

00H

SP

07H

TL1

00H

DPTR

0000H

TH1

00H

P0--P3

FFH

SCON

00H

IP

xxx00000H

SBUF

不确定

IE

0xx00000H

PCON

0xxx0000H

TMOD

00H

 

 

AT89S51单片机最小系统由AT89S51单片机及其外围电路组成,外围电路包括时钟电路和复位电路组成、为了保证单片机能安全、精确、高效的工作,在选择单片机AT89S51时,在其9脚加了复位电路18和19脚加了时钟电路。

二:

硬件设计

红外采集信号电路图

一般人体都有恒定的体温,一般在37度,所以会发出特定波长10UM左右的红外线,红外传感器接收到人体红外信号经BISS0001处理后输出输给单片机P1.0口,TEL0表示接AT89S51是的P1.0口,通过对单片机P1.0口的高低电平判断来完成红外信号的采集,当P1.0口为低电时判断人来然后送给单片机,单片机再给电磁阀电路,电磁阀开始出水,否则继续循环检测,当人来时完成信号采集实现对单片机外围电路的控制,如电磁阀控制水阀电路,液晶显示淋浴时间等。

红外采集电路如图3-5所示:

LCD液晶显示电路设计

在本系统中,用LCD液晶屏来构成显示部分,主要在人来时对淋浴计时时间和显示温度及定时时间的显示。

LCD液晶显示具有功耗低、寿命长、无辐射、不易引起视疲劳等优点,正在被广泛应用于仪表、家用电器、计算机、医疗仪器及交通和通信领域。

本系统中,选择JHD162A作为液晶屏的显示驱动控制器。

1602LCD液晶模块JHD162A简介

字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD目前常用16*116*220*2和40*2行等的模块。

是一种很常用的小型液晶显示模块在单片机系统、嵌入式系统等的人机界面中得到了广泛的应用。

1602LCD主要技术参数如下:

1)显示容量:

16×2个字符

2)芯片工作电压:

4.5-5.5V

3)工作电流:

2.0mA(5.0V)

4)模块最佳工作电压:

5.0V

5)字符尺寸:

2.95×4.35(W×H)mm

液晶显示器简称LCD,它是利用液晶经过处理后能改变光线传输方向的特性实现信息的。

LCD具有体积小、重量轻、功耗极低、显示丰富等特点,正广泛地被各类电子产品所应用。

LCD1602字符型液晶模块是两行16个字的5X7点阵图形来显示字符的液晶显示器.单片机与1062LCD接口电路设计

图3-7单片机与JHD162的接口电路

3.4报警电路设计

本系统采用蜂鸣器作为报警,淋浴时当设置的定时时间还有一分钟时,蜂鸣器响应,单片机进行报警。

蜂鸣器报警原理比较简单,单片机对IO口P1.2控制;当定时时间还有一分钟时,单片机给P1.2口输出低电平,蜂鸣器工作,达到报警的效果。

温度设定好以后,温度高于设定值,它会自动报警并断电。

报警电路如图3-8所示:

图3-8蜂鸣器与单片机的接口电路图

3.5电磁阀电路设计

本系统采用电磁阀控制浴室水阀的开关,电磁阀是利用电线圈通电时产生电磁力,使动铁芯克服弹簧力同静铁芯吸合直接开启阀,介质呈通路;当线圈断电时电磁力消失,铁芯在弹簧力的作用下复位,直接关闭阀口,介质不通。

系统中由单片机AT89S51的P1.1脚输出信号使驱动电路工作于相应的工作状态。

当P1.1输出高电平时,经过电阻R21使开关三极管8050饱和导通,电流从R21经三极管的CE极流向光电耦合器,发光二极管点亮,次极三极管导通,水管电磁阀通电,吸合动铁芯,阀门打开,水开始流出。

当P1.1输出低电平时,三极管8050截止,水管电磁阀断电,阀门关闭。

电磁阀的控制电路如图3-10所示:

图3-9电磁阀电路

3.6独立键盘接口电路

本毕业设计的按键采用独立式按键,是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。

独立式按键的典型应用如图:

按键输入均采用低电平有效,此外,上拉电阻保证了按键断开时,I/O口线有确定的高电平。

当I/O口线部有上拉电阻时,外电路不可接上拉电阻。

独立式按键的软件常采用查询式结构。

先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序,具体编程见程序清单。

 

3-10按键电路

3.7温度检测电路

本文采用温度传感器DS18B20采集电热水器的实时温度,提供给AT89S51的P3.3口作为数据输入。

在本次设计中我们所控的对象为水温。

其电路原理框图如下:

 

图3-11温度检测电路

当传感器工作时,先设定温度在一定的围,一般是40-50度之间,如果水温超过50,将温度传给单片机,蜂鸣器报警,并断电;如果水温低于40热水器开始工作,加热指示灯亮。

 

第4章软件设计

分析单片机的系统功能可知,它是数据采集模块的主控制器,主要完成对人头红外信号的采集,然后通过红外传感模块传送给单片机处理。

根据系统功能要求,单片机的软件设计部分主要包括主程序设计、红外信号采集程序设计和LCD显示程序设计以及报警程序设计。

4.1主程序设计

系统主程序主要是在系统上电后进行的一系列初始化工作,包括对I/O口、定时器/计数器、中断系统等特殊功能寄存器赋值,使得数据采集、LCD显示、电磁阀控制、按键电路、报警等模块与单片机的数据传输正常。

当把采集到红外信号进行相应的处理后,通过LCD进行时间显示,同时对电磁阀、蜂鸣器进行相应的控制。

先是单片机的准备,系统的初始化,单片机开始扫描判断人来没。

如果人来的话开始定时通过LCD显示。

同时开始计时,洗澡时水温不合适时通过按键调节温度。

判断人走否,时间到的话开始报警,还有一分钟时电磁阀关闭其程序运行框图如图4-1所示。

 

图4-1主程序流程图

4.2红外信号采集程序

通过对单片机P1.0口的高低电平判断来完成红外信号的采集,当P1.0口为低电时判断人来然后送给单片机,单片机再给电磁阀电路,电磁阀开始出水,否则继续循环检测,当人来时完成信号采集。

程序如图4-2所示:

 

图4-2红外信号采集程序流程图

4.3报警程序

当淋浴时定时时间还有一分钟结束时,蜂鸣器报警。

报警时,单片机给IO口P1.2赋予低电平,此时进行报警,先是系统初始化,判断P1-0是否为0,如果为0的话,给P1-2低电平报警电路开始报警。

不为0时,继续扫描。

如图4-3所示:

 

图4-3报警电路流程图

4.4液晶显示驱动程序

显示模块采用的是LCD1602液晶显示芯片,使用LCD进行显示也有很多成熟的技术。

单片机将处理完的数据传输到LCD显示的时候,也用了很多子程序它们有检查LCD忙状态(程序流程图为图4-4);写指令数据到LCD(程序流程图为图4-5);写显示数据到LCD(程序流程图为图4-6);LCD初始化(程序流程图为图4-7)。

通过液晶显示出来,相关人员就可以更加直接的对淋浴房的当前情况有一个直观的了解了。

 

图4-4检查LCD忙流程图图4-5写指令数据流程图

 

图4-6读数据流程图图4-7LCD初始化流程图

4.5独立按键接口程序

如果当人洗澡时,感觉温度不合适,可以通过按键来调节温度,可以增加温度也可以减少温度,达到令人满意的水温。

程序开始,然后按键扫描,判断有键按下吗,进入调温模式,有键按下是加键的话,温度加1,如果是减键就预设温度减1度。

程序如图4-8:

所示

 

4.6温度检测程序

先设定温度在一定的围,一般是40-50度之间,如果低于围会通过加热器加热,如果高于围会报警断电,程序开始,如果水温低于预设值,报警电路开始报警,同时加热器开始加热,当加热到一定程度,高于预设值,加热器开始断电。

程序如图4-9:

 

图4.9 温度检测运行程序流程框图

 

附录A开发板原理图

附录B程序清单

#include"24c02.h"

sbitp1.0=P1^0;/定义红外信号采集口

sbitp1.1=P1^1;/定义控制电磁阀口

sbitp1.2=P1^2;/定义蜂鸣器控制口

sbitlcden=P2^2;//定义LCD使能端

sbitrw=P2^1;//定义LCD读写端

sbitrs=P2^0;//定义1602液晶RS端

ucharcount,s1num;

charge,shi,bai;

/*-----------------------------------------------------------*/

//两个延时函数

voiddelay0()

{;;}

voiddelay(uintz)

{

uintx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

/*-----------------------------------------------------------*/

//报警函数

voidbaojing()

{

P1.2=0;

delay(100);

p1.2=1;

}

/*-----------------------------------------------------------*/

voidwrite_(uchar)

{

rs=0;

lcden=0;

P0=;

delay(5);

lcden=1;

delay(5);

lcden=0;

}

/*-----------------------------------------------------------*/

voidwrite_date(uchardate)

{

rs=1;

lcden=0;

P0=date;

delay(5);

lcden=1;

delay(5);

lcden=0;

}

/*-----------------------------------------------------------*/

//时间函数

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

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1