您的位置: 首页 >游戏 >

<img class="yuanchuan_images" title="原创" style="display: none;margin-right: 5px;" src="/d/public/images/yuanchuang.png">如何用Arduino测量锂离子电池的容量?

2022-07-12 15:45:31 编辑:支顺骅 来源:
导读 大家好,小科来为大家解答以上问题。怎样使用Arduino测量锂离子电池容量这个很多人还不知道,现在让我们一起来看看吧!1、第一步:工作原理

大家好,小科来为大家解答以上问题。怎样使用Arduino测量锂离子电池容量这个很多人还不知道,现在让我们一起来看看吧!

1、第一步:工作原理。

2、这整个步骤都是理论上的,所以如果你只是想让它工作,请跳到电路上。

3、电池的容量通常以毫安时(mAh)给出。马是电流的单位,小时是时间的单位。当我们把它们相乘时,我们就会得到电荷。I * t=q .实际上,电池的容量是用Q给出的,即它们拥有的“可用电量”,或者电池在单次放电循环中实际能通过的电子数。

4、如果我们有一个恒定的电流,我们可以运行电流,直到电池电压低于最小电压,然后乘以电流和时间,这样我们就可以得到近似的容量(Q=I * T)。这是一种简单明了的技术,但只能提供粗略的数值,不能提供可靠准确的数值。当我们意识到电流不可能保持恒定,而是从高电平开始,然后随着电池电压的下降而急剧下降时,就会出现这个问题。

5、这个问题的解决办法是用微积分。如果我们对电流随时间的积分,就可以得到确切的容量(Q=I dt),因为如果我们画出电流与时间的关系,曲线下的面积将代表容量(毫安乘以小时表示毫安小时)。问题是,我真的不想做“正当”的整合,所以想走捷径。我用一种叫做黎曼和的东西来表示积分。

6、简而言之,我们可以看一个图,把它分解成一堆细长的矩形,计算每个矩形的面积(宽度乘以高度),然后把所有的小面积加在一起。在容量方面,我们使用一个很短的时间间隔(矩形宽度),然后每次乘以当前时间(矩形高度),得到这个时间间隔内消耗的少量容量。我们可以把所有的小容量加起来,找出大容量。

7、在黎曼和图(所有垂直线)中,有时q有点大,有时又有点小。黎曼求和的思想是,正误差抵消负误差,所有这些都冲得很近。

8、执行黎曼求和,直到电池电压低于阈值,然后停止,这是电池的所有可用电荷(它不会耗尽电池并超过建议的安全限值)。

9、顺便说一下,如果我们对电池中包含的总能量感兴趣,我们需要看看测试中消耗的电力(不同于消耗的电力)。我们绝对可以用同样的设备,把电压乘以一个更小的Q,然后把更小的E(区间能耗)加到运行中的总E(电池总功率)上来测量这个。我决定不在这个项目的代码中执行这个操作,但是如果你感兴趣的话,实现起来并不难。否则,您可以通过取mAh额定值并将其乘以3.7的标称电池电压来粗略估计电池的能量。(例如,如果我们有一个1000毫安时的电池,将其乘以3.7v得到3700毫安时)。

10、第二步:电池电阻。

11、两个负载的主要原因是测量电池电阻的能力。

12、假设电池是线性电压源,我需要测量的电池电阻是两个数据点:给定负载的电压和电流,然后是不同负载的电压和电流(或多或少的电流)。然后我可以看到电流是如何随电流变化的,这两个变化的商给出了电阻。记住,一欧姆等于每安培一伏特。

13、欧姆=- v/ i。

14、测量电池电阻的方法是在装置处于四种可能状态中的随机负载状态(开/关/开/关)后,收集许多数据点。

15、在收集了许多电压和电流数据点之后,程序使用每个数据点来计算和记录相对于每隔一个与电压或电流不匹配的数据点的电阻。就像数学上的握手。

16、根据我的短期测试,在相同的电池中,获得的电阻值可能相差约10%。所以不是很好,但是会给你一个大概的想法。

17、第三步:电路。

如果您以前阅读过此说明,则会回想起以前需要将arduino连接到计算机才能读取数据。从测试。这绝对不是理想的,所以当我重建该测试仪时,我添加了一个LCD并询问为什么我第一次没有这样做。您可以在ebay上购买16x2字符LCD,价格约为5美元,包含运费。

实际测试电路包含两个负载和两个mosfet开关,以便于测量电池电阻。如果你对单元电阻不感兴趣,你当然可以用一个mosfet和负载构建电路(代码不会介意)。

这个测试电路使用N沟道mosfet来切换当前。我发现大功率mosfet的最佳来源是计算机电源(不难发现:它们位于大散热器上)。在运行此测试之前,请阅读mosfet的数据表,并确保它们能够处理的最小电流约为1A,除非您使用较低的电流负载。另外,请确保“栅极-源极阈值电压”小于5v。这是mosfet打开所需的电压,我们只能使用arduino给它5v。最后,您可能需要将mosfets放在散热器上。

