硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4095|回复: 17
收起左侧

[客户分享] 一般工具类产品电量显示优化思路

  [复制链接]

29

主题

514

回帖

606

积分

金牌会员

积分
606
QQ
发表于 2019-3-4 19:43:38 | 显示全部楼层 |阅读模式
条件声明,本帖只讨论一般的带电池的工具电量显示问题。STM32F1作为主控,内置的ADC 12位精度,所检测的电平为三节18650简单转换后的 IO电压 0~3.3V

一、明确待优化的地方
      1、低电量提醒、满电提醒、过充保护。
二、明确理论与实际的细节差异。
      1、理论上电池没电是3.7V,三节都没电约 3.7*3 = 11.1V。这个理论值很不靠谱,实际批量的电池组,也会存在个别电池电压有偏差的情况。
      2、理论上电池低电量保护的时候ADC检测到0值,对应显示电量0 。实际上这样划分,可能显示还有20% 就会瞬间关机。
      3、理论上电池过充保护的时候,ADC检测到的值为最高(假设3900),对应显示电量100% 。 实际上电源芯片过充保护会有一点点提前,有些个别电池组满电状态,其实有一节还差一点点,导致电压不统一。
      4、实际上整个放电过程,非线性,从普通的检测方法,电量在50%一下都不怎么耐用,数字掉的很快。
      5、实际上充电过程ADC拿到的数字非常飘,波动很大,看上去怪怪的。

三、有针对性的优化细节。普通的工具,各方面的资源也比较普通。这里只是简单分享讨论。
     1、建议电量显示的0,提后一点。 例如        uint16_t min_Digit = 600; // 14% 600   0.4.62V
     2、电量0值设定好后,普通的工具,可以定义电量剩余30%做一级提醒,这个提醒可以自动退出返回。20%,10%可以做一个强制提醒,如果没操作就自动关机。
     3、建议电量显示的100%,提前一点。例如         uint16_t max_Digit = 3600;// 87% 3600  2.871V
     4、满电状态提前了,大部分产品显示满格的时间会比较长,这个结合实际平衡。个别产品电池充满了,但是实际显示不满格很尴尬。
     5、如果是充电状态,电量检测到的数字会虚高,那就更早的显示满格了,这个要自己减去一个平衡值。如果有耐心再把充电状态做动态显示。
     6、软件过充保护

四、其他。
    软件要跟平台硬件做好细节对接。如果中途硬件优化电源纹波,个别模块提升驱动功耗都可能影响 软件范围值的设定。

评分

参与人数 1金币 +100 收起 理由
eric2013 + 100 赞一个!

查看全部评分

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2019-3-5 01:58:23 | 显示全部楼层
非常感谢楼主分享。
回复

使用道具 举报

23

主题

211

回帖

280

积分

高级会员

积分
280
发表于 2019-3-5 13:37:50 | 显示全部楼层
这个确实不太好测,尤其是使用电机等大功率用电器的时候,电池电压波动特别明显,滤波的次数必须非常多,不然显示的电量会跳来跳去。如果有库仑计的话,用那个可能会更准确一些。
回复

使用道具 举报

29

主题

514

回帖

606

积分

金牌会员

积分
606
QQ
 楼主| 发表于 2019-3-5 15:13:57 | 显示全部楼层
blackfire531 发表于 2019-3-5 13:37
这个确实不太好测,尤其是使用电机等大功率用电器的时候,电池电压波动特别明显,滤波的次数必须非常多,不 ...

硬功能,有些场合是加稳压芯片,保证电压稳定输出。
软功能,纯粹是看上去电量显示跳动小一点,还是有很多方法做优化的。
回复

使用道具 举报

28

主题

178

回帖

262

积分

高级会员

积分
262
发表于 2019-4-19 11:51:25 | 显示全部楼层
期待后续的实测效果。
回复

使用道具 举报

29

主题

514

回帖

606

积分

金牌会员

积分
606
QQ
 楼主| 发表于 2019-4-20 09:04:58 | 显示全部楼层
mioc_hust 发表于 2019-4-19 11:51
期待后续的实测效果。

部分传统工具的电量显示可能用4 格表达。一年前我一款产品因为是点阵屏像素少,使用10格显示,分格细一点,格子跳动的概率较高,这个实测后可以优化。

半年前的一款产品,用彩屏,像素多一点,使用emWin的进度条显示。搭配两个颜色,电池头用一个小格子搭配,还算是有模有样的
最开始硬件提供给我的检测范围较宽,把进度条的百分比也放上去了,感觉设计上还行,但是公测的时候,很多体验着习惯了现代的手机,电量有2%的随机数值跳动,最后就把百分比拿掉了。
实际上ADC拿到的电量检测值,跳动应该有6%以上,优化到2%也是一个平衡选择。毕竟精度、时间消耗、CPU占用等等都要平衡。

曾经产品的一个核心模块硬件模块批量量产,开机随机不良 40%,ADC初始化拿掉,随机不良降低为20%,当然这个不成文的例子放出来很不好,因为确定产品设计有问题,把ADC车上关系,ADC确实很委屈。
Releasing your creativity
回复

使用道具 举报

29

主题

514

回帖

606

积分

金牌会员

积分
606
QQ
 楼主| 发表于 2019-4-20 09:06:19 | 显示全部楼层
