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

news2024/11/26 7:29:39
摘 要 : 本次设计是基于单片机的智能温控风扇 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.coloradmin.cn/o/1873284.html

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

相关文章

mfc140.dll怎么安装?mfc140.dll丢失安装详细解决方法

当电脑出现找不到mfc140.dll丢失问题,我们需要怎么办?怎么解决mfc140.dll丢失问题?mfc140.dll到底是什么?下面我给大家详细介绍与分析,最重要的是mfc140.dll的解决方法! 一、文件丢失原因分析 在分析mfc14…

C++笔记:实现一个字符串类(构造函数、拷贝构造函数、拷贝赋值函数)

实现一个字符串类String&#xff0c;为其提供可接受C风格字符串的构造函数、析构函数、拷贝构造函数和拷贝赋值函数。 声明依赖文件 其中ostream库用于打印标准输入输出&#xff0c;cstring库为C风格的字符串库 #include <iostream> #include <cstring> 声明命…

印度股市连续三天创新高,国际知名评级机构穆迪发出警告

KlipC报道&#xff1a;6月27日&#xff0c;印度股市连续三个交易日创新高&#xff0c;截至当日收盘&#xff0c;印度SENSEX30指数涨0.72%&#xff0c;报79243.18点。印度SENSEX30指数今年以来涨幅接近10%。但国际知名评级机构穆迪发出警告 据悉&#xff0c;到6月25日&#xff…

Unity免费领开发者周6月74个动作捕捉角色运动动画包Omni多方向形状跳跃蹲伏等基础OPSIVE20240628

限时免费领取的角色动画包来啦。在结帐时输入OPSIVE2024优惠券代码即可免费获得。无需购买。 Unity免费领开发者周6月74个动作捕捉角色运动动画包Omni多方向形状跳跃蹲伏等基础OPSIVE202406281136 开发者周促销资源:https://prf.hn/l/w9QJYQ1 优惠券代码:OPSIVE2024 [限时免费…

MIX OTP——监督树和应用

在上一章关于 GenServer 的内容中&#xff0c;我们实现了 KV.Registry 来管理存储容器。在某个时候&#xff0c;我们开始监控存储容器&#xff0c;这样每当 KV.Bucket 崩溃时&#xff0c;我们就能采取行动。虽然变化相对较小&#xff0c;但它提出了一个 Elixir 开发人员经常问的…

Flat Ads:拥抱 CTV,品牌增长新动力

近年来,CTV(联网电视)在数字营销界正迅速崛起,成为最受青睐和增长迅猛的推广形式之一。 随着更多联网设备的普及,越来越多观众正在从传统电视快速转移到流媒体环境,对传统电视广告取而代之的便是 CTV 广告。据 eMarketer 数据显示,未来四年,CTV 市值将从今年的 250 亿美元增长到…

C++-------多态

一.如何实现多态 1.多态的两个条件&#xff1a; (1) 必须通过基类的指针或者引用调用虚函数 (2) 被调用的函数必须是虚函数&#xff0c;且派生类必须对基类的虚函数进行重写&#xff0c;重写必须返回值&#xff0c;函数名&#xff0c;参数类型相同&#xff0c;同时virtual只…

Win10扩充C盘(把其他盘存储空间分给C盘)

C盘虽然没有安装任何软件&#xff0c;但无奈安装某些软件&#xff08;例如VS&#xff0c;QuarC等&#xff09;总会占用C盘容量&#xff0c;且C盘内存很小&#xff08;只有60G左右&#xff09;&#xff0c;看着D盘的三四十空闲内存&#xff0c;决定把D盘内存分给C盘30G&#xff…

uboot中内存DDR测试之mtest使用

相关代码路径: cmd/mem.c配置: make ARCHarm CROSS_COMPILEaarch64-linux-gnu- menuconfigCC cmd/mem.o cmd/mem.c: In function do_mem_mtest: cmd/mem.c:883:10: error: CONFIG_SYS_MEMTEST_START undeclared (first use in this function); did you mean CONFIG_SYS_…

Pbootcms留言“提交成功”的提示语怎么修改

我们在用到pbootcms建站时候&#xff0c;其中有个留言功能&#xff0c;提交成功后会提示&#xff1a;提交成功&#xff08;如下图所示&#xff09;&#xff0c;那么我们要修改这个提示语要怎么操作呢&#xff1f; 如果需要修改的话&#xff0c;直接找到文件/apps/home/control…

