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

#第十届立创电赛#小智AI538157A

工程标签

315
0
0
0

简介

基于 立创开源蓝牙模组 制作的简易AI对话机 器 人,实现AI实时语音对话。它能够听懂你的情绪,解答你的疑惑,也能分享你的快乐。

简介:基于 立创开源蓝牙模组 制作的简易AI对话机 器 人,实现AI实时语音对话。它能够听懂你的情绪,解答你的疑惑,也能分享你的快乐。
第十届立创电子设计开源大赛
复刻成本:60

开源协议

GPL 3.0

创建时间:2025-08-14 20:25:20更新时间:2025-09-04 17:21:06

描述

注:* 为必填项

请在报名阶段填写 ↓

 

* 1、项目功能介绍


基于 立创开源蓝牙模组 制作的简易AI对话机 器 人,实现AI实时语音对话。它能够听懂你的情绪,解答你的疑惑,也能分享你的快乐。

 

*2、项目属性


训练营复刻项目,由插件元件改为贴片加上充电加串口下载电路方便调试。

 

* 3、开源协议


请输入内容…

 

注:利他即利己,请认真阅读下述内容。

  1. 拥抱开源,赋予项目无限价值。建议项目核心功能开源80%以上;
  2. 2、若某一部分功能不可替代且删掉之后项目无法解决对应的问题,则这一部分实现的功能就是项目的核心功能;比如设计了一台电子负载且设计了一款上位机软件监控功率变化,则电子负载为核心功能,上位机软件为辅助功能;比如电子负载中使用了一款隔离485模块与上位机通信,则此485模块实现的通讯功能为辅助功能;
  3. 项目应选择适合自己的开源协议,若项目引用其他开源项目,应注明来源并遵循原作者的开源协议规定;原创项目推荐使用GPL3.0开源协议;
  4. 直接引用开源项目的原电路或原代码实现的功能不可作为自己项目的核心功能、使用市场上通用模块直接实现的功能不可作为自己项目的核心功能。

 

请在竞赛阶段填写 ↓

 

*4、硬件部分


主控部分


 
 
关于该电路每一个器 件为什么这么放,是参考手册中的典型应用电路。其数据手册上的典型应用电路如下:
LM4871 典型应用电路
根据数据手册的典型应用电路的推荐和我们项目的实际情况,最后采用的是 差分输入模式的典型应用电路
 
这里有一个问题,虽然我们按照了典型应用电路放置了对应 器 件,但是 器 件的值跟典型电路是不一致的。为什么这么做?是为了低成本考虑,典型应用电路中,用到了 10K 20K 1UF 0.39UF 等 器 件,而我们为了购买器 件少一点,让电路更简洁,将电阻统一改为 10K,电容改为常用的 100nF(0.1UF) 和 22UF。实测没有问题。
 
器件的 1 脚 Shutdown 是芯片掉电控制引脚,为高电平时功放停止工作实现低功耗;为低电平时功放正常工作。在原理图中通过 R5电阻让该引脚默认为高电平即芯片默认停止工作,当需要功放工作时,需要主控的 PA26 引脚输出低电平才能工作,这样只有需要用的时候才开,不用的时候默认关闭。
声音大小控制
通过实际测试发现,项目原理图中的 R7 和 R8 电阻跟声音大小成线性关系,两个电阻越大,声音越小;两个电阻越小,声音越大。但是声音的大小始终不会超过喇叭的实际可输出声音大小。毕竟该芯片只有 1W 的功放输出。 W 数越大,功率越高,耗电越大,声音越响。
噪声控制
通过实际测试发现,项目原理图中的 C3 和 C4 电容跟噪声消除有关,具体如何调整数值达到理想效果参考该芯片的数据手册说明。这里简洁为一句话:高频噪声放小电容滤除,低频噪声放大电容滤除。
麦克风咪头(通常为驻极体话筒)的核心是一个可振动的极板(振膜)与固定背极板组成的电容。
 
