NerdKits - electronics education for a digital generation

You are not logged in. [log in]

NEW: Learning electronics? Ask your questions on the new Electronics Questions & Answers site hosted by CircuitLab.

Everything Else » ADC Converter Resolution

January 20, 2012
by bcbarron
bcbarron's Avatar

I have taken a AD620BN signal amplifier and amplified the current from a load cell (load cell is attached to a slowly draining bag of fluid(for context)). The amplified current is routed to PC4 of the MCU. The MCU is converting it to a digital number. The output number is 3 digits and the fluctuations of the output number correspond to voltmeter readings at the PC4 location and anticipated results of the setup. The setup appears functioning. The three digit output from the ADC does not have the resolution I need so I multiplied it by 5 (after the ADC) to see if there was any more resolution available (undo any rounding that might be occuring). The new output is interesting but still does not have the clarity I need. I get strings of numbers like the following: 2585 2540 2500 2460 2415 2380 2345 2305

Notice that the last digit is always 0 or 5. What is going on here and is there any way to get another couple (or single) more digits of clarity or is this all the chip will provide? Does it have to do with the channels or bit number? At the edge of knowledge here.

Thanks, Brent

January 21, 2012
by Rick_S
Rick_S's Avatar

The maximum resolutin of the ADC is 10 bits or 0 to 1023. That range is from zero volts to your AREF voltage. To get your best resolution, you would need to determine what the maximum voltage your setup would deliver to the ADC then make AREF that voltage. So if your load cell setup at max output is putting out 3VDC then you would set your AREF to 3VDC. Then zero volts would be zero thru 3V at 1023.

If you need more resolution than that, you would have to use an external ADC with a higher resolution.

Rick

January 21, 2012
by bcbarron
bcbarron's Avatar

Thanks Rick!
I have tweeked the reference voltage for the amplifier and tweeked the amplifier gain as well. I have established the max input voltage (2.77 volts) from the amplifier to the ADC. I then added a bundle of resistors to make the AREF voltage 2.91 volts. However when I plug it into the AREF and test the voltage it reads 5.01 volts. In fact when I take the resistors off the AREF and have no jumper at all the voltage reads 5.01 on the AREF pin. Maybe this is correct.

Regardless when I plug in the resistors to jump Vcc to the AREF and create a reference voltage the output does not change so I figure I am missing something....perhaps in the code.

Thanks, Brent

January 21, 2012
by bcbarron
bcbarron's Avatar

I believe what I need to do is set the AREF reference to external. I dont' know how to cade that. Can anyone help?

Thanks, Brent

January 21, 2012
by Rick_S
Rick_S's Avatar

The tempsensor code sets the AREF for external reference. The easiest way to set an external reference to what you want is to use a potentiometer. Connect one side to VCC the other Side to Ground and the Wiper to AREF. Use at least a 10K pot. Then checking with wiper to ground with a DC Volt meter, set it so your wiper reading is what you want. The potentiometer makes up a basic voltage divider. Just attaching resistors to AREF doesn't do that unless you make the divider yourself by placing a resistor of one value to VCC the other end to AREF, then another between AREF and GND. If the resistors are both equal value, then AREF would be at 1/2VCC.

Make sure whatever you do that AREF is always equal to or above the max voltage you will apply to the ADC.

Rick

Post a Reply

Please log in to post a reply.

Did you know that binary numbers use base 2 to represent numbers, and these are important for understanding microcontroller registers? Learn more...