我们用于测量电流的方法是使用分流电阻器。我们测量电阻两侧的电压以计算电流。欧姆定律表示V = I * R或I = V/R(流经电阻的电流为电阻两端的电压差除以电阻值)。

并联电阻的值应为4左右的任意值。欧姆下降,但对于~1A负载,一个好的经验法则是分流电阻的额定功率应约为电流的四倍,或者最小的《4》电阻。这是为了保持电阻冷却。正如Domints在评论中指出的那样,如果电阻变得非常热,电阻值会改变,并且您的电容读数不再准确。

我在此电路中使用的负载是汽车刹车灯泡(我使用两根灯丝作为两个负载)。在它与分流电阻之间,在测试期间大约有一个放大器被拉动,这恰好适合我想做的事情。 Peukert效应讨论了不同电流负载对电池容量的影响。

请注意:连接A和B需要连接到模拟输入。如果将它们连接到数字引脚,则会通过arduino直接短路当前的锂离子电池。糟糕的时间。

可以在fritzing文件(fzz)中找到原理图和面包板布局。

步骤4:代码

在此处下载代码。

此项目中的代码会经历10种可能的状态,总是在状态0复位后开始,在其中测量电池电压,并且根据电压,程序进入三个可能的下一个状态之一。

状态1 在电压低于1v时发生,程序假定电池座为空。它提示输入新电池,然后重设。一旦电池电压超过1v,程序进入状态2.

状态2 当测试仪没有电池启动但现在安装了电池时发生。程序显示电池电压并提示复位。

状态3 当程序启动时,电池电压在1和最小电压之间开始测试,在其他情况下话说,一个弱小的细胞。显示电池电压以及电池电量不足的建议。

状态4 在程序开始且电池电压足够高以开始测试时发生。在此状态下,负载开启直到电压低于阈值以检查电阻。

状态5 是检查电阻的状态。测量电流和电压,然后在记录两个电压/电流值后关闭一个 负载,然后重新打开。电阻是根据不同负载电流的两个值计算的。

状态6 在状态5完成电阻检测后立即发生,并继续运行容量检查直到电池电压下降低于最小电池电压。

状态7 在容量检查完成且电池仍在原位时发生。它显示测试结果和测试时间。

状态8 是在测试运行后从测试仪中取出电池时发生的。容量和阻力仍会显示,但不会显示时间。

状态9 在插入新单元格时出现。容量仍会显示,直到重置。

那么,您应该如何编辑此代码以使其适用于您的特定电路?您需要更改的唯一内容是引脚编号和电阻值。它们具有以下常数:

#define SHUNTRES 0.62

#define VIN A1

#define SHUNT A0

#define GATE1 0

#define GATE2 1

有些人评论过的是一个不准确的参考电压。如果您的5v引脚测量4.6伏怎么办?还有一个常数要注意。用万用表测量5v参考引脚,然后将该值放在下面的常量中:

#define VOLTREF 4.6

如果您正在通电来自计算机USB端口的arduino,电压应该在5v(并且不需要检查它,除非你是可疑类型)。如果您在Arduino的电压调节器(桶形插头)中使用电源,您可能需要检查它,但它应该是一致的。如果您使用USB充电器为其供电,则应检查您将使用的每个不同电压,因为它们可能会有很大差异。

步骤5:分享您的结果!

所以,这个项目很好,但是,假设您只是想知道单元的容量而无需构建它。好了,我已经启动了一个电池列表,可以通过颜色和型号进行识别,您可以在这里查看。

如果你已经构建了一个容量表,并希望对此列表做出贡献,请给我发消息,我会将你添加为编辑。

第6步:把它放在一起并测量

好的,所以一旦你建立了你的电路,把你的代码抛到了arduino上应该是好的!

在开始测试之前,电池应该充满电,这样你才能知道它们的全部容量。连接一个单元,并开始测试,按下你的arduino重置按钮,或重新启动arduino。

一旦测试完成,屏幕将显示“完成”以及时间,电池电阻和容量。

我为测试周期制作了电压与时间的关系图,它有一些非常有趣的功能。刚开始时电压急剧下降,但直到线性电压下降到3300 mV左右才趋于平稳。那时,它开始陡然下降。这表明为什么放电低于2.9v的锂离子电池真的不会给你带来更多的可用功率。电池开始变强,然后保持变强……然后就完成了。当然,您需要调整电压常数,并且需要确保不向模拟引脚馈送超过5v的电压,因为这是它可以读取的最大值。分压器是测量高压应用电压的一种可能方法(例如,12v铅酸电池)。到目前为止,我已观察到有关我的电池的一些信息:它们似乎大部分被制造成大约1000个电池。或2000毫安。我有一个高达3400 mAH,相当一点18650非常令人印象深刻。此外,大多数配备真正便宜的LED手电筒的电池往往具有可怕的容量。但这并不奇怪。

本文到此结束,希望对大家有所帮助。


免责声明:本文由用户上传,如有侵权请联系删除!

2016-2022 All Rights Reserved.平安财经网.复制必究 联系QQ280 715 8082   备案号:闽ICP备19027007号-6

本站除标明“本站原创”外所有信息均转载自互联网 版权归原作者所有。