基于单片机的智能扫地机设计

概要

  本文主要设计一个简单的智能扫地机。该扫地机的核心控制元器件是stc89c52,具有编写程序简单,成本普遍较低,功能较多,效率特别高等优点,因此在市场上得到很大的应用。除此之外,该扫地机能够自动避开障碍物、自动利用风机进行吸尘功能。该文介绍了扫地机系统的整体制作过程,它主要由单片机主控电路、单片机最小系统电路、红外光电避障电路、按键启动停止电路以及电机驱动电路组成。通过利用Altium Designer集成电路设计软件,进行原理图以及电路板的设计。其次通过KEIL编程软件为单片机输送程序,来控制整个扫地机的逻辑。

关键字:智能吸尘机;壁障;stc89c52单片机;L298N

一、方案设计

1.3.1 扫地机器人功能
(1)自动吸尘
(2)自动识别障碍
(3)自动转弯

二、电路设计与理论分析

2.1 硬件设计总体概要

将单片机最小系统电路组,按键启动停止电路,红外光电避障电路,直流无刷电机电路,风扇吸尘电路以及下载端电路围绕着stc89c52组合成一个系统,总框架如下2.1所示。
在这里插入图片描述

图2.1硬件系统总框图

2.2 电源电路设计

所有电子产品中,电源的起着关键的作用,如同一座房子的根据,只有电源稳定才能为后续提供更多功能作保证,输出的纹波趋向平滑则性能才能良好工作。该智能吸尘机人采用L298N电机驱动模块中的内置的L7805CV稳压芯片来获得稳定的5V电压.通过L298N和L7805CV主控芯片和稳压芯片结合,充分减小因电源不稳定的干扰,提高整体驱动电路的稳定。
L7805CV具备众多的高质量性能:相关抵偿的元器件可以省略不接;在内部设置了限流庇护的电路,它可以避免负载短路而导致损坏元器件;在内部还集成了功耗限制电路,可以阻拦损坏输出启动的晶体管。L7805CV可以输出4.75-5.25V的电压,静止状态的电流大约在4.2-8mA,最大的输出电流约在1.5A,纹波抑止比大概在78dB。其采用TO-220的封装形式,如下图2.2所示,从左到右分别为引脚1是输入端,引脚2是接地端,引脚3是输出端。

总控制电路的设计

① VCC,EA/Vpp的引脚端口,联通5V电源;
② P32,P33控制启动停止按键;
③ P16、P17分别控制左右红外避障探头;
④ P30RXD,P31TXD为下载程序引脚;
⑤ P10、P11、P12、控制电机A驱动引脚ENA,AIN1和AIN2,P13、P14、P15、控制电机B驱动引脚BIN1,BIN2和ENB;
⑥ VSS即,接地引脚GND;
⑦ P20为吸尘小风扇控制信号;
⑧ 第十八和第十九号引脚为晶振连接端口
⑨ 第九号脚位为按键复位连接端口

总电路设计

总共分为七大模块L298N电机驱动模块,两个红外避障模块,复位电路模块,晶振电路模块,下载端口模块,启动停止按键模块,风扇吸尘模块。如下图2.5总控制电路图所示。
在这里插入图片描述

图2.5总控制电路

三、PCB板的设计与制作

Altium Designer拥有许多好用的功能,包含了原理图,PCB,3D仿真PCB,输出word文档等功能。它不仅拥有许多原器件库,还能够自己建立属于自己的原器件库,大大提高了电路设计的效率与质量。下面介绍以下主要元器件封装及整个PCB绘制过程。
1)STC89C52的DIP-40封装
首先建立一个原器件库并保存,可以利用工具选项中的器件导向,然后选择DIP的模式,输入单片机有引脚横向之间的距离为15.24毫米左右,列向之间的距离为2.54毫米左右;焊盘直径为15.24毫米左右以及2.54毫米左右,过孔的直径为33mil,采取的层为Multi-layer,线的宽度为8mil。这是一种快捷绘制封装的方法,不过一般适用于市面上比较典型的封装
在这里插入图片描述

四、 结论

便采用PCB的形式节省了众多电线。焊接过程中需要注意的是虚焊的问题,一个元器件未连接都可能导致失败。就这样,焊接过程中多注意,多加小心问题也边轻易可以解决。单片机中程序的编写尤为重要,开始自己对于C语言特别惧怕,于是去查看一些网络教程,渐渐地明白了一个单片机中程序所包含基本上都有头文件,端口声明,函数声明,子函数,主函数等。逐渐了解后开始查阅相关扫地机的程序,然后自己尝试着编写。开始编写的一塌糊涂,各种小问题不断,不过经过一段时间的学习不断地调试,逐渐有了清晰的思路。虽然有了清晰的思路,不过真正运行起来又是一大问题,编写过程中细节特别主要,输入法中英文不能混淆,冒号不能忘记,语句结构不能用错等各种细节,把这些都做好,最终便能解决各种问题。在硬件和程序都解决情况下,并不意味着就结束了,还有整个扫地机调试的过程。在运行过程中又会发现各种问题,比如避障能力弱,于是又去寻找解决方案,调整感应器位置,在不同环境测试。还有一个比较严重的问题是吸尘能力弱,也是当初选择小风机未能预测它的吸尘能力。整个产品设计之初到结束都是一个挑战,不断碰见问题,不断地去解决,让自己在各方面都有了一定的提升,明白一个产品的诞生不是这么容易的,想要做好一个产品,需要不断尝试,不断改进

