本文作者:立创开源硬件平台 OSHWHub 用户@野生程序员,禁止商用,未经许可禁止转载,点击查看原文章
1、工程描述
制作了一个高颜值gsm-fm桌面收音机。它拥有7大功能:网络时钟、FM广播、天气预报、B站数据统计、老黄历、背光调节、定时关机。
2、硬件说明
主控:ESP32-S3
FM芯片:RDA5807
音频芯片:CS4344 I2S
采集整机工作电流:INA199
交互:一个旋转编码器
3、设计说明
将电路分为6个部分,并依次讲解:ESP32-S3电路、电源自动切换电路、软件开关机电路、USB转串口电路+自动烧录电路、PCB设计、外壳设计。
芯片选用内部带8MRAM+外接16M FLAM。
图1 主控电路
Q1是一个PMOS管,BAT+是电池,5V是充电器输入。
当充电器未接入时Q1导通,BAT+流过Q1给VCC供电,当充电器介入时,Q1截至5V流过D1给VCC供电。
U1是一个输出为3.3V的稳压芯片,该芯片带有使能功能。
即第3(CE)脚,给该引脚输入高电平,打开输出,输入低电平,关闭输入。VCC_KEY是按键脚,一端接到电源(VCC),另一端连接到单片机引脚(KEY_POWER),和U1使能脚电路。
● 按键开机过程
在未插入充电时。
按键按下后,VCC流过VCC_KEY、D4,给CE脚一个高电平使能3.3V输出,此时整个系统得电单片机开始运行。程序首先检测KEY_POWER脚电平,如果该电压为高电平,说明是按键开机控制POWER_IO脚输出高电平锁定CE脚电平。这时松开手,由于POWER_IO为高电平会继续使能U1输出。
●充电开机过程
在未按下按键时。
插入充电器,此时5V得电,经过D3给CE脚高电平使能3.3V,输出单片机运行,程序开始检测KEY_POWER电平。由于内部配置下拉输入,所以识别到为低电平程序判断案件为按下时运行即充电开机。
●关机过程
进入关机功能,确认关机后,系统拉低POWER_IO使能3.3输出。
ESP32-S3支持串口下载。由于电脑没有TTL串口接口,所以需要一个USB转串口芯片。
U7型号是CH340C,该芯片支持一路usb转串口ttl,带有RTS、DTR控制引脚,内部集成晶振大大简化了外部电路。
图4 USB转串口电路
根据ESP3S3数据手册,进入串口下载模式,需要在上电前拉低IO0。
上面介绍了CH340C带有RTS、DTR引脚,可以加入开关控制电路来实现自动复位和拉低IO0。
如图,Q6芯片型号是UMH3N,该芯片内部带有两个三极管并且集成偏置电压,再利用CH340C的RTS、DTR引脚可以实现自动下载程序。
图5 自动下载电路
0 5、 PCB设计
整个项目使用一张双层PCB,如下图。
外壳使用Autodesk Fusion 360设计制作。
4、安装说明
扬声器直接卡在外壳槽里。
电池放在内部空余空间。
设计好外壳后使用3d打印,然后使用自喷漆更换外壳颜色。
软件说明
硬件电路设计并焊接完成后就可以开始编写代码了,这个项目使用的是乐鑫官方的ESP-IDF5.0。
当移植到ESP32播放时,开机动画会持续卡死,把动画剪切成了两部分缩小时长还是不行
解决方法经过多种bug修复,最终使用预加载到PSRAM解决了该问题。
上述情况的具体实现代码如下:
更多详情及附件,可从原工程查看。
本文作者:立创开源硬件平台 OSHWHub 用户@野生程序员,禁止商用,未经许可禁止转载
LM339M/TR/比较器 | 0.295452 | |
XL4005E1/DC-DC电源芯片 | 2.5 | |
16TQC100MYF/钽电容 | 8.93 | |
XL7005A/DC-DC电源芯片 | 1.037 | |
XL6019E1/DC-DC电源芯片 | 2.22 | |
XL7015E1/DC-DC电源芯片 | 1.56 | |
DF40C-30DP-0.4V(51)/板对板与背板连接器 | 1.3191 | |
2305018-2/USB连接器 | 7.32 | |
734120114/RF射频同轴连接器 | 0.9045 | |
BM06B-GHS-TBT(LF)(SN)/线对板针座 | 0.7817 |
50万+现货SKU
品类不断扩充中
科技智能大仓储
最快4小时发货
正品有保障
物料可追溯
明码标价节省时间
一站式采购元器件