当声音振动波作用在振膜上时,会导致其与背极板的距离动态变化,从而改变电容值。当有声音时,器件内部电容发生变化,这一变化会引发电容两端的电荷移动,产生微弱的交流电信号(模拟信号)。
 
但是虽然麦克风内部的驻极体材料自带永久电荷(无需外部供电维持电场),即使没有电源输入,麦克风也能够使用,但是为了确保麦克风能够正常稳定的工作,通常是需要提供一个基准电压(通常2~5V),使内部电容处于预充电状态,确保声音引起的电容变化能转换为有效电流信号。
 
在原理图中,R4 电阻的作用就是给麦克风的正极输入一个基准电压MIC_BIAS,这个电压是由模组控制输出的,由模组控制则可以在要用时才输出,不用时关闭,实现低功耗。R4 的电阻值为 10K,测试效果能够接受,过低则采集的音频信号弱,过高则易引入噪声。
 
在原理图中,C1 电容的作用就是对采集的信号进行滤波,滤除高频噪声,大多是滤除滋滋滋的声音或者声 音 沙 哑问题。

屏幕显示部分

屏幕显示使用的是 1.69寸TFT屏幕,采购自 金逸晨1.69寸TFT液晶屏ST7789小屏240x280显示器LCD圆角屏SPI彩屏,
屏幕通过SPI协议控制,供电 3.3V。
 
这里SPI的通信控制信号引脚,可以使用主控的硬件SPI外设,实现更高的通信速率,更快的屏幕刷新。但是使用主控的硬件SPI外设,则需要选择特定的引脚。
 
模组与屏幕的连接

按键部分

每一个项目基本都需要有人机交互部分,本项目通过按键进行控制,SW3 PA34_KEY 是唤醒键 + 语音输入键,按下 SW3 按键可以让主控从低功耗睡眠状态唤醒,当主控正在工作时,按下按键进行语音输入。
 
SW2按键目前待定用途,设计出来备用。

指示灯部分

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

下载部分

模组的下载是通过串口进行下载的,必须使用 PA18 和 PA19 引脚下载。实测能够正常下载和串口调试通信。

PCB设计

电路模块分类

 
将原理图生成 PCB 后接下来进行元器件的布局与走线,刚转到 PCB 画布时 元 器 件摆布是比较杂乱的,首先要做的是将元器件按电路功能进行分类,分类的方式是先在原理图页面对各个电路模块进行单独框选,然后选择“设计”菜单栏下的“布局传递”功能,传送到 PCB 将对应的元 器 件 提取出来重新摆放,这一步是分类的关键。
 

边框设置

 
嘉立创可供免费PCB打样的尺寸是10cm x 10cm,结合该项目情况,这里设为了61.21mm x 41mm,在放置菜单栏中选择放置-板框,在 PCB 画布中任意放置一个矩形,点击矩形框,在右侧属性栏中将尺寸改为61.21mm x 41mm,圆角尺寸设为150mil。
 

PCB布局

 
  边框放置好后可以将四个螺丝孔分别放置在板子四周,布局时先将大尺寸器件放置在板子内部,进行初步布局,使整个板面电路模块清晰,布局合理,使用方便。布局时使用3D预览功能实时查看布局效果是否合适。
 
布局时元器件相互连接处有一根淡蓝色的线条,这根线叫做飞线,它起的作用是告诉我们那两个焊盘是相同网络,需要使用导线连接,所以飞线也叫做指引线。但是页面中飞线太多影响布局摆放,在布局走线时可以将GND网络的飞线隐藏,使页面更简洁。隐藏方式是:在左侧“工程设计”列表中选择网络,在搜索栏中搜索GND,在飞线列表中将GND前的眼睛关闭即可。走线完成后别忘了重新打开哦~
 
接下来布局时把相关模块电路放到一起,按照飞线的指引摆放,尽可能使飞线水平,走线时减少拐弯,开关接口靠边方便操作,最终布局效果如下所示:

主要配件购买连接

序号
器件名称
型号参数
购买链接
数量
1
显示模块
1.69寸 TFT 屏幕
1
2
CR123A可充电电池
3.7V 34x16.5mm 可充电电池
1
3
喇叭
30B01腔体喇叭圆形8欧2瓦30MM
1
4
主控
LC-OPEN-SF32LB52-MOD-N16R8
1

