站内搜索
更多
ESP-VoCat 喵伴旋转底座
专业版

ESP-VoCat 喵伴旋转底座

简介

ESP-VoCat 喵伴底座是为喵伴开发套件量身设计的底座,集成 ESP32-C61 、旋转电机和磁力计,实现旋转、基于 CSI 的触摸感知和磁力开关功能,提供更灵活、更自然的感知与交互体验。

简介:ESP-VoCat 喵伴底座是为喵伴开发套件量身设计的底座,集成 ESP32-C61 、旋转电机和磁力计,实现旋转、基于 CSI 的触摸感知和磁力开关功能,提供更灵活、更自然的感知与交互体验。
复刻成本:40

开源协议

GPL 3.0

创建时间:2025-11-25 11:35:31更新时间:2026-04-02 14:53:09

描述

ESP-VoCat 喵伴旋转底座

image.png

项目简介

ESP-VoCat 喵伴旋转底座是为 ESP-VoCat 喵伴开发套件 量身打造的智能旋转底座,专用于玩具、智能音箱、智能中控等需要大模型语音交互能力的产品。设备采用 ESP32-C61-WROOM-1 模组,支持 USB Type-C 供电,并可通过磁吸接口为 ESP-VoCat 本体供电。

该项目实现了高精度步进电机控制磁吸滑动开关事件检测CSI 感知功能、稳定的 UART 通信等核心功能,同时能够根据 ESP-VoCat 的 声源识别(Sound Source Localization) 结果自动调整方向,实现面向声源的智能旋转。通过动作控制与声源感知的结合,提供更自然、更具沉浸感的人机交互体验。

视频展示

喵伴全新升级!旋转底座解锁更新奇的功能体验~

硬件版本

  1. v1.0.0
    初次发布。

软件版本

软件版本更新计划:

时间版本内容
12月5日V0.1.0跟随鼓点摇摆动作
声源识别(定位 + 方向)
磁吸滑动驱动(用于唤醒)
猫咪蹭手动作
待定后续版本番茄钟完整功能(计时、提醒)
UI 控制
语音控制联动
CSI运动感知

3D模型版本

  1. v1.0.0
    喵伴底座3D模型

功能展示

ESP-VoCat 底座采用乐鑫 ESP32-C61-WROOM-1-N8R2 模组,通过自定义的 UART 协议,与 ESP-VoCat 本体进行串口通信。机械结构方面,底座配备 24BYJ48 步进电机,可实现声源识别和多种预定义旋转动作,增强交互体验。
此外,ESP-VoCat 底座配有一个磁吸滑动开关,可通过磁吸滑动开关,解锁更多交互体验。

声源识别

ESP-VoCat 支持声源识别功能,能够实时检测环境中的声音方向和位置。系统通过麦克风阵列采集声音信号,结合声强、相位等信息进行分析,判断声源所在的方位角。配合基于步进电机的超静音旋转底座,可以实现面向声源的智能交互。

声源识别.gif

多种预设动作

旋转底座支持多种预定义动作

  • 摇头动作
    摇头动作让底座带动喵伴轻轻左右摆头,模拟猫咪好奇或轻微示意的动作。
    摇头.gif

  • 好奇环顾
    好奇环顾动作让底座带动喵伴进行左顾右盼,配合小幅度随机偏移,模拟猫咪自然观察环境的行为。
    左顾右盼.gif

  • 鼓点律动
    鼓点律动动作使 ESP-VoCat 能够根据外界音乐的鼓点节奏左右摆头,营造与音乐同步的互动效果
    鼓点跟随.gif

  • 温柔蹭手
    温柔蹭手模拟猫咪轻柔蹭手的动作:底座缓慢扭向左侧再回到中心,循环数次。动作平滑自然,每次停顿都增强了真实的触感温柔感
    蹭手.gif

    注意事项:
    所有动作都可参数化调控,便于对接豆包、小智等大模型。
    而为更好执行动作,底座的电机控制拥有以下特性:

    • 精确角度控制: 支持任意角度旋转,精度可达 0.1 度,服务于声源识别
    • 平滑加减速: 采用加减速算法,旋转更自然流畅
    • 自动归位校准:
      由于 ESP-VoCat 旋转底座由步进电机驱动,因此没有角度反馈,故而底座在启动时将进行零位校准,校准流程如下:
    1. 上电后,电机会自动向左旋转寻找限位开关
    2. 触碰到限位开关后,电机会向右旋转 95° 到中心位置
    3. 校准完成后,电机断电

