简介
光阴似箭、日月如梭,一转眼马上要三十了,突然想起大学时还搞过一点 51 单片机摇摇棒项目,这门手艺不能拉下,二话不说重新入坑(感谢小智学长救我狗命)
需求分析

-
可以联网
-
有 1-2 寸屏幕
-
有电池
-
有温湿度传感器
-
可触摸屏
-
带外壳
开搞
1. 方案化

外设方案
-
wifi 芯片做主控
-
墨水屏 + TP
-
板载温湿度传感器
-
USB 充电方案
-
USB 转串口 - 下载固件、仿真、日志调试
软硬件接口方案
-
RTOS:实时操作系统
-
LOG:日志
-
GPIO:通用输入输出接口
-
TIMER:定时器
-
QUEUE:队列
-
FS:文件系统
-
NVS:非易失性存储(NVS) 库主要用于在 flash 中存储键值格式的数据
-
UART:通用异步收发器协议是一种简单的串行通信协议,通常用于连接微控制器、传感器和其他设备。UART只有两条信号线(TX和RX),可以使用较慢的波特率进行通信,通常用于短距离通信。
-
I2C:Inter-Integrated Circuit 协议是一种双向串行通信协议,它需要两条信号线(SCL和SDA)来连接主控制器和从设备。I2C通信速度相对较慢,但它可以与多个从设备通信,因此适用于连接多个传感器和其他设备。一般采用一主多从模式,见介绍视频
-
SPI: Serial Peripheral Interface 协议是一种高速全双工串行通信协议,需要至少四条信号线(SCKL、SDI、SDO和CS)来连接主控制器和外部设备。SPI通信速度较快,通常用于连接高速存储器、液晶屏幕和其他需要高速数据传输的设备。见介绍视频
-
HTTP:网络请求协议
-
WIFIAP:WIFI Access Point,将有线转为无线
-
WIFISTA:WIFI Station,客户端
-
Bluetooth:蓝牙
-
UI:可视化界面
2. 外设选型
💡 外设选型应该注意什么?
1、封装(是否好设计?尺寸是否合适?是否好焊接?)
2、方案通用性、稳定性(是否是通用方案?是否方便采购?)
3、电池(容量?充电电流?是否带充放电保护?)
4、主控(主频、RAM、ROM、IO资源是否够?)
主控 WIFI 芯片(ESP32-S)
简介:ESP32-S 是一款通用型 WiFi-BT-BLE MCU 模组,功能强大,用途广泛,可以用于低功耗传感器网 络和要求极高的任务,例如语音编码、音频流和 MP3 解码等。立创商城:https://item.szlcsc.com/265264.html
制造商:Ai-Thinker(安信可)
制造商编号: ESP32-S
封装: SMD
供电范围:供电电压 3.0V ~ 3.6V,供电电流 >500mA
数据手册:
·接口定义:
-
EN:高电平:芯片使能;低电平:芯片关闭;注意:不能让 EN 管脚浮空。
-
GPIO:通用输入输出接口
-
ADC: Analog to Digital Converter,模数转换接口
-
DAC: Digital to Analog Converter,数模转换接口
-
RTC_GPIO:Real Time Clock,进入低功耗模式可以使用的 GPIO
USB 电池充电模块(TP4056)
简介:TP4056是一款性能优异的单节锂离子电池恒流/恒压线性充电器。立创商城:https://item.szlcsc.com/772193.html
制造商:UMW(友台半导体)
制造商编号:TP4056
数据手册:
电池给板卡供电稳压模块(BL9110)
简介:BL9110 是一种高效的充电管理 IC,具有多种保护功能,包括过流保护、过压保护、欠压保护、短路保护等,可以确保电池在充电过程中安全可靠。它采用恒流充电和恒压充电相结合的技术,可以快速充电并保护电池。立创商城:https://item.szlcsc.com/180631.html
制造商:BL(上海贝岭)
制造商编号:BL9110-330BPFB
数据手册:
USB 转串口芯片(CH340) - 下载固件、仿真、日志调试
简介:CH340 是一个 USB 总线的转接芯片,实现 USB 转串口或者 USB 转打印口。立创商城:https://item.szlcsc.com/3390257.html
制造商:WCH(南京沁恒)
制造商编号:CH340N
数据手册:
墨水屏 + TP(GDEW15D67)
蜂鸣器(MLT-5020)
立创商城:[https://item.szlcsc.com/95796.html](https://item.szlcsc.com/95796.html)制造商:华能
制造商编号:MLT-5020
数据手册:
SOT-23 塑封封装 N 道 MOS 场效应管(2SK3018)
立创商城:[https://item.szlcsc.com/9057.html](https://item.szlcsc.com/9057.html)制造商:CJ(江苏长电/长晶)
制造商型号:2SK3018
数据手册:
-
https://datasheet.lcsc.com/lcsc/1810181650_Foshan-Blue-Rocket-Elec-2SK3018_C305432.pdf
-
https://atta.szlcsc.com/upload/public/pdf/source/20140809/1457707215233.pdf
注意项:
- P 型 MOS 管箭头朝外,代表 Vgd 电压为低的时候,电子聚集在 g 端,sd 间导通;对于芯片的有源器件,一般使用 PMOS 作为上端控制

- N 型 MOS 管箭头朝内,代表 Vgd 电压为高的时候,电子远离 g 端,sd 间导通;对于无源功率器件,一般使用 NMOS 作为下端控制


3. 原理图设计



主控与外设对应接口表
💡 ESP32 哪些接口支持 I2C、SPI 可以查看《ESP32 技术规格书》
《ESP32-WROOM-32E、ESP32-WROOM-32UE 技术规格书》

《ESP32 技术规格书》


已跳过 Notion 表格块
模块详细设计
主控模块芯片上电、使能模块
- 使用了 RC 延时电路,和消抖电路- 在按钮按下的时候会拉低 EN 电平,芯片下电;松开时会拉高电平,芯片上电,会读取 IO0 的状态来进入正常运行模式或下载模式

主控芯片启动模式模块
- 使用了上拉电阻,处于高电平,代表正常运行模式- 在开关按下的时候,处于低电平,代表下载模式

主控芯片下载调试点模块
- 打三个 孔直连 TXD、RXD 串口 IO 与地
主控芯片 USB 下载调试模块
- 充电管理左边是 USB 接口,输出 D+、D-线-
USB 转串口是 D+、D- 转 CH_RXD、CH_TXD
-
CH_RXD、CH_TXD 使用上拉电阻(其实是防倒灌电路)连接到 U0TXD、U0RXD 接口
-
由于电池上拉电源为 3.3v,USB 电源为 5V,为防止信号线从 **USB 转串口芯片 **灌入 **MCU **或断开 USB 的时候 电池 灌入 USB 转串口芯片,需要添加防倒灌电路

防倒灌模块
- USB 向芯片传输消息(防 CH340 有电但 MCU 无电时的外灌)-
USB_TXD 为高电平时,二极管截止,RXD 上拉电阻为高电平
-
USB_TXD 为低电平时,二极管反向导通,RXD 为低低电平
-
芯片向 USB 传输消息(防 CH340 无电但 MCU 有电时的内灌,NMOS 管中 TXD 连 Drain、 USB_RXD 连 Source、 3V3 连 Gate)
-
3V3 为高电平时,MOS 管导通
-
TXD 为高电平时,线路导通,USB_RXD 为 USB 转串口芯片内部上拉电压,为高电平
-
TXD 为低电平时,线路导通,USB_RXD 为低电平
-
如果 3V3 为低电平时,MOS 管关闭,线路关闭,不浪费 CH340 电

Discussion
留言与讨论
想法、补充和不同意见都欢迎。