描述
<p> </p>
<h2 style="line-height:1.8"> 1、项目简介</h2>
<hr>
<div>
<p>基于立创开源蓝牙模组SF32LB52制作的简易AI对话机器人,采用了小智AI,用户可以自行设定AI智能体的角色设定,实现AI实时语音对话。它能够听懂你的情绪,解答你的疑惑,还可以唱歌,也能分享你的快乐。</p>
</div>
<h2 style="line-height:1.8">2、项目功能</h2>
<hr>
<p>1)设备采用蓝牙PAN联网,使用 OPUS 音频编解码,基于流式 ASR + LLM + TTS 架构的语音交互,需要手机通过蓝牙连接设备并开启热点,在热点中启用通过蓝牙分享网络功能</p>
<p>2)1.69寸显示屏可以进行电量显示与电源管理,同时有可爱的小黄脸丰富交互界面</p>
<p>3)支持按键唤醒,唤醒后可通过关键词,比如:拜拜,再见等来进入休眠,休眠界面再次按下按键后重新唤醒</p>
<p>4)支持AEC以支持实时对话</p>
<p>5)小智AI智能体可以保留每次对话的记忆,对话越多越懂你</p>
<h2>3、硬件设计</h2>
<p> </p>
<hr>
<p style="line-height:1.8">硬件设计基本采用官方插件版本,部分物料替换为贴片。第一次进行3D打印外壳,考虑不够周到,喇叭无法放进外壳里,只能外挂。</p>
<h3 style="line-height:1.8"><strong>1)电源和开关部分</strong></h3>
<p style="line-height:1.8"><img src="//image.lceda.cn/pullimage/UMHagOW0ZVgoNiTEI5z4tsz2uVSbXDBUJrfcriiZ.png" alt="" width="389" height="217"></p>
<p style="line-height:1.8"> SW1控制设备整体的电压通断。BAT1是电池座子,电池型号CR123A,电压3.7V,实测会有3.8V左右。</p>
<p style="line-height:1.8"><a href="https://detail.tmall.com/item.htm?abbucket=17&id=867320144222&mi_id=MlQxlrbcXr36eBkZf8Dm8Yicg2ChoU_BQBtnA84Mfv4cEVxvsfHLfkMawuF2Ot7-ryp4I9CZ6Y41qdv7IbzjXdyIKojnEw25dIeQa1hWdEE&ns=1&skuId=6084831546531&spm=a21n57.1.hoverItem.14&utparam=%7B%22aplus_abtest%22%3A%22d50fd729ed98c4acedb7cc6473f56854%22%7D&xxc=taobaoSearch" target="_blank">电池购买链接</a></p>
<h3 style="line-height:1.8"><strong>2)主控部分</strong></h3>
<p style="line-height:1.8"><img src="//image.lceda.cn/pullimage/472DsHcsygmgLcBEmI10locnwTwgQqXVAtkCPl8z.png" alt="" width="345" height="395"></p>
<div> 主控用的是立创·开源SF32LB52模组,一款蓝牙低功耗芯片,频率 <strong>240MHz</strong>,集成 8MB PSRAM 和 16MB Flash,支持锂电池直接供电。</div>
<div>BLE 连接功耗(1S间隔)仅需 7μA,BT连接功耗(1S间隔)仅需 10μA,BLE + BT 双连接功耗比同行单BT连接功耗还能降低 60%。</div>
<div>模组支持 BT PAN 功能可以直接连接手机上网,相比 WIFI 功耗更低,更加适合电池场景,带屏连接功耗仅 <strong>30mA</strong>。</div>
<div>
<div>在本项目中,直接让电池电源直连模组的电源输入引脚 VSYS。这里需要注意<strong><span style="color:#e03e2d"><code>该模组电压范围要求 3.7V~4.7V</code></span><span style="color:#e03e2d"><span style="color:#000000">,</span></span></strong>3.3V 和 5V 供电都不行。</div>
<div>模组的 VDD33_VOUT2 是由软件控制输出的,需要芯片正常启动后才有输出3V3。</div>
<div><span style="background-color:#fbeeb8">需要注意的是,在本项目中不需要焊接主控底部的焊盘,不然会导致FLASH烧毁</span></div>
</div>
<p style="line-height:1.8"> </p>
<h3 style="line-height:1.8"><strong>3)音频功放部分</strong></h3>
<p style="line-height:1.8"><img src="//image.lceda.cn/pullimage/N2xcNZh2v50kXpNjeBFkh5jwbghvF2sk0zbuzIlx.png" alt="" width="574" height="277"></p>
<div>
<div>音频功放型号是 LM4871,是一款 3W、单声道 AB 类音频功率放大器,工作电压 1.9 - 5.5V。</div>
</div>
<p style="line-height:1.8">设计总体按照IC数据手册进行设计,其中电容为了保证滤波效果,未进行修改,电阻均更换为贴片。</p>
<p> </p>
<h3 style="line-height:1.8"><strong>4)麦克风部分</strong></h3>
<p><strong><img src="//image.lceda.cn/pullimage/S5jrK6xFEPNJtWgsLj77DYbJ8fhJXNaF9h3lE2xb.png" alt="" width="440" height="235"></strong></p>
<p> </p>
<div>
<div> 麦克风咪头(通常为驻极体话筒)的核心是一个<strong>可振动</strong>的极板(振膜)与固定背极板组成的电容。</div>
<div> 当声音振动波作用在振膜上时,会导致其与背极板的距离动态变化,从而改变电容值。当有声音时,器件内部电容发生变化,这一变化会引发电容两端的电荷移动,产生微弱的交流电信号(模拟信号)。但是虽然麦克风内部的驻极体材料自带永久电荷(无需外部供电维持电场),即使没有电源输入,麦克风也能够使用,但是为了确保麦克风能够正常稳定的工作,通常是需要提供一个基准电压(通常2~5V),使内部电容处于预充电状态,确保声音引起的电容变化能转换为有效电流信号。</div>
<div> 在原理图中,R1 电阻的作用就是给麦克风的正极输入一个基准电压MIC_BIAS,这个电压是由模组控制输出的,由模组控制则可以在要用时才输出,不用时关闭,实现低功耗。R3 的电阻值为 10K,测试效果能够接受,过低则采集的音频信号弱,过高则易引入噪声。</div>
<div> 在原理图中,C1 电容的作用就是对采集的信号进行滤波,滤除高频噪声,大多是滤除滋滋滋的声音或者声音沙哑问题。</div>
<div> </div>
<div> </div>
<div>
<h3 style="line-height:1.8"><strong>5)屏幕显示部分</strong></h3>
<p><strong><img src="//image.lceda.cn/pullimage/cdazM2PJYo5q34XsOHGUNwn4TwZh6yv9wPiO451w.png" alt="" width="413" height="178"></strong></p>
<p> </p>
<div>
<div>屏幕显示使用的是 1.69寸TFT屏幕,通过SPI协议控制,供电 3.3V。</div>
<div>SPI的通信控制信号引脚,可以使用主控的硬件SPI外设,实现更高的通信速率,更快的屏幕刷新。但是使用主控的硬件SPI外设,则需要选择特定的引脚。</div>
<div>各个引脚的说明如下:</div>
<div>
<table style="width:1388px;height:176.344px">
<tr style="height:19.5938px">
<td style="width:448.531px;text-align:center;height:19.5938px">模组</td>
<td style="width:448.531px;text-align:center;height:19.5938px">屏幕</td>
<td style="width:448.594px;text-align:center;height:19.5938px">说明</td>
</tr>
<tr style="height:19.5938px">
<td style="width:448.531px;text-align:center;height:19.5938px">GND</td>
<td style="width:448.531px;text-align:center;height:19.5938px">GND</td>
<td style="width:448.594px;text-align:center;height:19.5938px">屏幕电源地</td>
</tr>
<tr style="height:19.5938px">
<td style="width:448.531px;text-align:center;height:19.5938px">VDD33_VOUT2</td>
<td style="width:448.531px;text-align:center;height:19.5938px">VCC</td>
<td style="width:448.594px;text-align:center;height:19.5938px">屏幕电源输入</td>
</tr>
<tr style="height:19.5938px">
<td style="width:448.531px;text-align:center;height:19.5938px">PA04</td>
<td style="width:448.531px;text-align:center;height:19.5938px">DO(SCL)</td>
<td style="width:448.594px;text-align:center;height:19.5938px">屏幕通信时钟引脚</td>
</tr>
<tr style="height:19.5938px">
<td style="width:448.531px;text-align:center;height:19.5938px">PA05</td>
<td style="width:448.531px;text-align:center;height:19.5938px">D1(SDA)</td>
<td style="width:448.594px;text-align:center;height:19.5938px">屏幕通信数据引脚</td>
</tr>
<tr style="height:19.5938px">
<td style="width:448.531px;text-align:center;height:19.5938px">PA00</td>
<td style="width:448.531px;text-align:center;height:19.5938px">RES</td>
<td style="width:448.594px;text-align:center;height:19.5938px">屏幕复位引脚</td>
</tr>
<tr style="height:19.5938px">
<td style="width:448.531px;text-align:center;height:19.5938px">PA06</td>
<td style="width:448.531px;text-align:center;height:19.5938px">D/C</td>
<td style="width:448.594px;text-align:center;height:19.5938px">屏幕读写功能引脚</td>
</tr>
<tr style="height:19.5938px">
<td style="width:448.531px;text-align:center;height:19.5938px">PA03</td>
<td style="width:448.531px;text-align:center;height:19.5938px">CS</td>
<td style="width:448.594px;text-align:center;height:19.5938px">屏幕通信片选引脚</td>
</tr>
<tr style="height:19.5938px">
<td style="width:448.531px;text-align:center;height:19.5938px">PA42</td>
<td style="width:448.531px;text-align:center;height:19.5938px">BLK</td>
<td style="width:448.594px;text-align:center;height:19.5938px">屏幕背光控制引脚,高电平屏幕背光亮</td>
</tr>
</table>
</div>
</div>
<h3 style="line-height:1.8"> </h3>
<h3 style="line-height:1.8"><strong>6)按键部分</strong></h3>
<p><img src="//image.lceda.cn/pullimage/KVg1ddZUUhdpmTF6KZLb77vyeXOXJKe28cPbBS0c.png" alt="" width="481" height="162"></p>
<p> </p>
<div>
<div>每一个项目基本都需要有人机交互部分,本项目通过按键进行控制,U3 PA34_KEY 是唤醒键 + 语音输入键,按下 U3 按键可以让主控从低功耗睡眠状态唤醒,当主控正在工作时,按下按键进行语音输入。</div>
<div>U2按键目前用途待定,设计出来备用。</div>
<div>该项目的按键具有问题,主控的IO承受电平是3.3V,而电池电压是最高4.2V,可能会导致主控IO烧毁,同时PA34是硬件唤醒引脚,在低功耗时施加高电平唤醒主控,所以必须接电池电压VSYS。</div>
<div>因设计时主要观看设计视频进行复刻,未及时修改,待修改。</div>
<div> </div>
</div>
<h3 style="line-height:1.8"><strong>7)LED灯部分</strong></h3>
<p><strong><img src="//image.lceda.cn/pullimage/kNChtb096dWwHEJ6qUl2WK3T6x0ozD2QbXO93KtM.png" alt="" width="484" height="90"></strong></p>
<p> </p>
<div>
<div>用于指示模组状态。通过模组IO控制。IO输出低电平LED灯亮,IO输出高电平LED灯灭。当LED灯亮的时候说明可以通过串口烧录程序。</div>
<div> </div>
<div>
<h3 style="line-height:1.8"><strong>8)下载部分</strong></h3>
<p><strong><img src="//image.lceda.cn/pullimage/EBs6YoIkW6dWPLhKygVAQI7r3k5HWBFYrTvYJrCy.png" alt="" width="523" height="228"></strong></p>
<p> </p>
<div>
<div>模组的下载是通过串口进行下载的,必须使用 PA18 和 PA19 引脚下载。通过串口烧录时候需要CH340芯片的转换器,需要接RX TX GND三根线进行烧录。</div>
<div> </div>
</div>
</div>
</div>
</div>
</div>
<h2>4、软件部分</h2>
<hr>
<p style="line-height:1.8">软件使用官方开源的软件,此处说明烧录时候遇到的问题</p>
<p style="line-height:1.8">在烧录1.3.0和1.3.1版本代码时候会出现乱码现象</p>
<p style="line-height:1.8"><img src="//image.lceda.cn/pullimage/tam2uDyexfSCuV0LpHfJ4ZPxE9sUhAWrciaEXavv.jpeg" alt="" width="395" height="287"></p>
<p style="line-height:1.8">后续使用新版本代码1.3.2后正常使用,原因是不同屏幕的驱动不同导致</p>
<p style="line-height:1.8"> </p>
<h2>5、实物图</h2>
<hr>
<p style="line-height:1.8"><img src="//image.lceda.cn/pullimage/YCro465rd07pfzQnIKvcZF5wGgH5daxQ5QeCyEaN.jpeg" alt="" width="667" height="500"></p>
<p style="line-height:1.8"><img src="//image.lceda.cn/pullimage/AiRljTgql2Bo8Ka7xmaenfs1vU9KYZsBZ0Y6ABR5.jpeg" alt="" width="667" height="500"></p>
<p style="line-height:1.8"><img src="//image.lceda.cn/pullimage/k5sP9KgFrVIwnPOMX9RItIfiCX9W031eLSwKQUe5.jpeg" alt="" width="667" height="500"></p>
<h2>6、视频</h2>
<hr>
<p style="line-height:1.8"><a href="https://www.bilibili.com/video/BV1jRYKz1E9d/?vd_source=546bc835e4d1e977ad3aef307cea217b" target="_blank">基于SF32LB52模组的小智AI项目_哔哩哔哩_bilibili</a></p>
<p style="line-height:1.8"> </p>
评论(0)