电池充电指示灯(电池监控器)

时间:2015-07-25 05:27:35

标签: indicator batterylevel

我们今天看到的所有电子设备,如移动电话,一个可视电池充电指示器,一个图形容器,由电池长时间充电时逐个增加的条形码组成,并在移动电源长时间使用时逐个减少时间。 我在Windows和Linux等每个GUI操作系统中都看到了相同的笔记本电脑。 我不确定我是否在正确的位置发布,因为这需要系统程序员电气工程师。 我的问题的视觉观点在这里:

  

http://gickr.com/results4/anim_eaccb534-1b58-ec74-697d-cd082c367a25.gif

我很久以前就在想,这有什么逻辑呢? 如何管理程序以监控电池。 我根据Amps-hour制作了一个简单的逻辑,当电池处于充电模式时,该棒应该增加多长时间。但这对我来说并不完美。 另外我读了我的炒电池指示器 Android应用程序源代码,但他使用的功能是基于Andriod Kernel(Linux内核)的系统调用。

我需要从头开始...... 我需要这个逻辑才能知道.............因为我正在开发一个操作系统内核项目,后来需要电池充电监控器。

但我现在要实现的是在控制台屏幕上显示百分比。 请告诉我如何做到这一点....在此先感谢

1 个答案:

答案 0 :(得分:1)

随着时间的推移积分放大器并不是编码电池表的可靠方法。改用电压。

  1. 有关(近似)电压与充电水平的关系图,请参阅电池数据表。

  2. 获取CPU的模拟输入。如果它是带有内置ADC的微​​控制器,那么希望这足够了。

  3. 将参考电压(例如齐纳二极管)插入模拟输入。随着电源电压降低,参考值似乎会增加,因为ADC仅按比例测量电压。 CPU可能包含一个内置参考电压发生器,您可以将其复用到ADC,或者ADC可能始终相对于固定参考而不是轨到轨进行测量。有关详细信息,请参阅ADC手册(或微控制器手册的ADC部分)。

  4. 确保ADC提供足够的准确度。

  5. 对电池电量进行采样并运行一个简单的低通滤波器以消除噪声,例如displayed_level = (displayed_level * 0.95) + (measured_level * 0.05)。通过将表观参考电压映射到电荷水平的近似函数运行它。

  6. 显示收费水平。