1. 项目概述与设计思路
这个共享无线充电宝系统的核心设计理念,是将传统充电宝与物联网控制技术相结合,通过手机蓝牙实现智能化管理。作为一名嵌入式开发者,我在实际项目中发现,市面上大多数共享充电方案存在两个痛点:一是需要专用充电线,二是归还流程繁琐。本方案通过STM32单片机+蓝牙+无线充电的组合,很好地解决了这些问题。
系统的工作流程可以概括为:用户扫描二维码→蓝牙配对连接→单片机验证指令→继电器吸合→无线充电模块供电→使用完毕手机端点击归还→继电器断开。整个过程中,无线充电模块持续供电时间由单片机程序控制,避免过充风险。相比传统方案,这套系统有三大优势:
- 完全摆脱线材束缚(支持Qi标准无线充电)
- 用户交互简单直观(扫码即用)
- 硬件成本可控(主控采用性价比极高的STM32F103C8T6)
2. 硬件架构详解
2.1 核心控制器选型
选择STM32F103C8T6作为主控芯片主要基于以下考量:
- 成本效益:零售价约12-15元,批量采购可降至10元以下
- 性能参数:
- 72MHz Cortex-M3内核
- 64KB Flash + 20KB RAM
- 37个GPIO(完全满足本项目的接口需求)
- 开发生态:STM32CubeMX工具链成熟,有大量现成库支持
实际开发中发现,市面上有些"STM32F103C8T6"实为GD32仿制品。建议通过正规渠道采购,否则可能遇到USB枚举不稳定等问题。
2.2 电源管理系统设计
系统供电采用两路独立设计:
- 主电源:20000mAh锂电池组(3.7V)
- 选用LG 18650电芯,支持3A持续放电
- 保护板需具备过充、过放、短路三重保护
- 控制电路:AMS1117-3.3稳压芯片
- 将锂电池电压降至3.3V供单片机使用
- 最大输出电流800mA,足够驱动蓝牙模块
无线充电模块选用符合Qi标准的TX方案:
- 输入:5V/2A(通过继电器控制)
- 输出:最大15W(5V/3A、9V/1.67A、12V/1.25A)
- 效率:实测约75%(需考虑散热设计)
2.3 蓝牙通信模块
采用HC-05主从一体蓝牙模块,关键配置参数:
bash复制AT+NAME=ChargeShare_01 // 设置设备名称
AT+ROLE=1 // 设为主模式
AT+CMODE=0 // 指定地址连接模式
AT+PSWD=1234 // 配对密码
通信协议设计要点:
- 波特率:9600bps(稳定性与功耗平衡)
- 数据格式:$CMD,PARAM\n(如"$ON,1\n"表示开启1号充电位)
- 响应机制:300ms超时重传,最多3次尝试
3. 软件实现细节
3.1 主程序流程图
c复制void main() {
hardware_init(); // 硬件初始化
bluetooth_init(); // 蓝牙配置
while(1) {
if(收到蓝牙指令) {
parse_command(); // 指令解析
if(指令合法) {
relay_control(); // 继电器控制
send_ack(); // 返回确认
}
}
check_timeout(); // 超时检测
}
}
3.2 二维码处理逻辑
二维码内容采用JSON格式编码:
json复制{
"device_id": "CS20240001",
"bt_mac": "20:16:08:15:33",
"location": "A区12号柜"
}
Android端解析示例代码:
java复制QRCodeReader reader = new QRCodeReader();
Result result = reader.decode(bitmap);
String jsonStr = result.getText();
JSONObject obj = new JSONObject(jsonStr);
String macAddress = obj.getString("bt_mac");
3.3 继电器控制策略
使用光耦隔离继电器模块,关键操作时序:
- 单片机GPIO输出高电平(3.3V)
- 光耦PC817导通
- 继电器线圈通电(需续流二极管保护)
- 触点吸合时间约15ms(实测值)
重要提示:继电器切换瞬间会产生电压尖峰,务必在无线充电模块输入端并联1000μF电容。
4. 关键问题与解决方案
4.1 蓝牙连接不稳定
现象:远距离(>5米)时频繁断连
排查过程:
- 用频谱分析仪发现2.4GHz频段干扰严重
- 测试不同天线摆放角度影响
- 修改蓝牙模块发射功率(AT+POWE=3)
最终方案:
- 选用陶瓷天线替代PCB天线
- 在蓝牙模块电源端增加LC滤波
- 软件端实现自动重连机制
4.2 无线充电效率低
测试数据对比:
| 影响因素 | 充电效率 | 温升(℃) |
|---|---|---|
| 无磁屏蔽 | 68% | 42 |
| 加0.1mm铜箔 | 72% | 38 |
| 使用纳米晶屏蔽 | 76% | 35 |
| 理想条件(参考) | 80% | 30 |
优化措施:
- 在发射线圈底部添加纳米晶磁片
- 调整谐振电容容值(从100nF改为82nF)
- 限制最大充电时间为2小时(通过STM32定时器)
5. 生产测试方案
5.1 老化测试项目
-
连续开关测试:
- 继电器反复通断10000次
- 检查触点电阻变化(应<50mΩ)
-
温升测试:
- 满负载运行4小时
- 关键器件温升:
- 无线充电线圈:≤45℃
- 单片机:≤60℃
- 锂电池:≤50℃
-
跌落测试:
- 1米高度自由跌落(6个面各3次)
- 检查结构件无开裂,功能正常
5.2 出厂检验标准
| 检验项目 | 方法 | 合格标准 |
|---|---|---|
| 蓝牙连接 | 手机配对测试 | 10秒内完成连接 |
| 充电功能 | 放置支持Qi的手机 | 5秒内开始充电 |
| 二维码识别 | 5款主流手机扫描 | 识别率100% |
| 待机功耗 | 电流表测量 | ≤10mA(3.3V) |
6. 成本分析与优化
6.1 BOM成本明细(小批量)
| 部件 | 单价(元) | 备注 |
|---|---|---|
| STM32F103C8T6 | 12.5 | 含最小系统板 |
| HC-05模块 | 15.8 | 带金属屏蔽壳版本 |
| 无线充电模组 | 23.0 | 支持15W快充 |
| 继电器 | 3.5 | 宏发HFD4/5系列 |
| 锂电池组 | 45.0 | 20000mAh带保护板 |
| 结构件 | 18.0 | ABS外壳+内部支架 |
| 其他电子件 | 7.2 | 电容/电阻/接插件等 |
| 合计 | 125.0 |
6.2 可优化方向
-
主控替代方案:
- 改用GD32F103C8T6(兼容pin to pin,便宜2-3元)
- 或使用ESP32-C3(集成蓝牙/WiFi,但开发成本增加)
-
无线充电模块:
- 降配到10W版本(节省5元,影响高端手机充电速度)
-
结构设计:
- 改用PC+ABS混合材料(成本降低30%,强度略降)
7. 实际部署注意事项
-
环境适应性处理:
- 高温环境:在PCB涂覆三防漆
- 多尘场所:增加硅胶密封圈
- 高湿地区:关键接口使用镀金端子
-
维护要点:
- 每月检查锂电池循环次数(通过STM32内置EEPROM记录)
- 每季度清洁无线充电线圈表面(异丙醇擦拭)
- 发现继电器动作超过5000次应及时更换
-
固件升级方案:
- 预留SWD接口(日常用防尘贴覆盖)
- 开发蓝牙OTA功能(需扩展Flash空间)
这个项目最让我意外的是无线充电的兼容性问题——不同手机放置位置对效率影响很大。后来我们在外壳内部增加了定位磁环,用户只需将手机摄像头区域对准特定位置,就能获得最佳充电效果。这种细节改进使客户投诉率下降了60%
