diff --git a/docs/_sidebar.md b/docs/_sidebar.md index dee4aa7..d3bbffa 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -96,7 +96,8 @@ - [MD40四路编码驱动模块](zh-cn/ph2.0_sensors/actuators/md40/md40.md) - [小型雾化器](/zh-cn/ph2.0_sensors/actuators/small_atomizer/small_atomizer_zh-cn.md) - [MOS管驱动模块](/zh-cn/ph2.0_sensors/actuators/mos_driver_module/mos_driver_module_zh-cn.md) - + - [A4988步进电机驱动模块](/zh-cn/ph2.0_sensors/actuators/A4988/A4988.md) + - 显示器 - [LED灯](zh-cn/ph2.0_sensors/displayers/led_module/LED.md) diff --git a/docs/zh-cn/esp32/ai-vox3/AI-VOX3_V1.1.pdf b/docs/zh-cn/esp32/ai-vox3/AI-VOX3_V1.1.pdf deleted file mode 100644 index 80ec470..0000000 Binary files a/docs/zh-cn/esp32/ai-vox3/AI-VOX3_V1.1.pdf and /dev/null differ diff --git a/docs/zh-cn/esp32/ai-vox3/ai-vox3_arduino_test_demo.zip b/docs/zh-cn/esp32/ai-vox3/ai-vox3_arduino_test_demo.zip index e3e7fce..6354067 100644 Binary files a/docs/zh-cn/esp32/ai-vox3/ai-vox3_arduino_test_demo.zip and b/docs/zh-cn/esp32/ai-vox3/ai-vox3_arduino_test_demo.zip differ diff --git a/docs/zh-cn/esp32/ai-vox3/ai-vox3_zh-cn.md b/docs/zh-cn/esp32/ai-vox3/ai-vox3_zh-cn.md index 45fce1b..a5480e5 100644 --- a/docs/zh-cn/esp32/ai-vox3/ai-vox3_zh-cn.md +++ b/docs/zh-cn/esp32/ai-vox3/ai-vox3_zh-cn.md @@ -1,84 +1,515 @@ -# AI-VOX3主板介绍 +# AI-VOX3 开发板 ## 概述 -AI-VOX3是一款专为AI语音交互应用设计的高性能嵌入式开发板。其核心采用ESP32-S3-R8芯片,并板载16MB Flash存储器。集成了麦克风和功放喇叭、sdcard、电源管理等硬件资源,支持快速开发与灵活扩展。支持本地语音唤醒、指令识别和语音合成,可广泛应用于智能家居、教育设备和物联网终端等领域。同时配套AI-VOX3扩展板与MD40电机驱动板,助力开发者基于板载资源快速构建语音产品原型,并通过丰富接口实现个性化功能扩展,大幅缩短开发周期。 +

+ +

+ +AI-VOX3 是一款基于 ESP32-S3-R8 的 AI 语音交互开发板,集成麦克风、功放、SD 卡槽和电源管理,支持本地语音唤醒和指令识别。 + +**核心特性:** + +- 双核 Xtensa LX7 处理器,240MHz 主频 +- 16MB Flash + 8MB PSRAM +- Wi-Fi + Bluetooth 5 (LE) +- 板载 ES8311 音频编解码器 + 3W 功放 +- 支持 LCD/OLED 显示扩展 +- Type-C 供电,支持锂电池充电 + +**配套扩展:** + +- AI-VOX3 扩展板:扩展更多功能接口 +- MD40 电机驱动板:驱动多个电机 + +--- ## 产品图 -| 正面 | 反面 | -| -------------------------------------- | ---- | -| ![alt text](picture/AI-VOX3-Front.png) | ![alt text](picture/AI-VOX3-Back.png) | +| 正面 | 反面 | +|------|------| +|

|

| + +### 功能标注 + +

+ +

+ +--- + +## 硬件说明 + +### 核心模块 + +#### 主控芯片 + + +

+ +

+ +- **型号:** ESP32-S3-R8 +- **架构:** Xtensa LX7 双核处理器 +- **主频:** 高达 240MHz +- **内置存储:** 512KB SRAM + 384KB ROM +- **无线:** Wi-Fi 802.11 b/g/n + Bluetooth 5 (LE) + +#### Flash 存储 + +

+ +

+ +- **容量:** 16MB +- **接口:** SPI +- **用途:** 存储固件和用户数据 + +#### PSRAM + +- **容量:** 8MB(芯片内置) +- **用途:** 大数据量缓存、音频处理、图像缓冲 + +#### 板载外设引脚 + +| 外设 | 引脚 | 说明 | +|------|------|------| +| USB D- | IO19 | USB 数据 | +| USB D+ | IO20 | USB 数据 | +| Flash SPI | IO26-IO32 | 内部 Flash | +| 按键 A | IO46 | 用户按键 | +| 按键 B | IO45 | 用户按键 | +| BOOT | IO0 | 启动模式按键 | +| WS2812B | IO41 | RGB LED | +| 电量检测 | IO18 | ADC 输入(电池电压) | + +--- + +### 显示接口 + +#### LCD 显示屏(SPI) + +

+ +