五、 文章目录

目 录
1、概述 1
1.1 国内产品研究背景 1
1.2 研究的目的和意义 1
1.3 课题的主要内容 2
1.3.1 扫地机器人功能 2
1.3.2 性能指标 2
1.3.3 论文的主要内容 2
2、电路设计与理论分析 3
2.1 硬件电路设计总概要 3
2.2 电源电路原理 4
2.3 总控制电路 4
2.3.1 STC89C52单片机简介 4
2.3.2 总控制电路的设计 6
2.4 复位电路模块 7
2.5 晶振电路模块 8
2.6 启动停止按键模块 9
2.7 下载口 9
2.8 风扇吸尘电路 9
2.9光电传感模块电路设计 11
2.10电机驱动电路设计 12
3、PCB板的设计与制作. 17
3.1 PCB板的设计 17
3.2 PCB板的制作 19
4、电路焊接与调试 20
4.1 电路焊接 20
4.2 红外避障调试 20
4.3 风扇吸尘电路调试 20
5、系统程序的设计 21
5.1 C语言与汇编语言的优缺点 21
5.2 系统程序设计 23
5.2.1 程序的设计 23
5.2.2 程序的初始化 24
5.2.3 延时子程序 25
5.2.4 中断函数 25
5.2.5 子函数 26
5.2.6主函数 28
6、整机调试与功能介绍 29
6.1 存在的问题与解决方案 29
6.1.1 传感器缺陷 29
6.1.2 电池缺陷 29
6.1.3 吸尘器功率缺陷 29
7、总结 30
参考文献 31
致谢 32
附 录 33

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

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

相关文章

【Java 进阶篇】JSP EL 详解

在 Java Web 开发中,JavaServer Pages(JSP)是一种强大的技术,用于创建动态 Web 应用程序。JSP 的一个关键方面是 Expression Language(EL)表达语言,它允许您在 JSP 页面中嵌入 Java 代码&#x…

关于卷积神经网络的多通道

多通道输入 当输入的数据包含多个通道时,我们需要构造一个与输入通道数相同通道数的卷积核,从而能够和输入数据做卷积运算。 假设输入的形状为n∗n,通道数为ci​,卷积核的形状为f∗f,此时,每一个输入通道都…

记CVE-2022-39227-Python-JWT漏洞

文章目录 前言影响版本漏洞分析Newstar2023 Week5总结 前言 在Asal1n师傅的随口一说之下,说newstar week5出了一道祥云杯一样的CVE,于是自己也是跑去看了一下,确实是自己不知道的一个CVE漏洞,于是就从这道题学习到了python-jwt库…

机器视觉 opencv 深度学习 驾驶人脸疲劳检测系统 -python 计算机竞赛

文章目录 0 前言1 课题背景2 Dlib人脸识别2.1 简介2.2 Dlib优点2.3 相关代码2.4 人脸数据库2.5 人脸录入加识别效果 3 疲劳检测算法3.1 眼睛检测算法3.2 打哈欠检测算法3.3 点头检测算法 4 PyQt54.1 简介4.2相关界面代码 5 最后 0 前言 🔥 优质竞赛项目系列&#x…

在MacBook上实现免费的PDF文件编辑

