准备自己做个3S锂电保护&电量指示板
本帖最后由 maoji 于 2017-3-18 09:38 编辑手头上有20个LG的2500mah动力电池,以前准备做电动滑板车的,闲置了,现在准备用起来,比如拿6个电池,3串2并,做笔记本备用电源,应急启动电源,大容量手机充电宝等。
但是充电保护和电量显示比较麻烦,特别是有串联的电池。现成的3S保护板,放电截止电压是2.5V,对电池损害大,而现成的电量指示板,只能显示串联后的总电压,不能反映电量最少的电池的情况。
所以准备自己动手设计电路板,用一个STM8S单片机实现,用单片机的三个ADC端口分别接到三个电池上实时监控电压,控制电池的输出。
关键要做到这些功能:
1、放电保护:只要有任意一节电池低于3.2V就自动断开
2、充电保护:只要有任意一节电池高于4.2V就自动断开
3、电量显示:按最低的一节电池的电压显示,用4个发光二极管显示
4、软开关:用一个按钮实现单键开关机,实现长时间不用自动关机
现在担心的是单片机的ADC精度够不够,先试试看,计划一个星期搞定。
另外如果大家对这个有兴趣,可以考虑做个PCB,大家一起分担成本。。。
20170318更新:
改了电路,给IRF3205增加了驱动级。稳压电路也简化了,只用电阻分压就把单片机供电控制在3~5V。
增加了硬件短路保护,可以不依赖ADC测量电流了,响应时间可以在1us以内。
另外增加了电流放大电路。用两个运放,一个正向放大,测量放电电流,一个反向放大,测量充电电流。以后配合程序,还可以做简单的电池充放电容量检测。
还加了电池均衡充电电路,就用的我N年前做的这个: http://www.shoudian.org/forum.php?mod=viewthread&tid=195987&extra=(发个原创技术贴:一种简单有效的锂电池充电均衡电路)
不过这个电路空载也会消耗0.1mA电流,所以我增加了一个开关管,不充电的时候把均衡电路断开。
还预留了串口,可以接蓝牙模块,向手机实时发送电池状态。
已经设计了PCB,打样好了再设计程序。
电路改进后,设计的功能有:
1、放电保护:只要有任意一节电池低于3.2V就自动断开
2、充电保护:只要有任意一节电池高于4.2V就自动断开
3、电量显示:按最低的一节电池的电压显示,用4个发光二极管显示
4、软开关:用一个按钮实现单键开关机,实现长时间不用自动关机
5、短路保护:支持软件短路保护和硬件短路保护,软件短路保护是测量电流,电流超过一定值(或时间)就保护,硬件保护是超过固定值就立即触发保护。
6、均衡充电:最大支持到2A的均衡电流(为功率管增加散热,还可以继续加大电流)
7、充/放电电流检测
8、充/放电容量检测
9、通过手机APP显示电池状态参数
10、支持自动校准电压和电流(长按按钮进入自动校准模式)
11、设计指标:电池电压测量精度:0.02v;电流测量范围0~5A,电流测量分辨率:10mA;短路保护响应时间:1us。
stm8 即使工作在 LSI 代码在 RAM 运行,好像仍需要 几百uA的电流.
打开ADC会增加1~2ma的电流,不过可以周期性的开启.
和一些专用的电压比较器相比,仍嫌耗电.
不过,用在 18650上也无所谓了.
记得一年充一次电就行.
STM8 的10位ADC 用在你这四个LED上,肯定得够啊.
充满4.2V 三串 12.6 /4 =3.15 接近 MCU的 V d
亏电3.3V 三串 9.9/4 ~=2.5V
VBAT 3.3V3.152.5
ADC 1024977775
可以捕获 200位的ADC变化.点你四个LED肯定没问题了.
用三色LED 来做彩色指示会更好! 初步电路设计。
用一个5A以上的场效应管来做总开关;
电池电压经过电阻分压后接单片机的ADC引脚。为了防止分压电阻消耗电流,加了二极管,关机后完全不耗电。
单片机通过一个三极管控制场效应管,另外还加一个按钮实现按下时开机,长按按钮关机(配合单片机程序实现)。
明天开始动手做。
本帖最后由 maoji 于 2017-3-12 22:30 编辑
Junyee 发表于 2017-3-12 21:40
stm8 即使工作在 LSI 代码在 RAM 运行,好像仍需要 几百uA的电流.
打开ADC会增加1~2ma的电流,不过可以周期性 ...
准备设电源开关的,关机后完全断电,不会耗一点电。
另外,我实测过,STM8S103关机模式下,耗电只有7uA,关键是要设置好GPIO的状态,和LSI/主频好像关系不大。
本帖最后由 Junyee 于 2017-3-13 08:35 编辑
maoji 发表于 2017-3-12 22:27
准备设电源开关的,关机后完全断电,不会耗一点电。
另外,我实测过,STM8S103关机模式下,耗电只有7uA, ...
执行 "halt" 命令 后,,你还怎么对锂电进行保护啊?
我的建议是无视单片机这点消耗.
当电池电压低于某个值才执行 halt ,
既然用了单片机,,索性把锂电均衡也加上吧.
STM8 我用了好多年了.
又看了下你这个结构.
12V 转 3.3V 这个器件很不好找.
因为要考虑到低功耗,小封装.
我常用的xc6206, 静态电流比较小,但是 输入电压最高只有 6~7V.
用DC/DC 的话效率高但是增加了复杂性,而且很难找到 12V降3.3 静态 XXuA的.
如果LZ有合适的替代 勿忘告知我谢谢.
不懂,看看学习。 Junyee 发表于 2017-3-13 08:40
STM8 我用了好多年了.
又看了下你这个结构.
这个12V可以用。
不建议
应该是使用低功耗的三串锂电保护IC和MOS,再外加平时断电的电量检测电路
或者考虑 不怎么常用的 AVRATMEGA406/ATMEGA16HVB 锂电池管理保护专用MCU芯片 会玩单片机真好啊 oycc5 发表于 2017-3-14 14:05
这个12V可以用。
请问哪里可以买.
TB搜了只有一家..
差不多做出来了,用了4个LED和两个三极管做大致的稳压,实测在关机模式下,总耗电20多uA。
这个单片机内部有个1.2V的参考电压,电源电压就不要求很准了,只要保证电压在单片机的工作范围内就行。
用一个按钮控制开关机,关机后单片机进入停机模式,单片机本身耗电6uA。
电池的三个端口分压后分别接到单片机的20、19、14的ADC引脚上。
短路保护用了一个20毫欧的采样电阻(2cm康铜丝),准备保护到20A电流。
用两个IRF3205做充放电开关控制,这个管子最大电流有110A,足够用了。
程序还只写了开关机和电压采样的,还剩电量显示/充放电保护/短路保护/自动关机的没写,明天写完。
现在的 问题是,单片机只支持16位整数,做乘法除法计算后,得到的电压值精度不高,电压值的分辨率只有0.05V,做过充过放的判断还是太粗了,再找找看有没有32位的计算。
看看瞧瞧 本帖最后由 Junyee 于 2017-3-15 14:34 编辑
maoji 发表于 2017-3-14 22:43
差不多做出来了,用了4个LED和两个三极管做大致的稳压,实测在关机模式下,总耗电20多uA。
这个单片机内部有个 ...
没听说过 单片机只支持 16位整数的说法.
当然都是通过指令转换的,实际存储还是8位的.
64位都可以.你仔细找找IDE ,有设置的.
我用的IAR不经设置就可以支持32位计算.
3串能达到0.05 也可以用了,,,
就 stm8这点耗电,,一个8050就够了,用不着上复合管.
建议用 朋友提的 12V转3.3V的 LDO,功耗低.更稳定.
上面朋友给我留了个电话...不是TB店,..
不用去采集 adc1,省了一个通道的转换时间.
本帖最后由 L555T_007 于 2017-3-15 16:24 编辑
IRF3205 的 Vgs(TH)是 2.0~4.0V ,5V驱动不够理想。
而且充电控制管 Q2的驱动接法在 输入电压高于电池电压 3~5V的情况下,把Vg锁定在Vbat- 也是无法关断的。 例如电池12.6V ,外部电源17V.
这2个问题可以通过增加驱动级,从Vbat+取电来解决
不过重点问题在于短路保护 依靠 ADC轮询,反应相当的慢。[才发现STM8的ADC有模拟看门狗中断功能,单通道连续采样,反应速度应该可以在10uS内, 算不错了 ]
(PD6 ADC输入 要串电阻,避免IO本体二极管大电流导通)
另外电压精度过低,只能降低过充阀值来保证电池安全
还是专用芯片好,通常也带能耗均衡功能。
Junyee 发表于 2017-3-15 14:32
没听说过 单片机只支持 16位整数的说法.
当然都是通过指令转换的,实际存储还是8位的.
可以支持32位的乘除,是我看错了,以为不支持,现在电压分辨率能够达到0.015V,应该够用了。
L555T_007 发表于 2017-3-15 16:14
IRF3205 的 Vgs(TH)是 2.0~4.0V ,5V驱动不够理想。
而且充电控制管 Q2的驱动接法在 输入电压高于电池电 ...
5V驱动不理想能够理解。
但是"把Vg锁定在Vbat- 也是无法关断的。 例如电池12.6V ,外部电源17V.",这个是什么原因,Vbat+取电为什么能解决,能详细解释下吗?
本帖最后由 maoji 于 2017-3-18 09:07 编辑
改了电路,给IRF3205增加了驱动级。稳压电路也简化了,只用电阻分压就把单片机供电控制在3~5V。
另外增加了电流放大电路。用两个运放,一个正向放大,测量放电电流,一个反向放大,测量充电电流。以后配合程序,还可以做简单的电池充放电容量检测。
还加了电池均衡充电电路,就用的我N年前做的这个: http://www.shoudian.org/forum.php?mod=viewthread&tid=195987&extra=(发个原创技术贴:一种简单有效的锂电池充电均衡电路)
不过这个电路空载也会消耗0.1mA电流,所以我增加了一个开关管,不充电的时候把均衡电路断开。
还预留了串口,可以接蓝牙模块,向手机实时发送电池状态。
已经设计了PCB,打样好了再设计程序。
楼主多打样几块,好了匀给我一块吧,分担下开发费用
页:
[1]
2