+ +支持 1.54 寸 240×240 SPI LCD(ST7789 驱动),通过 14pin FPC 排线连接。 + +| 功能 | 引脚 | 说明 | +|------|------|------| +| SDA | IO21 | SPI 数据 | +| SCL | IO17 | SPI 时钟 | +| DC | IO14 | 数据/命令选择 | +| CS | IO15 | 片选 | +| 背光 | IO16 | 背光控制(PWM) | + +#### OLED 显示屏(I2C) + +

+ +

+ +预留 4pin OLED 插口,共用 I2C 总线。 + +| 功能 | 引脚 | 说明 | +|------|------|------| +| SCL | IO12 | 共用I2C总线 | +| SDA | IO13 | 共用I2C总线 | + +**选择建议:** +- LCD:彩色显示,适合图形界面 +- OLED:低功耗,适合简单文本/图标 +- **注意:** OLED 和 LCD 只能二选一使用 + +--- + +### 音频系统 + +#### 音频编解码器 + +

+ +

+ +- **型号:** ES8311 +- **接口:** I2C(配置)+ I2S(数据传输) +- **功能:** 集成 ADC(模拟麦克风输入)和 DAC(喇叭输出) +- **采样率:** 8kHz ~ 96kHz +- **位深:** 16/24 bit + +#### ES8311 引脚定义 + +| 功能 | 引脚 | 说明 | +|------|------|------| +| I2C SCL | IO12 | I2C 时钟线 | +| I2C SDA | IO13 | I2C 数据线 | +| I2S MCLK | IO11 | 主时钟 | +| I2S SCLK | IO10 | 位时钟 | +| I2S LRCK | IO9 | 左右声道时钟 | +| I2S ASDOUT | IO8 | DAC 输出(到功放) | +| I2S DSDIN | IO7 | ADC 输入(从麦克风) | + +#### 功放 + +

+ +

+ +- **型号:** NS4150B +- **输出功率:** 3W(4Ω 负载) +- **输入:** ES8311 PAOUTP/PAOUTN(差分输出) +- **特点:** 低失真、高效率 + +#### 麦克风 + +

+ +

+ +- **板载:** 模拟麦克风 +- **外接:** MX1.25 接口(3pin) +- **信号路径:** 麦克风 → ES8311 MIC_IN+/- → ADC → I2S +- **特性:** 支持单麦打断功能 + +--- + +### 存储扩展 + +#### SD 卡接口 + +

+ +

+ +- **卡槽型号:** TF-027-H300 +- **支持卡型:** microSD(TF 卡) +- **接口模式:** SD_MMC 1-bit +- **文件系统:** FAT32 +- **建议最大容量:** 32GB + +#### SD 卡引脚定义 + +| 功能 | 引脚 | 说明 | +|------|------|------| +| CMD | IO38 | 命令/数据 | +| CLK | IO39 | 时钟 | +| DAT0 | IO40 | 数据 | + +**用途:** 存储音频文件、日志数据、配置文件等。 + +--- + +### 扩展接口 + +#### GPIO 排针(8-pin) + +

+ +

+ +| 引脚 | 功能 | 说明 | +|------|------|------| +| IO1 | GPIO | 通用输入输出 | +| IO2 | GPIO | 通用输入输出 | +| IO3 | GPIO | 通用输入输出 | +| IO4 | GPIO | 通用输入输出 | +| IO42 | GPIO | 通用输入输出 | +| IO43 | GPIO | 通用输入输出 | +| IO44 | GPIO | 通用输入输出 | +| IO48 | GPIO | 通用输入输出 | + +**注意:** 所有 GPIO 均支持 PWM、中断、I2C、SPI 等复用功能。 + +#### PH2.0 接口(4-pin) + +

+ +

+ +| 引脚 | 功能 | 说明 | +|------|------|------| +| IO5 | GPIO | 通用输入输出 | +| IO6 | GPIO | 通用输入输出 | +| +5V | 电源 | 5V 供电输出/输入 | +| GND | 地 | 公共地 | + +**用途:** 可与其他主控板通讯,或作为 5V 电源输出。 + +#### 配套扩展板 + +- **AI-VOX3 扩展板:** 通过排针接口扩展更多功能 +- **MD40 电机驱动板:** 驱动直流电机、编码电机、舵机 + +--- + +## 电源管理 + +### 供电方式 + +#### Type-C 接口 + +

+ +

+ +- **电压:** 5V +- **电流:** 最高 1.2A +- **功能:** 供电 + 下载程序 + 锂电池充电 + +#### 锂电池接口 + +

+ +

+ +- **电压:** 3.7V ~ 4.2V +- **接口:** ZH1.5-2pin +- **充电管理:** 板载 ETA6093 充电芯片 +- **充电效率:** 95% + +#### PH2.0-4pin 接口 + +

+ +

+ +- **电压:** 5V +- **功能:** 供电 + IO5/IO6 通讯 + +**注意:** 任何供电方式都需要短按 PWR 按键开机。 + +### 充电参数 + +- **充电芯片:** ETA6093(充电升压一体) +- **转换效率:** 95% +- **输入:** USB Type-C 5V,最高 1.2A +- **电量检测:** IO18 ADC 实时检测电池电压 + +--- + +## 按键 + +

+ +

