Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Adc reading

Status
Not open for further replies.
iam reading in millivolt range from ADC but I am finding that the adc count is fluctuating in the range of 20s. Is it common or some mistake with the circuit? I plan to apply some filtering algorithms, can someone suggest some ? Will I miss any data with filtering? And for the adc to be constant what is the fundamental concept. Something I heard current should not be flowing to ground. Is it correct? what exactly is this?
sorry posted in wrong forum how to change to general electronics?
 
Last edited:
There are many different A/D chip designs, and they vary a lot in the way they handle the reference input, power supply variations, etc. Please post your circuit with the chip part numbers so we can better understand your application.

ak
 
There is always the last bit flashing is quantizing and the output is as good as the reference noise is actual. Trying to produce 20 bit data is very hard 8 bits is easy.
 
It is an inbuilt adc of the freescale microcontroller. The reference voltage is the same as micro voltage which is 5v and iam using it as 12 bit. So the minimum voltage is 5/4095 volts. Now my main doubt is reading lower voltages probably in milli volts is in any way different from reading higher volts.
 
So the resolution is about 1mV. If you are trying to measure only a few mV then the accuracy will be very low, e.g.10% error on a 10mV signal. Can you amplify your signal before passing it to the ADC?
 
As Ian says more information is required. What is the maximum input voltage you want to read. Does the microcontroller have a separate pin for the ADC reference voltage or are you forced to use the supply voltage ? Are you using a potential divider or op amp to scale the actual voltage you want to measure or is it connected directly to the ADC input. What is the source resistance of the voltage you are measuring ? What is the part number of the device you are using ? do you have a schematic diagram of your design ?

Les.
 
Every micro has a reference for the ADC... Most just use the rail as a reference. You can usually put a reference as low as 2v (ish) so you can measure 0 ~ 2V so you can achieve approximately .5mV...

The only other way is to amplify the signal!....
 
Ok thank you very much for the replies. My input range is 1.5 to 3.5v with 0.01v represents unit change. I have connected adc through voltage divider network. I do not know how to measure the source resistance of the adc device. I will amplify the signal.
 
Also remember to maximize your ADC reading.. You configure the TAD which depends on processor speed and input impedance.. If you have a high impedance, you need to get your sample time as long as you can, if the input impedance is low then you can afford a little more speed...

One problem that engineers have is they read the ADC too fast and the sample isn't right.. All the info is in the datasheet.. They sometimes specify "known" settings for different situations..
 
Your signal and measurement requirements are a very good fit for this converter. Your minimum required resolution is 1/10th that of the converter, your max input voltage is less than the converter's max, and you are using almost 50% of the converter's range. To start, all you need is a failly accurate voltage follower to drive the converter with a consistant low impedance. If you find later that you would benefit from more conversion range, then we get into DC offset and gain.

ak
 
If you don't carefully separate the analog ground from the digital ground and and connect the grounds together only at one point then digital noise can corrupt the analog signal.
I had that happen on a circuit board I was testing where there was excessive noise jitter in the LSB's.
It turned out that the board had been incorrectly laid out such that some of the analog ground pins were going to the digital ground plane.
Relaying out the board to properly separate the grounds solved the problem.

If you can't change the board, then you could use a running average filter on the ADC digital output.
To do a running average you store the digital word in a memory location.
For the next reading you add a fraction of the difference between the reading and the stored value (with sign), to the stored value.

The time-constant you use for the average function depends upon the frequency response you need for the input signal.
This time-constant is determined by the size of the difference fraction used for the averaging. For example if you used 1/10th of the difference as the fraction, then the time constant is about 10 times the time between samples (since a voltage charges to about 10% of its final value in 1/10 of a time-constant).
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top