
基于ESP32S3N16R8设计的一个机器狗
简介
本项目为基于ESP32S3N16R8设计的一个机器狗,接入小智AI,可以语音控制小狗动作,AI交流。代码为小智AI二创,在小智AI基础上添加了舵机控制,rgb灯光显示,触摸控制。
简介:本项目为基于ESP32S3N16R8设计的一个机器狗,接入小智AI,可以语音控制小狗动作,AI交流。代码为小智AI二创,在小智AI基础上添加了舵机控制,rgb灯光显示,触摸控制。开源协议
:GPL 3.0
描述
视频链接:
https://www.bilibili.com/video/BV1FQLMz1Eub/?vd_source=4ab8f3c3fd340e981f57ac884ab06e3c
项目简介
本项目为基于ESP32S3N16R8设计的一个机器狗,接入小智AI,可以语音控制小狗动作,AI交流。代码为小智AI二创,在小智AI基础上添加了舵机控制,rgb灯光显示,触摸控制。
项目功能
本项目为基于ESP32S3N16R8设计的一个机器狗,接入小智AI,可以语音控制小狗动作,AI交流。
项目参数
- 本设计采用TP4056作为充电IC,可以对锂电池充电;
- 使用RY3715实现锂电池电压升压到5V电压;
- INMP441全向麦克风模块作为音频输入,MAX98357 I2S 音频放大器模块作为音频输出;
- 0.96寸I2C OLED屏幕作为显示模块;
- 主控使用乐鑫ESP32S3N16R8模块,有16M flash 8M RAM资源
原理解析(硬件说明)
电源树设计:
硬件电源树首先经过type-C 输入的5V电压,默认type-c输入5V,5V给TP4056给锂电池充电,同时锂电池通过升压电路将电压升到5V,通过电源转换电路实现5V输出,当有USB插入时候,5V电源自动切换到USB5V电源路径,当USB电源断开时候实现锂电池升压5V输出,两路电源切换,在切换时候整个系统不会断电;5V电压通过LDO线性稳压实现3.3V输出,3.3V电源分别给主控ESP32、INMP441全向麦克风模块、MAX98357 I2S 音频放大器模块和屏幕供电,此外5V还直接给SG90舵机和RGB灯供电。
供电部分:
-
type-c供电:
type-c CC1、CC2默认下拉5.1K电阻,满足PD、QC、AFC、SCP等协议的充电头默认会输出5V,USB DP、DN默认加入ESD静电保护,避免静电通过type-c金属传导到DP、DN从而损坏主控芯片,5V电源默认也加入静电防护。 -
TP4056锂电池充电电路:
锂电池充电电路使用经典线性充电芯片TP4056,其中加入NTC保护,NTC使用的100K(B值3950),其中R12作为充电限流电阻,根据TP4056数据手册提供的值默认4K,可提供最大300ma的电流,则个电阻值可以根据不同电池规格来选择,我使用的102540 1000mah的电池,电池最大充电倍率0.5C,即是最大充电电流0.5A。因为公式
所以选择作为锂电池充电限流电阻的阻值应该>=2.4k,这里可不能乱选,充电电流大于电池的最大充电倍率可能会有风险。 -
RY3715升压电路:
这里使用的升压芯片是RY3715,根据参考数据手册绘制电路即可。 -
电源自动切换电路:
这里使用电源自动切换电路,可以实现USB 5V和升压电路的5V实现自动切换,当USB_5V_IN没有输入电压时,通过R128对地实现PMOS Q4的导通,从而实现BAT_5V的输出,当USB_5V_IN输入5V时候,PMOS Q4关断,USB_5V_IN通过二极管D8到达USB_5V。 -
LDO电路:
使用AMS1117-3.3V,最大可以显示1000ma的输出,可以满足3.3V电压供给。
主控外设:
-
ESP32S3N16R8:
在集成 Octal SPI PSRAM(即内置芯片为 ESP32-S3R8 或 ESP32-S3R16V)的模组中,管脚 IO35、IO36、IO37 已连接至模组内部集成的 Octal SPI PSRAM,不可用于其他功能。
电源部分加上一个ESD做保护功能。 -
SG90舵机
-
WS2812B mini REG灯
-
INMP441全向麦克风
-
MAX98357 I2S 音频放大器
-
0.96寸 I2C OLED
-
拓展IO/触摸
软件代码
通过网盘分享的文件:esp_xiaozhi_dog-main.zip
链接: https://pan.baidu.com/s/1f8u2czWRGA5EWD4zc6Q9wQ?pwd=a7va 提取码: a7va
实物图
设计图

BOM


评论