基于51单片机的智能热水器设计

需要全部文件请私信关注我!!!

基于51单片机的智能热水器设计

  • 摘要
  • 一、绪论
    • 1.1 选题背景及意义
    • 1.2 完成目标与功能设计
  • 二、硬件系统设计
    • 2.1 硬件完成要求
    • 2.2 方案选择
    • 2.3 电源电路设计
    • 2.4 键盘电路
    • 2.5 蜂鸣器报警电路
    • 2.6 温度检测电路
    • 2.7 红外一体接受电路设计
    • 2.8 1602显示屏电路设计
    • 2.9 单片机最小系统设计
  • 三、软件系统设计
    • 3.1 主程序流程图设计
  • 四、附录

摘要

本设计采用STC89C51单片机为核心来设计智能电热水器。本设计也对单片机控制电热水器实现智能化的可能性进行了分析,利用温度传感器、和继电器等来完成本设计。在硬件设计方面,主要对单片机最小系统及其扩展、电源电路、键盘显示及接口电路、水温检测电路、报警电路进行了详细介绍。还详细介绍了设计中应用到的主要芯片的性能和特点,包括STC89C51、DS18B20等。在软件设计方面,采用C语言编程。
该智能电热水器设计完善,实现方案简单易行。采用软件设计来控制,可以实现智能检测水温,智能加热,并且提高了整机的可靠性及准确性。

一、绪论

1.1 选题背景及意义

据不完全统计,我市城镇居民家庭以电热水器为主,占总量的60%以上;从前风光无限的燃气热水器渐渐地黯然失色,市场份额仅剩不足20%;新兴的太阳能热水器虽然受到安装条件的限制,但其安全、环保的性能广受消费者青睐,发展态势迅猛,市场占有率已达到15%左右。电热水器的优点:易安装,不受天气的影响,不受楼层和供水管道的限制,投入小。随着技术进步和新品的开发,下置式、嵌入式等多种安装形式的电热水器先后上市,彻底摆脱了房间空间的限制。中央供水和数码智能的电热水器也已进入市场。电热水器的安全问题涉及到消费者的生命,又加上近些年的能源危机,人们生活节奏的加快,智能化电热水器越来越受到消费者的青睐。
本选题目的是基于人们对现代家庭舒适、便利、安全以及多元化信息服务的需要,基于STC89C51单片机设计具有智能特征的电热水器控制器。
选用STC89C51单片机作为控制芯片,就是为了实现电热水器的智能化,持续稳定的热水供应,自动断电的安全功能,使人们洗浴时能放心享受,利于人们的身体健康,其务实性能快速满足人们对现代生活快节奏的需求。

1.2 完成目标与功能设计

具体实验设计:
STC89C51采用+5V电源供电,设计要求制作一直流稳压电源,采用220V市电供电,经桥式整流后送入滤波电路,再经稳压芯片CW7805输出+5V电压。单片机容易受外界环境干扰,因此要求供电电源单独设计制作。单片机硬件部分由单片机最小系统配以按键、显示器件构成。限于单片机型号采用12MHz晶振和两个30μF陶瓷平衡电容组成振荡电路。为使硬件具有通用性,复位电路采用上电与按键复位结合设计,独立式按键通过P1口扫描查询,分别执行设置、加、减、确定功能。系统还有红外遥控的功能,可以通过红外遥控器远距离控制热水器的工作,提高了系统的安全性。
系统工作时,首先检测功能按键,进行温度范围设置。其次检测加减按键,进行温度范围调节,也可以按下红外遥控器上的按键操作,与主板上的按键功能一样,然后运行程序,由传感器DS18B20检测水温,当检测温度低于预设温度下限时,开始加热;检测温度高于预设温度上限时,停止加热。并可以预约加热,设定时间0-999分钟,定时时间到达自动开始加热。

二、硬件系统设计

2.1 硬件完成要求

本课题是基于STC89C51单片机的智能电热水器的控制器的设计,要达到的控制要求有:
(1)用LCD1602液晶显示水温、设置上下限和定时时间,(2)水温检测显示范围为00~99℃,精度为±1℃。
(3)温度预设范围为0~99℃,当检测温度低于预设温度时,开始加热;检测温度高于预设温度时,停止加热。
(4)设置4个程序按键。分别问设置按键、加键、减键、确定。
(5)可以红外遥控,通过红外一体接收探头接收遥控器信号,执行与主板按键同等功能。

2.2 方案选择

