基于单片机的衣物消毒清洗机系统设计

收藏和点赞,您的关注是我创作的动力

文章目录

    • 概要
  • 一、系统总体设计
    • 2.2 功能分析
    • 2.3 系统框架设计
  • 二、硬件电路设计
    • 3.1 电源模块的设计
  • 三、 软件设计
    • 4.1 系统整体流程
    • 4.4 软件整体流程
    • 实物图
  • 四、 结论
  • 五、 文章目录

概要

  基于单片机的衣物消毒清洗机可以应用在学生宿舍、大型公寓楼等人流量比较密集的场景中。由于这些场景通常人流量比较密集,对安全、卫生等的要求性相对较高,所以通常对系统的设计要求较为严格。本系统能够给用户提供一个更加方便,安全的衣物清洗使用环境。系统利用了多种传感器,来对用户的选择进行检测,用户可以自由地选择清洗机的模式,并对其进行远程控制。当衣物清洗完毕后,清洗机会自动提示用户清洗完毕。系统使用单片机作为清洗机的控制核心,将用户与电器联系在了一起,能够更好地促进清洗机的自动化控制。
系统采用单片机作为控制核心,直流电机作为清洗机的动力部件,结合蓝牙模块作为无线传输控制器,能够将衣物、清洗机以及用户的手机连接在一起,用户只需要将衣物放入清洗机内,就可以通过手机远程控制清洗机的工作模式,无论是在工作效率还是在科技感方面,本系统均达到了相当的高度。
关键词:单片机;自动控制;直流电机;无线控制

一、系统总体设计

  

2.2 功能分析

通过对洗衣机功能的分析,本设计需要完成洗衣机的转动功能,这部分可以通过电机电路来实现。而其他部分则主要包括用户交互功能、按键选择功能以及显示功能。这几部分的功能描述如下:
1.转动功能。本设计的转动功能主要实现对衣物的清洗,这部分功能的实现主要参考了现实生活中洗衣机转筒的实现。
2.用户交互功能。本设计可以由用户进行远程控制,所以需要一定的远程交互功能来实现。
3.按键选择功能。按键选择部分参考了我们生活中常见洗衣机的形式。
4.显示功能。显示功能需要能够显示当前剩余的洗衣时间、总共的洗衣时间等。

2.3 系统框架设计

对于本系统的设计,主要表现在对滚筒转动电路、无线传输电路、按键控制电路以及显示电路这几个方面的设计上。对于这几个模块电路,一般需要考虑核心控制器的控制方式,其中控制方式主要包括两种:一种是通过搭建纯数字化的编码电路来实现各个电路的控制,另一种是通过采用模块化的思想来实现各个电路的控制,这两种控制方式主要存在以下区别:
1.通过搭建纯数字化的编码电路来实现微波电路的控制。在该方式中,需要设计滚筒转动电路、无线传输电路、按键控制电路以及显示电路等相关的硬件电路。使用纯数字化的控制方式,可以对设备的处理流程具有细微的控制。尤其是在电机转动速度、显示分辨率选择等方面具有更加的性能。但是这种方式对电路设计能力的要求很高,且电路之间的依赖性较强,不适合本系统的控制。
2. 通过采用模块化的思想来实现本电路的控制。使用模块化的控制方式时,需要采用相应的滚筒转动模块、无线传输模块、按键控制模块以及显示模块。四种模块各司其职,相互独立。对于本设计来说,在测试部分会减少很多重复性的工作。
通过对上文的描述,本设计采用基于模块化的控制思想来实现智能衣物清洗机的功能。具体电路中使用了已具备成熟的工艺的无线通信模块和显示模块。至于按键模块,本设计实现了简易的九宫格按键,可以很好地实现模式的选择。
系统整体框图如下图2.1所示:
在这里插入图片描述

图2.1 系统框图

二、硬件电路设计

  

3.1 电源模块的设计

本设计基于数字电路来实现,采用了多种模块化的传感器。这些传感器主要包括:单片机、电机、按键以及显示屏等。对于这些模块进行供电时,需要考虑到不同模块之间基准电压的不同。对于电机模块,由于需要具备转动的功能,所以采用的基准电压比较大,一般为12V。而对于其他模块,如单片机、按键以及显示屏等,这些模块的基准电压较低,通常采用5V的工作电压即可。所以在对电源电路进行设计时,我们采用两种供电方式:对于电机电路,采用12V用电,而其他电路,则采用5V供电。电压转换芯片采用常用的1205,该芯片将12V的输入电压转为5V的输出电压,输入电压采用12V标准电压源即可。这部分的模块电路如下所示:
在这里插入图片描述

图3.1 电源转压模块

三、 软件设计

4.1 系统整体流程

通过第三章的描述,我们队本设计的硬件电路模块有了详细的了解。在软件驱动部分,需要完成以下几个方面的设计:按键部分以及电机驱动部分。实际的设计流程如下所示:
在这里插入图片描述

