基于单片机的智能温控风扇设计

摘 要 : 本次设计是基于单片机的智能温控风扇 STC89C52 单片机为核心 可以实现对风扇的有效控制 可以根据需要设置不同的温度 ,如果温度在设定值最大值和最小值之间时则启动风扇弱风档, 如果温度超过设定的数值时将会变到大风档 如果温度低于最小值时风扇停止转动, 启动什么风挡由外部温度决定 测得的温度值保存在温度传感器 DS18B20 内部 ROM 断电后保存的数值不变 基于单片机的智能温控风扇可以满足人们的不同需要, 具有一定的实用意义
关键词 : 单片机 ; 温度传感器 ; 智能控制

0 引 言

21 世纪是电子信息化的时代 温度控制器在各个领域都获得了广泛的应用, 其最大的优势就是可以实时监测温度变化并进行自动控制, 能够智能全面地满足人们的实际需要 。基于单片机的智能温控风扇是应用单片机系统设计研发的一个小型控制系统。 温控风扇能够随着温度的改变 自行调整 档位高低, 继而控制风速的大小 用户也可以根据自己的具体需要来手动设定档位值, 呈现出实用性和个性化的十足优势 ,可应用于家庭、 宾馆等各类对温度经常提出高端要求的真实场所。 系统的效率高 成本低 而且其使用寿命长 能够带来可观的经济效益, 因而具有广阔的发展前景和市场潜力 。本文即针对这一课题展开完整详尽论述。

1 系统整体设计

系统设计框图如图 1 所示 由图 1 可知 整个系统包括5 个模块 分别是键盘输入模块 数字温度传感模块 电机控制模块、 温度的测量和显示模块以及单片机最小系统 具体来说, 系统应用温度传感器 DS18B20 测量环境温度 转化成数字信号后输入给 STC89C52 单片机 并在 LED 数码管上显示相应的温度。 也可以通过键盘按键来进行最大 最小值的设定, 再由单片机控制完成指定设置功能

2 硬件电路设计

2.1 单片机最小系统电路设计

STC89C52 STC 公司生产的一种 CMOS 8 位微控制器。 STC89C52 不但使用了 MCS-51 系列单片机的经典内核 ,而且加入了众多的改进, 使求获得更为强大的应用拓展实用功能。 STC89C52 在拥有灵活的 8 位处理器的同时 更可以实现在系统可编程 Flash 因此该单片机已然成为当下常规嵌入式系统开发的主流首选。主控制最小系统电路如图 2 所示

2.2 温度采集电路

除主控电路外 本文还重点设计了温度采集电路 电路中, 选用了 DS18B20 温度传感器 可以做到一根总线上挂多个 DS18B20 DS18B20 温度传感器是通过内部的时钟电路发挥作用, 最终实现温度的测量 单片机 I /O 口和 DS18B20温度传感器的连接如图 3 所示

2.3 独立按键连接电路

本次研发中 特征设计方面还有 3 个独立按键 分别连接单片机的 P2.0 P2.1 口和 P2.2 另一端接地 如图 4 所示。 按下 P22 键可以自行设置温度 而按下 P21 键可以使设置的温度上限值升高, 按下 P20 键则可使设置的温度下限值减小。 而且 用户还可以根据自己的实际需要设置调控温度 ,简单方便。

3 系统软件设计

软件设计中 程序实现流程如图 5 所示 解析图 5 可知 : 程序初始化函数可实现对 DS18B20 的初始化处理 与此同时温度读取函数将提供对数据的读取和转化功能, 而键盘扫描函数则是根据用户的需求来设定温度可控的上限、 下限值 此后, 温度处理函数还将对采集得到的温度数据进行分析整理 ,其结果数据即可成为风扇控制函数发出指令来操纵对风扇电机的启停及转速调节等行为动作的实施依据。

4 仿真与分析