+ +### PWR 按键 + + + +| 操作 | 状态 | 功能 | +|------|------|------| +| 短按 | 关机状态 | 开机,红色 PWR 灯亮起 | +| 短按 | 开机状态 | 系统复位 | +| 长按 | 开机状态 | 关机,红色 PWR 灯熄灭 | + +### 用户按键 + +| 按键 | 引脚 | 功能 | +|------|------|------| +| 按键 A | IO46 | 可编程用户按键 | +| 按键 B | IO45 | 可编程用户按键 | + +### BOOT 按键 + +| 按键 | 引脚 | 功能 | +|------|------|------| +| BOOT | IO0 | 启动模式选择(按住 BOOT + 短按 PWR 进入下载模式) | + +--- + +## LED 指示灯 + +### 电源指示灯 + +

+ +

+ +| LED | 颜色 | 状态 | 说明 | +|-----|------|------|------| +| PWR | 红色 | 常亮 | 电源开启 | +| PWR | 红色 | 熄灭 | 电源关闭 | + +### 充电指示灯 + +

+ +

+ +| LED | 颜色 | 状态 | 说明 | +|-----|------|------|------| +| CHARGE | 黄绿色 | 闪烁 | 充电中 | +| CHARGE | 黄绿色 | 常亮 | 电池已充满 | + +### RGB LED + +

+ +

+ +| LED | 引脚 | 说明 | +|-----|------|------| +| WS2812B | IO41 | 可编程 RGB LED,支持 24-bit 真彩色 | + +--- + +## 开发指南 + +### Arduino IDE + +#### 环境配置 + +参考:[ESP32 系列上传程序方法](../esp32_software_instructions/esp32_software_instructions.md) + +**开发板选择:** + +

+ +