方案一:以STC89C51单片机为控制中心的智能电热水器
STC89C51单片机具有结构简单、控制能力强、可靠性高、体积小、价格低等优点,在许多行业都得到了广泛的应用。以STC89C51单片机为核心,配以外围电路如时钟电路、复位电路、按键、显示器件即可构成交通灯系统,结构框图如图
在这里插入图片描述
方案二:PIC16C72单片机为控制器件的智能电热水器
PIC16C72是美国微芯(Microchip)公司推出的8/11位单片机,采用宽字节单周期指令,哈佛双总线和RISC结构,其数据吞吐量最高可达6MIPS,这几乎是其它大多数8位微控制器速度的4倍128脚封装的PIC16C72单片机内集成了以下主要功能:2KB片内ROM程序存储器,128KB数据存储器;22位I/O线;5路8位A/D转换器,2个8位,1个16位多功能计数器/定时器,1个捕捉/比较/脉宽调制(CCP)部件。
以PIC16C72为控制芯片的电热水器,虽然功能很强大,但是存在一些很需要改进的地方:中断的现场保护是中断应用中一个很重要的部分由PIC16C72的指令系统中没有专门的PUSH(入栈)和POP(出栈)指令,所以要用一段程序来实现该功能。对可能用到的W寄存器和STATUS寄存器内容进行现场保护1然后在中断服务程序中对马达,继电器进行控制1漏电检测报警在中断里给出,而每50ms进入一次中断,所以发生漏电时最多50ms即可切断电源1入口→中断保护→控制马达→控制继电器如果用直流对电机进行控制,其转速太快,过调量太大,容易引起震荡。
通过以上两种设计方法的比较来看,实现电热水器的智能控制可以有很多种方法。可以采用可编程序控制器PLC,各种单片机来实现。但考虑到成本控制和软硬件实现难度,采用方案一的控制系统设计,可以进一步提高电热水器的智能作用,能够保证持续的热水供应,并可以满足人们日常生活的需要,提高了人们生活的质量。

2.3 电源电路设计

电源电路按元件类型可分为电子管稳压电路、三极管稳压电路、可控硅稳压电路、集成稳压电路等。根据调整元件与连接方法,可分为并联型和串联型;根据调整元件工作状态不同,可分为线性和开关稳压电路。本设计中采用了线性工作状态的线性集成稳压电源。
直流稳压电源一般由电源变压器、整流滤波电路及稳压电路所组成,设计框图:

在这里插入图片描述
(1)电源变压器
电源变压器作用是将电网220V的交流电压V1变换成整流滤波电路所需的交流电压V2。变压器副边与原边的功率比P2/P1=η,式中η为变压器的效率。
(2)整流滤波电路
整流电路将交流电压变成单向脉动的直流电压。滤波电路用来滤除整流后单向脉动电压中的交流成份,合之成为平滑的直流电压。
常用的整流电路有全波整流电路、半波整流电路、桥式整流电路及倍压整流电路。小功率直流电源因功率比较小,通常采用单相交流供电。由于桥式整流电路克服了半波整流的缺点,在桥式整流电路中,由于每两只二极管只导通半个周期,故流过每个二极管的平均电流仅为负载电流的一半,与半波整流电路相比较,其输出电压提高,脉动成分减少。
整流电路将交流电变为脉动直流电,但其中含有大量的交流成分(称为纹波电压)。为了获得平滑的直流电压,应在整流电路的后面加接滤波电路,以滤去交流成分。滤波电路常见的有电容滤波电路、电感滤波电路及π型滤波电路。本设计采用电容滤波电路。电容滤波电路主要利用电容两端电压不能突变的特性,使负载电压波形平滑,故电容应与负载并联。桥式整流电路带电阻负载时的输出直流电压U0=0.9V,接上电容滤波后,空载时的输出直流电压U0=UC=U2。所以,接上负载时的桥式整流电容滤波电路的输出电压介于上述两者之间,其大小与放电时间常数RLC有关,RLC越大,U0越大。
(3)稳压电路
稳压电路的作用是当输入交流电源电压波动、负载和温度变化时,维持输出直流电压的稳定。由于三端式稳压器只有三个引出端子,具有应用时外接元件少、使用方便、性能稳定、价格低廉等优点,因而广泛应用。三端式稳压器有两种,一种称为固定输出三端稳压器,另一种称为可调输出三端稳压器。它们的基本组成及工作原理都相同,均采用串联型稳压电路。
可调稳压电路原理图如图
在这里插入图片描述
+5V电压也是利用三端稳压集成电路得到的,采用7805芯片。其用法和LM317差别不大,如下图所示。LM7805的1端是电源的输入端,3端是输出端,2端是接地端。
在这里插入图片描述

2.4 键盘电路

本毕业设计的按键采用独立式按键,是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键的典型应用如图
在这里插入图片描述
按键输入均采用低电平有效,此外,上拉电阻保证了按键断开时,I/O口线有确定的高电平。当I/O口线内部有上拉电阻时,外电路不可接上拉电阻。独立式按键的软件常采用查询式结构。先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序,具体编程见程序清单。

2.5 蜂鸣器报警电路

当温度超过上限是电路会报警,提示水温过高,注意安全。图下面位报警电路
在这里插入图片描述

2.6 温度检测电路

本文采用温度传感器DS18B20采集电热水器的实时温度, 提供给STC89C51的P2.2口作为数据输入。在本次设计中我们所控的对象为水温。其电路原理框图如下:
在这里插入图片描述
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出,支持3V~5.5V的电压范围,使系统设计更灵活、方便;
当传感器工作时,如果水温超过60℃,将温度传给单片机,蜂鸣器报警,并断电;如果水温低于30℃,热水器开始工作,加热指示灯亮。

2.7 红外一体接受电路设计

红外传感器接收到人体红外信号经BISS0001处理后输出输给单片机P1.0口,TEL0表示接STC89C52是的P1.0口,通过对P1.0电平的判断,实现对单片机外围电路的控制,如电磁阀控制水阀电路,液晶显示淋浴时间等。红外采集电路如图
在这里插入图片描述

2.8 1602显示屏电路设计

在本系统中,用LCD液晶屏来构成显示部分,主要在人来时对淋浴计时时间和定时时间的显示。LCD液晶显示器具有功耗低、寿命长、无辐射、不易引起视疲劳等优点,正在被广泛应用于仪表、家用电器、计算机、医疗仪器及交通和通信领域。本系统中,选择JHD162A作为液晶屏的显示驱动控制器。
引脚功能说明:
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表
在这里插入图片描述
根据1062LCD的工作原理,我们可以设计单片机与1062LCD的接口电路图:
在这里插入图片描述

2.9 单片机最小系统设计

在这里插入图片描述

三、软件系统设计

软件设计由主程序,键扫描子程序及若干功能模块子程序组成。其中主控制器子程序包括A/D转换子程序(水位、水温),键盘处理及显示子程序,加热控制子程序(使用输出比较功能),漏电保护子程序等组成。主程序要先初始化系统的工作参数,主要是单片机的定时器,COP模块、A/D转换、端口、键中断等的工作模式参数设定,之后系统主程序循环调用各个功能模块子程序,对相关事件的处理依靠标志位和判断标志位实现。

3.1 主程序流程图设计

在这里插入图片描述

四、附录

原理图:
在这里插入图片描述
PCB设计图:
在这里插入图片描述
仿真图:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/621040.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数学建模.斯皮尔曼相关系数

一、两种定义 二、用matlab计算 三、两种相关系数计算结果的对比 四、取检验值(临界值)分为两种情况 (1)小样本查表 (2)大样本 P值是大于检验值的概率 本文是学习清风网课后的总结,希望对大家有…

1000以内的质数,用python获取放到list1中,1000以内的斐波那契数,用python获取放到list2中,然后两个list画出曲线图

# -*- coding: utf-8 -*- import matplotlib.pyplot as plt # 获取1000以内的质数 def get_primes(n): primes [] for possiblePrime in range(2, n 1): # 假设数是质数 isPrime True for num in range(2, int(possiblePrime ** 0.5) 1): if possiblePrime % num …

数据结构排序——计数排序和排序总结(附上912. 排序数组讲解)

数据结构排序——计数排序和排序总结 现在常见算法排序都已讲解完成,今天就再讲个计数排序。再总结一下 文章目录 1.计数排序2.排序总结3.排序oj(排序数组)题目详情代码思路 1.计数排序 计数排序是一种非基于比较的排序算法,它通…

STL标准库与泛型编程(侯捷)笔记2

STL标准库与泛型编程(侯捷) 本文是学习笔记,仅供个人学习使用。如有侵权,请联系删除。 参考链接 Youbute: 侯捷-STL标准库与泛型编程 B站: 侯捷 - STL Github:STL源码剖析中源码 https://github.com/SilverMaple/STLSourceCo…

七:Day07_redis进阶02

第一章 Redis 事务 1.1 节 数据库事务复习 在数据库层面,事务是指一组操作,这些操作要么全都被成功执行,要么全都不执行。 数据库事务的四大特性: A:Atomic, 原子性。要么全部执行,要么全部不…

复合机器人作为一种新型的智能制造装备高效、精准和灵活的生产方式

随着汽车制造业的快速发展,对于高效、精准和灵活的生产方式需求日益增强。复合机器人作为一种新型的智能制造装备,以其独特的优势在汽车制造中发挥着越来越重要的作用。因此,富唯智能顺应时代的发展趋势,研发出了ICR系列的复合机器…

uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -关于我们页面实现

锋哥原创的uniapp微信小程序投票系统实战: uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…

4_【Linux版】重装数据库问题处理记录

1、卸载已安装的oracle数据库。 2、知识点补充: 3、调整/dev/shm/的大小 【linux下修改/dev/shm tmpfs文件系统大小 - saratearing - 博客园 (cnblogs.com)】 mount -o remount,size100g /dev/shm 4、重装oracle后没有orainstRoot.sh 【重装oracle后没有orains…

隧道应用2-netsh端口转发监听Meterpreter

流程介绍: 跳板机 A 和目标靶机 B 是可以互相访问到的,在服务器 A 上可以通过配置 netsh 端口映射访问 B 服务器。如果要拿 B 服务器的权限通常是生成正向后门,使用 kali 的 msf 正向连接B服务器,进而得到 Meterpreter&#xff0c…

大模型微调及生态简单介绍

大模型 大模型生态OpenAI大模型生态: 全球开源大模型性能评估榜单中文语言模型——ChatGLM基于ChatGLM的多模态⼤模型 大模型微调LLM⼤语⾔模型 ⼀般训练过程为什么需要微调高效微调技术⽅法概述⾼效微调⽅法一:LoRA微调方法高效微调⽅法⼆:P…

代码随想录算法训练营第五天天| 总结数组专题

数组:二分查找、双指针(包括快慢指针)、滑动窗口、模拟 链表:双指针、三指针、虚拟头指针、复杂指针操作画图明确每一步(标好次序) 数组 代码随想录总结的很好,如下图。我再结合自己的一些理解…

具于xilinx FPGA的可动态配置DDS频率控制字的DDS IP核使用例程详解

目录 1 概述2 IP examples功能3 IP 使用例程4注意事项5 DDS IP Examples下载位置 1 概述 本文用于讲解xilinx IP 的dds ip examples(动态配置频率)的功能说明,方便使用者快速上手。 2 IP examples功能 本examples 是月隐编写的针对DDS的使…

一篇文章带你了解Redis的发展史

Redis 是一个开源的内存数据存储和处理系统,它在过去的几十年中经历了重大的发展和演进。以下是 Redis 的发展历程概述: 早期阶段(2000年代初至中期):在这个时期,网站的访问量通常较低,单个数据…

51-11 多模态论文串讲—VLMo 论文精读

VLMo: Unified Vision-Language Pre-Training with Mixture-of-Modality-Experts (NeurIPS 2022) VLMo 是一种多模态 Transformer 模型,从名字可以看得出来它是一种 Mixture-of-Modality-Experts (MoME),即混合多模态专家。怎么理解呢?主流 …

yolov5无人机视频检测与计数系统(创新点和代码)

标题:基于YOLOv5的无人机视频检测与计数系统 摘要: 无人机技术的快速发展和广泛应用给社会带来了巨大的便利,但也带来了一系列的安全隐患。为了实现对无人机的有效管理和监控,本文提出了一种基于YOLOv5的无人机视频检测与计数系…

[软件工具]通用OCR识别文字识别中文识别服务程序可局域网访问

【软件界面】 【算法介绍】 采用业界最先进算法之一paddlocr,PaddleOCR,全称PaddlePaddle OCR,是一种基于深度学习的光学字符识别(OCR)技术。相较于传统的OCR技术,PaddleOCR具有许多优点。 首先&#xff0…

南京观海微电子----时序分析基本概念(一)——建立时间

1. 概念的理解 以上升沿锁存为例,建立时间(Tsu)是指在时钟翻转之前输入的数据D必须保持稳定的时间。如下图所示,一个数据要在上升沿被锁存,那么这个数据就要在时钟上升沿的建立时间内保持稳定。 建立时间是对触发器而…

RibbonGroup 添加QLineEdit

RibbonGroup添加QLineEdit: QLineEdit* controlEdit new QLineEdit(); controlEdit->setToolTip(tr("Edit")); controlEdit->setText(tr("Edit")); controlEdit->setMinimumWidth(150); …

基于FFmpeg的简单Android视频播放器

1. 模块分割 首先对这个视频播放器所采用的一些部件要清楚。这个播放器主要可以拆分为4个部分: 1.解码:FFmpeg 2.音频输出:OpenSLES 3.视频渲染:OpenGLES 这些框架都是基于C的api,因此这次我们的主要工作将会集中…

ubuntu20.04安装cuda11.4以及cudnn

系统:ubuntu20.04硬件配置:GPU3080、CPU未知通过《软件和更新》在附加驱动选项中添加了驱动: 1.检查自己电脑支持的cuda nvidia-smi4. 下载cuda11.4.2 wget https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/c…