在次声明,本贴讨论的是一般工具的 电量显示。千万别拿现在的手机电量显示做对比、提要求。适当提建议可以
Releasing your creativity
回复

使用道具 举报

29

主题

231

回帖

318

积分

高级会员

积分
318
发表于 2019-4-23 20:56:25 | 显示全部楼层
大神`
回复

使用道具 举报

28

主题

178

回帖

262

积分

高级会员

积分
262
发表于 2019-4-25 15:33:59 | 显示全部楼层
廷润 发表于 2019-4-20 09:04
部分传统工具的电量显示可能用4 格表达。一年前我一款产品因为是点阵屏像素少,使用10格显示,分格细一点 ...

Niubility~  这个绝对是经过市场历练过的。大神,佩服~
回复

使用道具 举报

29

主题

514

回帖

606

积分

金牌会员

积分
606
QQ
 楼主| 发表于 2019-6-24 11:08:51 | 显示全部楼层
今天温故一些电平标准的知识,找到了之前多次微调电量显示的原因,思路如图所示:
知悉TTL电平标准和CMOS电平标准.jpg
Releasing your creativity
回复

使用道具 举报

29

主题

514

回帖

606

积分

金牌会员

积分
606
QQ
 楼主| 发表于 2019-6-24 11:13:25 | 显示全部楼层
廷润 发表于 2019-6-24 11:08
今天温故一些电平标准的知识,找到了之前多次微调电量显示的原因,思路如图所示:

这两个电平标准,如果没考虑进去,往往容易掉坑里面,还不明不白。

前段时间看安富莱的电量显示例程,搞一个数组[20], 这是明显优化2%浮动的 进一步思路。有兴趣的大家去翻看 (mark)
Releasing your creativity
回复

使用道具 举报

334

主题

2032

回帖

3039

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3039
发表于 2019-6-24 14:39:28 | 显示全部楼层
本帖最后由 caicaptain2 于 2019-6-24 14:41 编辑

这是个老帖子了,居然还有更新。。。
曾经轻度参与过笔记本电池的电量管理设计,特别是精确显示百分比电量的时候,需要做到以下几点:
1. 电池在充电还是放电状态,它们的端电压是不同的。所以,判断标准不一样。而且,充电-放电端子和检测电压端子要独立,避免线路压降的影响。 电压检测精度至少需要10mV。
2. 充电和放电都需要检测电流,这样子可以算出来电池内阻。有效避免虚电的误判,而且可以初步判断电池的寿命状态。
3. 如果多节电池的电池组,最好能够检测每节电池的电压。 智能一点的,可以带电池均衡放电功能,这个还算简单。“均衡充电”相对复杂。所以一般不搞。 有专门的多节电池管理芯片的,可以做到这一点。
4. 再高级一点的,需要做个库伦计功能。这个软件上蛮简单,就是一个积分累加器。充放电的效率系数需要根据电池特性来多次模拟。

目前要求较高的笔记本电池管理,也就是做到了这几点。 这种专业芯片TI是老大,日本也有几家。

如果只需要显示4个格子的电量模式,以上建议都不用考虑
回复

使用道具 举报

29

主题

514

回帖

606

积分

金牌会员

积分
606
QQ
 楼主| 发表于 2019-6-24 14:53:41 | 显示全部楼层
caicaptain2 发表于 2019-6-24 14:39
这是个老帖子了,居然还有更新。。。
曾经轻度参与过笔记本电池的电量管理设计,特别是精确显示百分比电量 ...

感谢耐心补充。

一般的电子产品相对简单,价格竞争大,决策者经常能省就剩,省到底线下面还想省,应该还是蛮多人群有这个痛苦经历。
Releasing your creativity
回复

使用道具 举报

28

主题

178

回帖

262

积分

高级会员

积分
262
发表于 2019-7-9 16:23:36 | 显示全部楼层
还有更新 不错嘛 好久没来了
回复

使用道具 举报

29

主题

514

回帖

606

积分

金牌会员

积分
606
QQ
 楼主| 发表于 2019-11-11 08:28:11 | 显示全部楼层
mioc_hust 发表于 2019-7-9 16:23
还有更新 不错嘛 好久没来了

好事多磨,最近做一些数据测量的优化的时候,还是有很多行为习惯可以复用。
Releasing your creativity
回复

使用道具 举报

6

主题

88

回帖

106

积分

初级会员

积分
106
发表于 2019-11-13 08:53:56 | 显示全部楼层
你这3级电池串联怎么检测充满呢,每节电池放电状态,和充电状态都是未知的,你测量的是整个节点,还是每个节点一个ADC
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2023-12-23 04:33:51 来自手机 | 显示全部楼层
廷润 发表于 2019-6-24 11:13
这两个电平标准,如果没考虑进去,往往容易掉坑里面,还不明不白。

前段时间看安富莱的电量显示例程, ...

安富莱的电量显示例程在哪里?
回复

使用道具 举报

13

主题

52

回帖

91

积分

初级会员

积分
91
发表于 2024-1-12 17:12:51 | 显示全部楼层
最近也在搞这个电量显示,ADC采集显示百分比,软件这边使用施密特消抖,3%的变化才会电量变化,这个没什么问题。问题出现在带载运行比如从100%降到97%,然后停机再上电,此时不带载,然后检测到电量是98%(上电检测是没有参考的,所以检测到多少就是多少),这样就会出现电量变多了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 05:07 , Processed in 0.376400 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表