工程名称:自制扫地机器人
工程作者:Xiaoyi
基于ESP32,做了个扫地机器人+遥控器!

扫地机器人,有4大功能!

先洗拖把,再拖地,我是清理大使,你铭记!双押!


一键即可自行收纳作案工具

前后左右+转弯,很轻松就扫了整个屋子~

那么问题就来了。
为什么将扫地机器人,设计为这样的结构呢?
①机器人最前面的是边刷组件。包括两个500电机和两个边刷,用于将垃圾扒拉到机器人前方。

②预吸尘组件,包括一个吸尘电机、对应的尘盒、过滤网。

③滚刷扫地组件,包括滚刷、滚刷电机、两个吸尘电机、尘盒、过滤网。

④拖地组件是一个迷你拖布,上面安装丝杆电机用于拉动拖布拉环,洗拖把、挤尽拖布内的水。

后方有超声波传感器,防止拖布提升时创到杂物
⑤整机由4个550电机组成四驱系统驱动,差速转向。

总装图如下:

这样的结构,能完美融合扫、洗、吸尘、自清洁的需求,岂不妙哉?
那,具体怎么设计硬件部分?
硬件分别设计了:遥控器+机器人本体。

本体原理图

本体PCB图

遥控端原理图

遥控端PCB图
这部分主要实现对扫地机器人的控制,硬件说明如下:
-
ESP32主控+Typec+CH340上传程序
-
TP4056充电&18650电池供电
-
XC6206P332MR给ESP32降压供电
-
INA226读取摇杆电压、用于交互的摇杆、按键、LED等
硬件说明如下:
-
ESP32主控+Typec+CH340
-
XT60接口作为整机电源输入(12V左右)
-
LM2596给ESP32&传感器降压供电
这部分电路主要完成对各电机的控制。
具体如何控制?
①自带驱动的吸尘电机,使用光耦隔离后,直接向吸尘电机的调速引脚输入PWM,控制其启停和速度。
②单向旋转的滚刷&边刷电机,使用光耦+MOS控制其启停和速度。
③需要双向旋转的电机(如驱动电机),使用光耦+MOS+继电器控制其启停、旋转方向和速度。
本项目需要外接一些传感器,实现更智能的障碍检测、拖地、拧干……
因为GPIO口数量有限,所以可以使用一片Arduino作为协处理器,将后置超声波传感器连接到Arduino D9(TRIG)、D10(ECHO),将拖布翻转位置传感器连接到Arduino A0。
当超声波传感器检测到障碍时,Arduino D3(连接到ESP32 GPIO34)输出高电平,反之为低。
当拖布翻转到拖地、拧干水洗位时,Arduino D4、D5(连接到ESP32 GPIO35、36)分别输出高电平。
项目软硬件已开源!

——想复刻?想给作者点赞?可复制开源网址 前往原文。