要知道使用Arduino的电池电量百分比

问题描述 投票:0回答:1

我正在使用Arduino Nano和9.9V,6.6V和3.7V的各种Li-Fe,Li-Po电池。我可以使用Arduino读取电池的电压。我的Arduino的工作电压为5V,因此对于9.9V和6.6VI之类的电池使用了一个分压器,该分压器使用了两个10k电阻器。关于它。请任何人帮助我。我的代码是:

#define cellPin A0

const float mvpc = 4.55 ; //measured voltage of arduino through voltmeter
float counts = 0;  //battery volts in millivolts
float mv = 0;
float multiplier = 2;
float output = 0;
int charge = 0;

void setup() {
  // put your setup code here, to run once:
Serial.begin(115200);
}

void loop() {
  // put your main code here, to run repeatedly:
counts = analogRead(cellPin);
Serial.println(counts);

mv = counts * mvpc;
Serial.println(mv);

output = (mv * multiplier)/1000 ;
Serial.print(output);
Serial.println("V");

charge = (counts/1024)*100;
Serial.print(charge);
Serial.println("%");

delay(1000);

}
arduino arduino-ide battery batterylevel
1个回答
0
投票

为了准确确定已充电电池的百分比,您需要每个电池的放电图。锂电池的放电曲线通常是非线性的。放电曲线基本上是电压与充电百分比的关系曲线,对于电池充电和放电曲线是不同的。

如果具有放电曲线,则可以为每个%到对应的电压值创建一个映射。然后,您可以将每个电压映射到您创建的映射中的%值。

例如:

100%-> 5.00 V99%-> 4.95伏....0%-> 3.23 V

[创建一个数组来存储地图操作系统大小100(每%):[5.00、4.95,... 3.23]

然后您可以使用电压找到%s。我希望您可以找到放电曲线图,否则,您可以自己使用安全电流对电池放电来手动找到它。

© www.soinside.com 2019 - 2024. All rights reserved.