痛苦踩坑“电池电压侦测电路”,含泪总结设计要点

  • A+
所属分类:杂七杂八

做硬件,堆经验。

做过一个电纸书阅读器的项目,和Kindle是同类产品:

痛苦踩坑“电池电压侦测电路”,含泪总结设计要点

产品中用到一个“电池电压侦测电路”,当时在这个电路上踩坑了,电路本身倒是很简单:

痛苦踩坑“电池电压侦测电路”,含泪总结设计要点

和大家分享这个电路的设计要点,以及当时的设计失误,帮助大家积累经验,以后不要踩这种坑。

设计要点一:设定分压电阻的大小

这种便携式掌上阅读器,当然是内置锂电池的:

痛苦踩坑“电池电压侦测电路”,含泪总结设计要点

通过侦测电池电压来判断电池电量,是很常用的做法。

侦测电池电压的电路非常简单:

痛苦踩坑“电池电压侦测电路”,含泪总结设计要点

电池电压经过电阻R26和R62分压之后,给到主控芯片MCU的ADC引脚,通过ADC来侦测电池电压。

为什么要分压?因为ADC引脚可直接侦测的电压范围没有4.2V这么高。

在R62远远小于MCU的ADC引脚的输入阻抗的情况下,可以忽略ADC引脚的输入阻抗,这也是我们需要的。

下面忽略ADC引脚的输入阻抗来计算两个电阻的分压,也就是:

  • 侦测到的电压 = 电池电压 x R62 / (R26 + R62)
  • 侦测到的电压 = 电池电压 x 150 / (300 + 150)
  • 侦测到的电压 = 电池电压 x 1 / 3

当电池电压为4.2V时,经过R26和R62分压,ADC引脚会侦测到1.4V:

痛苦踩坑“电池电压侦测电路”,含泪总结设计要点

当电池电压为3.5V时,经过R26和R62分压,ADC引脚会侦测到1.17V:

痛苦踩坑“电池电压侦测电路”,含泪总结设计要点

所以可以根据侦测到的电压来算出电池电压,也就是:

电池电压 = 侦测到的电压 x 3

查看MCU的数据手册,可以查到ADC引脚的输入阻抗。

为了忽略ADC引脚输入阻抗的影响,R62要尽可能相对地小。

但又不能太小,因为这个电路会一直消耗电池的电量,就算是关机状态下也一直在耗电。

电阻太小会导致关机功耗变大,这里消耗9.3uA:

痛苦踩坑“电池电压侦测电路”,含泪总结设计要点

对阅读器产品来说,可以接受了!

设计要点二:降低纹波电压

为了精确测量电池电压,ADC引脚处的纹波电压要小。

这里用了电容C32来滤波:

痛苦踩坑“电池电压侦测电路”,含泪总结设计要点

为了避免受到干扰,ADC引脚的走线要尽量短,远离干扰源,走线包地处理。ADC引脚处的走线高亮显示如下(这个MCU是BGA封装):

痛苦踩坑“电池电压侦测电路”,含泪总结设计要点

这里的走线不算短,不过经测试纹波电压小于50mV,满足要求。

设计要点三:设定关机电压

阅读器配套的锂电池,充满电是4.2V。

在电压降到3.5V时,经实际测试,阅读器的系统电压还能保持稳定,但继续放电容易导致死机,所以设定3.5V为关机电压。

参考一款锂电池的放电曲线图,以1A电流放电时,一开始放电曲线很平缓。放电到3.5V再往后一些,蓝色的放电曲线呈陡涯式下降,这就是为什么电压变得不稳定了。见下图蓝色曲线的最右侧那一段:

痛苦踩坑“电池电压侦测电路”,含泪总结设计要点

根据这款产品的实际测试情况,软件设定为当侦测到电池电压降到3.5V时,系统执行关机。也就是

  • 电池电压为4.2V时,屏幕显示电量为100%;
  • 电池电压为3.5V时,屏幕显示电量为0%,并执行关机动作。

有些电子产品本身功耗低,也不会瞬间拉取大电流,就可以在电池电压更低时才关机。

设计要点四:注意分压电阻的精度

这个电路很简单,电性能测试也没发现什么问题。

试产了100片电路板,装了几十台整机,各种测试都Pass,一切顺利。

于是就批量5千台,准备交第一批货给客户。

这是个定制项目,早就拿到订单,已经临近约定交货的日子。

第一次正式批量,还是要谨慎。在贴片厂生产时,我全程跟线。

痛苦踩坑“电池电压侦测电路”,含泪总结设计要点

生产总体比较顺利,我在产线上没事的时候,无聊地检查着电路图:

痛苦踩坑“电池电压侦测电路”,含泪总结设计要点

突然心里一咯噔,发现这个电池电压侦测电路,分压电阻的精度竟然是5%,不是1%!

痛苦踩坑“电池电压侦测电路”,含泪总结设计要点

一下子就懵了!

电池电压侦测的精度非常重要,要知道如果MCU把3.7V的电池电压判断为3.5V,虽然相差才0.2V,但是电量差得可多了,会导致提前很多就关机。

更糟糕的是,如果MCU把3.5V的电池电压判断为3.7V,那么系统不会在正确的电压执行关机。继续使用的话,在MCU将电池电压判断为3.5V之前,可能已经出现死机的情况。

当时马上问产线还能不能改BOM,要更换物料,产线答复说5千片马上就要贴完,现在下更改单来不及了。。。

悲剧了,只能考虑是否手工改板了。把板上5%精度的换成1%精度的,每块板要改2颗电阻,一共就是一万颗电阻。

首先问产线拿了一盘精度为5%的电阻过来,测试看偏差具体是多少。结果发现虽然标称5%精度,实测精度并没有超过1%。测了几十个,基本是这种情况。

这就有点意思了,好像还可以啊!换还是不换呢,陷入了纠结。

最后的决定是,保守一点,换!

于是很苦逼,产线上的熟练焊工并不多,临时给我找来一个,我俩一起改板5千片。

痛苦踩坑“电池电压侦测电路”,含泪总结设计要点

一边改板,一边客户那里催着交货,真是惨痛的教训!

最后:复盘经验

这个事情,是设计上还不够细心,对这个电池电压侦测电路的认识不够深刻,竟然没有重点检查电阻的精度。

5%精度的电阻相对便宜,公司的出货量非常大,单板的成本降低一点点,多出来的利润可以很可观

所以大部分电阻是选用5%精度,个别有需要的地方才会用1%。

所谓成本是设计出来的。

值得一提的是,由于电阻精度对单板的成本影响较小,有些公司的硬件工程师为了方便,统一选用1%精度的,这样就不会出错,也减少了BOM中的物料种类。

那么问题来了,你公司的情况是这么一刀切,还是区分精度使用?

最后,有了这次手工改板5千的教训,以后每次用电阻,我都会仔细检查精度使用是否合理,也算是吃一堑长一智。

另外,“电池电压侦测电路”的两个分压电阻,后来改为了使用0.1%精度​,会更靠谱。

本次经验分享就到这里,感谢阅读!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:7   其中:访客  5   博主  2

    • 少于 1

      大佬用的是立创eda吗

        • LR梁锐 Admin

          @少于 是的哈!

        • 达达尼安 2

          看到第一张图的时候- -我就仿佛知道了问题所在~。OS:这人怎么用精度5%的做ADC采样。

            • LR梁锐 Admin

              @达达尼安 优秀的你,棒!

              • 12121 2

                @达达尼安 同上,公司为了方便全部百分之一,所以看到这也是疑惑了一下

              • 汉杰 1

                谢谢经验分享!

                • FL 0

                  谢谢分享~!