OOMWOO 开源扫地机器人边刷电机、边刷与充电触点部件规格详解
【免费下载链接】oomwooOpen-source vacuum robot cleaner项目地址: https://gitcode.com/gh_mirrors/oo/oomwoo
本文以 contributions/part-specs/OsakaTX/side-brush-charging-contacts-specs.md(2026-07-16 编译)为骨架,系统梳理 OOMWOO 开源扫地机器人项目中边刷电机(Side Brush Motor)、边刷(Side Brushes)与充电触点(Charging Contacts)三组关键部件的选型规格、物理拆解结论、固件控制接口与设计建议。文中数据源自上游 BOM.md 的三个新条目(commit
5977b86、61a6063、37f0bdc)、codetiger/VacuumTiger 固件源码分析,以及 iFixit 拆解指南、particleflux.codes 拆解、Reddit r/Roborock 实测等公开资料,并结合作者物理拆解与固件源码逐项验证。读完本文,你将掌握:如何为 OOMWOO 选择固定式或 FlexiArm 可伸缩边刷电机、如何确认边刷电机与主刷电机在 GD32 固件中的控制指令与数据格式、如何设计机器人侧镍片 + 底座侧 pogo pin 的接触式充电系统,以及如何通过固件中的充电标志位与电压偏移量判断"已上座/正在充电"状态。
1. 背景:三个新增 BOM 条目的来龙去脉
OOMWOO 的部件采购清单(BOM.md)在 2026-07-14 至 07-16 之间新增了三个可研究的部件规格条目:
| Commit | 说明 | 日期 |
|---|---|---|
5977b86 | "Sourced side brushes"(采购边刷) | 07-14 |
61a6063 | "Source side brush motor assembly"(采购边刷电机组件) | 07-14 |
37f0bdc | "Sourced robot charging contacts"(采购机器人充电触点) | 07-16 |
壁障传感器与地毯传感器(commit2a71e64、91476ba)在配套文档 contributions/part-specs/OsakaTX/wall-carpet-sensor-specs.md 中单独覆盖,本文不展开。
结合 docs/design-document.md 的"打印 vs 采购"策略(§2),边刷组件属于混合方案(Hybrid):采购现成的刷头 + 小型齿轮电机,3D 打印安装支架,并且 v1 明确固定式(Fixed)而非可伸缩式(Extendable)——可伸缩 FlexiArm 是机械复杂度很高的执行机构,被列为 P2+ 社区改装方向而非 MVP 需求(§3.1)。这套决策正是本文三组部件规格要支撑的落地细节。
2. 边刷电机(Side Brush Motor)
2.1 BOM 条目与两种变体
| 类型 | 价格 | 兼容型号 | 说明 |
|---|---|---|---|
| 固定式(Fixed) | $7-10 | Roborock S5、S50、S51、S52、S55、S502-00/01/02/03、S552-00、S5 Max、S6、S6 Pure、S6 MaxV、S60、S61、S65、S7、S7 MaxV、S7 Plus、S70、S75;Xiaowa/Xiaomi C10、E20、E25、E35 | 标准边刷电机 |
| 可伸缩式(FlexiArm) | $18-35 | Roborock Qrevo Master/Edge/Slim/Pro/S Pro、S8 MaxV Ultra、S8 Max Ultra、Q55 Pro、G20、G20S、V20 | 电机驱动伸缩臂 |
固定式电机与主刷电机一样,是跨 Roborock S5~S7 MaxV 全家族(含 Xiaomi C10/E20/E25/E35)共享的标准替换件,零售 $7-10 即可买到。FlexiArm 是可伸缩的新一代设计,用于旗舰型号(Qrevo、S8 MaxV、G20S、V20),不可与固定式直接互换。
2.2 电机类型——物理拆解确认
- 类型:有刷直流电机(Brushed DC motor)——由 Reddit 拆解(u/BinturongHoarder,2025-01)确认:
- 内含碳刷(磨损电机内部发现煤尘/碳粉)
- 两端为烧结青铜自润滑轴套(sintered bronze self-lubricating bushings),而非滚珠轴承
- 电机外壳未密封,可能受灰尘侵入影响
- 电机无法无损打开,拆解即破坏
- 机器人通过电流检测识别堵转并关闭电机作为安全措施
- 结构:金属 + PVC 外壳
- 重量:约 0.150 kg(Amazon 替换电机 "Mytkoj" 品牌清单数据)
从固件与 I/O 板设计角度看,堵转检测正是 docs/ARCHITECTURE.md §5.4 中 MCU"电流限制卡死刷头(current-limits a stuck brush)"这一硬安全职责的物理基础——安全逻辑始终位于 STM32 MCU,而非 Linux/ROS2 侧。
2.3 齿轮箱(Gearbox)——拆解确认
- 类型:2 级减速塑料齿轮箱:
- 齿轮箱内有两个白色塑料齿轮
- 内含润滑脂
- 齿轮与润滑脂通常可靠——电机故障才是常见问题,而非齿轮
- 传动比:官方未公布;AliExpress wiki 声称 1:40(S5/S5 Max)、1:45(S6 Pure/MaxV)、1:50(S7/MaxV)——这些值来自零售 wiki,未经制造商数据表核实,应视为近似值
- 安装方式:3 颗螺丝将齿轮箱组件固定到底盘;电机内部由 2 颗螺丝固定;电机前端有一个对位凸台(alignment nub)嵌入第 3 个孔位
2.4 电气接口
- 接触焊盘:电机 PCB 上的 TP1 和 TP2(2 焊盘触点,简单 DC +/−)
- 连接器:2 线连接到主板(按 AliExpress wiki 安装指南为小型 JST 型连接器;具体型号/间距仍属未知缺口)
- 工作电压:官方未公布;机器人电池为 14.4V 标称(VacuumTiger
constants.rs的 13.5-15.5V 范围)。边刷电机很可能运行在电池电压或 PWM 调节的较低电压下 - 速度控制:通过 GD32 固件进行 PWM 控制
2.5 固件控制(VacuumTiger——源码验证)
| 参数 | 值 | 来源 |
|---|---|---|
| 指令 | CMD_SIDE_BRUSH = 0x69 | constants.rs第 19 行 |
| 数据格式 | 4 字节负载,data[4] = 速度(u8,0-100%) | packet.rs第 141-149 行 |
| API | pub fn set_side_brush(&mut self, speed: u8) | sangam-io/src/devices/crl200s/gd32/packet.rs第 145 行 |
| 文档 | "0x69 | Side Brush | 1 byte | ✅ | 32x | HIGH | Working in SangamIO, matches AuxCtrlpacketBrushSpeed" | sangam-io/src/devices/crl200s/COMMANDS.md |
| 组件 ID | "side_brush" | commands.rs第 75 行 |
与边刷同族的主刷电机(Main Brush Motor)控制接口一并列出(本文文档第 4 节,BOM 已于 07-14 加入):
| 参数 | 值 |
|---|---|
| 指令 | CMD_MAIN_BRUSH = 0x6A |
| 数据格式 | 4 字节负载,data[4] = 速度(u8,0-100%) |
| API | sangam-io/src/devices/crl200s/gd32/packet.rs第 134 行 |
| 文档 | "0x6A | Rolling Brush | 1 byte | ✅ | 32x | HIGH" |
| 组件 ID | "main_brush" |
两路电机均通过 GD32F103VCT6 上的 PWM 输出驱动,速度字段为 0-100% 的 u8 值;OOMWOO 自定义 I/O 板(STM32G473VCT6 方案,见 docs/ARCHITECTURE.md §5.4 与 contributions/io-pcb)延续了这一"MCU 独占电机驱动 + 电流检测堵转保护"的架构范式。
2.6 主刷电机 BOM 条目(上下文参考)
| 类型 | 价格 | 兼容型号 | 说明 |
|---|---|---|---|
| 主刷电机 + 齿轮箱 | $7-11 | Roborock S5、S50、S51、S52、S55、S502、S552、S6;Xiaowa C10、E20、E25、E35 | 需刷座适配器(brush socket adapter) |
2.7 故障模式(参考)
常见故障:清洁过程中边刷停止旋转。根因通常是碳刷磨损或烧结青铜轴套卡死(而非齿轮故障)。机器人通过电流检测发现堵转后禁用电机。标准修复方式是直接更换——电机设计为便于快速更换(约 10 分钟作业,仅需 Phillips #2 螺丝刀)。
3. 边刷(Side Brushes)
3.1 BOM 条目
| 类型 | 价格 | 兼容型号 | 说明 |
|---|---|---|---|
| 5 臂 | $2-8 | Roborock S5、S50、S51、S55、S6、S60、S6 Pure | 标准 5 臂边刷 |
| 3 臂 | $3-9 | Roborock S8 及许多其他 Roborock 型号 | 3 臂设计 |
| 2 臂弧形 | $3-7 | Roborock Saros | 可能适配许多其他型号 |
3.2 安装方式
- 单颗 Phillips #2 防脱落螺丝将边刷固定在电机轴上
- 拧下螺丝后刷头即可取下——除螺丝刀外无需其他工具
- 边刷对位很重要:若刷头不与墙面平行,会产生拖拽并过早磨损
这与 docs/design-document.md §3.1 的决策呼应:圆形机身 + 固定边刷先解决边角清洁(corner cleaning)的大部分收益,可伸缩式留作 P2+ 社区改装。
4. 充电触点(Charging Contacts)
4.1 BOM 条目——机器人侧
| 规格 | 值 |
|---|---|
| 数量 | 2 |
| 材质 | 镀镍钢条(Nickel-plated steel strip) |
| 尺寸 | 约 1mm 宽、0.1mm 厚、5cm 长 |
| 价格 | $1.50-2.50 |
| 来源 | 标准镍条(AliExpress/Amazon/eBay) |
注意:上游 BOM.md 中"Charging contacts"条目给出的宽度规格为 "≥10mm wide"(1 对 $3-5),而本文档拆解实测为约 1mm 宽——两条数据来自不同来源(BOM 为采购搜索参考,本文档为物理规格研究),采购前应以实际到货件测量为准。
4.2 BOM 条目——底座侧
| 规格 | 值 |
|---|---|
| 数量 | 2 |
| 类型 | 镀金 pogo pin(弹簧探针) |
| 额定电流 | 4A |
| 价格 | TODO(BOM 中尚未定价) |
底座侧充电触点在 BOM.md 的 Dock 表中对应条目为 "Gold-plated pogo pins ≥4A; rear-vertical, above water line"(2-4 个,$2-6?),并强调后部垂直布置、位于水位线之上——这是为未来带水箱的洗烘底座预留的防水设计约束。
4.3 充电系统规格
| 参数 | 值 | 来源 |
|---|---|---|
| 底座电源输出 | 20V DC,1.2A(24W) | Amazon/AliExpress 上 Roborock S5 替换适配器清单 |
| 触点处底座输出 | 约 19.8-20V DC(机器人停靠时) | Reddit r/Roborock 用户实测(2023-06) |
| 机器人电池电压 | 13.5-15.5V(4S 锂离子) | VacuumTigerconstants.rs:BATTERY_VOLTAGE_MIN = 13.5、BATTERY_VOLTAGE_MAX = 15.5 |
| 电池标称电压 | 14.4V(mock 配置默认 14.8V) | VacuumTigermock/config.rs:default_battery_voltage() = 14.8 |
| 充电方式 | 接触式(非感应/无线) | Roborock S 家族标准 |
从项目架构看,OOMWOO 电池为4S2P Li-ion、14.4V 标称、约 5200 mAh / 75Wh、16.8V CC/CV 充电 + NTC 温度检测(docs/ARCHITECTURE.md §5.3),并保留充电控制电路(charge-controller IC)与底座触点作为 I/O 板电源部分的设计项(docs/design-document.md §5)。充电/底座相关模块须通过维护者安全审查(docs/CONTRIBUTING.md 第 136 行、docs/ARCHITECTURE.md §8)。
4.4 固件充电检测(VacuumTiger——源码验证)
- 充电标志位偏移:
OFFSET_CHARGING_FLAGS = 0x07(96 字节状态包的第 7 字节) - 标志位:
- Bit 0(
FLAG_DOCK_CONNECTED = 0x01):1 = 机器人已停靠在充电底座上 - Bit 1(
FLAG_CHARGING = 0x02):1 = 机器人正在充电
- Bit 0(
- 电池电压偏移:
OFFSET_BATTERY_VOLTAGE_RAW = 0x08(第 8 字节,原始值 / 10 = 伏特) - 充电器电源指令:
CMD_CHARGER_POWER = 0x9B——1 字节,启用/禁用 - 来源:
sangam-io/src/devices/crl200s/constants.rs、SENSORSTATUS.md
补充说明:roborock-s5-mainboard-ics.md中确认原厂主板上还有TI BQ24773 电池充电控制器/电源监控 IC(U25 附近),OOMWOO 自定义 I/O 板可用同类充电 IC 实现 16.8V CC/CV 充电路径(参见 contributions/part-specs/OsakaTX/io-board-spec-jul18-update.md 中 NTC 10.7 kΩ 与 0.62 MΩ 电池识别电阻的说明)。
在 ROS2 层,这些状态通过 docs/SOFTWARE_INTERFACES.md 定义的接口暴露:/battery_state(MCU → CPU,电池电压/电流与充电状态)、/oomwoo/dock_ir/front_left|right(最终接近阶段的底座 IR 归航强度)与/oomwoo/dock_ir/search_left|right(搜索阶段左右侧底座信标强度)。这与 contributions/dock-cycle RFC 的"undock → 返航 → 精确对接 → 确认充电开始 → 底座服务"流程衔接——精确对接的验收标准之一就是"确认充电已开始"。
4.5 充电触点设计笔记
机器人侧(镀镍钢条):
- 机器人使用扁平弹簧金属条作为充电触点,而非 pogo pin
- 镀镍在低成本下提供耐腐蚀性
- 条状尺寸(约 1mm × 0.1mm × 5cm)是标准镍条现货——与电池组点焊所用材料相同
- 弹力来自条材自身的弯曲,而非独立弹簧机构
- 接触电阻:镀镍触点通常为 30-50 mΩ——足以承载 1.2A 充电电流
底座侧(镀金 pogo pin,4A):
- 镀金(0.3-0.76 µm Au 覆盖 Ni)确保低接触电阻与耐腐蚀性
- 4A 额定值相比 1.2A 充电电流提供 >3 倍安全裕量
- Pogo pin 的工作行程吸收对接错位(典型:1.5-3mm 压缩量)
- 扫地机器人应用的弹簧力通常为 40-120 cN(40-120 gf)
- 优质 pogo pin 寿命:50,000-100,000+ 次插拔循环
- 成本:约 $0.22-0.30/个(镀镍),镀金版本 +25-40%(5k 批量价)
为 oomwoo 提供的设计参考:
- 2 针配置:V+ 与 GND(最简单的充电方案,无数据)
- 可选 3-4 针:增加底座检测或温度检测
- 底座用 pogo pin(弹簧加载),机器人用平面焊盘(更易清洁,无碎屑侵入)
- 磁吸对位可选,但可显著提升对接可靠性
这与 docs/design-document.md §2 中"底座(基础充电)= 打印外壳 + 采购触点(pogo pin/弹簧触点/磁铁,磁铁可承载 10A)+ 墙插适配器 + IR 信标 LED"的 DIY 路径完全一致,也与 contributions/dock-cycle 中"在 Gazebo 中为对接模型添加充电触点 + 可检测标记(IR 信标/ AprilTag / LiDAR 可见的反射强度图案)"的建模要求对应。
5. 数据可信度分级与来源验证表
本文档刻意对每条数据标注了来源与可信度分级:一级来源(物理拆解、运行中固件源码验证)、二级来源(制造商指南、零售清单),以及明确标注未验证的零售 wiki 数据。
| 数据点 | 来源 | 验证级别 |
|---|---|---|
| 边刷 = 有刷直流电机 | Reddit 拆解(u/BinturongHoarder,2025-01) | 物理检查——一级来源 |
| 齿轮箱 = 2 级塑料齿轮 | iFixit 指南 + particleflux.codes 拆解 | 物理拆卸——一级来源 |
| 电机触点焊盘 TP1/TP2 | particleflux.codes 拆解 | 物理观察——一级来源 |
CMD_SIDE_BRUSH = 0x69 | VacuumTigerconstants.rs第 19 行 | 运行中固件源码——已验证 |
| 边刷速度 = u8 0-100% | VacuumTigerpacket.rs第 141-149 行 | 运行中固件源码——已验证 |
CMD_MAIN_BRUSH = 0x6A | VacuumTigerconstants.rs第 20 行 | 运行中固件源码——已验证 |
CMD_CHARGER_POWER = 0x9B | VacuumTigerconstants.rs第 51 行 | 运行中固件源码——已验证 |
| 充电标志位偏移 0x07 | VacuumTigerconstants.rs第 62 行、SENSORSTATUS.md | 运行中固件源码——已验证 |
FLAG_DOCK_CONNECTED = 0x01 | VacuumTigerconstants.rs第 101 行 | 运行中固件源码——已验证 |
FLAG_CHARGING = 0x02 | VacuumTigerconstants.rs第 100 行 | 运行中固件源码——已验证 |
| 电池电压 13.5-15.5V | VacuumTigerconstants.rs第 96-97 行 | 运行中固件源码——已验证 |
| 底座输出约 20V | Reddit 用户实测 + Amazon 适配器清单 | 社区实测 + 零售规格 |
| 底座适配器 = 20V 1.2A 24W | Amazon/AliExpress 替换适配器清单 | 零售产品规格 |
| 电机重量约 150g | Amazon 清单 | 零售清单——二级 |
| Pogo pin 4A 镀金规格 | SUNMON 指南 + Alibaba 指南 | 制造商指南——二级 |
| 传动比 1:40/1:45/1:50 | AliExpress wiki 文章 | 零售 wiki——未验证,可能为近似值 |
6. 尚未闭合的缺口(Remaining Gaps)
| 缺口 | 类别 | 备注 |
|---|---|---|
| 边刷电机确切电压 | 🔬 | 需在运行中的机器人上用万用表测量,或获取电机数据表 |
| 边刷电机 RPM(空载与负载) | 📡 | 需转速计或示波器测量 |
| 齿轮箱传动比(精确齿数) | ⚙️ | 需拆卸并数齿 |
| 电机连接器类型(JST 型号/间距) | 🔬 | 需物理检查连接器 |
| 底座 pogo pin 型号/零件号 | 🔬 | 需物理检查底座 |
| 底座侧充电触点定价 | 💻 | BOM 列为 "TODO"——标准 4A 镀金 pogo pin 零售约 $0.50-1.00/对 |
| FlexiArm 可伸缩电机规格 | 💻 | 较新设计,公开拆解数据有限 |
这些缺口明确指向后续可验证的测量任务:万用表测电压、示波器测 PWM/RPM、数齿、检查连接器丝印。OOMWOO 的 contributions/part-specs 贡献指南正是为此设计——任何持有同款零件的贡献者都可以用相同方法复核并提交规格表(含引脚图、波形捕获与来源说明),经维护者验收后合入。
7. 总结:三组部件在 OOMWOO 中的落地路径
- 边刷电机:v1 采用固定式有刷直流电机($7-10),2 级塑料齿轮箱减速,通过 GD32 固件
CMD_SIDE_BRUSH = 0x69以 0-100% u8 值做 PWM 调速;堵转由电流检测保护。FlexiArm 可伸缩变体($18-35)留作社区 P2+ 改装。 - 边刷:按价格与臂数(5 臂 $2-8 / 3 臂 $3-9 / 2 臂弧形 $3-7)选通用替换件,单颗 Phillips #2 防脱落螺丝固定,注意对位以避免拖拽磨损。
- 充电触点:机器人侧用约 1mm×0.1mm×5cm 镀镍钢条(弹力来自条材自身弯曲,接触电阻 30-50 mΩ),底座侧用 4A 镀金 pogo pin(>3 倍电流裕量,1.5-3mm 工作行程吸收错位);底座 20V 1.2A 输出,机器人 4S Li-ion 电池 14.4V 标称。固件通过状态包 0x07 偏移的 bit0(上座)/bit1(充电)与 0x08 偏移的电压原始值(/10 = 伏特)判断充电状态,
CMD_CHARGER_POWER = 0x9B控制充电器通断。
这三组部件共同支撑 OOMWOO 的基础充电底座 MVP("打印外壳 + 采购触点 + 墙插适配器 + IR 信标",见 docs/design-document.md §2 与 contributions/dock-cycle),并为后续自动集尘、洗烘等高阶底座预留了防水与电流裕量。
本文档为 OOMWOO 开源项目 contributions/part-specs/OsakaTX/side-brush-charging-contacts-specs.md 的技术解读与仓库级佐证扩充;全部可验证数据均可在上述路径与 BOM.md、docs/ARCHITECTURE.md、docs/design-document.md 中追溯。
【免费下载链接】oomwooOpen-source vacuum robot cleaner项目地址: https://gitcode.com/gh_mirrors/oo/oomwoo
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考