站内搜索
更多
扫地机器人自动充电系统
专业版

扫地机器人自动充电系统

简介

本项目以 STM32F103C8T6 单片机为主控,结合多种基础传感器,针对结构化室内环境,研究低成本扫地机器人自主返回充电座充电的实现方案。

简介:本项目以 STM32F103C8T6 单片机为主控,结合多种基础传感器,针对结构化室内环境,研究低成本扫地机器人自主返回充电座充电的实现方案。
星火计划2026

开源协议

CC BY-NC-SA 4.0

(未经作者授权,禁止转载)
创建时间:2026-02-02 18:14:47更新时间:2026-07-23 09:44:15

描述

视频链接:扫地机器人自动充电系统_哔哩哔哩_bilibili

 

一、项目实现目标

1、智能化测距与定位:结合超声波传感器模块与智能算法实现扫地机器人在结构化房间内的测距与定位功能。通过传感器扫描墙壁的轮廓结构以获取扫地机器人与墙壁各点之间的距离,并调用智能算法分析扫地机器人自身所处的位置进而实现自主定位。 
2、高准确度电压检测:配备高精度运算放大器准确测量电池电压,保障扫地机器人充分利用电池能量进行清扫作业的同时能够极大限度地延长电池的循环使用寿命。 
3、高效率避障:主控芯片实时读取红外反射传感器数据以判断障碍物的存在位置,然后运用智能算法快速做出躲避决策,实现高效率自主避让。 
4、高成功对接率:依赖专用程序实现扫地机器人沿着充电座前的黑色轨迹线行走,保障扫地机器人的行驶路线不偏移,以提高扫地机器人与充电座二者之间的对接成功率。

 

二、总体方案设计

本系统以STM32F103C8T6单片机为核心控制单元,协调多个传感器实现对扫地机器人周围环境的感知,包括探测障碍物、寻找黑色轨迹线以及测量距离。电池电压检测电路对扫地机器人的电池电压进行实时采集,检测到电压低于阈值自动触发回充操作。OLED屏幕实时显示扫地机器人的运行状态。单片机通过直流电机驱动芯片控制H桥电路驱动减速电机运转,同时通过定时器功能捕获电机编码器输出的AB相脉冲信号,以此分析直流电机的旋转方向与运行速度,为扫地机器人的运动控制提供闭环反馈。AC-DC降压电路为电池充电电路提供电源输入并确保对电池稳定充电。

 

三、总程序设计

流程开始先不断采集电池电压,判断电池电压低于阈值后自动触发回充操作。在返回充电座之前先获取TCRT5000红外反射传感器数据,判断扫地机器人是否处于黑色轨迹线上。如果条件成立,则沿着黑色轨迹线返回充电座;当条件不成立时,需要获取超声波传感器模块的测距信息,以此确定扫地机器人的当前位置,然后朝向黑色轨迹线前进。在前进时不断获取前方路况信息,当遇到障碍物时需调整方向躲避,直至避开地面上的障碍物。当扫地机器人寻找到黑色轨迹线时,调整方向后沿着黑色轨迹线移动至充电座,待其抵达后充电座自动为其充电,同时扫地机器人的STM32芯片会实时监测充电状态,直至电池完成充电。

 

四、子程序设计

角度旋转程序

角度旋转程序主要负责控制扫地机器人完成精准的转向动作,包括定点原地旋转、避障旋转等功能。流程开始后,函数获取传入的角度值,根据轮子直径、轮子间距等参数计算编码器的最终目标脉冲数,然后驱动扫地机器人原地旋转,同时获取编码器的计数脉冲以判断是否已经达到目标脉冲数,当满足条件时立即控制扫地机器人停止旋转,确保其能够实现精准转向。

 

直线行驶程序

直线行驶程序主要控制扫地机器人保持直线行驶,保证其在寻找轨迹线过程中不偏移路线。在该程序流程开始时,先给定初始速度驱动轮子旋转,让扫地机器人向前行驶,然后获取编码器计数脉冲并计算左右轮速度差,将差值传入PID运算函数进一步处理,根据运算结果调整左右轮电机的PWM输出值进而调整左右轮的速度。当其满足停止运行条件时,单片机控制电机停止转动,流程结束。

 

电池电压检测程序

流程开始后,单片机利用模拟输入引脚实时采集电池输出的电压模拟量,将连续变化的模拟信号转换为数字信号,经过转换处理,将电池电压实时显示于OLED屏幕,同时将得到的电压与预设电压阈值对比,若电压不低于阈值则继续采集,若低于阈值则触发蜂鸣器报警,完成报警后流程结束。

 

超声波测距程序