+ +**推荐配置:** + +| 选项 | 值 | +|------|-----| +| Board | ESP32S3 Dev Module | +| Flash Size | 16MB | +| PSRAM | OPI PSRAM | +| Upload Speed | 921600 | +| USB CDC On Boot | Enable | + +--- + +#### 示例程序(基于Arduino) + +[下载示例程序 (ZIP)](./ai-vox3_arduino_test_demo.zip) + +| 示例 | 依赖库 | 功能 | +|------|--------|------| +| ai_vox3_lcd | [GFX Library for Arduino](https://github.com/moononournation/Arduino_GFX) | LCD 显示屏测试 | +| es8311_test | 无 | 麦克风和功放回环测试 | +| esp8311_sdmmc_test | [ESP32-audioI2S](https://github.com/schreibfaul1/ESP32-audioI2S) | 播放 SD 卡 MP3 | +| ws2812b_test | [Adafruit_NeoPixel](https://github.com/adafruit/Adafruit_NeoPixel) | RGB 灯测试 | +| button_test | [OneButton](https://github.com/mathertel/OneButton) | 按键测试 | + +**注意:** 依赖库安装建议直接通过Arduino的库管理器中搜索对应名称进行安装 + +--- + +## 故障排除 + +### 无法开机 + +**问题:** 按下 PWR 按键后无反应,PWR 灯不亮。 + +**解决方案:** + +1. 检查供电:确认 Type-C 或锂电池已连接 +2. 检查电池电压:锂电池电压应 > 3.3V +3. 长按 PWR 按键 3 秒强制开机 +4. 尝试更换 Type-C 线缆或充电器 + +--- + +### 无法下载程序 + +**问题:** Arduino IDE 提示 "Failed to connect to ESP32-S3"。 + +**解决方案:** + +1. 按住 BOOT 按键,再短按 PWR 按键进入下载模式 +2. 检查 USB 线缆是否支持数据传输(非纯充电线) +3. 安装 [Zadig](https://zadig.akeo.ie/) 驱动(Windows) +4. 降低 Upload Speed 到 115200 + +--- + +### 音频无输出 + +**问题:** 播放音频时喇叭无声。 + +**解决方案:** + +1. 检查喇叭连接:确认喇叭已连接到 PH2.0-2pin 接口 +2. 检查音量:确认 ES8311 音量未静音 +3. 运行 `es8311_test` 示例验证硬件 +4. 检查 I2S 引脚配置:IO7-IO11 是否正确 + +--- + +### SD 卡无法识别 + +**问题:** `SD.begin()` 返回 false。 + +**解决方案:** + +1. 检查 SD 卡格式:必须为 FAT32(不支持 exFAT) +2. 超过 32GB 的卡需要用第三方工具格式化为 FAT32 +3. 重新插拔 SD 卡 +4. 运行 `esp8311_sdmmc_test` 示例验证 + +--- + +### Wi-Fi 连接不稳定 + +**问题:** Wi-Fi 信号弱或频繁断开。 + +**解决方案:** -## 功能标注图 +1. 检查天线:确认板载天线未被遮挡 +2. 远离干扰源:避开 2.4GHz 设备(微波炉、蓝牙等) +3. 调整 Wi-Fi 信道:使用 1、6、11 信道 +4. 降低 Wi-Fi 功率:`WiFi.setTxPower(WIFI_POWER_8_5dBm)` -![alt text](picture/AI-VOX3-Marked.png) +--- -## 开发板特点 +## 资源下载 -- 搭载 ESP32-S3R8 高性能 Xtensa 32 位 LX7 双核处理器,主频高达240MHz -- 支持 2.4 GHz Wi-Fi (802.11 b/g/n) 和 Bluetooth 5 (LE),板载天线 -- ESP32-S3R8芯片内置 512 KB SRAM 和 384 KB ROM以及8MB PSRAM,板载16 MB Flash 存储芯片 -- 采用 Type-C 接口,支持程序下载、板载供电及锂电池充电,兼容主流开发环境,简化开发与电源管理流程 -- 采用电源复位按键二合一,将系统复位和开关机集成到Power按键中,短按开机或系统复位,长按关机,简化操作 -- 可接1.54寸240×240分辨率SPI接口LCD(ST7789),提供直观图形化交互界面 -- 预留LCD排线和OLED插口,可以选择OLED或者LCD彩屏显示 -- 板载ES8311音频编码解码器与3W音频放大器(NS4150B),支持高保真音频输入/输出,需外接喇叭 -- 双麦克风设计,板载模拟麦克风,还预留MX1.25外挂模拟麦克风接口,支持单麦打断 -- 板载SD Card接口,支持大容量存储扩展 -- 板载BOOT按键、2个按键(IO46/45)及WS2812B(IO41) RGB灯,便于交互调试与状态指示 -- 引出一组8个GPIO排针接口(IO43/44/42/48/4/3/2/1),支持多种外设接入 -- 预留一个4pin PH2.0接口,可以方便通过PH2.0供电,也可以和其他主控通讯 -- 配套外接AI-VOX3扩展板,可通过其扩展板的排针接口扩展更多功能 -- 配套外接MD40电机驱动板,可通过其驱动板运行多个电机 -- 板载充电升压5V 1.2A输出一体电路,支持外接锂电池供电,并通过IO18 ADC实时检测电量 +### 原理图 -## 充电说明 +[下载 AI-VOX3 V1.1 原理图 (PDF)](./docs/AI-VOX3.pdf) -- USB TypeC接口 5V 最高1.2A; -- 充电升压转换效率95%; -- 黄绿色LED(chare)闪烁表示正在充电,常亮表示电池已经充满。 +### 芯片数据手册 -## 供电说明 +- [ESP32-S3 数据手册](./docs/esp32-s3_datasheet_cn.pdf) +- [ESP32-S3 技术参考手册](./docs/esp32-s3_technical_reference_manual_cn.pdf) +- [ES8311 音频编解码器](./docs/ES8311.PDF) +- [NS4150B D类功放](./docs/NS4150B.pdf) +- [ETA6093 充电管理芯片](./docs/ETA6093.pdf) +- [ST7789V LCD 驱动芯片](./docs/ST7789V.pdf) +- [WS2812B RGB LED](./docs/WS2812B.pdf) -- 可以通过TypeC接口供电(5V); -- 可以通过ZH1.5锂电池充电(3.7~4.2V); -- 可以通过PH2.0-4pin接口供电(5V); -- 不管哪种方式供电,都需要短按PWR按键进行开机。 +### 3D 模型 -## PWR按键和LED灯说明 +[下载 3D 模型 (ZIP)](./ai-vox3_3d.zip) -- 短按PWR按键开机,红色P灯亮起,长按PWR按键则关机,红色P灯熄灭; -- 短按PWR按键开机后,再次短按PWR按键是复位主控板。 +### 示例程序 -## 原理图 +[下载示例程序 (ZIP)](./ai-vox3_arduino_test_demo.zip) -点击查看AI-VOX3原理图 +--- -## Arduino测试示例 +## 应用案例 -Arduino IDE上传方法请参考:[ESP32系列上传程序方法](zh-cn/esp32/esp32_software_instructions/esp32_software_instructions.md) +### 小智 AI 语音助手 -安装完成后即可选择对应的开发板: +AI-VOX3 可用于制作小智 AI 语音助手,支持语音对话、音乐播放、智能家居控制等功能。 -![ide_downloard_config](./picture/ide_downloard_config.png) +[查看教程](https://dcnmu33qx4vc.feishu.cn/docx/VXHzdBYH0ohpNAxw2ifc3P2InBe) -点击下载示例程序 +### CodexPad-S10 手柄控制 -| 文件名 | 依赖库 | 功能 | -| ------------------ | ------------------------------------------------------------ | ------------------------------------ | -| ai_vox3_lcd | Arduino_GFX | 测试LCD显示屏 | -| es8311_test | | 麦克风和功放喇叭回环测试 | -| esp8311_sdmmc_test | [ESP32-audioI2S](https://github.com/schreibfaul1/ESP32-audioI2S) | 播放sdcard根目录下的test.mp3格式音乐 | +使用 CodexPad-S10 手柄控制直流电机、编码电机、舵机等外设。 -## 使用CodexPad-S10手柄控制外设 +[查看详细教程](https://gitee.com/nulllab_1/docs_examples_gamepad_peripheral_control/blob/main/examples_description_ai_vox3_base.zh-CN.md) -演示如何使用CodexPad-S10手柄进行控制直流电机、编码电机、舵机等外设,您可以点此链接查看详细说明:[点击查看详细说明](https://gitee.com/nulllab_1/docs_examples_gamepad_peripheral_control/blob/main/examples_description_ai_vox3_base.zh-CN.md#codexpad-s10手柄控制示例ai-vox3开发板基础示例说明)。 +--- -## AI-VOX3结构 +## 版本历史 -点击下载AI-VOX3的3D模型 +| 版本 | 日期 | 修改内容 | +|------|------|---------| +| V1.1 | 2026-06-25 | 当前版本 | -## AI-VOX3做小智 +--- -AI-VO3可以用于制作小智AI,详细教程请见链接: diff --git a/docs/zh-cn/esp32/ai-vox3/docs/AI-VOX3.pdf b/docs/zh-cn/esp32/ai-vox3/docs/AI-VOX3.pdf new file mode 100644 index 0000000..df17ad0 Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/docs/AI-VOX3.pdf differ diff --git a/docs/zh-cn/esp32/ai-vox3/docs/ES8311.PDF b/docs/zh-cn/esp32/ai-vox3/docs/ES8311.PDF new file mode 100644 index 0000000..f951e9a Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/docs/ES8311.PDF differ diff --git a/docs/zh-cn/esp32/ai-vox3/docs/ETA6093.pdf b/docs/zh-cn/esp32/ai-vox3/docs/ETA6093.pdf new file mode 100644 index 0000000..603aa8b Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/docs/ETA6093.pdf differ diff --git a/docs/zh-cn/esp32/ai-vox3/docs/NS4150B.pdf b/docs/zh-cn/esp32/ai-vox3/docs/NS4150B.pdf new file mode 100644 index 0000000..d9891d3 Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/docs/NS4150B.pdf differ diff --git a/docs/zh-cn/esp32/ai-vox3/docs/ST7789V.pdf b/docs/zh-cn/esp32/ai-vox3/docs/ST7789V.pdf new file mode 100644 index 0000000..11f0bf0 Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/docs/ST7789V.pdf differ diff --git a/docs/zh-cn/esp32/ai-vox3/docs/WS2812B.pdf b/docs/zh-cn/esp32/ai-vox3/docs/WS2812B.pdf new file mode 100644 index 0000000..4925af6 Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/docs/WS2812B.pdf differ diff --git a/docs/zh-cn/esp32/ai-vox3/docs/esp32-s3_datasheet_cn.pdf b/docs/zh-cn/esp32/ai-vox3/docs/esp32-s3_datasheet_cn.pdf new file mode 100644 index 0000000..e75d7d9 Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/docs/esp32-s3_datasheet_cn.pdf differ diff --git a/docs/zh-cn/esp32/ai-vox3/docs/esp32-s3_technical_reference_manual_cn.pdf b/docs/zh-cn/esp32/ai-vox3/docs/esp32-s3_technical_reference_manual_cn.pdf new file mode 100644 index 0000000..d399140 Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/docs/esp32-s3_technical_reference_manual_cn.pdf differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Back.jpg b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Back.jpg new file mode 100644 index 0000000..c6fcb87 Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Back.jpg differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Back.png b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Back.png deleted file mode 100644 index e4ed177..0000000 Binary files a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Back.png and /dev/null differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Battery.jpg b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Battery.jpg new file mode 100644 index 0000000..2fd477b Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Battery.jpg differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Button.jpg b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Button.jpg new file mode 100644 index 0000000..6803560 Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Button.jpg differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Change.jpg b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Change.jpg new file mode 100644 index 0000000..f5d6fde Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Change.jpg differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Core.jpg b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Core.jpg new file mode 100644 index 0000000..a4e49bb Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Core.jpg differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-ES8311.jpg b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-ES8311.jpg new file mode 100644 index 0000000..0f872b9 Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-ES8311.jpg differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Flash.jpg b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Flash.jpg new file mode 100644 index 0000000..8e39bbc Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Flash.jpg differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Front.jpg b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Front.jpg new file mode 100644 index 0000000..44b6a55 Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Front.jpg differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Front.png b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Front.png deleted file mode 100644 index 764d84e..0000000 Binary files a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Front.png and /dev/null differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-GPIO.jpg b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-GPIO.jpg new file mode 100644 index 0000000..5fc7194 Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-GPIO.jpg differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-LCD.jpg b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-LCD.jpg new file mode 100644 index 0000000..c78d6c4 Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-LCD.jpg differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Marked.jpg b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Marked.jpg new file mode 100644 index 0000000..02eb696 Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Marked.jpg differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Marked.png b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Marked.png deleted file mode 100644 index 83bcbf0..0000000 Binary files a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Marked.png and /dev/null differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Mic.jpg b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Mic.jpg new file mode 100644 index 0000000..73bc1a9 Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-Mic.jpg differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-NS4150B.jpg b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-NS4150B.jpg new file mode 100644 index 0000000..72d0dca Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-NS4150B.jpg differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-OLED.jpg b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-OLED.jpg new file mode 100644 index 0000000..e7510be Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-OLED.jpg differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-PH2.0.jpg b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-PH2.0.jpg new file mode 100644 index 0000000..8b63974 Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-PH2.0.jpg differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-PWR.jpg b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-PWR.jpg new file mode 100644 index 0000000..a7d0893 Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-PWR.jpg differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-RGB-LED.jpg b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-RGB-LED.jpg new file mode 100644 index 0000000..cf82837 Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-RGB-LED.jpg differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-SD.jpg b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-SD.jpg new file mode 100644 index 0000000..31b3cad Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-SD.jpg differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-TypeC.jpg b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-TypeC.jpg new file mode 100644 index 0000000..81a1387 Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/picture/AI-VOX3-TypeC.jpg differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/ide_downloard_config.jpg b/docs/zh-cn/esp32/ai-vox3/picture/ide_downloard_config.jpg new file mode 100644 index 0000000..ece86a7 Binary files /dev/null and b/docs/zh-cn/esp32/ai-vox3/picture/ide_downloard_config.jpg differ diff --git a/docs/zh-cn/esp32/ai-vox3/picture/ide_downloard_config.png b/docs/zh-cn/esp32/ai-vox3/picture/ide_downloard_config.png deleted file mode 100644 index 2ab8bdf..0000000 Binary files a/docs/zh-cn/esp32/ai-vox3/picture/ide_downloard_config.png and /dev/null differ diff --git a/docs/zh-cn/ph2.0_sensors/actuators/A4988/A4988-schematic.pdf b/docs/zh-cn/ph2.0_sensors/actuators/A4988/A4988-schematic.pdf new file mode 100644 index 0000000..811ec1b Binary files /dev/null and b/docs/zh-cn/ph2.0_sensors/actuators/A4988/A4988-schematic.pdf differ diff --git a/docs/zh-cn/ph2.0_sensors/actuators/A4988/A4988.md b/docs/zh-cn/ph2.0_sensors/actuators/A4988/A4988.md new file mode 100644 index 0000000..79503e9 --- /dev/null +++ b/docs/zh-cn/ph2.0_sensors/actuators/A4988/A4988.md @@ -0,0 +1,295 @@ +# A4988步进电机驱动模块 + +

