版本协议

Public Domain

专业版
#第十届立创电赛#小智AI

创建时间:3周前

55 0

描述

<h2>项目简介</h2> <p>基于 立创开源蓝牙模组 制作的简易AI对话机器人,实现AI实时语音对话。它能够听懂你的情绪,解答你的疑惑,也能分享你的快乐。</p> <h2>项目功能</h2> <p><strong>一、基础实时语音对话功能</strong></p> <p>通过麦克风采集用户语音,经立创蓝牙模组传输至 AI 处理端,实现低延迟语音转文字。AI 生成文本响应后,经蓝牙模组传回设备,通过扬声器将文字转语音实时输出,完成 “说 - 听 - 答” 闭环,对话延迟控制在 1-3 秒内。 (“太好了!能感受到你的快乐,真为你高兴~”)。 <strong>二、实用问答与场景服务</strong></p> <p>整合 AI 知识库,解答生活常识、科普知识、学习问题(如 “地球为什么是圆的?”“怎么煮奶茶?”),支持实时联网查询最新信。</p> <p><strong>三、交互增强与扩展</strong> 语音唤醒与指令控制 支持自定义唤醒词(如 “小智”),唤醒后进入对话模式,无需手动按键;支持指令打断(如中途说 “停止”“换个话题”)。 低功耗与续航优化 主控用的是 <a href="https://item.szlcsc.com/45024582.html" target="_blank">立创·开源SF32LB52模组</a>,一款蓝牙低功耗芯片,频率 240MHz,集成 8MB PSRAM 和 16MB Flash,支持锂电池直接供电。BLE 连接功耗(1S间隔)仅需 7μA,BT连接功耗(1S间隔)仅需 10μA,BLE + BT 双连接功耗比同行单BT连接功耗还能降低 60%,闲置时自动进入休眠,唤醒词触发后快速激活,搭配锂电池供电,单次充电可支持 8-12 小时连续对话。 开源扩展接口</p> <h2>原理解析(硬件说明)</h2> <h1><strong>主控部分</strong></h1> <p><img src="https://image.lceda.cn/oshwhub/pullImage/4cb24fcb8282415f943037b4373d5106.png" alt="image.png"> 主控用的是 <a href="https://item.szlcsc.com/45024582.html" target="_blank">立创·开源SF32LB52模组</a>,一款蓝牙低功耗芯片,频率 240MHz,集成 8MB PSRAM 和 16MB Flash,支持锂电池直接供电。BLE 连接功耗(1S间隔)仅需 7μA,BT连接功耗(1S间隔)仅需 10μA,BLE + BT 双连接功耗比同行单BT连接功耗还能降低 60%。</p> <p>模组支持 BT PAN 功能可以直接连接手机上网,相比 WIFI 功耗更低,更加适合电池场景,带屏连接功耗仅 30mA。</p> <p>在本项目中,直接让电池电源直连模组的电源输入引脚 VSYS。这里需要注意该模组电压范围要求 3.7V~4.7V。3.3V 和 5V 供电都不行。</p> <p>模组的 VDD33_VOUT2 是由软件控制输出的,需要芯片正常启动后才有输出3V3。</p> <h1><strong>电源部分</strong></h1> <p><img src="https://image.lceda.cn/oshwhub/pullImage/a5f264d66ea0485aa6a80a75a47fe94c.png" alt="image.png"></p> <p>在训练营基础版上增加了基于TP4056的可充电模块。 <strong>工作原理</strong>:当输入电压大于电源低电压检测阈值和芯片使能输入端接高电平时,TP4056-MS开始对 电池充电,CHRG 管脚输出低电平,表示充电正在进行。如果电池电压低于 3V,TP4056-MS采用涓流对电池进行预充电。 <strong>当电池电压超过 3V</strong> 时,充电器采用恒流模式对电池充电,充 电电流由 PROG 管脚和 GND 之间的电阻 RPROG 确定。当电池电压接近 <strong>4.2V 电压时</strong>,充电 电流逐渐减小,TP4056-MS进入恒压充电模式。当充电电流减小到充电结束阈值时,充电周期结束,CHRG 端输出高阻态,STDBY 端输出低电位。 充电结束阈值是恒流充电电流的 10% 。当电池电压降到再充电阈值以下时, 自动开始 新的充电周期。芯片内部的高精度的电压基准源,误差放大器和电阻分压网络确保电池端调 制电压的精度在 1%以内,满足了锂离子电池和锂聚合物电池的要求。当输入电压掉电或者 输入电压低于电池电压时,充电器进入低功耗的睡眠模式,电池端消耗的电流小于 1uA,从 而增加了待机时间。如果将使能输入端 CE 接低电平,充电器停止充电。 当LED3红灯亮起时表示正在充电,当LED2绿灯亮起时表示充电完成。</p> <h1><strong>音频功放部分</strong></h1> <p><img src="https://image.lceda.cn/oshwhub/pullImage/d576e4e9d70f4fa79bd0cfc62177ed20.png" alt="image.png"></p> <h2>音频功放部分的电路</h2> <p>音频功放主要以上图的 U6 为主,它型号是 LM4871,是一款 3W、单声道 AB 类音频功率放大器,工作电压 1.9 - 5.5V。</p> <p><img src="https://image.lceda.cn/oshwhub/pullImage/fa81613eb84b4db1b354df9faf14458c.png" alt="image.png"> LM4871 的管脚定义说明图 关于该电路每一个器件为什么这么放,是参考手册中的典型应用电路。其数据手册上的典型应用电路如下:</p> <p><img src="https://image.lceda.cn/oshwhub/pullImage/01464b834db54b82adc87ff3efe33152.png" alt="image.png"> LM4871 典型应用电路 根据数据手册的典型应用电路的推荐和我们项目的实际情况,最后采用的是 差分输入模式的典型应用电路。</p> <p>这里有一个问题,虽然我们按照了典型应用电路放置了对应器件,但是器件的值跟典型电路是不一致的。为什么这么做?是为了低成本考虑,典型应用电路中,用到了 10K 20K 1UF 0.39UF 等器件,而我们为了购买器件少一点,让电路更简洁,将电阻统一改为 10K,电容改为常用的 100nF(0.1UF) 和 22UF。实测没有问题。</p> <p>器件的 1 脚 Shutdown 是芯片掉电控制引脚,为高电平时功放停止工作实现低功耗;为低电平时功放正常工作。在原理图中通过 R4 电阻让该引脚默认为高电平即芯片默认停止工作,当需要功放工作时,需要主控的 PA26 引脚输出低电平才能工作,这样只有需要用的时候才开,不用的时候默认关闭。</p> <h1>麦克风部分</h1> <p><img src="https://image.lceda.cn/oshwhub/pullImage/c5b4d8081b2845ecafca3249e46c16ae.png" alt="image.png"> 麦克风部分的电路 麦克风咪头(通常为驻极体话筒)的核心是一个可振动的极板(振膜)与固定背极板组成的电容。</p> <p>当声音振动波作用在振膜上时,会导致其与背极板的距离动态变化,从而改变电容值。当有声音时,器件内部电容发生变化,这一变化会引发电容两端的电荷移动,产生微弱的交流电信号(模拟信号)。</p> <p>但是虽然麦克风内部的驻极体材料自带永久电荷(无需外部供电维持电场),即使没有电源输入,麦克风也能够使用,但是为了确保麦克风能够正常稳定的工作,通常是需要提供一个基准电压(通常2~5V),使内部电容处于预充电状态,确保声音引起的电容变化能转换为有效电流信号。</p> <p>在原理图中,R3 电阻的作用就是给麦克风的正极输入一个基准电压MIC_BIAS,这个电压是由模组控制输出的,由模组控制则可以在要用时才输出,不用时关闭,实现低功耗。R3 的电阻值为 10K,测试效果能够接受,过低则采集的音频信号弱,过高则易引入噪声。</p> <p>在原理图中,U4 电容的作用就是对采集的信号进行滤波,滤除高频噪声,大多是滤除滋滋滋的声音或者声音沙哑问题。</p> <h1>屏幕显示部分</h1> <p><img src="https://image.lceda.cn/oshwhub/pullImage/992ec4920c784c23af7b17d6788191f3.png" alt="image.png"> 屏幕显示部分的电路 屏幕显示使用的是 1.69寸TFT屏幕,采购自 金逸晨1.69寸TFT液晶屏ST7789小屏240x280显示器LCD圆角屏SPI彩屏, 屏幕通过SPI协议控制,供电 3.3V。</p> <p>这里SPI的通信控制信号引脚,可以使用主控的硬件SPI外设,实现更高的通信速率,更快的屏幕刷新。但是使用主控的硬件SPI外设,则需要选择特定的引脚。</p> <h1>按键部分</h1> <p><img src="https://image.lceda.cn/oshwhub/pullImage/b43771f73b304fd6990819b54570e6ff.png" alt="image.png"> 按键部分的电路 每一个项目基本都需要有人机交互部分,本项目通过按键进行控制,U2 PA34_KEY 是唤醒键 + 语音输入键,按下 U2 按键可以让主控从低功耗睡眠状态唤醒,当主控正在工作时,按下按键进行语音输入。</p> <p>U1按键目前待定用途,设计出来备用。</p> <h1>指示灯部分</h1> <p><img src="https://image.lceda.cn/oshwhub/pullImage/a6dc9bb8cf6046548d7902e789cf8d71.png" alt="image.png"> 指示灯部分的电路</p> <p>用于指示模组状态。通过模组IO控制。IO输出低电平LED灯亮,IO输出高电平LED灯灭。</p> <h1>串口下载电路</h1> <p><img src="https://image.lceda.cn/oshwhub/pullImage/a55d9e7e1111449dbe352df98a1f53b6.png" alt="image.png"> 模组的下载是通过串口进行下载的,必须使用 PA18 和 PA19 引脚下载。</p> <h1>软件部分</h1> <p>软件开源地址:<a href="https://github.com/78/xiaozhi-sf32" target="_blank">https://github.com/78/xiaozhi-sf32</a></p>

文档

BOM

暂无

附件

附件名 下载
9bb4656fc608ca6b444dd2e9ad88e357.mp4

成员

评论(0)

  • 表情
    emoji
    小嘉工作篇
    小嘉日常篇
  • 图片
成功
工程所有者当前已关闭评论
goToTop
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow