站内搜索
发作品签到
专业版

#第十届立创电赛#基于SF32LB52模组的小智ai项目

工程标签

195
0
0
0

简介

一款基于SF32LB52模组制作的简易AI对话机器人,能够实现AI实时语音对话。

简介:一款基于SF32LB52模组制作的简易AI对话机器人,能够实现AI实时语音对话。
第十届立创电子设计开源大赛
复刻成本:120

开源协议

Public Domain

创建时间:2025-08-24 11:29:46更新时间:2025-09-09 09:38:05

描述

注:* 为必填项

请在报名阶段填写 ↓

 

* 1、项目功能介绍


这是一款基于SF32LB52模组制作的简易AI对话机器人,能够实现AI实时语音对话。它能够听懂你的情绪,解答你的疑惑,也能分享你的快乐。

*2、项目属性


此项目为首次公开,根据立创开发板小智AI训练营内容制作并完成,未在其他比赛中获奖,以及未在学校参加过答辩。

 

* 3、开源协议


Public Domain

 

请在竞赛阶段填写 ↓

 

*4、硬件部分


电源部分

BAT1 是一个电池盒,可以容纳一节 CR123A 电池。故要供电的话,需要使用小型柱形电池 CR123A 进行供电。

SW1 是整个项目的电源开关,通过拨动 SW1 开关,进行断电和通电。

主控部分

主控用的是 [立创·开源SF32LB52模组],一款蓝牙低功耗芯片,频率 240MHz,集成 8MB PSRAM 和 16MB Flash,支持锂电池直接供电。BLE 连接功耗(1S间隔)仅需 7μA,BT连接功耗(1S间隔)仅需 10μA,BLE + BT 双连接功耗比同行单BT连接功耗还能降低 60%。

模组支持 BT PAN 功能可以直接连接手机上网,相比 WIFI 功耗更低,更加适合电池场景,带屏连接功耗仅 30mA。

在本项目中,直接让电池电源直连模组的电源输入引脚 VSYS。这里需要注意该模组电压范围要求 3.7V~4.7V。3.3V 和 5V 供电都不行。

模组的 VDD33_VOUT2 是由软件控制输出的,需要芯片正常启动后才有输出3V3。

模组与其他电路模块的连接情况:

音频功放部分

音频功放主要以上图的 U6 为主,它型号是 LM4871,是一款 3W、单声道 AB 类音频功率放大器,工作电压 1.9 - 5.5V。

通过实际测试发现,项目原理图中的 R7 和 R8 电阻跟声音大小成线性关系,两个电阻越大,声音越小;两个电阻越小,声音越大。但是声音的大小始终不会超过喇叭的实际可输出声音大小。毕竟该芯片只有 1W 的功放输出。 W 数越大,功率越高,耗电越大,声音越响。

通过实际测试发现,项目原理图中的 C2 和 C5 电容跟噪声消除有关,具体如何调整数值达到理想效果参考该芯片的数据手册说明。这里简洁为一句话:高频噪声放小电容滤除,低频噪声放大电容滤除。

麦克风部分

R3 电阻的作用就是给麦克风的正极输入一个基准电压MIC_BIAS,这个电压是由模组控制输出的,由模组控制则可以在要用时才输出,不用时关闭,实现低功耗。R3 的电阻值为 10K,测试效果能够接受,过低则采集的音频信号弱,过高则易引入噪声。

U4 电容的作用就是对采集的信号进行滤波,滤除高频噪声,大多是滤除滋滋滋的声音或者声音沙哑问题。

屏幕显示部分

屏幕显示使用的是 1.69寸TFT屏幕,通过SPI协议控制,供电 3.3V。

这里SPI的通信控制信号引脚,可以使用主控的硬件SPI外设,实现更高的通信速率,更快的屏幕刷新。但是使用主控的硬件SPI外设,则需要选择特定的引脚。

模组与屏幕的连接

按键部分

