拓冰建站拓冰建站
首页 / 资讯中心 / 正文

OOMWOO 驱动轮逆向标定:Roborock S5 单通道霍尔编码器、190:1 减速箱与里程计参数的实证推导

智能硬件机器人嵌入式物联网【免费下载链接】oomwooOpen-source vacuum robot cleaner项目地址https://gitcode.com/gh_mirrors/oo/oomwoo点击查看免费下载本文是 OOMWOO 开源扫地机器人项目中contributions/part-specs/OsakaTX/vacuumtiger-verified-specs.md的完整展开与源码级佐证。该文档基于 codetiger/VacuumTiger 固件源码分析、Scowt PR #13 实物拆解检查以及多组交叉校准常数回答了驱动轮模块三个最关键的问题编码器是单通道还是正交减速箱减速比是多少里程计标定参数从何而来读完后你将掌握如何仅凭一根信号线推导出 4464 ticks/m 的高分辨率里程计、如何从速度标定常数反推 ~190:1 减速比以及驱动轮模块到主板J25/J26/J24/J27的完整连接架构并了解 OOMWOO 自研 I/O 板如何在此基础上重设计。文档来源与更新状态本文对应的仓库文档 vacuumtiger-verified-specs.md 标注 Derived from: codetiger/VacuumTiger source code analysis, Scowt PR #13 physical inspection, and cross-referenced calibration constants最后更新于 2026-07-07。文中的所有表格、推导式与结论均以该文档为准并引用当前仓库中其他贡献者文档进行交叉印证。1. 结论总览一页看懂驱动轮模块下表汇总了该文档的核心结论供快速查阅后文各节逐一展开推导过程与证据链项目结论证据类型编码器类型单通道霍尔效应非正交 A/BScowt PR #13 实物检查7-pin 连接器仅 1 根信号线有效分辨率4464 ticks/m≈911 ticks/轮转原始 PPR ≈ 228VacuumTiger 固件标定常数 轮径计算分辨率机理多极磁环 GD32 定时器 4× 边沿计数由标定值反推磁环极对数属推测减速比~190:1由VELOCITY_TO_DEVICE_UNITS 523.0反推并自洽验证里程计标定ticks_per_meter4464、wheel_base0.233 mVacuumTiger 多文件实证标定编码器数据0x10左/ 0x18右u16 LE 环绕计数器110 HzVacuumTigerreader.rs/SENSORSTATUS.md电机驱动 ICTMI8870ESOP8单 H 桥3.6 A 峰值主板丝印 8870 TMI8870 数据手册供电架构电机电源走独立 J24/J272-pin PH 2.0mm信号走 J25/J2616-pin SHD 1.0mmcodetiger/VacuumRobot 反推 实物检查交叉确认2. 编码器单通道霍尔效应而非正交编码器2.1 从线缆数量得出的结论Scowt PR #13已合并对 Roborock S5 驱动轮模块的 7-pin JST 连接器做了实物检查。编码器相关的线缆恰好三根线色功能橙5V 供电蓝单通道脉冲信号棕GND一根信号线 一个通道。这决定性地排除了需要两根信号线可选 Index的正交 A/B 编码器方案——它是一个单通道霍尔效应传感器输出频率与轮速成正比的脉冲串。Scowt 的检查笔记保存在 DriveWheel.md其中记录了完整的 7 针定义pin 1/2 为限位开关两根灰线、pin 3 橙 5V、pin 4 蓝信号、pin 5 棕 GND、pin 6/7 黑/红电机电源并估算线缆长度约 250 mm。2.2 方向信息从哪来单通道编码器无法直接判断旋转方向。该文档指出方向由导航管线中的 IMU 陀螺仪解析对应 VacuumTiger 的 dhruva-slam。这一点在 OsakaTX/README.md §1 中被进一步强调——这意味着里程计融合设计必须包含陀螺仪航向信息不能指望编码器单独给出方向。2.3 实物检查图片佐证Scowt 在检查中拍摄了连接器焊盘区域的特写可以直观看到线色标识红/黑/棕/蓝/橙与焊盘布局与 7 针定义中的信号分组相互印证3. 高分辨率从何而来多极磁环 4× 边沿计数单通道编码器看似分辨率受限但 VacuumTiger 固件实现了4464 ticks/m的有效分辨率。文档给出了两条机理多极磁环编码器轮可能包含约 32 对极这是扫地机磁编码器的常见标准如 CCmagnetics 等厂商的通用器件4× 边沿计数GD32 硬件定时器同时计数上升沿与下降沿并可能并行使用两个定时器通道从而将原始 PPR 放大 4 倍原始 PPR约 228 脉冲/轮转4× 解码后约 911 ticks/轮转推导过程轮周长 π × 0.065 m 0.2042 m 每轮转 ticks 4464 ticks/m × 0.2042 m/轮转 911.3 ticks/轮转 原始 PPR 911.3 / 4 ≈ 228 PPR与约 32 极磁环编码器常见市售件完全自洽。需要说明的是极对数与 4× 计数方式属于由标定值反推的合理解释文档明确标注 pole count 未经实物拆解确认属于推测性结论。4. 减速箱~190:1 的标定反推4.1 起点固件中的速度标定常数VacuumTiger 固件的commands.rs中有一个标定常数VELOCITY_TO_DEVICE_UNITS 523.0含义是GD32 固件以 523 units 每 (m/s) 的比例向电机控制器发送速度命令。结合 mock 配置中的wheel_base 0.233 m与max_linear_speed 0.3 m/s可以反推减速比电机空载转速16,800 rpm 280 rps在 14.4V、约 190:1 减速箱下轮速 ≈ 280 / 190 1.47 rps轮线速度 1.47 × π × 0.065 0.30 m/s ✓ —— 与配置的最大线速度 0.3 m/s 一致在减速箱输出端约 1.47 rps911 ticks/轮转 × 1.47 1339 ticks/秒 4464 ticks/m × 0.3 m/s 1339 ✓ —— 自洽。4.2 关于 523.0 的深层含义523.0 不仅是减速比推导的起点它还是**主运动控制命令CMD 0x66**的实际编码比例。在 gd32-sensor-packet-and-connectors.md 中有完整的报文示例前进 0.3 m/s 直线运动时linear_vel 0.3 × 523 157以小端序 i32 编码为9D 00 00 00角速度为 0报文为FA FB 0C 66 9D 00 00 00 00 00 00 00 [CRC]。这证明 523.0 是一个贯穿上层速度意图 → 设备单位的全局标定常数减速比推导与运动控制编码共用同一证据链。4.3 一个重要的平台前提需要特别澄清523.0、4464 ticks/m、0.233 m 轮距这些标定值来自 3irobotix CRL-200S 平台其电机控制器为 GD32F103VCT6而 OOMWOO 的 BOM 采购的是 Roborock S5 驱动轮总成其主板电机控制器为 STM32F103VCT6见 roborock-s5-mainboard-ics.md。两者是可引脚兼容的 Cortex-M3 MCU但固件协议与主板布局不同Roborock S5 平台可能需要独立标定。减速比约 190:1 的结论仍然有效——因为轮径、电机型号与机械结构一致——但 odometry 常数应在实际硬件上复核。5. 校准后的机器人参数表以下参数均标注为在真实硬件上经验标定而非理论值来源文件覆盖多个独立模块交叉印证参数值来源文件ticks_per_meter4464.0sangam-io/src/devices/mock/config.rs、dhruva-nav/dhruva.toml、encoder_sim.rswheel_base0.233 msangam-io/src/devices/mock/config.rsmax_linear_speed0.3 m/ssangam-io/src/devices/mock/config.rsmax_angular_speed1.0 rad/ssangam-io/src/devices/mock/config.rsrobot_radius0.17 msangam-io/src/devices/mock/config.rsVELOCITY_TO_DEVICE_UNITS523.0sangam-io/src/devices/crl200s/gd32/commands.rsCRL200S_GYRO_SCALE0.000179 rad/s per raw unitdhruva-slam/src/sensors/odometry/calibration.rs值得注意的两点ticks_per_meter同时出现在 mock 配置、导航配置dhruva.toml和仿真encoder_sim.rs中说明它是贯穿仿真—真实硬件的统一标定值CRL200S_GYRO_SCALE的存在印证了 2.2 节的结论——陀螺仪在航向/方向解析中承担关键角色且其量程比例同样经过标定。6. 编码器数据格式与环绕计数处理从 VacuumTiger 的reader.rs与SENSORSTATUS.md得到的编码器数据格式字段偏移类型说明左轮编码器0x10u16 LE环绕计数器右轮编码器0x18u16 LE环绕计数器更新率——110 Hz每个状态包环绕处理使用 16 位wrapping_subi16强转来自wheel_odometry.rs即用无符号环绕减法求差值再解释为有符号增量从而正确处理计数器回绕。6.1 偏移量的一段修正历史gd32-sensor-packet-and-connectors.md 补充了一个重要细节2025-12-10 的 VacuumTiger 提交commit 3f56cd4Fix wheel encoder assignment and lidar scan wrap detection修正了左右编码器偏移的错误互换——早期版本将左轮写在 0x18、右轮写在 0x10修正后为左轮 0x10、右轮 0x18。如果读者在旧版固件或第三方实现中看到相反分配这很可能就是历史版本导致的应以当前值左 0x10 / 右 0x18为准。该文档还给出了完整的 96 字节状态包CMD 0x15布局[0xFA 0xFB] [LEN] [0x15] [PAYLOAD 96 B] [CRC_H] [CRC_L]共 102 字节约 110 Hz115200 波特率下约每 9 ms 一包。除编码器外0x01 为碰撞标志、0x03 为悬崖标志、0x08 为电池电压raw÷10伏特、0x28–0x39 为陀螺/加速度计/倾角数据。这些字段共同构成了上层导航可用的完整传感器视图。7. 电机驱动 ICTMI8870参数值制造商TOLL Microelectronic丝印T8870封装ESOP8类型单 H 桥峰值电流3.6 A电压范围6.8–45 V控制方式PWM 集成电流调节引脚兼容TI DRV8870需要两颗每轮一颗。第二颗应位于主板上 J27 附近右轮。识别依据是主板 U25 上的 8870 丝印与 TMI8870 数据手册匹配见 OsakaTX/README.md §1。7.1 与 OOMWOO I/O 板设计的衔接值得注意的是OOMWOO 自研 I/O 板的参考原理图KiCad最终选用的是TI DRV8870DDARHSOP-8含裸露焊盘每轮一颗U14 右轮、U15 左轮配 0.2 Ω 采样电阻做电流反馈见 io-board-sensors-and-motors-schematic.md。这与 Roborock S5 主板上实测到的 TI DRV8870 级 H 桥roborock-s5-mainboard-ics.md 中 IC #27 丝印 8870 TI相呼应——TMI8870 与 DRV8870 引脚兼容且 DRV8870 在 Roborock S5 与 OOMWOO 参考板上均得到确认。若你在 CRL-200S 平台逆向看到的是 TMI8870在 Roborock S5 / OOMWOO 板卡上则是 DRV8870 系列。8. 连接器架构全景信号与电源分离文档给出了驱动轮模块7-pin JST到主板两侧的完整连接关系Wheel Module (7-pin JST) Mainboard ───────────────────────────────── ───────────────────── Grey ── Limit switch (wheel-drop) J25 (left, 16-pin SHD 1.0mm) Grey ── Limit switch (common) → Left encoder (3 wires) Orange ── Encoder 5V → Dustbox power Blue ── Encoder signal → Left cliff sensor Brown ── Encoder GND → Left bumper Black ── Motor power (-) J24 (left, 2-pin PH 2.0mm) Red ── Motor power () → Motor power onlyJ26 (right, 16-pin SHD 1.0mm) → Right encoder (3 wires) → Sweeper motor power → Right cliff sensor → Right bumper J27 (right, 2-pin PH 2.0mm) → Motor power only关键洞察电机电源在独立的 2-pin 连接器J24/J27上不在 16-pin 信号连接器J25/J26上。驱动轮模块的 7-pin 线缆把两者合并——电机电源线黑/红走向 J24/J27而信号线灰/灰/橙/蓝/棕走向 J25/J26。8.1 连接器家族的进一步确认io-board-spec-jul18-update.md 记录了对上游 I/O 板 SPEC 的更新Roborock S5 Max 轮式总成侧为JST ZH 1.5mm 公头 7 针needs f 注释表示板卡侧需配套母座。这与 Scowt PR #13 的7-pin JST相互印证并将连接器家族落实到 ZH 1.5mm 间距霍尔线序橙→蓝→棕pin 3→5与 Scowt 实测一致。两处来源的差异仅在于限位开关极性标注Scowt 记为 NC上游记为 on——一个常闭开关在轮子抬起时即导通两者并不矛盾。9. OOMWOO I/O 板的再设计从 7-pin 到 5-pinio-board-wheel-connector-and-caster.md 记录了 OOMWOO 参考原理图对轮式连接器的重新设计——不再沿用 Roborock 原版架构特性Roborock S5原版OOMWOO I/O 板参考设计连接器7-pin JSTZH 1.5mm模块侧5-pin JST ZH 1.5mmJ12 左 / J13 右电机电源在模块连接器上黑/红不在连接器上走板上 DRV8870 H 桥编码器单通道霍尔3 线单通道ENCODE-A轮跌落检测限位开关2 根灰线独立轮跌落 GPIO节距PH 2.0mm / SHD 1.0mmZH 1.5mmOOMWOO I/O 板把 H 桥放到板内从而从轮式连接器上消除了电机电源引脚——5 针只承载逻辑电平信号IN1/IN2PWM/方向、ENCODE-A单通道编码脉冲、5V、GND。原理图净表WHEEL-M-RIGHT-ENCODE-A/WHEEL-M-LEFT-ENCODE-A中只有 A 通道、没有 B 通道io-board-sensors-and-motors-schematic.md再次确认了单通道编码器架构在整个 OOMWOO 设计中的延续。10. 剩余缺口与复现路线文档诚实列出了尚未解决、需要物理接触才能确认的缺口缺口类别需要什么J25/J26 完整逐针映射 物理探测用万用表从连接器到 GD32 引脚做导通性追踪精确减速比数齿法⚙️ 拆解打开减速箱数齿轮齿数轮跌落传感器型号 物理探测目视检查轮模块内部传感器所选 BOM 变体的万向轮尺寸 测量用卡尺测量所选万向轮这些缺口与 part-specs/README.md 中提出的逆向工程方法论一致优先查数据手册与公开逆向项目查不到再安全地拆机测量万用表 示波器抓电压/电流/波形、逐针追踪并标注连接器、全程拍照留证并把结果以 PR 形式提交到contributions/part-specs/目录。若你手头有同型号轮式总成完成 J25/J26 逐针映射或数齿验证将是推进该项目最有价值的贡献之一。11. 相关文档导航本文主体vacuumtiger-verified-specs.md配套的 GD32 传感器状态包与命令集详解gd32-sensor-packet-and-connectors.md实物检查原始笔记DriveWheel.mdOOMWOO I/O 板轮式连接器与万向轮规格5-pin ZH 再设计io-board-wheel-connector-and-caster.mdI/O 板 SPEC 7 月 18 日更新ZH 1.5mm 公头 7 针确认、电池/风扇/LiDAR 连接器io-board-spec-jul18-update.mdI/O 板传感器与电机原理图汇总DRV8870DDAR、ENCODE-A 单通道确认io-board-sensors-and-motors-schematic.mdRoborock S5 主板 IC 识别STM32F103VCT6、DRV8870 平台澄清roborock-s5-mainboard-ics.mdOsakaTX part-specs 汇总目录README.md物料清单与采购渠道BOM.md赞分享智能硬件机器人嵌入式物联网【免费下载链接】oomwooOpen-source vacuum robot cleaner项目地址https://gitcode.com/gh_mirrors/oo/oomwoo点击查看免费下载相关推荐OOMWOO逆向工程实战如何安全测量Roborock驱动轮模块的编码器PPR与电机波形OOMWOO逆向工程实战如何安全测量Roborock驱动轮模块的编码器PPR与电机波形 本文基于 OOMWOO 开源扫地机器人项目的实测记录手把手教你安全拆智能硬件机器人嵌入式物联网创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门