질문 :
- ADC 카운트를 전압으로 변환하는 것은 +5 V 핀의 실제 전압에 따라 달라 집니까?
- 그렇다면 보드에서 해당 전압을 얻는 방법은 무엇입니까?
배경 / 세부 :
USB 커넥터 (허브)에서 Arduino Nano (복제)를 실행하는 회로가 있습니다. 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.13V이지만 Nano는 4.35V를보고합니다.
- 배터리와 Arduino 사이에 공통 접지가 있습니다.
- 전압을 테스트하기위한 연결이 플로팅 될 수 있으므로 과도 변동을 방지하기위한 풀다운 저항이 있습니다 (> 10 kΩ)
조사 후 +5 V가 실제로 4.75 V를 출력하고 스케치를
float v = (rawVIN*5.0)/1024.0;
에
float v = (rawVIN*4.75)/1024.0;
Arduino의 전압 판독 값이 이제 정확했습니다. 나는 내가 한 일을 이해했기 때문에이 일을하지 않았으며, 직감이 있었기 때문에 값을 올바른 것으로 바꿀 수 있었기 때문에 그렇게했습니다.