图4.1 软件流程设计

4.4 软件整体流程

系统的整体工作流程正如上面所说的,刚开始的时候初始化各类寄存器。完成初始化后,便开始等待用户的指令。如果有指令传过来,系统便进入到中断状态,进而去执行相应的动作即可。

在这里插入图片描述

实物图

在这里插入图片描述
在这里插入图片描述

四、 结论

我们设计的自动衣物清洗机具备了生活中衣物清洗机的常用功能,比如按键控制、档位调节等。本系统具有多种调节方式,用户可以通过按键来选择清洗器的工作模式,无论是在大型还是在小型的使用场景中,均具有独特的可行性。本设计按照上面的工作流程完成了全部的工作,从课题设计而言,已经圆满完成了任务。但是系统还存在一些缺点,如:
1,响应速度不够快。用户在按下控制指令后,到机器能够识别该信号,并作出改变之间的时间间隔大概在1s左右,这个延迟在系统作为玩具或者模型时确实足够了,但在企业级应用中,延迟还是太长。
2,功能比较单一。本系统设计的智能衣物清洗器目的并不是作为一款学生玩具,而是旨在能够用于一些高端场合。所以在系统功能性方面还有不少遗漏。
针对上面提出的两个缺点,我们也思考了相应的解决方案。对于问题1,可以采用计算速度比较快的stm32单片机或者arm系列的开发板。而对于问题2,这应该是我今后着重研究的领域,比如为清洗器安装无线监控等。

五、 文章目录

目录
1绪论1
1.2研究意义2
1.3研究现状2
2系统总体设计4
2.1 系统问题概述4
2.2 功能分析4
2.3 系统框架设计4
3.硬件电路设计6
3.1 电源模块的设计6
3.2 单片机选型与介绍6
3.3 外部时钟设计8
3.4 按键电路的设计9
3.5 电机部分设计9
3.6 衣物消毒电路设计10
4 软件设计11
4.1 系统整体流程11
4.2按键部分软件设计12
4.3 电机驱动部分软件设计14
4.4 软件整体流程15
5 结论16
参考文献17
致谢18
附录19

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

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

相关文章

一篇文章带你学会MybatisPlus~

实现MybatisPlus的简单使用: 数据库准备部分: //创建名为mybatisPlus的数据库 create database mybatisPlus;//使用该数据库 use mybatisPlus;//创建user表 CREATE TABLE user( id bigint(20) NOT NULL COMMENT 主键ID , name varchar(30) DEFAULT NUL…

Sqoop的安装和使用

目录 一.安装 二.导入 1.全量导入 一.MySQL导入HDFS 二.MySQL导入Hive 2.增量导入 一.过滤导入hdfs/hive 二.导出 一.安装 1.下载地址:sqoop下载地址 2.解压 tar -zxvf ./sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C ../module/ 3.改名和配置归属权限 #改名…

首发scitb包,一个为制作统计表格而生的R包

目前,本人写的第3个R包scitb包已经正式在R语言官方CRAN上线,scitb包是一个为生成专业化统计表格而生的R包。 可以使用以下代码安装 install.packages("scitb")scitb包对我而言是个很重要的R包,我的很多想法需要靠它做平台来实现&a…

软件测试/测试开发丨利用ChatGPT 生成自动化测试脚本

点此获取更多相关资料 简介 自动化测试脚本可以模拟用户与应用程序的交互,例如点击按钮、输入数据、导航到不同的页面等等,以验证应用程序的正确性、性能和稳定性。 自动化测试在回归测试、冒烟测试等测试流程中都可以极大地起到节省时间、节省人力的作…

【主题教育】民革达州市委会开展“践诺我与民革共成长“讲述活动

【主题教育】民革达州市委会开展“践诺,我与民革共成长“讲述活动 10月28日,民革达州市委会开展“践诺,我与民革共成长——我是民革‘螺丝钉’讲述活动”,有序推进民革四川省委会“重温加入民革承诺、守护民革精神家园”专项活动往心里走、往深里走、往实里走。达州市人大常委会…

计算机组成与结构-安全性和可靠性