+ +

+ +## 概述 + +A4988是一款带内置逻辑转换器和过流保护的DMOS微步驱动器,可实现全、半及多种微步模式控制双极步进电机,输出驱动性能可达 35 V 及 ±2A,A4988 包括一个固定关断时间电流稳压器,该稳压器可在慢或混合衰减模式下工作。转换器是 A4988 易于实施的关键。只要在"步进"输入中输入一个脉冲,即可驱动电动机产生微步。无须进行相位顺序表、高频率控制行或复杂的界面编程。A4988具备过热关闭、欠压锁定、交叉电流保护、接地短路保护和加载短路保护功能。 + +**核心特性:** + +- 输出驱动电压:最高 35V +- 输出驱动电流:固定约 0.8A(由板载 Vref 电路设定) +- 微步模式:全步、半步、1/4步、1/8步、1/16步(本模块固定为1/16步) +- 内置过流保护和过热保护 +- 逻辑电压:5V + +[点击此处下载A4988规格书](./A4988.pdf) + +--- + +## 原理图 + +[点击此处下载原理图](./A4988-schematic.pdf) + +

+ +

+ +--- + +## 模块参数 + +- **逻辑电压:** 5V +- **连接方式:** PH2.0_5pin接口 +- **供电电压:** 3-30V +- **电机接口:** xh2.54_4pin接口 +- **模块尺寸:** 38.4×22.4mm +- **固定输出电流:** 约 0.8A(由板载 Vref 电路设定,无需调节) +- **微步分辨率:** 1/16步(MS1、MS2、MS3 内部已接高电平) + +--- + +## 机械尺寸 + +

