一、多类型电池数码管电量模块工作原理
(1)适用电池与电压区间(兼容三类电池)
支持铅酸、三元锂电、磷酸铁锂,输入直流5~30V(2S~8S锂电、3~15串12/24V铅酸),内置软件切换电池类型,通过开路电压OCV查表法计算SOC百分比,同时5颗LED分段条形+2位数码管数字双显示。

(2)核心电气检测原理
1. 宽压高压分压采集
DC5~30V电池经高精度大阻值电阻分压,降压至0~3.3V送入EN8F1812 12bit ADC,芯片内置1.0/2.0V FVR基准消除分压温漂,精准读取电池总电压;软件自动换算单节平均电压,匹配对应电池SOC曲线。
2. 双显示逻辑
- 5颗LED:分段条形电量(0/20/40/60/80/100%,共5格);
- 2位数码管:实时显示00~100%数字电量,长按切换显示当前电池总电压;
3. 交互与低功耗逻辑
侧面轻触按键:短按唤醒显示30s,长按2s切换电池类型;无操作30s关闭数码管+LED进入深度休眠,静态电流<1μ;
4. 附加保护检测
板载10K NTC热敏采集PCB温度,超60℃降亮度;内置OP运放拓展充放电电流采样,识别充电/放电状态,充电时LED流水动画。