系统可靠性分析 概念 平均无故障时间 MTTF 1/失效率 平均故障修复时间 MTTR1/修复率 平均故障间隔时间 MTBFMTTFMTTR 系统可用性 MTTF/(MTTFMTTR)*100% 计算 串联系统 一个设备不可靠,整个系统崩溃RR1R2Rn 并联系统 所有设备不可靠,整个系统崩溃R1-(1…

Vue 官网使用与环境搭建

vue官网网址:https://cn.vuejs.org/vue脚手架文档网址:https://cli.vuejs.org/zh/ vue团队为了使得vue更加好的使用,维护了一些文档。 API是vue的字典,在编写vue的时候,遇到了一些不会的方法那么就去找API&#xff0c…

Visual Studio 2010 软件安装教程(附下载链接)——计算机二级专用编程软件

下载链接: 提取码:2wAKhttps://www.123pan.com/s/JRpSVv-9injv.html 安装步骤如下: 1.如图所示,双击打开【Visual Studio 2010简体中文旗舰版】文件夹 2.如图所示,找到“Setup”文件夹打开,双击运行“setup” 3.如图…

Datawhale-AIGC实践

Datawhale-AIGC实践 部署ChatGLM3-6B平台 clone 项目,配置环境 git clone https://github.com/THUDM/ChatGLM3.git cd ChatGLM3 pip install -r requirement.txt修改web_demo.py, web_demo2.py 设置加载模型的路径修改启动代码: demo.queue().launch(shareFalse…

SpringMVC简单介绍与使用

目录 一、SpringMVC介绍 二、SpringMVC作用 三、SpringMVC核心组件 四、SpringMVC快速体验 一、SpringMVC介绍 Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就包含在Spring Framework中。正式名称“Spring Web MVC”来自其源模块的名称&#xff…

计算虚拟化3——I/O设备虚拟化

目录 I/O基本概念 I/O设备与CPU连接图 CPU与I/O设备的交互 访问I/O设备(IO Access) 数据传输(Data Tronhsfer) I/O设备虚拟化技术 软件辅助全虚拟化 半虚拟化 Virtio协议基本概念 Virtqueue讲解 硬件辅助全虚拟化 I/O…

力扣:有效的括号

自己编写的代码 。 自己的思路&#xff1a; class Solution { private:unordered_map<char,int>symbolValues{{(,1},{),2},{{,4},{},5},{[,8},{],9}, };public:bool isValid(string s) {bool flagfalse;int lenss.length();if (lens % 2 ! 0){flag false;}for…

Arduino设置SoftwareSerial缓冲区大小

SoftwareSerial的缓冲区大小设置 概述修改缓冲区的大小实验 概述 新的Arduino的ESP8266软串口的缓冲区原来老的库中有宏定义可以用来修改接收和发送缓冲区的大小。在现在新的库中已经没有这个设置了&#xff0c;那怎么才能修改缓冲区的大小哪&#xff1f; 修改缓冲区的大小 …

S4.2.4.5 Lane Polarity Inversion

一 本章节主讲知识点 1.1 Polarity Inversion 极性反转 1.2 Lane Reversal 通道翻转 二 本章节原文翻译 2.1 极性反转 原文摘录&#xff1a; PCIe 协议规定&#xff0c;必须支持该特性。该特性的目标也是为了简化 PCB 的布线。每个 lane 都包含一组发送&#xff08;Tx&…

2023年Zotero最新同步教程-使用TeraCloud的25G免费空间实时跨设备同步文献

文章目录 1. 前言2.1. 注册账号2.1.1. 填写注册信息2.1.2. 创建账号成功2.1.3. 注意2.2. 扩容空间2.3. 打开WebDAV 3. Zotero配置WebDAV同步3.1. 设置网址3.2. 验证服务器3.3. 文件同步成功 4. 结语 1. 前言 Zotero免费版的存储空间是300m&#xff0c;一个图文PDF动辄两三M&am…

Redis7.x 高级篇

Redis7.x 高级篇 Redis版本发行时间Redis单线程说的是什么东西 Redis版本发行时间 Redis单线程说的是什么东西

intellij idea拉取最新的依赖包

intellij idea setting 拉取最新的依赖包 File --> Settings --> Build, Execution, Deployment --> Build Tools --> Maven --> 勾选 Always update snapshots. 一般情况下&#xff0c;设置完就可以拉取到最新的依赖包了。 如下&#xff1a; 安装最新的依赖…

配置git并把本地项目连接github

一.配置git 1.下载git&#xff08;Git&#xff09;&#xff0c;但推荐使用国内镜像下载&#xff08;CNPM Binaries Mirror&#xff09; 选好64和版本号下载&#xff0c;全部点下一步 下载完成后打开终端&#xff0c;输入 git --version 出现版本号则说明安装成功 然后继续…

将Bean注入Spring容器的五种方式

将bean放入Spring容器中有哪些方式&#xff1f; 我们知道平时在开发中使用Spring的时候&#xff0c;都是将对象交由Spring去管理&#xff0c;那么将一个对象加入到Spring容器中&#xff0c;有哪些方式呢&#xff0c;下面我就来总结一下 1、Configuration Bean 这种方式其实也是…

修改docker 版本的mysql 8.0 本机Navicat 连不上的问题

1.进入容器 docker exec -it xxxx bash 2.使用root账号登录mysql mysql -u root -p 3.查看当前加密方式 use mysql; SELECT Host, User, plugin from user; 我这是改过了&#xff0c;应该都是caching_sha2_password 4. 修改加密方式 ALTER USER root% IDENTIFIED WITH m…