本次研究中 针对上述软硬件的关键主题设计 选用了Proteus 进行仿真 仿真系统结构设计如图 6 所示
由仿真实验结果可以表明 系统在先期设定了温度后 风扇电机可以根据温度的升高降低而相应地控制电机风速的变化。 当温度低于下限值时 风扇停止转动 ; 当超过上限值时 ,风扇转速提高, 风速达到最大

5 结合语

基于单片机的智能温控风扇采用 DS18B20 传感器 将检测到的温度转化为数字信号, 单片机对输入的数字信号进行分 析处理,当温度高于上限值时,风扇全速旋转; 当温度低于 下限时, 风扇停转 ; 当温度处于上限值与下限之间时 风扇开始平稳转动。 系统以单片机和 DS18B20 传感器为核心 具有温度显示和控制风扇转速的功能。

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

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

相关文章

一文学会用Helm部署rancher 高可用集群

rancher集群架构图 Helm部署rancher 高可用集群 Helm简介 Helm是Kubernetes的一个包管理工具,用来简化Kubernetes应用的部署和管理。可以把Helm比作CentOS的yum工具。 Helm有如下几个基本概念: Chart: 是Helm管理的安装包,里面包含需要部署的安装包资源。可以把Chart比作C…

Linux iptables

Linux iptables CentOS7及以上配置iptables自动重启 yum install -y iptables-services systemctl enable iptables # 修改规则后保存,保存的文件在/etc/sysconfig/iptables service iptables saveDebian配置iptables自动重启 # 安装该包,实际上是创建…

iOS政策解读之二丨安全和性能要求到底有多重要

上一篇文章我们介绍了App提交审核前,都有哪些注意事项需要引起重视和关注,如果“前菜”您还没来得及阅读,传送门在这里:iOS政策解读之一丨App提交审核前注意事项必知 今天奉上我们的“正菜”,从App审核指南的正文章节…

什么牌子的开放式耳机好?五大优质机型,新手必看!小白闭眼入系列

音乐技术的不断进步为耳机市场的发展有了更多的选择,开放式耳机成为音乐爱好者们新的一个选择。从最初的基础音质到如今的高解析度音频,开放式耳机经历了一次次的技术革新和升级。这类耳机以开放式不入耳的设计,舒适的佩戴体验著称&#xff0…

44.商城系统(二十五):k8s基本操作,ingress域名访问,kubeSphere可视化安装

上一章我们已经配置好了k8s集群,如果没有配置好先去照着上面的配。 一、k8s入门操作 1.部署一个tomcat,测试容灾恢复 #在主机器上执行 kubectl create deployment tomcat6 --image=tomcat:6.0.53-jre8#查看k8s中的所有资源 kubectl get all kubectl get all -o wide#查看po…

探索 PrimeVue——开源项目的卓越之旅

