質問:
- ADCカウントの電圧への変換は、+ 5 Vピンの実際の電圧に依存しますか?
- はいの場合、ボードからその電圧を取得するための一般的な方法は何ですか?
背景/詳細:
USBコネクター(ハブ)からArduino Nano(クローン)を実行している回路があります。Arduinoの仕事は、Nanoによってオン/オフに切り替えられた2番目の回路を駆動するバッテリーの電圧を測定することです。参考のため、バッテリーテスターです。
下の非常に簡単なスケッチの電圧を表示する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 Vでしたが、Nanoは4.35 Vと報告しています。
- バッテリーとArduinoの間に共通のグラウンドがあります。
- 電圧をテストするための接続がフローティングになる可能性があるため、プルダウン抵抗を使用して、大きな変動(> 10kΩ)を停止します
いくつかの調査の後、+ 5 Vが実際に4.75 Vを出力していることがわかり、スケッチを
float v = (rawVIN*5.0)/1024.0;
に
float v = (rawVIN*4.75)/1024.0;
そして、Arduinoの電圧測定値が正しくなりました。私がやったことを理解しているからではなく、値を正しい値に変更するかもしれないという予感があったので、私はこれをしました。