磁吸滑动开关交互控制

ESP-VoCat 底座通过磁吸式滑动开关实现多种交互控制。滑块的不同位置会改变地磁传感器周围的磁场强度,底座通过实时监测这些磁场变化来识别滑块的动作。当检测到位置变化时,底座会将相应事件通过串口上报给 ESP-VoCat,从而实现丰富、直观的交互体验。

支持 7 种磁吸滑动开关事件检测:

  • 滑块自上向下拨动 (SLIDE_DOWN)
  • 滑块自下向上拨动 (SLIDE_UP)
  • 滑块从上方位置移除 (REMOVE_FROM_UP)
  • 滑块从下方位置移除 (REMOVE_FROM_DOWN)
  • 将滑块放置于上方位置 (PLACE_FROM_UP)
  • 将滑块放置于下方位置 (PLACE_FROM_DOWN)
  • 当滑块处于下方位置时,可额外识别 单击 动作 (SINGLE_CLICK):基于 mag_x 轴数据变化检测,结合 mag_x 和 mag_y 关系判断,防止滑动误触发
  • 喂鱼事件 (FISH_ATTACHED):检测小鱼从上位置放置的特定磁场变化
  • 配对模式 (PAIRING):两个 ESP-VoCat 面对面靠近,用于配对联网

磁吸开关.gif

磁吸滑动开关控制功能支持多种传感器

  • BMM150 三轴地磁传感器
  • QMC6309 三轴地磁传感器
  • 线性霍尔传感器

注意:

  1. 以上传感器三选一即可,默认选择 BMM150。使用线性霍尔传感器时只支持滑块上下滑动(SLIDE_UP / SLIDE_DOWN)两个事件检测!
  2. 在首次使用该功能前,为适配磁场环境,须完成磁吸滑动开关的校准,以记录其处于 上方 / 下方 / 移除 三种状态时的磁场强度基准值。校准数据将通过 NVS Flash 持久化存储。在使用过程中如需重新校准,可通过 ESP-VoCat 发送串口命令或长按底座 Boot 键进行触发。

依托地磁传感器的检测结果,结合动作判定算法,底座能够识别七类动作。

CSI感知功能

喵伴可通过 Wi-Fi CSI(Channel State Information)感知环境变化,实现动作触发或环境交互。

  • 移动检测
    通过喵伴获取路由器的CSI信息,可以感知整个空间环境内人体的移动,实现人体移动检测和数据统计。

  • 近场感知
    通过喵伴和底座之间互相发包,可以控制 Wi-Fi 传输路径,实现小范围高精度的检测效果。例如当检测到人手指靠近时,底座可自动调整姿态或执行预设动作,实现更智能的互动体验。
    C0482 (online-video-cutter.com).gif

串口通信

ESP-VoCat 旋转底座可通过 UART 协议与 ESP-VoCat 进行数据通信。

  • 命令类型
    • 角度控制命令(CMD_BASE_ANGLE_CONTROL)
    • 预设动作控制命令(CMD_BASE_ACTION_CONTROL)
    • 预设动作完成通知(CMD_ACTION_COMPLETE)
    • 磁吸开关事件上报(CMD_MAGNETIC_SWITCH_EVENT)
    • 磁吸数据校准进度同步(MAG_SWITCH_CALIB_*)

注:目前只开放以上基础的命令类型,后续会添加 CSI 相关命令。

  • 数据帧格式:
    • AA 55 [LEN_H] [LEN_L] [CMD] [DATA...] [CHECKSUM]
  • 校验机制
    • 帧头校验
    • 校验和验证

硬件要求