+ +

+ +--- + +## 42步进电机介绍 + +42步进电机(常见如 42BYGH 系列)属于两相混合式步进电机,是工业自动化及创客领域最常用的机型之一。其名称中的"42"指安装法兰边长为 42mm,符合 NEMA 17 国际标准。42步进电机的四根引出线分别属于两个独立的线圈(即两相),标记为 A+、A-、B+、B-。其中 A+ 与 A- 为同一相(A相),B+ 与 B- 为同一相(B相)。42 两相步进电机多为 1.8°/ 整步。 + +### 相位识别步骤 + +工具:数字万用表(电阻档或蜂鸣器档) + +* 将万用表调至电阻档(200Ω 量程)或蜂鸣档。 +* 任意测量两根线之间的电阻: + * 如果阻值很小(通常几欧姆),说明这两根线属于**同一相线圈**。 + * 如果阻值无穷大(不导通),说明它们属于不同相。 +* 重复测量,直到找出两组相互导通的线对。每组即为一个线圈(如线圈1和线圈2)。 + +

+ +

+ +### 电机接线顺序图 + +

+ +

+ +### 引脚说明 + +**VIN:** 电机动力电源输入。电压越高,电机高速性能通常越好,但需在电机和A4988的耐压范围内。建议使用一个独立于MCU的电源供电。 + +**V:** 逻辑电源。给A4988内部逻辑电路供电。 + +**G:** 电源地。必须将电机电源地、逻辑电源地和A4988的GND连接在一起,形成一个共同的参考地。 + +**ST:** 脉冲输入,每个上升沿(或下降沿,可配置)驱动电机移动一个微步。脉冲频率决定电机转速。 + +**DIR:** 方向控制,高/低电平决定电机转向。注意转向定义是相对的,如果反了,只需在软件中取反逻辑,或者交换电机A相的两根线即可。 + +**EN:** 低电平使能。 + +**1A、1B:** 连接至步进电机A相绕组的两端。 + +**2A、2B:** 连接至步进电机B相绕组的两端。 + +**MS1,MS2,MS3:** 微步细分驱动控制,通过这三个引脚的逻辑电平,调整A4988驱动电机模式为全、半、1/4、1/8 及 1/16 步进模式。本模块内部MS1、MS2、MS3都已接高电平,所以微步分辨率是1/16步,因此电机走完一圈需要3200个脉冲。 + +| MS1 | MS2 | MS3 | 微步分辨率 | 含义(42 电机 1.8° 整步) | +| --- | --- | --- | ----- | ------------------------- | +| L | L | L | 全步 | 1 脉冲走完 1个整步,200个脉冲走完一圈 | +| H | L | L | 半步 | 2 脉冲走完1 个整步,400个脉冲走完一圈 | +| L | H | L | 1/4步 | 4 脉冲走完 1 个整步,800个脉冲走完一圈 | +| H | H | L | 1/8步 | 8 脉冲走完 1 个整步,1600个脉冲走完一圈 | +| H | H | H | 1/16步 | 16 脉冲走完 1 个整步,3200个脉冲走完一圈 | + +### 引脚连接图 + +| 电源 | A4988模块 | Arduino UNO引脚 | +| -------- | ------- | ------------ | +| | G | GND | +| | V | 5V | +| | EN | 9 | +| | ST | 10 | +| | DIR | 11 | +| 电池正极 | VIN | | +| 电池负极 | GND | | + +

