0

先感谢您。我是铅酸电池的初学者。

实际上我正在使用太阳能为我的 12v 密封铅酸电池充电。问题是我需要持续监控我的电池电压。我使用分压器来做到这一点。

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

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

谢谢你。

4

3 回答 3

0

是的,您可以将分压器连接到 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() 中,正在初始化串行通信。以便输出可以显示在串行监视器中。

在 loop() 中读取模拟引脚并存储总和。然后计算电压并将结果报告给用户。

由于我们处于无效循环中,因此将重复该过程,直到从 Arduino 板上断开电源。

于 2016-05-05T13:47:44.483 回答
0

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

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

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

这将使您的读数变得平滑。

于 2016-05-12T21:23:52.107 回答
0

我为我的项目找到了这个有用的网站。看看吧,有兴趣的可以看看。这是一个“太阳能充电控制器”。他们使用最佳编码技术来“计算 12v 电池”和太阳能电池板电压。谢谢你。

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

于 2016-06-07T12:30:32.753 回答