之前我想对PDF文件进行简单处理(比如删页面、添空白页、调整页面顺序),要么是开wps会员【花钱贵】,下载(盗版)Adobe Acrobat【macOS不好下载】,要么用福昕阅览器登陆学生账号(学校买…

[React] React-Redux 快速入门

文章目录 1.安装 Redux Toolkit 和 React Redux2.创建 Redux Store3.为 React 提供 Redux Store​4.创建 Redux State Slice5.添加 Slice Reducers 到 Store6.在 React 组件中使用 Redux State 和 Actions​7.总结 1.安装 Redux Toolkit 和 React Redux npm install reduxjs/t…

KaiOS APN配置文件apn.json调试验证方法(无需项目全编)

1、KaiOS 的应用就类似web应用,结合文件夹路径webapp字面意思理解。 2、KaiOS APN配置文件源代码在apn.json, (1)apn.json可以自定义路径,通过配置脚本实现拷贝APN在编译时动态选择路径在机器中生效。 (…

集合框架:List系列集合:特点、方法、遍历方式、ArrayList,LinkList的底层原理

目录 List集合 特有方法 遍历方式 1. 使用普通 for 循环: 2. 使用增强型 for 循环(foreach): 3. 使用迭代器(Iterator): 4. 使用 Java 8 的流(Stream)API&#xff…

Softing新版HART多路复用器现支持图尔克excom和西门子ET 200iSP等远程I/O

Softing工业自动化最近升级了用于访问配置和诊断数据的smartLink SW-HT软件,现在该软件可支持访问图尔克excom和西门子ET 200iSP等远程I/O。 (smartLink SW-HT支持访问配置和诊断数据) 越来越多的新型远程I/O选择使用以太网来替代PROFIBUS连接…

系列十一、拦截器(二)#案例演示

一、案例演示 说明&#xff1a;如下案例通过springboot的方式演示拦截器是如何使用的&#xff0c;以获取Controller中的请求参数为切入点进行演示 1.1、前置准备工作 1.1.1、pom <dependencies><!-- spring-boot --><dependency><groupId>org.spring…

分享一下怎么做小程序营销活动

小程序营销活动已经成为现代营销的必备利器&#xff0c;它能够帮助企业提高品牌知名度、促进产品销售&#xff0c;以及加强与用户的互动。然而&#xff0c;要想成功地策划和执行一个小程序营销活动&#xff0c;需要精心设计和全面规划。本文将为您介绍小程序营销活动的策划和执…

OpenSign 开源 PDF 电子签名解决方案

OpenSign 是一个开源文档电子签名解决方案&#xff0c;旨在为 DocuSign、PandaDoc、SignNow、Adobe Sign、Smartwaiver、SignRequest、HelloSign 和 Zoho Sign 等商业平台提供安全、可靠且免费的替代方案。 特性&#xff1a; 安全签名&#xff1a;利用最先进的加密算法来确保…

easyHttp -- 轻量级的 HTTP 客户端工具包

easyHttp gitte地址:easy-http 介绍 easyHttp 是一个轻量级的 HTTP 客户端工具包&#xff0c;专为 Java 设计&#xff0c;使得基本的 HTTP 请求变得异常简单。该库主要针对常见的 HTTP 请求提供了简洁的 API&#xff0c;使得开发者无需面对复杂的设置。当前版本已支持基本的请…

私有化部署大模型:5个.Net开源项目

从零构建.Net前后端分离项目 今天一起盘点下&#xff0c;10月份推荐的5个.Net开源项目&#xff08;点击标题查看详情&#xff09;。 1、BootstrapBlazor企业级组件库&#xff1a;前端开发的革新之路 BootstrapBlazor是一个用于构建现代Web应用程序的开源框架&#xff0c;它基…

Jmeter分布式压测 —— 易踩坑点

1、压测机 无论是从成本角度还是维护的难易方面&#xff0c;压测机的数量&#xff0c;适量就好。举个例子&#xff0c;8C16G的一台服务器&#xff0c;部署Jmeter后&#xff0c;根据我个人的测试比对数据&#xff0c;配置≤1500个线程数&#xff0c;最好。太多了性能损耗较大&a…

QT实现的一个MVP设计模式demo

最近做qt 项目,发现网上基于MVP设计模式的QT例程很少&#xff0c;这里写一个demo示例可作为参考&#xff1a; 一、简要概述 MVP是由MVC发展而来&#xff0c;总体目的与作用相同。都是为了软件构架有层次之分&#xff0c;使得核心逻辑、界面控制、数据这三者分层清晰明了。减少…

RabbitMQ 死信队列

在MQ中&#xff0c;当消息成为死信&#xff08;Dead message&#xff09;后&#xff0c;消息中间件可以将其从当前队列发送到另一个队列中&#xff0c;这个队列就是死信队列。而在RabbitMQ中&#xff0c;由于有交换机的概念&#xff0c;实际是将死信发送给了死信交换机&#xf…

要在CentOS中安装Docker

Docker部署 在CentOS中安装Docker要在CentOS中安装Docker&#xff0c;请按照以下步骤进行操作&#xff1a;启动和校验常用命令查看容器启动容器 配置镜像加速 在CentOS中安装Docker 要在CentOS中安装Docker&#xff0c;请按照以下步骤进行操作&#xff1a; 首先&#xff0c;确…

apache-maven-3.6.3 安装配置教程

链接&#xff1a;https://pan.baidu.com/s/1RkMXipnvac9EKcZyUStfGQ?pwdl32m 提取码&#xff1a;l32m 1. 将 maven 压缩包解压至指定文件夹 2. 配置环境变量 &#xff08;1&#xff09;打开此电脑-> 鼠标右键选择属性->点击高级系统设置 &#xff08;2&#xff09;点…

软件测试简历这样写,一周能约七个面试

简历到底有多重要&#xff1f; 俗话说&#xff1a;“简历就是你能否进入一家公司的敲门砖”。面试官只有看到一份有质量的简历才会给你一个面试的机会。 很多人都会有这样的问题&#xff0c;为什么我投了那么多简历&#xff0c;都没有接到面试通知&#xff1f;也没有HR和我电…