自己也能做扫地机器人!原理挺有趣的

嘉丽科技讨论 2024-08-06 02:48:48

今天逛开源平台,看到了一个实用的项目——扫地机器人。

什么?你说它看着不像扫地机器人?但……

一、功能/亮点

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

1.扫地+吸尘

一屋不扫,何以扫遍数电模电、嵌入式、嘉立创EDA……(bushi)

2.拖地+洗拖把

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

3.收纳

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

4.蓝牙遥控移动

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

那么问题就来了。

为什么将扫地机器人,设计为这样的结构呢?

二、结构设计

①机器人最前面的是边刷组件。包括两个500电机和两个边刷,用于将垃圾扒拉到机器人前方。

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

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

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

后方有超声波传感器,防止拖布提升时创到杂物

⑤整机由4个550电机组成四驱系统驱动,差速转向。

总装图如下:

这样的结构,能完美融合扫、洗、吸尘、自清洁的需求,岂不妙哉?

那,具体怎么设计硬件部分?

三、硬件设计

硬件分别设计了:遥控器+机器人本体。

本体原理图

本体PCB图

遥控端原理图

遥控端PCB图

1.遥控器电路

这部分主要实现对扫地机器人的控制,硬件说明如下:

ESP32主控+Typec+CH340上传程序TP4056充电&18650电池供电XC6206P332MR给ESP32降压供电INA226读取摇杆电压、用于交互的摇杆、按键、LED等

2.扫地机器人电路

硬件说明如下:

ESP32主控+Typec+CH340XT60接口作为整机电源输入(12V左右)LM2596给ESP32&传感器降压供电

这部分电路主要完成对各电机的控制。

具体如何控制?

①自带驱动的吸尘电机,使用光耦隔离后,直接向吸尘电机的调速引脚输入PWM,控制其启停和速度。

②单向旋转的滚刷&边刷电机,使用光耦+MOS控制其启停和速度。

③需要双向旋转的电机(如驱动电机),使用光耦+MOS+继电器控制其启停、旋转方向和速度。

3.ESP32 GPIO数量有限?

本项目需要外接一些传感器,实现更智能的障碍检测、拖地、拧干……

因为GPIO口数量有限,所以可以使用一片Arduino作为协处理器,将后置超声波传感器连接到Arduino D9(TRIG)、D10(ECHO),将拖布翻转位置传感器连接到Arduino A0。

当超声波传感器检测到障碍时,Arduino D3(连接到ESP32 GPIO34)输出高电平,反之为低。

当拖布翻转到拖地、拧干水洗位时,Arduino D4、D5(连接到ESP32 GPIO35、36)分别输出高电平。

参考资料:

[1]https://oshwhub.com/abrahamabr/homemade-sweeping-robot

【正文完】

我会持续更新有趣的开源小创作!

0 阅读:0

嘉丽科技讨论

简介:感谢大家的关注