Вопросов:
- Зависит ли преобразование счетчика АЦП от напряжения от фактического напряжения на выводе +5 В?
- Если да, то какой метод получения напряжения от платы принят?
Предпосылки / Detail:
У меня есть схема, в которой у меня есть Arduino Nano (клон), работающий от разъема USB (от концентратора). Работа Arduino заключается в измерении напряжения на батарее, которая будет приводить в действие вторую цепь, включенную / выключенную Nano. Для справки это тестер аккумулятора.
Есть экран Nokia 5110, который отображает напряжение из очень простого рисунка ниже.
void setup() {
Serial.begin(9600);
display.begin();
// Init done
// You can change the contrast around to adapt the display
// for the best viewing!
display.setContrast(50);
// Text display tests
display.setTextSize(1);
display.setTextColor(BLACK);
}
void loop() {
display.clearDisplay(); // Clears the screen and buffer
display.setCursor(0,0);
display.print("Vin=");
int rawVIN = analogRead(VIN);
float floatVin = (rawVIN*4.75)/1023.0;
display.println(floatVin);
Serial.println(rawVIN);
display.display();
delay(1000);
}
- Я измерил напряжение аккумулятора с помощью DVM, и оно составляет 4,13 В, но Nano сообщает о 4,35 В.
- У меня есть общий язык между аккумулятором и Arduino.
- Поскольку соединение для проверки напряжения может плавать, у меня есть понижающий резистор, чтобы остановить дикие колебания (> 10 кОм)
После некоторого исследования я обнаружил, что +5 В на самом деле выводило 4,75 В, и изменил мой эскиз с
float v = (rawVIN*5.0)/1024.0;
в
float v = (rawVIN*4.75)/1024.0;
и показания напряжения на Arduino были теперь правильными. Я сделал это не потому, что я понимаю, что я сделал, я сделал это, потому что у меня была догадка, это может изменить значение на правильное.