麦克雷 Mavom.cn
标题:
多功能充电器设计思路
[打印本页]
作者:
okiboazo
时间:
3 小时前
标题:
多功能充电器设计思路
目标
自动识别锂电池 / 镍氢电池;
支持充电、放电、TEST模式;
实时记录电压、电流、容量;
可调充放电电流(用户设定);
显示与交互界面。
原理图设计(模块划分)
将电路分为以下几个模块:
1. 电池识别与接口模块
分压电阻 + ADC → 电压识别;
电池座支持 1~4 节串联(18650 或 AA 镍氢)。
2. 充电模块(双模式)
锂电池:使用 CN3791 或 TP4056(多节建议 CN3791);
镍氢电池:使用 MAX712 或 MCU 控制 PWM + MOSFET + 电流源;
加入 DAC 控制电流设定(如 MCP4725)。
3. 放电模块
使用大功率 MOSFET(如 IRF540N)控制放电路径;
放电电流通过分流电阻采集(如 0.1Ω 精密电阻)。
4. 电流/电压采集模块
使用 INA219 或 MAX17043 进行双向电流检测;
MCU 读取数据并计算容量(mAh)。
5. 控制与显示模块
MCU:STM32F103C8T6(稳定、资源足够);
显示:OLED SSD1306 或 TFT LCD;
操作:3个按键(模式切换、确认、返回)。
6. 存储与通信模块
EEPROM(AT24C256)或 SD卡模块记录数据;
可选蓝牙模块(HC-05)用于手机App连接。
PCB布局
双层板设计(Top层信号+电源,Bottom层地);
MCU居中,周围布置模块;
电源走线加粗,MOSFET区域加散热铜皮;
所有接口(电池座、USB、按键)放在边缘,便于外壳设计;
预留 ISP 烧录口和调试口。
固件代码框架(STM32伪代码)
void loop() {
detectBatteryType(); // 自动识别电池
readUserInput(); // 读取按键或旋钮设定电流
switch(mode) {
case CHARGE:
setChargeCurrent(user_current);
chargeBattery();
logData();
break;
case DISCHARGE:
setDischargeCurrent(user_current);
dischargeBattery();
logData();
break;
case TEST:
setChargeCurrent(user_current);
chargeBattery();
setDischargeCurrent(user_current);
dischargeBattery();
calculateEfficiency();
logData();
break;
}
updateDisplay();
}
推荐器件清单
模块 器件型号 封装建议
MCU STM32F103C8T6 LQFP-48
电流检测 INA219 SOIC-8
DAC控制 MCP4725 SOT-23-6
MOSFET IRF540N TO-220(带散热)
显示模块 SSD1306 OLED I2C接口
存储模块 AT24C256 / SD卡 DIP或贴片
电源芯片 CN3791 / MAX712 SOP-8
蓝牙模块 HC-05 插针模块
欢迎光临 麦克雷 Mavom.cn (http://www.mavom.cn/)
Powered by Discuz! X3.5