大多数手持设备使用碱性或可充电电池,因此测量电池容量是此类设计的关键特征。但是,在大多数情况下,对于预算紧张的项目而言,使用电池电量监控IC可能是一种奢望。这是一个更简单,更便宜的选择。
如今,即使是最便宜的微控制器也经常包括内部模数转换器(ADC)模块,并且由于其(相对)较低的分辨率和较高的噪声水平,一直没有使用该模块。但是,那些未使用的内部ADC通道之一足以执行测试以确定电池是否仍然可用。
用于检测电池状态的方法称为电化学动态响应(EDR)(参考文献1),并由Cadex Electronics的美国专利号7,622,929授予专利。
EDR通过施加负载脉冲并评估电池对攻击和恢复的响应时间,将负载下的电池状况与存储的与电池性能相关的参数进行比较。如图1所示,好的电池具有很强的恢复特性,而接近耗尽的电池则具有较高的放电斜率和较差的恢复能力。耗尽电池的响应存在这些差异的原因有很多,例如内部电阻增加。
图1比较了各种充电状态下电池对临时负载脉冲的响应,表明了它们在EDR方面的差异。
使用EDR理论,对电池电压进行采样以在特定时间(例如发生最大功耗时)找到最小电池电量,即可获得有关电池运行状况的信息。系统的初始开启时间(也称为“打招呼”)是衡量电池健康状况的特别好机会。在系统完全激活之前,电池电量似乎处于安全操作水平,但是,如果电池快要用尽,则当系统达到满负荷时,电池电量可能会立即降至安全水平以下。该设备将在不执行EDR测试的情况下以正常模式启动,但在第一个重载时将无法控制地关闭(即,电压下降到如图1所示的关键电池电量水平)。
EDR测试实现的简化硬件版本如图2所示。选择负载电阻来代表整个系统负载,因此其电阻值可能会因系统而异。生成此处显示的数据的系统需要一个10Ω的值。电阻R1和R2用作电池电压(Vcc)测量的分压器,而升压电路可确保ADC的基准保持恒定,即使在测试期间电池电压下降时也是如此。电阻R3是开关晶体管的下拉电阻。
图2此简化的示意图显示了EDR测试实现的总体设计。
测试系统在设定的时间段(约200毫秒(msec))内对电池电压进行采样。在固件控制下,MOSFET仅在测量周期的一半时间内导通,然后关闭。这样,系统就可以在满载情况下测量电压,并在最小负载时测量电池的恢复响应。(可以在固件中更改时间段,但是我发现200毫秒足以充分评估电池容量。)测量完成后,可以通过UART链接读出结果。
用您独特的设计让工程界赞叹不已:设计理念提交指南
在为演示EDR而构建的示例系统中,我使用了两节AA碱性电池,Vcc的最大值为3.2V。升压电压Vdd设置为恒定的3.6V。系统通常消耗55毫安(mA),但在满载时消耗127 mA。使用“好”电池(图3a)和“坏”电池(即耗尽的电池(图3b))对系统进行测试时得到的示波器轨迹表明,欠载电压差异可能有多大。
图3电池电压的负载测试显示,充满电的电池(a)和几乎耗尽的电池(b)的响应之间存在显着差异。
我在某些项目中使用的示例设计基于STM32F303微控制器,其固件使用KEIL IDE用C编写。可以在此GitHub页面上找到固件。
测试代码的流程图出现在图4中。UART收到“ S”字符后,将执行测试。ADC采样频率设置为250赫兹,并且如前所述,测试周期约为200毫秒。
图4EDR测试代码打开负载,采样时间为测试时间的一半,然后关闭负载并完成采样周期。
此代码仅进行测试并收集数据。处理数据有很多选择。在最简单的情况下,您可以查看数据的最小值,并将其与系统的安全工作电压水平(也称为临界水平)进行比较。如果在测试期间电池电压接近临界水平,则可以警告系统用户该更换电池了。
可以编写更全面的算法来精确确定电池运行状况,例如显示电池电量指示器。为了更新并在显示器或电池指示器上向用户显示适当的数据,应过滤所获取的数据。负载变化使原始数据在没有适当过滤的情况下完全无用。缓慢的无限脉冲响应(IIR)滤波器将使信号正常平滑。
总之,借助微控制器的非常基本的ADC,借助EDR方法,可以廉价地检测电池状态。初始加电期间的电池读数约为200毫秒,足以对几乎所有系统实施基本的电池运行状况测试。
上一篇:投入式液位计安装方式_投入式液位计套什么定额
下一篇:EXFO FPM-600光功率计的功能特点及应用范围
推荐阅读最新更新时间:2024-11-08 12:08
推荐帖子
- Everything is better with bluetooth
- HahahahaEverythingisbetterwithbluetooth!?? 版主怎么上传视频?直接在网页上点击就能播放的。 编辑器有一个视频选项,你把你的视频的链接填进去就行如图 这还要把视频上传优酷。 你也可以上传到我们的大学堂来。https://training.eeworld.com.cn或者直接通过附件上传上来。
- woody_chen RF/无线
- cc2530的RF多点通信的数据碰撞处理
- 最近在学习CC2530F256,现在在调试RF的通讯(简单的射频通信,没采用协议栈),考虑到多点通信时,数据会有碰撞现象,当出现这种现象时怎么处理呢?求教了,谢谢大家的技术支持,帮助cc2530的RF多点通信的数据碰撞处理官方有代码的TIMAC-CC2530-1.4.0还有非相关代码,不建议实际中使用,就是阉割的TIMAC谢谢你的帮助正好这几天我也遇到这个多点发送数据碰撞的问题,我开始用协议栈发现太麻烦了,后来没有使用协议栈,自己写的防碰撞完美的解决了这个问题,现在100多个点同时上
- FIH RF/无线
- TL431内部架构学习
- TL431内部架构学习在V/I转换那个篇章里面看到了TL431的内部架构,那我们这一篇一点点的解析TL431的构成,首先TL431的内部详细原理图如下图1所示,为了便于理解我对管子进行了标注,倒时候我们好分析图1:TL431内部原理图拿到原理图后我们先简单的拆分,Q10和Q11就是达林顿管,控制Cathode的电压的Q2的作用完全就是二极管,如果REF低,Q10,Q11不怎么导通,释放CATHODE.控制输出管的只有Q4和Q9以及Q2,TL431典型接法就是将REF和CAT
- xutong 电源技术
- 全志XR806开发板RTOS环境搭建及问题
- **测评一RTOS环境搭建及问题**按照官网文档https://xr806.docs.aw-ol.com/rtos/env/说明,RTOS先拉取SDK,由于XR806是Cortex-M33Star内核然后指定gcc-arm-none-eabi工具链的位置,再编译再烧录,开发过程和ESP32有些许相似,都可以借助Cygwin+gcc来编译,且都支持menuconfig进行模块裁剪,不复赘述,以下重点讲遇到的问题。1.编译工具链问题编译时会出现conflictiongty
- aleksib 国产芯片交流
- 会唱歌的三极管
- 本帖最后由jameswangsynnex于2015-3-320:00编辑会唱歌的三极管
- lorant 移动便携