主控芯片

  • ESP32-C61-WROOM-1ESP32-C61-WROOM-1U 模组

默认使用 ESP32-C61-WROOM-1

外设连接与引脚分配

  • 步进电机(28BYJ-48 + ULN2003 驱动 IC)

    • IN1 → GPIO28
    • IN2 → GPIO27
    • IN3 → GPIO26
    • IN4 → GPIO25
  • 磁力计传感器(I2C)

    • SCL → GPIO3
    • SDA → GPIO2
    • 支持 BMM150(I2C 地址:0x10)
    • 支持 QMC6309(I2C 地址:0x7C)
  • 线性霍尔传感器(ADC)

    • ADC_PIN → GPIO5(ADC_CHANNEL_3)
  • 转台回零校准限位开关

    • 回零校准限位开关检测引脚 → GPIO1(低电平有效)
  • BOOT 按键

    • BOOT 按键 → GPIO9(低电平有效)

    默认功能是长按进行磁吸滑动开关校准。

  • UART 通信

    • TXD → GPIO29
    • RXD → GPIO8
    • 波特率:115200

使用说明

首次启动

  1. 底座角度校准

    • 上电后,电机会自动向左旋转寻找限位开关
    • 触碰到限位开关后,电机会向右旋转 90° 到中心位置
    • 校准完成后,电机断电
  2. 磁吸开关校准(如果是首次使用):

    • 系统自动检测第一个稳定位置(保持滑块静止约 500ms)
    • 系统记录第一个位置后,提示:First position calibrated
    • 将滑块移动到第二个不同位置(上/下/拿掉),系统自动检测稳定
    • 系统记录第二个位置后,发送 0x12 给 ESP-VoCat,通知第二个位置校准完成
    • 将滑块移动到第三个不同位置,系统自动检测稳定
    • 系统记录第三个位置后,自动按磁场强度排序分配到 REMOVED/UP/DOWN
    • 校准完成后发送 0x13 给 ESP-VoCat,通知校准完毕
    • 校准数据自动保存到 Flash,下次启动自动加载

    注意

    • 每个位置需要保持静止,等待系统自动检测稳定(约 500ms)
    • 三个位置的磁场差异需大于 100(系统自动判断)
    • 移动过程中数据变化正常,系统会自动等待稳定后记录

重新校准

方法 1:长按 Boot 按键

  • 长按 GPIO9 的 Boot 按键(约 1.5 秒)
  • 系统自动进入重新校准模式

方法 2:串口命令

  • ESP-VoCat 发送命令 AA 55 00 03 03 00 10 16 给底座
  • 系统收到命令后进入重新校准模式

串口命令

1. 角度控制命令(0x01)

格式AA 55 00 03 01 [ANGLE_H] [ANGLE_L] [CHECKSUM]

示例:旋转到 45°

AA 55 00 03 01 00 2D 31
  • 00 2D = 45(十进制)
  • 31 = 01 + 00 + 2D(校验和)

2. 动作控制命令(0x02)

格式AA 55 00 03 02 00 [ACTION] [CHECKSUM]

动作码

  • 0x01:摇头(SHAKE_HEAD)
  • 0x02:左顾右盼(LOOK_AROUND)
  • 0x03:跟随鼓点-鼓类(BEAT_SWING_DRUM)
  • 0x04:猫咪蹭手(CAT_NUZZLE)
  • 0x05:跟随鼓点-其他乐器(BEAT_SWING_OTHER)

示例:执行左顾右盼动作

AA 55 00 03 02 00 02 04

3. 磁吸开关事件上报(0x03)

格式AA 55 00 03 03 00 [EVENT] [CHECKSUM]

事件码

  • 0x01:滑块向下滑动(SLIDE_DOWN)
  • 0x02:滑块向上滑动(SLIDE_UP)
  • 0x03:从上面拿下(REMOVE_FROM_UP)
  • 0x04:从下面拿下(REMOVE_FROM_DOWN)
  • 0x05:从上面放回(PLACE_FROM_UP)
  • 0x06:从下面放回(PLACE_FROM_DOWN)
  • 0x07:单击事件(SINGLE_CLICK)
  • 0x08:喂鱼事件(FISH_ATTACHED)- 小鱼从上位置放置时触发
  • 0x09:配对模式(PAIRING)- 长时间处于特定磁场状态
  • 0x10:启动数据校准程序
  • 0x11:校准开始通知
  • 0x12:第二个位置校准完成(头部收到后语音提示第三步)
  • 0x13:校准完成

