Питание Arduino от батареи и считывание напряжения батареи

arduino-uno battery adc voltage analogreference

Я пытаюсь отобразить уровень заряда батареи, поскольку он используется для питания arduino.

Я попытался включить питание arduino через USB, и напряжение батареи считывается точно по сравнению с показаниями мультиметра. Но когда батарея питает arduino и считывается, она продолжает показывать 5,00 В, хотя этого не должно быть.

Просто интересно, что может произойти и как я могу решить эту проблему.

Я пытался исследовать некоторые ответы и наткнулся на что-то об опорном напряжении 1,1 В, но не совсем уверен, что они означают.

Буду признателен за любые ответы! Спасибо!

Вот мой код для справки.

#include <SoftwareSerial.h>
SoftwareSerial BTserial(10,11);

int battPin = A1;

void setup() {
  pinMode(battPin, INPUT);
  BTserial.begin(9600);
  Serial.begin(9600);
}
void loop() 
{
  int voltReading = analogRead(battPin);
  float volts = (voltReading/204.6);
  BTserial.print(volts);
  BTserial.print(";"); 
  Serial.println(volts);
}

Я использую липо - аккумулятор 3,7 В. Он подключен к A1, а также Vin.

, 👍4


3 ответа


Лучший ответ:

2

Ардуино по умолчанию настроены на использование своего рабочего напряжения в качестве опорного напряжения analogRead.

Итак, я думаю, что происходит то, что вы пытаетесь измерить напряжение батареи с помощью самой батареи в качестве опорного напряжения.

Это, конечно, всегда будет показывать "полный масштаб".

Вы можете использовать делитель напряжения, чтобы снизить измеренное напряжение батареи примерно до 1 В (макс.) и использовать для измерения внутренний эталон 1,1 В.

Обратите внимание, что внутренняя ссылка 1.1 В стабильна, но не обязательно точно 1.1 В.

,

О, я понимаю! Я попробую это сделать и посмотрю, что получится! Спасибо!, @acho

Кроме того, как я могу использовать внутреннюю ссылку?, @acho

См. https://www.arduino.cc/reference/en/language/functions/analog-io/analogreference/, @ocrdu


0

Вам нужно разделить напряжение батареи на максимальный диапазон 1,1 В и использовать внутреннее эталонное напряжение запрещенной зоны для преобразования АЦП.

Подключите аккумулятор к VCC, а не к Vin, вы же не хотите, чтобы он проходил через регулятор.

,

Под "делением напряжения батареи" вы подразумеваете схему, такую как делитель напряжения, или код? А что такое внутреннее опорное напряжение запрещенной зоны?, @acho

Да, два резистора, последовательно соединенных между VCC и GND. Подсоедините Ax к разъему. Дополнительные сведения о внутреннем источнике см. В таблице данных., @CrossRoads

подключение аккумулятора к VCC означает подключение к контакту 5V? Это нормально? Я читал, что если вы подключите USB, пока батарея подключена к контакту 5 В, это может привести к повреждению материала., @acho

Может быть. 3,7 В в гнездо ствола будет преодолено входом USB и схемой переключения питания, и будет использоваться USB., @CrossRoads


0

Например, если вы хотите измерить "уровень заряда батареи" в мАч, вы должны измерить напряжение И ток, поэтому INA219-лучшая сделка (это управление I2C).

,