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

2023-11-07 13:45

本文主要是介绍基于单片机的智能扫地机设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概要

  本文主要设计一个简单的智能扫地机。该扫地机的核心控制元器件是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.chinasem.cn/article/364018

相关文章

使用Python实现表格字段智能去重

《使用Python实现表格字段智能去重》在数据分析和处理过程中,数据清洗是一个至关重要的步骤,其中字段去重是一个常见且关键的任务,下面我们看看如何使用Python进行表格字段智能去重吧... 目录一、引言二、数据重复问题的常见场景与影响三、python在数据清洗中的优势四、基于Python的表格字段智能去重

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

Python3脚本实现Excel与TXT的智能转换

《Python3脚本实现Excel与TXT的智能转换》在数据处理的日常工作中,我们经常需要将Excel中的结构化数据转换为其他格式,本文将使用Python3实现Excel与TXT的智能转换,需要的可以... 目录场景应用:为什么需要这种转换技术解析:代码实现详解核心代码展示改进点说明实战演练:从Excel到

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

智能交通(二)——Spinger特刊推荐

特刊征稿 01  期刊名称: Autonomous Intelligent Systems  特刊名称: Understanding the Policy Shift  with the Digital Twins in Smart  Transportation and Mobility 截止时间: 开放提交:2024年1月20日 提交截止日