Go Down

### Topic: Analog 1.1 VDC A/D reference does not compute? (Read 1 time)previous topic - next topic

#### ArduinoAndy

##### Jun 09, 2009, 06:47 pm
Using the internal analog 1.1 VDC A/D reference does not compute?

I am using a temperature sensor LM34DZ as an input to an Arduino analog input.
The "default" internal voltage ref of ~ 5 vdc is being used.
The LM34DZ outputs a voltage equal to 10mv/deg F.
The analog voltage input reads 0.7952 volts @ 10mv/F = 79.52F
The analog count is 159 out of 1024 steps or 0-1023 (10 bit A/D)
159/1023 = .155425219941 X 5000 (mv) = 777.126099705 / 10 mv/F = 77.71 F
This calculation both on the front end voltage and the A/D count is close.

Notes: The exact voltage ref (default) is not exactly 5 VDC but a number close to 5 VDC eg 5.06982.
This gives the calculation 78.77F. vs 79.52F using a 50,000 count voltmeter.
This default ref voltage varies between chip to chip.
The accuracy of the "cheaper" LM34DZ is +-2F

I decided to use the internal A/D 1.1 VDC Voltage ref by using the new command
analogReference(INTERNAL);
The AREF on pin 21 changed from 5VDC to ~ 1.0729 VDC.
The count changed from 159 to 252 with the same input voltage from the LM34DZ.
What does this count of 252 represent?

Note: I am using rev 14 and my various chips are 168P/328P with approximately the same results.
Note: The AREF is not connected to any external voltage source.

"Never trust an Internet bully who insults and makes fun of your level of intelligence."

#### RuggedCircuits

#1
##### Jun 09, 2009, 07:37 pm
That....makes no sense. I would have expected a count closer to 720.

#### ArduinoAndy

#2
##### Jun 09, 2009, 07:56 pm
I am "eating crow" on this one.
My variable is a byte and I needed to change it to an int when
changing to the 1.1 VDC internal ref.
count 778/1023 * 1100 / 10 works out to my new ambient temp.
"Never trust an Internet bully who insults and makes fun of your level of intelligence."

#### Marco Benini

#3
##### Jun 16, 2009, 11:58 am
Ciao,

if you are hanging the analog reference from standard to internal in the sketch take into account that a analog read + a delay are needed before internal reference is operational.

Here a portion of code that works for me
...
// Temperature sensor LM35DZ - Change of analog reference voltage
// Put to INTERNAL: 1.1 V
// One analog read + delay are needed to make change operational
analogReference(INTERNAL) ;
analogRead(5) ;  // 5 = analog pin 5
delay(100);

analog_val_temp = analogRead(5) ; // 5 = analog pin 5

analogReference(DEFAULT) ;
....

Have a nice day.
Marco.

Go Up

Please enter a valid email to subscribe