Sorular:
- ADC sayımının voltaja dönüştürülmesi +5 V pininin gerçek voltajına bağlı mı?
- Evet ise, bu voltajı karttan almanın kabul edilen yöntemi nedir?
Arka plan / Ayrıntı:
Bir USB konektöründen (hub'dan) çalışan bir Arduino Nano (klon) kullandığım bir devrem var. Arduino'nun görevi, Nano tarafından açılıp kapatılan ikinci bir devreyi çalıştıracak bir akü üzerindeki voltajı ölçmektir. Referans için bir pil test cihazıdır.
Aşağıdaki çok basit çizimden voltajı gösteren bir Nokia 5110 ekranı var.
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);
}
- Pilin voltajını DVM kullanarak ölçtüm ve 4,13 V, ancak Nano 4,35 V bildiriyor.
- Batarya ve Arduino arasında ortak bir zemine sahibim.
- Gerilimi test etmek için bağlantı yüzebileceğinden, vahşi dalgalanmaları durdurmak için bir açılan direncim var (> 10 kΩ)
Bazı araştırmalardan sonra +5 V'nin aslında 4.75 V çıktığını ve çizimimi
float v = (rawVIN*5.0)/1024.0;
için
float v = (rawVIN*4.75)/1024.0;
ve Arduino'daki voltaj okuması artık doğruydu. Bunu ne yaptığımı anladığım için yapmadım, yaptım çünkü bir değere sahiptim, değeri doğru olana değiştirebilir.