4. 动作完成通知(0x02)

格式AA 55 00 03 02 00 10 12

  • 底座在执行完任意特定动作后自动发送
  • 头部可根据此命令同步状态

硬件电路设计说明

底座硬件电路设计

主板硬件电路设计

ESP-VoCat 底座硬件部分主要包含电源管理、MCU、地磁传感器、霍尔传感器、电机驱动,总体硬件框图如下:
pic1.png

供电方式

ESP-VoCat-Base 支持USB-Type-C供电,电源为5V。同时,ESP-VoCat-Base提供了磁吸接口,可为ESP-VoCat主体进行供电。ESP-VoCat-Base内部通过DC-DC电路,将5V电压转换为3.3V电压,为ESP32-C61主控芯片及外设电路供电。
pic2.png

限流措施: 为ESP-VoCat主体供电时,采用TPS2051BDBVR芯片进行500mA限流。
pic3.png

步进电机控制

ESP-VoCat-Base采用步进电机控制底座旋转,驱动芯片采用ULN2003A。ULN2003A为高压、大电流达林顿阵列芯片,包含七个具有公共发射极的开路集电极达林顿对,常用于步进电机的控制。步进电机型号为24BYJ48,是一种内部带减速器的减速步进电机。控制方式为四相八拍,采用5V DC供电。
ESP-VoCat-Base的步进电机驱动电路如下:
pic4.png

RGB 灯扩展接口

ESP-VoCat-Base提供了WS2812B灯带接口,可以接入WS2812B RGB灯带,实现音乐律动灯等需要RGB 灯效的场景,电平转换电路如下:
pic5.png

传感器

地磁传感器: ESP-VoCat-Base预留有BMM150 三轴地磁传感器与QMC6309 三轴地磁传感器的焊接位,主要用于磁吸滑动开关的感知,两者都通过I2C协议与主控芯片进行通信,用户可自主二选一。ESP-VoCat-Base将默认使用BMM150 传感器。
BMM150外围电路如下:
pic6.png

QMC6309外围电路如下:
pic7.png

线性霍尔传感器: ESP-VoCat-Base配备了SS49E线性霍尔传感器,可用于检测磁场强度。SS49E传感器采用模拟输出。主控芯片ESP32-C61-WROOM-1采用ADC获得传感器数据。外围电路如下:
pic8.png

人体存在检测雷达: ESP-VoCat-Base预留有人体存在检测雷达LD2402的接口,可用于实现人体存在检测等功能,LD2402与主控芯片采用UART通信。外围电路如下:
pic9.png

I2C协议接口: ESP-VoCat-Base留有一个I2C协议接口,可额外挂载支持I2C协议的设备。外围电路如下:
pic10.png

子板硬件电路设计

ESP-VoCat-Base通过安装在步进电机轴承上的子板,与ESP-VoCat主体相连接。子板通过限位开关,实现步进电机的角度校准。
pic11.png

复刻教程

在装配前请准备以下材料及部件:

序号描述
13D 打印外壳外身
23D 打印外壳底盖
33D 打印转台上盖
43D 打印转台下盖
5ESP-VoCat-Base-MainBoard
6ESP-VoCat-Base-SubBoard
724BYJ48 步进电机
83D 打印磁吸滑动开关滑块
9SH1.0mm 间距 5P 端子线
10圆形磁铁 D10×1.5 mm
11圆形磁铁 D6×5 mm
12内径 7mm 外径 11mm 高度 3mm 轴承
13M4×5mm 螺丝
14M2×4mm 螺丝
15M2×3mm 螺丝
底座所需部件.png

