如何通过arduino读取12v铅酸蓄电池的连续电压



提前感谢。我是铅酸电池的初学者。

事实上,我用太阳能给我的12伏密封铅酸电池充电。问题是我需要持续监控我的电池电压。我用了一个分压器。

现在我的问题是,我可以将分压器连续连接到电池上吗?

计算出的电压是波动的,如何减少这种波动?

谢谢。

是的,您可以将电池连续连接到分压器。确保使用非常大的电阻器。电流输出=V/R。所以如果你想要我<0.1mA你想要0.1mA<12/R。这意味着您必须使用兆欧姆范围内的电阻器。

为了减少波动,可以对电压读数取平均值。一个简单的比例平均值会很好地工作。

V[0]=0.4V[-1]+0.3V[-2]+0.2[V-3]+0.1V[-4].

这将使你的阅读更加流畅。

是的,您可以将分压器连接到Arduino的一个模拟引脚!

事实上,我昨晚在Arduino论坛上也回答了同样的问题。

看看它,如果你有进一步的问题,不要犹豫。

// number of analog samples to take per reading
#define NUM_SAMPLES 20
int sum = 0;                    // sum of samples taken
unsigned char sample_count = 0; // current sample number
float voltage = 0.0;            // calculated voltage
void setup()
{
    Serial.begin(9600);
}
void loop()
{
    // take a number of analog samples and add them up
    while (sample_count < NUM_SAMPLES) {
        sum += analogRead(A2);
        sample_count++;
        delay(10);
    }
    // calculate the voltage
    // use 5.0 for a 5.0V ADC reference voltage
    // 5.015V is the calibrated reference voltage
    voltage = ((float)sum / (float)NUM_SAMPLES * 5.0) / 1024.0;
    // send voltage for display on Serial Monitor
    // voltage multiplied by 11 when using voltage divider that
    // divides by 11. 11.132 is the calibrated voltage divide
    // value
    Serial.print(voltage * 11.002);
    Serial.println (" V");
    sample_count = 0;
    sum = 0;
}

在setup()中,正在初始化串行通信。从而可以在串行监视器中显示输出。

in loop()n读取模拟引脚,并存储总和。则计算电压并且将结果报告回用户。

由于我们处于空循环中,该过程将重复进行,直到电源从Arduino板断开。

我发现这个网站对我的项目很有用。如果感兴趣的话,请看一看。这是一个"太阳能充电控制器"。他们使用最佳编码技术来"计算12v电池"和太阳能电池板电压。非常感谢。

http://www.instructables.com/id/ARDUINO-SOLAR-CHARGE-CONTROLLER-Version-20/?ALLSTEPS

最新更新