首页 / 资讯中心 / 文章详情

从零攒一台扫地机器人:三条路线对比与完整硬件方案

从零攒一台扫地机器人:三条路线对比与完整硬件方案 ★ FEATURED ARTICLE
最近我把自用的扫地机拆开换了个主控板顺手把零件清单整理成了一张路线图发到群里之后有人问我纯自己攒一台扫地机器人到底靠谱吗说实话我一开始也没底。市面上的成品扫地机从几百到几千的都有软件和算法早就成熟了自己做无非是重造一个轮子。但如果你和我一样买东西总要弄清楚它为什么动、靠什么找路那从零件到整机的这条攒机路线真比想象中值得玩。这篇文章我会把三条路线——买成品、改二手、自己攒——各自的花费和门槛讲清楚重点放一张足够落地的攒机路线图上。适合动手派、想省钱又爱折腾的人当参考。1. 先认清三条路线为什么我最终走向了攒机这条路1.1 成品线买最省心但天花板也最清晰先泼一盆冷水现阶段直接买一台千元级以上的成品扫地机器人是性价比最高、体验最稳定的方案没有之一。头部品牌的旗舰机型激光雷达SLAM、Line Laser避障、自动集尘、拖布升降这些功能做到了一两千块你花同样的钱自己攒大概率达不到同样的清扫覆盖率。成品线的问题在于它是一个黑盒。你买到的是能用的东西但它怎么建图、怎么规划路径、固件里有没有收集你的家居数据你都不知道。遇到小毛病比如滚刷被缠住、边刷不转很多型号维修起来并不友好。更现实的是很多品牌的耗材和配件都做了一体化设计你换个电池都得用专用螺丝刀更别提改装升级了。所以成品线适合两类人一类是预算充足、追求省心把扫地当作纯功能性消费另一类是第一次用扫地机器人想先建立基本认知的。我自己家也留着两台成品机在用但它们基本不承担折腾属性——它们就是工具工具就干工具的活。1.2 二手改配线性价比与固件折腾的平衡点第二条线是买二手或者老旧型号来改。这条路在玩家里其实挺热门尤其是几款当年出货量大、可刷机的型号。比如一些采用通用主控平台的扫地机二手两三百就能收到原厂固件可能卡顿、路线乱串但刷入第三方固件之后稳定性反而明显提升。这里必须说清楚改固件和换主控板是两个层次的事。只刷固件的话你不需要碰硬件前提是目标机型有对应的第三方固件适配操作风险主要是变砖。更进阶一点的做法是干脆拆掉原厂主控换上树莓派或者单片机自己写控制逻辑电机、传感器、激光雷达基本都是现成的只需要通过驱动板对接。二手改配线的优缺点非常鲜明价格便宜、硬件基础好、外观完整不用自己搞底盘和外壳但代价是你得学习拆机、查找接口定义、处理老化的电池和电机。它不像成品线那样开机即用也不像攒机线那样完全自由。你要是刚入门、预算紧、又不想从一堆零件开始拼这条线是很好的过渡。1.3 攒机线真正从零组装符合攒机精神的部分攒机线就是本文的重点——不用成品机器作为起点而是自己选择底盘、轮子、电机、传感器、主控板、电池、风机、尘盒、外壳从头搭一个能扫地、能巡航、能回充的机器。很多人一听自己攒扫地机器人就觉得像造火箭其实没那复杂。拆开看一台扫地机的核心系统就五块底盘与动力系统、导航与避障系统、清扫系统风机、滚刷、边刷、尘盒、能源系统电池、充电管理、回充坞、主控与算法。每一块都能买到成熟的模块化组件你要做的不是发明某个部件而是把它们正确组合起来。我猜题主问如何拥有一台你自己的扫地机器人真正的诉求不止是有一台扫地机而是想要一台完全属于自己的、可以随时改、随时修、坏了不心疼、升级不锁死的东西。那么攒机这条线再适合不过。路线起步成本动手门槛可玩性上限推荐人群成品线1500 - 5000元无低固件封闭家用为主、求省心二手改配线300 - 1000元中中受限于原机硬件想改但不想从零开始攒机线500 - 2000元高极高全开放爱折腾、想深度理解逻辑2. 攒机之前的选料逻辑底盘、轮子、传感器、主控都要决定什么2.1 底盘两驱、四驱还是履带攒机第一步决定性的是底盘。扫地机器人对底盘的要求和普通小车不太一样它要能原地转弯要有一定的通过性越过厚地毯和门槛还要轻。我最推荐的起步方案是两轮差速底盘配万向轮。两个驱动轮各由一个减速电机驱动前部或后部再放一个万向轮作支撑转向靠左右轮差速实现转弯半径可以做到很小。这个方案结构简单、控制好写而且模块化程度高轮胎、电机、编码器都能拆换。很多成品入门扫地机其实也是这个布局。四轮独立驱动看着拉风但四个轮子转速一旦不完全一致机器跑起来就会拧巴对控制算法的要求高很多。履带底盘通过性好能爬坡不过转弯时对地面磨损大在地板上会明显留痕而且轮组贵、费电除非你家全是地毯否则没必要。真不是越贵越厉害扫地机要的是稳定在原地转圈、沿墙走不是去越野。2.2 电机与减速箱编码器比转速重要驱动电机这块初学最容易买错的是那种带TT减速轮的廉价电机——TT电机确实便宜十几块钱一个但它没有编码器。没有编码器你就不知道轮子实际转了几圈、走了多少距离导航算法就是空中楼阁。带霍尔编码器的减速电机才是扫地机的标配比如常见的GA12-N20、JGA25-370或者MG513系列。选型的时候看三个参数额定电压常见6V/12V、减速比30:1到100:1之间比较合适、编码器线数常见每圈几脉冲到几十脉冲。另外电机自身会带个转速上限扫地机不需要跑多快0.3到0.5米/秒的行进速度就已经够用速度太快扫不干净建图质量也下降。还有一个容易忽略的点是电机的起步平滑度。如果你用PWM直接怼电机从静止到全速的那一下会特别突兀所以驱动板上一般需要做死区补偿和软启动。攒机阶段不用做得多高端但至少别一通电就猛冲否则撞墙会特别生猛。2.3 传感器防跌落、避障、里程计一个都不能少扫地机的导航本质上靠的是传感器数据。按功能划分攒机阶段至少需要这几类防跌落传感器一般用红外对管或者小型ToF模块装在底盘下方检测到台阶就后退转向。家里有楼梯的话这个必须有。里程计/轮速传感器上面说的电机编码器通过霍尔脉冲估算行驶距离。碰撞传感器物理微动开关机器撞到家具才知道是简单避障逻辑的兜底方案。避障测距传感器常见有三种超声波HC-SR04、单点ToFVL53L0X、360度激光雷达RPLIDAR等。超声波便宜但探头小、范围窄ToF精度高但只能测一个方向激光雷达是最接近成品扫地机的方案能直接获得周围轮廓数据和算法配合可以做到建图导航。我的建议是分两步走第一版先用碰撞开关加两三个超声波模块跑通基本逻辑别一上来就上激光雷达。等把轮速控制、状态机这些基本功做扎实了再把激光雷达挂上去升级到真正的SLAM。这种增量式开发会让你对每个环节的理解都深刻得多。2.4 主控与计算板的选择ESP32起步树莓派进阶主控是扫地机的大脑现在的选择比几年前多太多了。我按入门难度从小到大排一下Arduino系列最简单但RAM和运算能力很有限适合做个会避障乱跑的小车做真正扫地机会吃力。ESP32/ESP32-C3/S3我近年最推荐给新手的起步方案。双核240MHz自带Wi-Fi和蓝牙GPIO够多MicroPython或Arduino框架都支持关键是价格只要十几二十块。用于跑状态机、读取传感器、控制电机完全够用唯一短板是跑不了高精度的视觉SLAM。STM32嵌入式方向的标准选择实时性强资料多但开发环境对新手没那么友好。树莓派/RK3588等Linux板适合跑真SLAM和ROS不过启动慢、功耗高、外围电路还得自己配。很重要的一点是树莓派并不自带模拟量采集和电机驱动接口你仍然需要一块单片机做底层控制两者分工。我的典型组合是ESP32做底层电机、传感器、风机控制、充电逻辑树莓派Zero或4B做上层SLAM建图、路径规划、Web远程控制中间用串口通信。这样底层实时性有保障上层算法空间也够用。2.5 电源与供电分配最无聊但最致命的一环电源这块是攒机翻车重灾区。扫地机要同时给主控、电机、风机、传感器供电电池电压一波动轻则传感器读数飘重则单片机直接复位机器满屋乱跑。攒机阶段推荐用18650锂电池组电压选7.4V两串或11.1V三串比较合适。电机直接接电池电压经过电机驱动板控制主控板通过DC-DC降压模块稳到5V或3.3V传感器尽量统一到同一电源轨上。我建议预算里至少留出一块BMS保护板电池过放、过流保护和一块DC-DC稳压模块或者直接用带电池保护的一体化电源管理模块。别为了省那几十块钱直接把电芯焊上去裸奔扫地机工作电流动不动好几安培没有保护很容易把电池搞到报废甚至鼓包。关于鼓包电池我只有一个忠告发现鼓包立即断电别尝试修复直接换新的。3. 攒机路线图从零件清单到跑起来的分阶段步骤3.1 第一阶段明确需求把预算和零件表列出来攒机之前先回答三个问题你家里主要的地面是什么要不要自动回充要不要联网远程控制它们的答案直接决定你用不用激光雷达、要不要做充电坞、主控选不带Wi-Fi的型号。我给自己设定的目标版本是基础可用版两驱差速底盘、红外防跌落、超声波碰撞避障、无刷风机吸尘、手动充电。这个版本不追求自动回充更不追求自动建图目标是让它能稳定扫完一个房间并主动避开障碍。等这个跑通了再往上面叠加激光雷达和自动回充。这部分零件表可以写成这样底盘亚克力或机架底盘套件 两个带编码器减速电机 驱动轮 万向轮约150元驱动模块TB6612FNG或L298N电机驱动板约30元主控ESP32开发板约25元传感器HC-SR04超声波 * 2 红外防跌落 * 2 微动开关 * 2 MPU6050陀螺仪约60元清扫模块一个小型无刷风机 边刷电机 简易尘盒约80元电池电源18650电池组 * 4 BMS DC-DC降压约80元杂项杜邦线、接插件、螺丝铜柱、杜邦头约30元这一套加起来五百块左右是攒机线里最省钱的入门组合。注意我这套方案不包含激光雷达因为那东西好的要三四百占了整机预算的大头。3.2 第二阶段装底盘、接线、先给电机通电这个阶段的目标不是让机器扫垃圾而是让它能按你的指令前进、后退、原地转弯。先把电机固定到底盘上确认两个驱动轮在同一轴线上万向轮安装后机身能放平且能灵活转动——这一步很多人忽略万向轮太紧会导致转向时打滑直接影响里程计。接线顺序也很重要。先把电机驱动板的逻辑引脚接到ESP32的GPIO上再给驱动板供电池电压最后给ESP32供5V逻辑电压。新手最容易犯的错误是共地问题ESP32的GND和电机驱动板的GND必须连在一起否则PWM信号没有参考平面电机会乱转。通第一版测试程序时先不要装风机和传感器让机器裸奔。从左轮前进、右轮前进、原地左转、原地右转这些基本动作开始验证每一个动作都拿手机录像记录下来确认没方向反的、没抖动过大的。电机反向的问题见怪不怪因为左右电机安装方向相反代码里需要做invert处理写死之前先确认自己接的是哪根线。3.3 第三阶段让传感器说话构建最基本的避障行为电机跑顺之后下一步是接传感器并且在串口或OLED屏上实时打印读数。超声波测距的值、防跌落传感器的触发状态、微动开关的通断状态这一刻你才算真正看见扫地机感知到的世界。控制逻辑我建议用有限状态机别直接写一坨while(1)加一堆if。总得来说就几个状态直行、左转避障、右转避障、后退、沿墙走、停机。传感器触发时切换状态超时或撞墙后回到直行。状态机的好处是逻辑清晰、调试方便出问题你知道是在哪个状态里出的错。这里我踩过的一个大坑是超声波传感器的朝向和安装高度。探头如果装得太高会测不到沙发腿这种矮障碍装得太低又会被地面回波干扰每次读数都虚高。我最后的做法是让探头稍微朝下俯仰10度左右离地4到6厘米实测稳定很多。另一个坑是多个超声波模块同时工作会互相串扰读出来的距离是别的探头的回波解决办法是轮询或者让各探头的触发脚错开时间。3.4 第四阶段清扫单元——风机、边刷、尘盒的三件套到了这一步你的机器还只能算会走路的传感器平台加上清扫单元之后才算扫地机器人。清扫系统由三块组成风机产生负压吸尘滚刷或边刷把垃圾拨到风口附近尘盒负责收集。对耐用性要求极高边刷建议买扫地机专用边刷总成几十块钱那种两个边刷对转沿墙效果比单边刷好不过我家是单边刷也能用。风机这里我一定要多说一句很多新手为了图便宜买那种模型飞机用的涵道风扇转速高但风压极小吸不起来灰尘。扫地机需要的是高风压、低风量的风机淘宝搜小型吸尘器电机桌面吸尘器风机优先选带风罩和出风口的。风机的驱动也要注意无刷风机一般不能直接用继电器开关——突然断电会产生巨大的反向电动势对控制板有风险用PWM调速模块或者专门的电机驱动芯片来带。尘盒这关刚开始可以用打孔塑料盒凑合但很快你就会发现密封性非常关键吸风口和尘盒之间只要有缝吸力就会衰减一截。我在尘盒口粘了一圈硅胶条吸力提升非常明显。3.5 第五阶段固件、算法与远程控制——向智能迈进基础清扫逻辑跑通后攒机的价值才真正体现出来——你可以不断往上叠东西。第一可叠的是固定的清扫模式沿墙模式超声波测距保持左右距离恒定让机器贴着墙边跑弓字形模式直行一段、掉头、平移一段覆盖面积比随机弹跳大得多回充模式检测电量手动引导它回充电座。这些模式的本质都是把状态机再加几个状态。第二可叠的是联网控制。ESP32自带Wi-Fi用ESPHome或自己写个WebServer手机打开浏览器就能开关机、看状态、切换模式不用任何云服务。我自己的机器就是这么干的局域网访问秒响应还不用把数据交出去。再往后如果你想进阶到自动建图和规划路径就该上激光雷达加SLAM算法了。Linux板跑ROS激光雷达用RPLIDAR入门款加上IMU做航向修正能实现最基础的建图。这一步和前面那种状态机方案是两个量级——状态机是条件反射SLAM是空间认知。没把前面基础阶段吃透的话直接跳到这里会很痛苦。4. DIY扫地机最容易踩的坑我从翻车现场总结的排障记录4.1 里程计失真的假前进轮子转了你以为它走了我的第一版机器人犯过一个很隐蔽的低级错误左轮的外径比右轮小了两毫米。结果就是当我让两个电机以相同PWM和相同转速转动时机器实际在走弧线。没有编码器反馈的时候完全看不出来因为两个轮子的转速表数据是一样的。装了编码器之后数据也透露出左右轮圈数不一致这个问题这时才意识到是轮子尺寸差异。里程计失真的后果非常明显导航算法认为机器走了直线实际却在画圈建出来的地图全是歪的。解决思路是选轮子时优先用同批次同一型号的轮胎装好后拿尺子量外径量周长代码里对左右轮分别做比例校准。校准的方法是让机器直线走一米看实际偏移多少然后在里程计算里乘一个修正系数。4.2 电池电压突降导致主控反复复位这个问题可能很多DIY玩家都遇到过表现像是电路板抽风机器一启动电机主控就重启接上风机更夸张重启频率跟PWM频率一样高。根本原因是电机和风机的瞬时启动电流极大电池电压被瞬间拉低而主控从同一电池组取电供电电压跌破了单片机的复位阈值。解决方案有三个方向一是主控单独挂一路降压模块而且降压模块输入端加大电容一般470uF以上二是电机启动做软启不要一上来就100%占空比先用小占空比预热半秒再加速三是用独立的降压板或者带陶瓷电容的稳压模块别跟驱动板共用共地回路的主供电路径。电源隔离这事花五块钱就能解决别让省钱的念头毁掉整个调试过程。4.3 传感器串扰产生的幽灵障碍超声波传感器串扰我前面提过一嘴这里展开说说排查过程。有一次我的机器在一个两米宽的走廊里突然反复转向好像走廊中间有一堵看不见的墙。我用串口打印传感器数据发现两个探头交替测出1米左右的距离但走廊里明明什么都没有。看了半天才反应过来第一颗探头发出的声波碰到侧墙后被第二颗探头的接收器收到系统判断右侧30厘米有障碍物于是触发避障。逐个触发频率查数值发现两只探头同时发射的时候读数就会异常。后来在代码里让两探头错开20毫秒轮流工作问题立即消失。所以遇到避障行为异常请先怀疑多个同类型传感器互相干扰别一上来就怀疑算法。4.4 尘盒密封与风道阻力吸力忽大忽小这个问题和电子无关但特别影响实际清扫效果。我的第一版尘盒是用旧塑料盒做的为了快速成形用热熔胶封了不少缝隙。用的时候发现空仓时吸力还行一旦里面装了薄薄一层灰吸力就骤降。拆开研究才明白尘盒密封不严时风机产生的负压会从缝隙漏掉吸口处的风速自然降低而垃圾填充后进一步堵塞风道负压损失更严重。解决方法是把尘盒的开口、接口处全部打上硅胶风口尺寸设计成从宽到窄的漏斗形状让吸入口的风速最大化。别小看这个机械细节——很多成品机器贵的理由一半是算法一半就是风道设计的功力。5. 预算、效果与心态攒一台扫地机的现实总结5.1 不同预算档位的配置建议我把攒机方案的预算分成三档方便你根据自己的钱包和功力选择预算档位主控方案传感器方案清扫能力预期体验500元基础版ESP32超声波碰撞防跌落无刷风机边刷手动充电能跑、能避障、扫小房间无建图1000元进阶级ESP32树莓派加装RPLIDAR A1激光雷达加大风机双边刷能建简单栅格地图、弓字覆盖2000元豪华版ESP32性能Linux板激光雷达IMU多个ToF大功率风机自动回充模块接近成品入门机的清扫体验注意豪华版说的接近成品入门机扫得干净程度和路径规划依然可能达不到大厂水平。但它的价值在于全部系统你都懂哪里坏了能修哪里想升级能升。5.2 关于自动回充与自动集尘的一点实话很多人刚开始攒机时最兴奋的目标是让机器扫完自己回去充电。自动回充在原理上并不难充电座放一个红外信标机器上的红外接收管检测到信号后逐步对齐并驶入充电座两侧触片接触充电触点完成充电。听起来非常简单真正做起来你会发现几个磨人的细节从什么角度接近充电座才不会撞歪最后5厘米怎么对准触片氧化接触不良怎么办我建议第一版先别做自动回充手动搬去充电一点不丢人。等基础行为全部稳定了再慢慢调回充角度和停靠逻辑。自动集尘就别想了那是要在底座里加风机和尘袋的DIY成本高、效果差还容易把垃圾吹得到处都是。5.3 攒机真正的意义不在省钱在于你全部看得懂最后说点心态层面的体会。很多抱着省钱目的开始攒机的人最后往往发现总投入并不比买台入门成品机便宜多少时间成本更是没法算。那为什么还要走这条路线我个人的答案是因为掌控感。成品扫地机能扫地但你不知道它为什么规划成这个路线攒机的扫地机能扫地而且你知道地上每一根线是干什么的、撞到桌腿之后它为什么选择往左转而不是往右转。这种从用产品到懂系统的落差是非常迷人的。这台机器也给了我很多意外的收获因为要优化里程计我重新把轮速反馈控制从头学了一遍因为要做避障状态机我把主流的扫地机控制逻辑翻来覆去拆了几遍因为要解释清楚给朋友听我养成了画系统图、写调试记录的习惯。这些东西一台成品机给不了我。所以如果你已经读到这里说明你大概率也是能静下心来折腾的那种人。那就别犹豫照着这张攒机路线图先从便宜的零件开始一步步把属于你自己的扫地机器人拼出来。等它在你脚边嗡嗡响着扫完第一圈那种满足感比你想象中还要上瘾。
阅读完成 · 觉得有帮助?
咨询建站