Питание Arduino от батареи и считывание напряжения батареи
Я пытаюсь отобразить уровень заряда батареи, поскольку он используется для питания 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.
@acho, 👍4
3 ответа
Лучший ответ:
Ардуино по умолчанию настроены на использование своего рабочего напряжения в качестве опорного напряжения analogRead.
Итак, я думаю, что происходит то, что вы пытаетесь измерить напряжение батареи с помощью самой батареи в качестве опорного напряжения.
Это, конечно, всегда будет показывать "полный масштаб".
Вы можете использовать делитель напряжения, чтобы снизить измеренное напряжение батареи примерно до 1 В (макс.) и использовать для измерения внутренний эталон 1,1 В.
Обратите внимание, что внутренняя ссылка 1.1 В стабильна, но не обязательно точно 1.1 В.
Вам нужно разделить напряжение батареи на максимальный диапазон 1,1 В и использовать внутреннее эталонное напряжение запрещенной зоны для преобразования АЦП.
Подключите аккумулятор к VCC, а не к Vin, вы же не хотите, чтобы он проходил через регулятор.
Под "делением напряжения батареи" вы подразумеваете схему, такую как делитель напряжения, или код? А что такое внутреннее опорное напряжение запрещенной зоны?, @acho
Да, два резистора, последовательно соединенных между VCC и GND. Подсоедините Ax к разъему. Дополнительные сведения о внутреннем источнике см. В таблице данных., @CrossRoads
подключение аккумулятора к VCC означает подключение к контакту 5V? Это нормально? Я читал, что если вы подключите USB, пока батарея подключена к контакту 5 В, это может привести к повреждению материала., @acho
Может быть. 3,7 В в гнездо ствола будет преодолено входом USB и схемой переключения питания, и будет использоваться USB., @CrossRoads
Например, если вы хотите измерить "уровень заряда батареи" в мАч, вы должны измерить напряжение И ток, поэтому INA219-лучшая сделка (это управление I2C).
- Неточное считывание напряжения с аналогового вывода Arduino
- Как измерить много напряжений (Uno) — Аналоговые удлинители — хороший вариант?
- как узнать, какая батарея (сколько ампер и напряжение) нужна моей схеме для идеальной работы?
- Контакт AREF на Arduino Uno R3
- Блок питания для Seeeduino Xiao
- Определение уровня заряда с помощью датчика тока (ACS758) с arduino uno
- Почему пассивный зуммер щелкает, а не гудит, когда установлен на ВЫСОКИЙ?
- Измерение напряжения литий-ионного элемента, используемого для питания Arduino через повышающий модуль
О, я понимаю! Я попробую это сделать и посмотрю, что получится! Спасибо!, @acho
Кроме того, как я могу использовать внутреннюю ссылку?, @acho
См. https://www.arduino.cc/reference/en/language/functions/analog-io/analogreference/, @ocrdu