
自制扫地机器人
简介
diy的一个蓝牙遥控扫地机器人,支持吸尘、扫地、拖地以及自动洗拖布等功能。
简介:diy的一个蓝牙遥控扫地机器人,支持吸尘、扫地、拖地以及自动洗拖布等功能。开源协议
:GPL 3.0
描述
一、概述
本项目为我自制的一个蓝牙遥控扫地机器人,支持吸尘、扫地、拖地以及自动洗拖布等功能。
整体分为遥控器和机器人本体
本体最前面是边刷组件,包括两个500电机和两个边刷,用于将垃圾扒拉到机器人前方
然后是预吸尘组件,包括一个吸尘电机以及对应的尘盒及其过滤网
然后是滚刷扫地组件,包括滚刷及滚刷电机、两个吸尘电机及尘盒和过滤网
最后是拖地组件,主体为一个迷你拖布,上面安装丝杆电机用于拉动拖布拉环,挤尽拖布内的水。正常情况下,拖布在机器人最后面,需要洗拖布时,电机带动拖布提升,进入机器人上方的水箱中洗拖布。(后方有超声波传感器,防止拖布提升时创到杂物)
整机由4个550电机组成四驱系统驱动,差速转向。
遥控器为游戏手柄形状,上有摇杆按键实现各种功能(前后左右、除尘/拖地/除尘+拖地/收纳模式、自动洗拖布开关、手动控制洗拖布、反复拖地)
二、电路
遥控器的电路相对简单,本项目使用ESP32经典蓝牙(蓝牙串口)实现遥控功能。
使用ESP32作为主控,Typec+CH340上传程序,TP4056充电&18650电池供电,XC6206P332MR(可用SC662K平替)给ESP32降压供电,INA226读取摇杆电压、以及用于交互的摇杆、按键、LED等。
本体主要完成对各电机的控制功能。
同样使用ESP32主控+Typec+CH340的经典构型,使用XT60接口作为整机电源输入(12V左右),LM2596给ESP32&传感器降压供电。
对于自带驱动的吸尘电机,使用光耦隔离后直接向吸尘电机的调速引脚输入PWM控制其启停和速度。
对于单向旋转的滚刷&边刷电机,使用光耦+MOS控制其启停和速度。
对于需要双向旋转的电机(如驱动电机),使用光耦+MOS+继电器控制其启停、旋转方向和速度。
此外,本项目还需要外接一些传感器,由于ESP32 GPIO数量有限,使用一片Arduino作为协处理器,后置超声波传感器连接到Arduino D9(TRIG)、D10(ECHO),拖布翻转位置传感器连接到Arduino A0。当超声波传感器检测到障碍时,Arduino D3(连接到ESP32 GPIO34)输出高电平,反之为低。当拖布翻转到拖地、拧干水洗位时,Arduino D4、D5(连接到ESP32 GPIO35、36)分别输出高电平。
另:ESP32 GPIO25连接一个继电器用于控制水泵电机
三、结构
此处着重介绍机器人本体,遥控器只有一个外壳和摇杆套,在此不过多赘述。
总装图如下:
驱动部分(共有4个构成4驱)
边刷部分(对应总装图里两个圆)
吸尘一体模块
拖地
水箱没什么好说的,就是架在底盘上方的水箱,有一个水泵用来泵水洗拖布
四、代码
见附件
五、演示
设计图

BOM


评论