辅助焊接工具

在嘉立创EDA专业版中提供了一个焊接辅助工具,焊接时可在线打开该工具对照元器件的参数及位置,实时进行查看焊接情况。打开方式是该项目的PCB设计页面,点击“工具”菜单栏,选择“焊接辅助工具”;也可以直接导出离线文件,并在浏览器中打开。

带极 性 器 件 的正负极区分

麦克风正负极说明
LED灯正负极说明
根据引脚的长短进行区分,长正短负。
 
铝电解电容正负极说明
可以根据引脚的长短进行区分,长正短负。
也可以根据电容上的标记区分,通常负极引脚处有白色色块表示:

3D外壳设计

嘉立创外壳设计介绍

嘉立创EDA专业版支持简单的3D结构件设计

固件下载烧录

硬件准备

前置准备

因训练营中每位同学的设计都有可能不同,在此仅介绍参考设计的硬件,有改动的同学可以进行参考并针对自己的板子进行相关调整。
  1. 准备一个 CR123A 电池,需要注意在后续的下载过程中,电池的电量需要保持充足。

连接喇叭

应该将喇叭连接到板子的喇叭连接器上,注意该板子的功放最大输出功率仅有 1W,建议使用 8Ω的喇叭。
 

连接屏幕

准备一块 1.69寸TFT屏幕。插在屏幕排母上即可。

下载程序

硬件连接完成即可开始下载固件
 

*5、软件部分


烧录和使用方法

前置准备

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

下载sftool

sftool 是一个开源软件,可以在GitHub 上找到它的源码。不过我们现在并不需要关心源码,只需要下载编译好的二进制文件即可。
下载完成之后,我们需要解压这个文件,解压之后我们会得到一个命令行工具,在windows上它的后缀是.exe(sftool.exe),在Linux和MacOS上没有后缀(sftool)。需要注意的是,windows的资源管理器可能会忽略文件的后缀名,因此看起来可能也是sftool

sftool 命令格式及使用方法

sftool是一个命令行工具,它有一套自己的命令格式,一般的命令规则如下:
 
sftool [选项] [选项值] [命令] [命令选项]
 
全局选项
  • -c, --chip : 目标芯片类型 (目前支持SF32LB52)
  • -m, --memory : 存储类型 [nor, nand, sd] (默认: nor)
  • -p, --port : 串行端口设备路径
  • -b, --baud : 闪存/读取时使用的串口波特率 (默认: 1000000)
  • --before : 连接芯片前的操作 [no_reset, soft_reset] (默认: no_reset)
  • --after : 工具完成后的操作 [no_reset, soft_reset] (默认: soft_reset)
  • --connect-attempts : 连接尝试次数,负数或0表示无限次 (默认: 7)
  • --compat : 兼容模式,如果经常出现超时错误或下载后校验失败,则应打开此选项。
写入闪存命令
 
# Linux/Macsftool -c SF32LB52 -p /dev/ttyUSB0 write_flash [选项] <文件@地址>...# Windowssftool -c SF32LB52 -p COM9 write_flash [选项] <文件@地址>...
 
写入闪存选项
  • --verify: 验证刚写入的闪存数据
  • -u, --no-compress: 传输期间禁用数据压缩
  • -e, --erase-all: 在编程前擦除所有闪存区域(不仅仅是写入区域)
  • <文件@地址>: 二进制文件及其目标地址,如果文件格式包含地址信息,@地址部分是可选的
示例
Linux/Mac:
 
# 写入单个文件到闪存sftool -c SF32LB52 -p /dev/ttyUSB0 write_flash app.bin@0x12020000# 写入多个文件到不同地址sftool -c SF32LB52 -p /dev/ttyUSB0 write_flash bootloader.bin@0x12010000 app.bin@0x12020000 ftab.bin@0x12000000# 写入并验证sftool -c SF32LB52 -p /dev/ttyUSB0 write_flash --verify app.bin@0x12020000# 写入前擦除所有闪存sftool -c SF32LB52 -p /dev/ttyUSB0 write_flash -e app.bin@0x12020000
 
