Câu hỏi:
- Việc chuyển đổi số đếm ADC thành điện áp có phụ thuộc vào điện áp thực tế của chân +5 V không?
- Nếu có, phương pháp được chấp nhận để có được điện áp đó từ bảng là gì?
Bối cảnh / Chi tiết:
Tôi có một mạch trong đó tôi có Arduino Nano (bản sao) chạy từ đầu nối USB (từ một hub). Công việc của Arduino là đo điện áp trên pin sẽ điều khiển mạch thứ hai được bật / tắt bởi Nano. Để tham khảo nó là một thử nghiệm pin.
Có một màn hình Nokia 5110 hiển thị điện áp từ bản phác thảo rất đơn giản dưới đây.
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);
}
- Tôi đã đo điện áp của pin bằng DVM và nó là 4,13 V, nhưng Nano báo cáo 4,35 V.
- Tôi có một điểm chung giữa pin và Arduino.
- Vì kết nối để kiểm tra điện áp có thể nổi, tôi có điện trở kéo xuống để dừng dao động hoang dã (> 10 kΩ)
Sau một số điều tra, tôi thấy rằng +5 V thực sự đã xuất ra 4,75 V và thay đổi bản phác thảo của tôi từ
float v = (rawVIN*5.0)/1024.0;
đến
float v = (rawVIN*4.75)/1024.0;
và đọc điện áp trên Arduino bây giờ đã chính xác. Tôi đã làm điều này không phải vì tôi hiểu những gì tôi đã làm, tôi đã làm nó bởi vì tôi có linh cảm nó có thể thay đổi giá trị thành đúng.