一投就中,收稿范围大,1个月内录用,国人发文最多,无风险预警

别人费心费力投个一年都不一定有结果&#xff0c;您直接坐上”直升飞机”&#xff0c;1个月录用。下面老毕分享1本超快录用EI期刊&#xff0c;工程电气方向的学者抓紧投稿。 抢占版面&#xff0c;下方【扫一扫】直接安排&#xff0c;1个月内录用&#x1f308; Journal of Elect…

骗2万人13亿的种菜游戏,幕后老板反手去当了榜一大哥…

这一届人民&#xff0c;可以说&#xff0c;对「种菜」式的田园生活&#xff0c;有一种执念。 或是格子间里日复一日的牢笼生活有些厌倦&#xff0c;也或是过快的城市化进程&#xff0c;让藏在基因里的「田园」属性&#xff0c;还能时不时的觉醒一下…… 除了诗与远方及前些年爆…

Pytest--安装与入门

pytest是一个能够简化成测试系统构建、方便测试规模扩展的框架&#xff0c;它让测试变得更具表现力和可读性–模版代码不再是必需的。只需要几分钟的时间&#xff0c;就可以对你的应用开始一个简单的单元测试或者复杂的功能测试。 1. 安装pytest pip install -U pytest检查版…

PD快充诱骗芯片工作原理,USB-C充电器出不来电压是什么原因?

一般使用Type-C接口的充电器基本上都是采用新的快充协议——PD快充协议&#xff0c;它不同于以前的USB-A的QC协议&#xff0c;这种协议&#xff0c;默认是没有快充电压输出的&#xff0c;VBUS和GND是0V。 所以&#xff0c;我们可以使用电阻的方式&#xff08;电流小&#xff09…

Steam新用户怎么参加夏促 Steam最新注册账号+下载客户端教程

steam夏促来了&#xff0c;这里给新玩家科普一下&#xff0c;steam就是一个游戏平台&#xff0c;里面的海量的各种游戏&#xff0c;而steam经常会有各种打折的活动&#xff0c;夏促就是其中之一&#xff0c;并且是其中规模最大的之一&#xff0c;涵盖游戏数量多&#xff0c;优惠…

【乐吾乐2D可视化组态编辑器】画布

5.1 设置画布属性 默认颜色&#xff1a;预先设置默认颜色&#xff0c;拖拽到画布的节点&#xff08;基础图形、文字、icon&#xff09;自动统一默认颜色。 画笔填充颜色&#xff1a;预先设置画笔填充颜色&#xff0c;拖拽到画布的节点&#xff08;基础图形&#xff09;自动统…

企业应该如果安全上网,软件防查盗版,企业防盗版

随着信息化的发展&#xff0c;企业日常办公越来越依赖互联网。终端以及普通PC终端在访问互联网过程中&#xff0c;会遇到各种各样不容忽视的风险&#xff0c;例如员工主动故意的数据泄漏&#xff0c;后台应用程序偷偷向外部发信息&#xff0c;木马间谍软件的外联&#xff0c;以…

java服务MultipartFile入参测试

项目中经常会涉及到文件的上传下载以及导入相关的功能&#xff0c;今天针对MultipartFile类型文档导入写一下如何测试。 文档导入接口完成&#xff0c;使用postman测试&#xff0c;使用POST方法&#xff0c;进入Body模块&#xff0c;选择form-data选项&#xff0c;key的框体右侧…

微信小程序根据蓝牙RSSI信号强度测试设备距离

背景 在做小程序连接蓝牙设备的时候&#xff0c;有需求表明在搜索到0.5米之内的设备时自动连接 问题&#xff1a; 蓝牙模组只提供了RSSI信号强度&#xff0c;那又该如何计算蓝牙设备距离小程序的距离呢&#xff1f; 解决方案 通过以下公式做大量测试&#xff1a;求 A、n 的平均…

npm创建一个空的vue3项目的方法或者pnpm创建vue3项目

1、前提我们已经安装了npm&#xff0c;或者pnpm 2、我们用npm来创建vue3项目 快速上手 | Vue.js 官网地址 这里我安装是的 node v18.20.3 以下是安装过程 &#xff1a; npm create vuelatest 根据自己的需要进行创建即可。 3、我们用pnpm来创建vite vue3项目 pnpm create …