Windows:
 
# 写入多个文件到不同地址sftool -c SF32LB52 -p COM10 write_flash bootloader.bin@0x12010000 app.bin@0x12020000 ftab.bin@0x12000000# 其它同上
 

烧录固件

使用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
 
bootloader.binER_IROM2.binER_IROM3.binER_IROM1.binftab.bin是你下载的固件文件名,建议使用绝对路径引用,如果路径中出现中文或者空格请用"将路径括起来。 其中COM3是你连接开发板的串口号,可能会有所不同,请根据实际情况修改。 可以打开设备管理器查看对应串口号:'COM'后面接着的数字就是串口号
没有意外的话,烧录完成之后会自动重启运行,屏幕应该被点亮。

蓝牙使用注意事项

在连接板子设备之前,请打开手机的蓝牙网络共享功能!!!
Android蓝牙使用注意事项
以下是Android手机的蓝牙设置界面,通过打开个人热点共享中的蓝牙共享网络功能。

开始使用

正确烧录固件后,开发板初始化界面如下:

激活设备

烧录固件之后,确保蓝牙共享网络已打开,这时,手机就可以连接蓝牙 sifli-pan 设备了。
连接上sifli-pan设备后,开发板会有连接画面提示,此时按下对话按键(参考对应硬件支持查看对话按键),xiaozhi则会提示需要登录到控制面板,填设备码。
这个时候,打开浏览器,输入网址:https://xiaozhi.me。浏览器用手机或者电脑都可以。 进入小智 AI 的网页后,点击控制台,用手机号登录。
新建智能体填写,最后添加设备码。
这个时候拔掉开发板上的数据线再接入就可以正常使用了
 
 

注:若您的项目涉及软件开发,请在附件上传对应的工程源码。这里可以详细说明您的软件流程图、功能模块框图、相关算法的解释或科普、源码结构、编译环境的搭建和配置、源码编译方法、程序烧录方法等。推荐图文并茂的形式向别人介绍您的想法。

 

*6、BOM清单