扫地机器人在返回充电座之前需明确自身位置,搭载在其身上的两个超声波传感器模块呈一前一后布局,用以测量前方和后方的距离,将二者相加后得出总距离。使用两个超声波传感器模块配合智能算法即可获取结构化房间内的距离信息,该测距方法具有如下特点:可在单个超声波传感器的有效测距范围内,完成结构化房间的整体距离测量,整个过程无需人工提前测量并输入房间的长、短边尺寸,也无需将传感器实测距离与预设边长对比即可判断当前检测的墙面为长边或短边。

 

超声波测距流程开始后,扫地机器人首先调用超声波传感器模块逐个方向测量距离并存储于定义的数组中,每完成一次测量后按照设定角度旋转机身,直至采集到各个方向完整的距离数据。采集得到所有数据后进行处理,举个例子,将测得的15个距离数据除以十进而缩小范围,假设某一次测得的总距离为125.36 cm,将其除以十,取整数得到“12”。接着将缩小范围后的数据从小到大排序,按照顺序统计各个数字出现的次数,然后找出出现次数最多的四个数字并依次排列,理论情况下,出现次数最多的前两个数字分别包含着长边和短边的总距离的数据范围,假设测得的缩小范围后出现次数最多的数字是“12”,将其乘以十扩大范围后得到“120”,即确定该次测量的总距离在120.00 cm至129.99 cm区间。

在处理完数据之后进入定位阶段,由于扫地机器人在触发自动回充之前是任意的朝向,并非每次都能面对长边或短边,因此需设定程序让其寻找长、短边。当其进入长短边的距离范围后,会接着边旋转边测距,直至测得的距离最短,此时表示扫地机器人已经以接近垂直的角度面对墙壁。由于还无法确定面对的是长边还是短边,需将刚才测得的缩小范围后的数据跟其他三个出现次数最高的数据进行比较,以此判断面对的是二者中的哪一边。如果刚才测得的数值比其他三个数值大,说明扫地机器人面对的是长边;如果刚才测得的数值比其他三个数值中的任意一个小,说明扫地机器人面对的是短边,此时需要旋转90度以面对长边。当扫地机器人面对长边后,获取前方和后方超声波传感器的测距信息,判断其所处位置,做出朝向房间中间黑色轨迹线的调整。

 

 

 

避障程序

扫地机器人在直线行驶过程中不断获取红外反射传感器数据,单片机接收并分析传感器发送的信号,判断前方是否存在障碍物。若前方无障碍物,需重复获取传感器数据;若检测到障碍物,则依次执行左转90度、行走一段距离、右转90度的避障操作,完成后结束该流程。

 

循迹程序

在房间的中间位置铺设一条长直的黑色轨迹线,用以引导扫地机器人沿着轨迹移动至充电座。当扫地机器人寻得黑色轨迹线并按照预定程序旋转90度后,即开始沿着黑色轨迹线移动至充电座的流程,当其抵达充电座后结束该流程。实际工作时不能保证扫地机器人每次旋转后都能朝向充电座,因而采用一种通过检测标志位置来纠正扫地机器人朝向的措施,保证其能够在短时间内调整方向面对充电座。将标志设置于黑色轨迹线的一侧,当扫地机器人沿着黑色轨迹线移动时,会检测标志位于轨迹线的右侧或左侧。如果检测到标志位于轨迹线的左侧,表明扫地机器人正在朝着面对充电座的正确方向行走;如果检测到标志位于轨迹线的右侧,表明扫地机器人正朝着背对充电座的错误方向行走,此时扫地机器人在识别到标志位于轨迹线右侧时会立即停止前进,并旋转180度后再前进至充电座。

 

 

五、关键实验数据

将扫地机器人随机放置于测试场地的左上方、右上方、左下方、右下方四个区域,对其基于超声波测距定位的功能进行测试。扫地机器人通过自身旋转,调用超声波传感器发射并接收超声波信号以测量环境距离信息,将测量结果缩小范围后进行排序,记录出现次数最高的前四个数据以及各自出现的次数。

观察上表的“最高数据/次数”与“次高数据/次数”这两列数据,“11”和“16”这两个数据在整个测试中出现的频率较高。在此之前测得场地的宽度约为113 cm、长度约为168 cm,将二者分别除以十,缩小范围后取整数正好得到“11”和“16”,说明扫地机器人能够精准地测得短边和长边的距离范围。而在第五次测试中并未出现数据“16”,可能是由于扫地机器人的位置靠近角落导致测得的距离偏近。总体来看,扫地机器人的超声波测距功能已基本实现。

 

六、实验结果

经过多组重复测试,本项目最终实现了五大核心功能,并取得了自动回充成功率为90%的实验结果,后续可针对现有问题引入闭环控制以及添加无线充电功能。

 

七、其他

LOGO验证

 

 

 

内部连线图

 

 

 

 

实物展示

 

 

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
扫地机器人自动充电系统.rar
6
2
自动回充.mp4
2
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航