投板注意事项:

  1. 板厚选择 1.0mm
  2. 两个地磁传感器均为WLCSP封装,焊接难度较大,焊接初学者可考虑选择SMT服务。立创商城中也包含相关资源。

子板焊接注意事项:

焊接子板磁吸公座时需注意方向,有红色标记的一端应和 PCB 板上白圈在同一侧!!!
子板焊接注意事项.png

V1.0.0 版本旋转底座硬件装配

ESP-VoCat 旋转底座包含 MainBoardSubBoard 两块电路板,与一个 24BYJ48 步进电机MainBoardSubBoard 通过 5P 1.0mm间距 的排线相连。步进电机 通过排线与 MainBoard 连接。

装配步骤

  1. 将 2 块 D10×1.5mm 圆形磁铁 装配至3D 打印外壳外身的内部,需特别注意磁铁极性。

    装配1.jpg
  2. 内径 7mm 外径 11mm 高度 3mm 的微型轴承 装配至3D 打印外壳外身的内部的凹槽中,确保轴承装配到位。

    装配2.jpg
  3. 24BYJ48 步进电机 安装至3D 打印外壳外身的内部,并使用两颗 M4×5mm 螺丝 进行固定,考虑到装配公差,此时不需要将螺丝完全拧紧,待转台安装在电机轴上之后再将其拧紧即可。

    装配3.png
  4. ESP-VoCat-Base-SubBoard 电路板安装至3D 打印转盘下盖上,确保螺丝孔对齐。

    装配4.png
  5. 3D 打印转盘上盖 安装至3D 打印转盘下盖上,并在背面使用两颗 M2×3mm 螺丝 进行固定。

    装配5.png
  6. SH1.0mm 间距 5P 端子线 插入转盘的接口。

    装配6.jpg
  7. 组装完成的转盘 安装至步进电机的轴中,转盘表面与外身基本平齐。此时可将电机螺丝拧紧。

    装配7.jpg
  8. ESP-VoCat-Base-MainBoard 使用两颗 M2×4mm 螺丝 固定在 3D 打印外壳底盖上。

    装配8.jpg
  9. 步进电机排线 插入主板的电机接口中(弯插,印有 Motor 标识),将 子板排线 插入主板的子板接口中(直插,无标识)。注意:5P 1.0 排线必须为双头同向,插之前请反复检查,以免短路烧板!

    装配9.png
  10. 圆形磁铁 D6×5mm 安装至 3D 打印磁吸滑动开关滑块 的凹槽内(注意磁铁极性,需和D10×1.5mm的磁铁相吸),然后放置在喵伴旋转底座胸前,开关将被自动吸附。最后,将旋转底座上电并烧录固件,观察旋转底座是否正常进行自动归位校准程序,若正常,则 ESP-VoCat 旋转底座安装完成。

    装配9.png

物料清单

ESP-VoCat 底座物料清单

技术交流群

若在复刻工作中遇到任何问题,欢迎加入官方技术交流群,与其他开发者实时探讨、共解难题。

  • 0 群(已满):813935663
  • 1 群(已满):1032430870
  • 2 群(已满):939405364
  • 3 群(已满):480486715
  • 4 群(已满):807521569
  • 5 群:1054806943

购买方式

目前已有第三方卖家售卖成品或散件,如果不想复刻,可直接在淘宝搜索“喵伴底座”购买。

赛博智能喵伴底座

集智 AI 喵伴底座

常见问题

Q1:电机抖动或不转

  • 检查供电是否充足(至少 5V 1A)
  • 检查接线是否正确
  • 检查是否有阻力阻碍到转台转动
  • 尝试降低速度(增大 speed_us 参数)

Q2:磁吸开关校准失败

  • 确保传感器 I2C 连接正常
  • 检查传感器类型配置是否匹配
  • 移动滑块时动作要明确,等待稳定提示再移动
  • 慢速移动时,检查是否已优化沉淀期机制

Q3:串口通信异常

  • 检查波特率是否为 115200
  • 确认 TX/RX 接线是否正确
  • 检查校验和是否计算正确

如果你在复刻之后发现有问题,欢迎评论指正!!!

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
暂无数据
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航