No. Quantity Comment Designator Footprint Manufacturer Supplier Part Supplier
1 1 BH-123A-A1CJ002 BAT1 BAT-TH_BH-123A-A5BJ002 MYOUNG(美阳) C5290177 LCSC
2 1 10nF C1 C0603 YAGEO(国巨) C100042 LCSC
3 2 1uF C2, C5 CAP-SMD_BD4.0-L4.3-W4.3-LS5.0-FD 捷而瑞 C48970983 LCSC
4 2 100nF C3, C4 C0603 HRE(芯声) C6119867 LCSC
5 1 22uF C6 CAP-SMD_BD6.3-L6.6-W6.6-LS7.3-FD-H7.7 捷而瑞 C46550391 LCSC
6 4 100nF C12, C16, C17, C19 C0603 YAGEO(国巨) C14663 LCSC
7 2 1uF C13, C14 C0603 SAMSUNG(三星) C15849 LCSC
8 1 10uF C15 C0603 SAMSUNG(三星) C19702 LCSC
9 1 4.7uF C18 C0805 SAMSUNG(三星) C1779 LCSC
10 1 DB125-2.54-2P-GN-S CN1 CONN-TH_DB125-2.54-2P-GN DORABO(地博电气) C918120 LCSC
11 1 USBLC6-2SC6 D1 SOT-23-6_L2.9-W1.6-P0.95-LS2.8-BL UMW(友台半导体) C2687116 LCSC
12 1 SS34 D2 SMA_L4.3-W2.6-LS5.2-RD MDD(辰达半导体) C8678 LCSC
13 1 PZ254R-11-06P H2 HDR-TH_6P-P2.54-H-M-W10.4 XFCN(兴飞) C492414 LCSC
14 2 XL-1608UGC-04 LED1, LED4 LED0603-RD_GREEN XINGLIGHT(成兴光) C965804 LCSC
15 1 XL-1608SURC-06 LED5 LED0603-RD_RED XINGLIGHT(成兴光) C965799 LCSC
16 1 GMI4015P-2C-66db MIC2 MIC-TH_BD4.0-P1.40-D0.4-L-FD INGHAi(赢海) C233304 LCSC
17 2 AO3400A Q1, Q2 SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR UMW(友台半导体) C347475 LCSC
18 9 10kΩ R1, R2, R3, R4, R5, R6, R7, R8, R9 R0603 UNI-ROYAL(厚声) C25804 LCSC
19 3 1kΩ R13, R14, R22 R0603 UNI-ROYAL(厚声) C21190 LCSC
20 2 5.1kΩ R16, R17 R0603 UNI-ROYAL(厚声) C23186 LCSC
21 1 4.7kΩ R18 R0603 UNI-ROYAL(厚声) C23162 LCSC
22 1 0.33R R19 R2512 UNI-ROYAL(厚声)   LCSC
23 2 2.2kΩ R20, R21 R0603 UNI-ROYAL(厚声) C4190 LCSC
24 1 100Ω R23 R1206 UNI-ROYAL(厚声) C17901 LCSC
25 2 LED-0603-G, LED-0603-R RX, TX LED0603      
26 4 M3螺丝 SCREW1, SCREW2, SCREW3, SCREW4 M3螺丝      
27 1 K3-1293S-E2 SW1 SW-TH_K3-1293S-E2 韩国韩荣 C145852 LCSC
28 2 TS-1102S-C-C-B SW2, SW3 KEY-SMD_4P-L6.0-W6.0-P4.50-LS8.6 XKB Connectivity(中国星坤) C381039 LCSC
29 1 LC-OPEN-SF32LB52-MOD-N16R8 U1 COMM-SMD_L27.9-W18.0-P1.10_SF32LB52-MOD-1-N16R8 立创开发板 C42924267 LCSC
30 1 优信1.69寸tft屏幕 U2 1.69寸LCD      
31 1 LM4871M/TR U3 SOP-8_L4.9-W3.9-P1.27-LS6.0-BL HGSEMI(华冠) C234206 LCSC
32 1 CH340X U5 MSOP-10_L3.0-W3.0-P0.50-LS5.0-BL WCH(南京沁恒)   LCSC
33 1 ME6211A33M3G-N U6 SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR MICRONE(南京微盟) C168807 LCSC
34 1 TP4056 U7 ESOP-8_L4.9-W3.9-P1.27-LS6.0-BL-EP TPOWER(天源) C382139 LCSC
35 1 DW01 U8 SOT-23-6_L2.9-W1.6-P0.95-LS2.8-BL Slkor(萨科微) C359989 LCSC
36 1 TYPE-C 16PIN 2MD(073) USB1 USB-C-SMD_TYPE-C-6PIN-2MD-073 SHOU HAN(首韩) C2765186 LCSC

组装后的实物

 

注:项目涉及的BOM清单。在嘉立创EDA 生成/上传设计文件后,BOM将自动生成至项目详情;建议包括型号、品牌、名称、封装、采购渠道、用途等内容。具体内容和形式应以表达清楚项目构成为准。

 

*7、大赛LOGO验证


请上传包含大赛logo的项目图片,logo以丝印形式印刷在PCB上面。

点击zip下载大赛logo标识! (大赛标识).zip

 

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


 

视频要求:请横屏拍摄,分辨率不低于1280×720,格式Mp4/Mov,单个视频大小限100M内;

视频标题:立创电赛:{项目名称}-{视频模块名称};如立创电赛:《自动驾驶》-团队介绍。

 

前往查看更多详情 >

 

设计图

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

BOM

暂无BOM

3D模型

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

附件

序号文件名称下载次数
1
bootloader.bin
0
2
ER_IROM1.bin
0
3
ER_IROM2.bin
0
4
ER_IROM3.bin
0
5
ftab.bin
0
6
立创电赛:《智能AI小智》.mp4
0
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

知识产权声明&复刻说明

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

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

评论

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

底部导航