(3)产品区别于简易LM3914比较器模块
普通比较器只能固定单种电池、无数字百分比、无休眠耗电高;本MCU方案:
- 软件一键切换铅酸/三元/铁锂三类曲线;
- 数码管精确显示百分比;
- 超低休眠功耗,不亏电池;
- 温度补偿、电压滞回防抖,负载不闪灯;
- 可拓展过压/欠压告警、充电电流显示。
二、EN8F1812芯片资源
多类型电池数码管电量用到哪些硬件资源
1. 供电2.2~5.5V:宽压Buck输出3.3V稳定给MCU,适配5~30V高压降压后供电;
2. 12bit多路ADC(PA0~PA4):高压分压采样、NTC测温、拓展电流采样;
3. 内置单路轨到轨OP运放:放大采样电阻毫伏信号,做充放电电流检测;
4. 硬件IIC / IO动态扫描:驱动2位数码管;多路硬件Timer做LED时序、30s休眠倒计时;
5. 256Byte EEPROM:永久保存电池类型、出厂分压校准系数;
6. 多级低功耗(IDLE/PWOFF),WDT硬件看门防工业强电磁死机;
7. PB大电流IO直驱LED、数码管段码,无需驱动三极管,精简BOM。
三、整机七大硬件模块电路
1. DC5~30V宽压Buck降压电源模块
2. 高压精密分压ADC采样电路
3. NTC测温+OP运放电流拓展电路
4. EN8F1812 SOP16最小主控系统
5. 5路条形LED驱动电路
6. 两位数码管动态扫描显示电路
7. 按键交互、TVS/PPTC防护电路
分电路详细设计
(1)宽压供电与高压分压电路
- 输入DC5~30V → MP2307同步Buck降压至5V,再AMS1117-3.3V给MCU、显示;
- 高压分压:200K+10K 1%低温漂精密电阻串联,输入30V最大分压1.43V,落在ADC 0~3.3V量程;并联0.1μF RC滤波抑制电机负载纹波;
- 输入端串联3A PPTC、双向TVS、防反接肖特基,防止电池接反、短路损坏板。
(2)NTC测温+OP电流拓展电路
- 10K 3950 NTC与10K精密电阻分压接入PA1,软件换算PCB温度,>60℃数码管闪烁告警;
- 主功率回路串联10mΩ采样电阻,差分送入内置OP运放(20倍增益)放大,PA2读取压差,区分充电/放电/静置三种工况。
(3)5路LED条形驱动
PB0~PB5推挽输出,每路串联220Ω限流电阻,低电平点亮:
- LED1红色:0~20%亏电区间,低于10%持续闪烁告警;
- LED2~LED5绿色:20%~100%分段常亮;
充电状态下LED从1→5流水滚动动画。
(4)两位数码管动态扫描
PB5输出七段段码、PB6做十位/个位位选,Timer1定时1ms动态扫描,无频闪;
显示逻辑:默认00~100电量百分比,长按按键2s切换显示电池总电压(保留1位小数)。
(5)按键唤醒电路
PA3内置上拉30K电阻,外接轻触按键至GND,下降沿外部中断;
- 短按:唤醒显示,30s倒计时;
- 长按2s:循环切换「铅酸/三元锂/磷酸铁锂」三种电池模式,参数存入EEPROM断电记忆。
电池数码管电量显示板BOM清单
1. 主控:EN8F1812 SOP16 ×1
2. 电源:MP2307宽压Buck、AMS1117-3.3
3. 采样:200K/10K低温漂分压电阻、10mΩ电流采样电阻
4. 传感:10K 3950 NTC热敏
5. 显示:1红4绿0805LED、两位红色数码管
6. 时钟:8MHz无源晶振+22p匹配电容
7. 交互:贴片轻触按键
8. 防护:3A PPTC、SMF05C TVS、1N5819肖特基、全套0805阻容
四、EN8F1812软件完整状态机逻辑
(1)上电初始化流程
1. 系统时钟配置8MHz,开启内部2.0V FVR高精度基准;
2. 多路ADC初始化,OP运放配置20倍增益;
3. Timer0做LED流水时序,Timer1数码扫描,Timer2 30s休眠倒计时;
4. WDT看门狗开启1s喂狗;
5. 读取EEPROM:上次选择电池类型、分压校准系数;
6. 首次采集电池电压,匹配对应SOC查表曲线。
(2)功能状态
状态1:深度休眠(默认常态)
1. 关闭ADC高频采样、Timer显示时钟、数码管/LED全部熄灭;
2 MCU进入PWOFF休眠,仅PA3按键中断可唤醒,静态电流<1μA;
3 电池长期挂载不损耗容量。
状态2:唤醒电量显示(放电静置模式)
1 每100ms采集5次电压ADC,均值滤波消除负载波动;
2 根据EEP存储电池类型,调用对应OCV-SOC查表函数,算出0~100%百分比;
3 同步驱动5格LED条形灯+两位数码显示百分比;
4 Timer2启动30s倒计时,倒计时结束自动熄屏休眠;
5 电压<20%区间红灯持续闪烁提示亏电。
状态3:充电识别模式(OP检测充电电流>50mA)
1 持续刷新实时SOC;
2 LED从1到5循环流水滚动动画,直观展示充电进度;
3 满电电压阈值触发后5灯全常亮,停止流水;
4 拔掉充电器30s后熄屏休眠。
状态4:电池类型切换模式(长按按键2s)
1 数码管依次显示「Pb/ Li/ LFP」对应三种电池;
2 每长按一次切换一类,切换后立即存入EEP永久保存;
3 切换瞬间重新读取电压,刷新对应电量显示。
状态5:高温故障保护(NTC>60℃)
数码管交替闪烁“HH”,所有LED亮度减半;
温度回落至55℃以下自动恢复正常显示。
(3)核心优化算法
1、多阶电压滤波+滞回防抖:连续5次ADC稳定才更新电量,档位增加0.3V回差,电机负载不跳灯;
2、多套OC查表分区:软件内置铅酸/三元/铁锂三组电压-SOC数组,一键切换无需改硬件;
3、百分比线性插值算法:解决电池电压非线性,提升20~80%常用区间精度;
4、分压出厂校准:上位机UART写入修正系数至EEP,批量生产电压误差统一<0.1V;
5、分级功耗管理:休眠切断模拟外设,长时间挂载电池几乎无自耗电。
五、多类型电池数码管电量显示板方案核心优势
1、内置12bit高精度ADC+FVR基准,宽压分压采样精度高,多电池曲线软件自适应;
2、自带轨到轨OP运放,无需外置TL082即可拓展充放电电流检测;
3、IO直驱LED+数码管,省去大量驱动三极管,PCB布线简洁;
4、EEP记忆电池类型、校准参数,客户切换电池不用每次重设;
5、超低休眠功耗,长期接电池不亏电,区别传统常亮比较器模块;
6、单芯片完成电压采集、SOC运算、双显示、模式切换、多重测温保护,集成度高、量产成本低。