本项目通过按键进行控制,U2 PA34_KEY 是唤醒键 + 语音输入键,按下 U2 按键可以让主控从低功耗睡眠状态唤醒,当主控正在工作时,按下按键进行语音输入。

U1按键目前待定用途,设计出来备用。

指示灯部分

用于指示模组状态。通过模组IO控制。IO输出低电平LED灯亮,IO输出高电平LED灯灭。

下载部分

模组的下载是通过串口进行下载的,必须使用 PA18 和 PA19 引脚下载。本项目直接使用 CH340X 模块的接口作为下载器。

 

*5、软件部分

软件部分使用立创电赛提供固件进行烧录

烧录和使用方法
前置准备
在开始之前,我们需要进行一些前置工具,请确保完成以下的步骤:
1. sftool: 用于SF32系列SoC芯片的烧录
2. 下载固件:
开发板的固件位于 https://github.com/78/xiaozhi-sf32/releases,我们下载最新release版本的压缩包。需要注意的是,我们一共需要bootloader.bin、ER_IROM2.bin、ER_IROM3.bin、ER_IROM1.bin 和ftab.bin这五个文件。
建议先下载sftool工具,下载完成后将这些文件放在sftool文件夹中,与sftool.exe同一路径。
3. 开发板对应固件:小汤圆直插版(立创训练营): sf32lb52-xty-ai-tht.zip

下载sftool
sftool 是一个开源软件,可以在GitHub 上找到它的源码。不过我们现在并不需要关心源码,只需要下载编译好的二进制文件即可。
我们可以在Release 页面中找到最新版本的sftool,其中最靠前的版本并且有着Latest绿色标签的就是最新版本。例如我现在的最新版本上0.1.5,看起来是这样的:

接下来我们需要选择合适的版本。我们需要根据自己的操作系统和CPU架构来选择合适的版本。sftool支持Linux、Windows和MacOS等操作系统,支持x86_64和aarch64等CPU架构。例如我们是Windows 64bit操作系统,我们就应该选择 sftool-0.1.5-x86_64-pc-windows-msvc.zip这个版本,同样的,如果是Windows 32bit的版本,我们就应该选择sftool-0.1.5-i686-pc-windows-msvc.zip这个文件镜像下载。特别的,如果您找不到您系统的文件,那可能需要点击一下Show all assets按钮。

下载完成之后,我们需要解压这个文件,解压之后我们会得到一个命令行工具,在windows上它的后缀是.exe(sftool.exe),在Linux和MacOS上没有后缀(sftool)。需要注意的是,windows的资源管理器可能会忽略文件的后缀名,因此看起来可能也是sftool。

使用sftool工具烧录固件,打开终端之后输入如下命令(Windows):
!!!需要注意的是:命令中的 ./sftool.exe 中的斜杠,在不同操作系统中有不同的表现: windows是反斜杠,linux是斜杠。
下面是1.2.0-1.2.2版本的烧录命令:

./sftool.exe -p COM3 -c SF32LB52 write_flash bootloader.bin@0x12010000 ftab.bin@0x12000000 ER_IROM2.bin@0x12A28000 ER_IROM3.bin@0x12228000 ER_IROM1.bin@0x12020000

1.3.0版本则应该使用下列命令:

./sftool.exe -p COM3 -c SF32LB52 write_flash bootloader.bin@0x12010000 ftab.bin@0x12000000 ER_IROM2.bin@0x12A28000 ER_IROM3.bin@0x12268000 ER_IROM1.bin@0x12020000

没有意外的话,烧录完成之后会自动重启运行,屏幕应该被点亮。

相关固件我上传了自用版本。

 

*6、BOM清单

 

*7、大赛LOGO验证


 

* 8、演示您的项目并录制成视频上传


见附件

 

前往查看更多详情 >

 

设计图

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

BOM

暂无BOM

3D模型

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

附件

序号文件名称下载次数
1
立创电赛:小智ai.mp4
0
2
【1.3.2】sf32lb52-xty-ai-tht.zip
0
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

知识产权声明&复刻说明

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

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

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航