Go Down

### Topic: ADC accuracy problem (Read 153 times)previous topic - next topic

#### SupArdu ##### May 07, 2019, 09:05 pm
Hi,
after having some problems measuring analog voltages with an Arduino Nano in my application I made a test setup:

Curcuit:
- the output of a reference voltage chip is connected to Vref of the Nano; reference voltage = 2.46 V
- a potentiometer between Gnd and 5V output of the Nano provides a variable voltage to A3.
- a voltmeter is connected to A3

Code:
Code: [Select]
`int V_batt;int i;setup {  analogReference(EXTERNAL);  while (1) {    V_batt=0;    for (i=0; i<16; i++) {      V_bat += analogRead(A3);      delay(1);    }    V_batt = (V_batt + 8)>>4;    Serial.print("V=");    Serial.println(V_batt);    delay(500);  }}`
With this simple test setup I varied the analog input via the potentiometer and made a table with several different voltages at A3 and the values of V_batt on the Serial Monitor.

With the reference voltage of Vref=2.46 V the formula V_A3*1023/V_batt=Vref should always verify that Vref=2.46. But this never is true! My measurements are resulting in varying values of Vref=2.48 ... 2.82 V (mean value 2.7258).

The values are varying because the voltmeter only has a resolution of 10 mV. That's ok.
But I cannot find an explanation for the high mean value of computed Vref. The ADC seems to see 2.7258 V at the Vref pin instead of 2.46 V.

Has anybody an explanation?

-------------------
have success
SupArdu

#### PaulS #1
##### May 08, 2019, 12:28 pm
Quote
But I cannot find an explanation for the high mean value of computed Vref.
Since you didn't show us how you arrived at that value, you can't expect us to explain it.