嗨,大家好,我是徐小夕。之前一直在社区分享零代码&低代码的技术实践,也陆陆续续设计并开发了多款可视化搭建产品,比如: H5-Dooring(页面可视化搭建平台)V6.Dooring(可视化大屏搭…

简单聊聊JSX

什么是JSX? JSX 是 JavaScript XML 的缩写,是 React 中用来描述用户界面的语法(其实可以看作是JavaScript的扩展语法)。可以把它看作是一种将 HTML 与 JavaScript 结合在一起的方式,使得在 JavaScript 中写 HTML 变得…

优化流程市政道路乙级资质内部管理优化

1. 建立资质管理专项小组 组建由高层领导挂帅,包含资质管理、人力资源、财务、技术等部门代表的专项小组,负责资质的日常维护、升级规划及申报工作。 2. 信息化管理系统 引入或升级资质管理信息系统,自动化追踪人员资质状态、继续教育记录…

sqlserver backup and restore

在 SQL Server 中,备份(Backup)和还原(Restore)是非常重要的数据库维护操作,用于确保数据的安全性和完整性。以下是关于 SQL Server 备份和还原的简要概述以及一些基本的 SQL 语句示例 参考官方地址 https…

定时邮件教程

下面是一个在Linux下使用crontab定时发送邮件的教程。假设你已经有一个Python邮件脚本,接下来我们会通过crontab定时执行这个脚本。 1. 编写Python邮件脚本 假设你的Python邮件脚本名为send_email.py,并且它位于/home/scripts/目录下。 mkdir -p /hom…

【数学建模】—【Python库】—【Numpy】—【学习】

目录 ​编辑 1. NumPy安装 2. ndarray对象 1. 创建ndarray 1.从列表或元组创建: 2.使用内置函数创建: 2. ndarray属性 3. 数组运算 1. 基本运算 2. 数学函数 3.统计函数 4. 数组索引与切片 1. 一维数组索引与切片 2.多维数组索引与切片 5.…

5.javaSE基础__集合(List+Set+Map实现类)

\1. 抽象类和接口的区别 抽象类的需要abstract修饰,内部方法可以是抽象的也可以是不抽象的接口: 可以看成抽象类,但不是类,方法没有方法体(1.8之前),由实现类实现具体方法功能 \1. 什么是异常 程序运行时出现的错误 \1. 异常的分类 ErrorException RunTimeException: 除0,空指针…

如何在 CentOS 上卸载 Nginx?

本章教程,主要介绍如何彻底卸载删除nginx 一、停止nginx服务 sudo systemctl stop nginx二、卸载nginx服务 sudo yum remove nginx三、查找nginx相关文件 sudo find / -name *nginx*将nginx相关文件进行删除 四、删除nginx相关文件 这里是常见的一些nginx相关文件 s

机器学习/pytorch笔记:time2vec

1 概念部分 对于给定的标量时间概念 t,Time2Vec 的表示 t2v(t)是一个大小为 k1的向量,定义如下: 其中,t2v(t)[i]是 t2v(t)的第 i 个元素,F是一个周期性激活函数,ω和 ϕ是可学习的参数。 以下是个人理解&am…

【MySQL数据库之索引相关】

1、什么是索引? 索引(Index)是一种用于提高查询效率的数据结构。 索引通过为数据库表中的一列或多列创建一个引用,从而加快数据的检索速度。(对列创建索引) 索引类似于书的目录,可以帮助数据库…

Shark!一个基于遗传算法的自动因子挖掘平台

DolphinDB 推出的 CPU-GPU 异构计算平台 Shark,将 DolphinDB 上的复杂指标计算能力无缝切换到 GPU 算力平台,大幅提升了计算性能。Shark 最新版本给开发者提供了两个主要功能:因子挖掘和因子计算。通过使用遗传算法,因子挖掘功能能…

编程哲学——抽象

主要参考资料: App Image Format: https://docs.espressif.com/projects/esp-idf/zh_CN/release-v4.4/esp32s3/api-reference/system/app_image_format.html# 目录 简介抽象:从现实到模型类和对象:现实与模型的映射封装:隐藏复杂性继承&#…

年薪超过30万的网工,需要具备什么技能?

网工是一个各行各业都需要的职业,工作内容属性决定了它不会只在某一方面专精,需要掌握网络维护、设计、部署、运维、网络安全等技能。 那么,网络工程师的技术水平体现在哪些方面?今天就跟你唠唠这个。 01 先来测测你的网络设计能力…

Flutter 像素编辑器#05 | 缩放与平移

theme: cyanosis 本系列,将通过 Flutter 实现一个全平台的像素编辑器应用。源码见开源项目 【pix_editor】。在前三篇中,我们已经完成了一个简易的图像编辑器,并且简单引入了图层的概念,支持切换图层显示不同的像素画面。 《Flutt…

Docker - Oracle Database 23ai Free

博文目录 文章目录 说明命令NavicatSYSTEMPDBADMIN 扩展公共用户本地用户 说明 Oracle 官方镜像仓库 Database 23ai Free | Oracle Docker 官方没有提供 Oracle Database 相关镜像, 但是 Oracle 官方镜像仓库有提供, 打开上面的链接, 选择 Database, 选择合适的版本, 如 enter…