+ +

+ +--- + +## A4988驱动42步进电机Arduino示例程序 + +### 1.使用A4988库 + +```cpp +#include "A4988.h" + +A4988 motor(9, 11, 10);//EN -> 9、DIR -> 11、STEP-> 10 + +const uint16_t STEPS_PER_REV = 3200; // 200步 × 16微步 +const float SPEED = 0.8; // 0.001 ~ 1.0 + +bool dir = Forth; + +void setup() { + motor.enable(); // 使能驱动 +} + +void loop() { + // 添加任务:转一圈 + if (motor.addTask(STEPS_PER_REV, dir, SPEED) == Success) { + // 非阻塞执行每一步 + while (motor.halfStep() != TaskWasNotSet) { + // 空循环,让 halfStep 自己计时 + } + // 切换方向 + dir = (dir == Forth) ? Back : Forth; + } + +} +``` + +#### A4988库文件下载 + +点击左侧第三个图标,搜索a4988,下载如图第一个库。 + +

+ +

+ +### 2.不使用A4988库 + +```cpp +#define STEP 10 +#define DIR 11 +#define EN 9 + +void setup() { + pinMode(STEP, OUTPUT); + pinMode(DIR, OUTPUT); + pinMode(EN, OUTPUT); + + digitalWrite(EN, LOW); // 使能驱动 +} +void loop() { + digitalWrite(DIR, HIGH); // 高电平正转 + for(int i=0; i<3200; i++){ // 16细分 一圈 + digitalWrite(STEP,HIGH); + delayMicroseconds(800); + digitalWrite(STEP,LOW); + delayMicroseconds(800); + } + delay(1000); + digitalWrite(DIR, LOW); // 低电平反转 + for(int i=0; i<3200; i++){ + digitalWrite(STEP,HIGH);//产生上升沿 + delayMicroseconds(800);//控制脉冲频率,数值越大转速越慢 + digitalWrite(STEP,LOW); + delayMicroseconds(800); + } + delay(1000); +} +``` + +--- + +## 使用注意事项 + +### 散热 + +A4988 在大电流(>0.5A)或长时间运行时会产生热量,建议: + +- 在 A4988 芯片背面散热焊盘加装散热片 +- 保持良好通风,避免密闭空间 +- 如果模块过热触发保护,降低电机电流或增加散热措施 + +### 电源 + +- **共地:** 必须将电机电源地(VIN的GND)、逻辑电源地(V的GND)和 A4988 的 GND 连接在一起,形成共同参考地 +- **独立供电:** 电机电源(VIN)建议使用独立电源,不要与 MCU 共用同一电源,避免电机启动时的电流冲击影响 MCU + +### 电机连接 + +- **不要热插拔:** 在 A4988 上电时,不要插拔电机连接线,可能损坏驱动芯片 +- **接线顺序:** 严格按照电机接线顺序图连接 A+/A-/B+/B-,接错会导致电机不转或振动 +- **电机选择:** 使用双极步进电机(4线或6线),不支持单极步进电机(5线或6线中心抽头) + +### 信号线 + +- **脉冲信号:** STEP 引脚的脉冲上升沿触发步进,脉冲宽度建议 >1μs +- **方向信号:** DIR 引脚在 STEP 脉冲上升沿之前至少保持 1μs 稳定 +- **使能信号:** EN 引脚低电平使能,高电平禁止输出 + +--- + +## 故障排除 + +### 电机不转 + +**问题:** 给 STEP 引脚发脉冲,电机没有反应。 + +**解决方案:** + +1. 检查 EN 引脚:必须为低电平(GND)才能使能 +2. 检查电源:确认 VIN(电机电源)和 V(逻辑电源)都已供电 +3. 检查接线:确认电机 A+/A-/B+/B- 接线正确,没有接错相 +4. 检查共地:电机电源地、逻辑电源地、A4988 GND 必须连接在一起 +5. 运行示例程序:使用 Arduino 示例验证硬件是否正常 + +### 电机振动但不转 + +**问题:** 电机发出嗡嗡声或振动,但不转动。 + +**解决方案:** + +1. 检查接线顺序:A+/A- 和 B+/B- 可能接反了,交换其中一相的两根线 +2. 降低转速:脉冲频率太高可能导致丢步,降低 delayMicroseconds 的值(增大延迟) +3. 检查电流:如果电机电流不足,可能无法驱动负载,检查电机额定电流是否匹配 + +### 模块过热 + +**问题:** A4988 芯片温度很高,烫手。 + +**解决方案:** + +1. 加装散热片:在芯片背面散热焊盘贴散热片 +2. 降低电流:如果电机额定电流较小,可以降低 Vref(需要修改 R3 电阻值) +3. 改善通风:确保模块周围有足够空气流通 +4. 检查负载:电机负载过大可能导致电流持续较高 + +### 丢步(步进不准确) + +**问题:** 电机实际转动角度与预期不符,出现丢步。 + +**解决方案:** + +1. 降低转速:脉冲频率过高会导致丢步,降低 STEP 脉冲频率 +2. 增加加速/减速:启动和停止时加入加减速过程,避免突然启动/停止 +3. 检查电源:电源电压不足或纹波过大可能导致丢步,增加去耦电容 +4. 检查机械负载:负载过大或机械卡滞会导致丢步 + +### 电机转向反了 + +**问题:** 电机转向与预期相反。 + +**解决方案:** + +1. 软件调整:在代码中将 DIR 引脚逻辑取反 +2. 硬件调整:交换电机 A 相的两根线(A+ 和 A-),或交换 B 相的两根线 + +--- + +## 资源下载 + +### 数据手册 + +- [A4988 规格书](./A4988.pdf) +- [A4988 原理图](./A4988-schematic.pdf) + +### 示例程序 + +- [A4988 Arduino 库](https://github.com/k-off/A4988) + diff --git a/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/A4988-appearance.jpg b/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/A4988-appearance.jpg new file mode 100644 index 0000000..ea1b986 Binary files /dev/null and b/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/A4988-appearance.jpg differ diff --git a/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/A4988-connection.jpg b/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/A4988-connection.jpg new file mode 100644 index 0000000..6203404 Binary files /dev/null and b/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/A4988-connection.jpg differ diff --git a/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/A4988-ku.png b/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/A4988-ku.png new file mode 100644 index 0000000..e47148a Binary files /dev/null and b/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/A4988-ku.png differ diff --git a/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/A4988-schematic.png b/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/A4988-schematic.png new file mode 100644 index 0000000..e1360d5 Binary files /dev/null and b/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/A4988-schematic.png differ diff --git a/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/A4988-size.png b/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/A4988-size.png new file mode 100644 index 0000000..2cf6027 Binary files /dev/null and b/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/A4988-size.png differ diff --git a/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/A4988.jpg b/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/A4988.jpg new file mode 100644 index 0000000..a14a8b2 Binary files /dev/null and b/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/A4988.jpg differ diff --git a/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/Motor-sort-order.jpg b/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/Motor-sort-order.jpg new file mode 100644 index 0000000..95edb94 Binary files /dev/null and b/docs/zh-cn/ph2.0_sensors/actuators/A4988/picture/Motor-sort-order.jpg differ diff --git a/docs/zh-cn/power_module/PM02/PM02.md b/docs/zh-cn/power_module/PM02/PM02.md new file mode 100644 index 0000000..08e9994 --- /dev/null +++ b/docs/zh-cn/power_module/PM02/PM02.md @@ -0,0 +1,32 @@ +# PM02 5V5A 升降压电源模块 + +## 实物图 + +![PM02](./picture/PM02.png) + +## 概述 + +该电源模块是一款基于升降压 DC-DC 芯片设计的 5V 5A 输出电源模块。模块支持 PH2.0 接口和 DC 头输入,输入电压范围 3-20V。相比 PM01 纯降压方案,PM02 支持升降压功能,兼容性更强。本模块专为大电流舵机驱动扩展使用,也可以同时给其他需要使用 5V 电压场景供电。 + +## 模块参数 + +- 电源输入:PH2.0 接口和 5.5-2.1mm DC 头输入 +- 输入电压:3-20V(支持升降压) +- 输出:最大电流 5V 5A,最多可以接 6 路舵机 +- 模块尺寸:38.4×22.4 mm +- 安装方式:M4 螺丝(孔径 4.7mm)固定 + +## 使用说明 + +- G V S 可以直接接 3pin 直插舵机 +- 独立 S 引脚为外部单片机控制信号引脚 +- 注意和外部单片机控制使用的时候需要电源模块和主控电源共地连接 +- 升降压特性:输入电压低于 5V 时自动升压,高于 5V 时自动降压,始终稳定输出 5V + +## 原理图 + +点击下载 PM02 原理图 + +## 机械尺寸图 + +![PM02_assembly](./picture/PM02_assembly.png) diff --git a/docs/zh-cn/power_module/PM02/PM02.pdf b/docs/zh-cn/power_module/PM02/PM02.pdf new file mode 100644 index 0000000..72edf89 Binary files /dev/null and b/docs/zh-cn/power_module/PM02/PM02.pdf differ diff --git a/docs/zh-cn/power_module/PM02/picture/PM02.png b/docs/zh-cn/power_module/PM02/picture/PM02.png new file mode 100644 index 0000000..06f0618 Binary files /dev/null and b/docs/zh-cn/power_module/PM02/picture/PM02.png differ diff --git a/docs/zh-cn/power_module/PM02/picture/PM02_assembly.png b/docs/zh-cn/power_module/PM02/picture/PM02_assembly.png new file mode 100644 index 0000000..e2b7e95 Binary files /dev/null and b/docs/zh-cn/power_module/PM02/picture/PM02_assembly.png differ