Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

ADC reference fluctuation

Not open for further replies.

vijay s

Full Member level 3
Jun 14, 2008
Reaction score
Trophy points
Coimbatore, India
Activity points
hai folks
i am using ADC with internal reference voltage.. here the accuracy depends on its reference volatge.. there is a possibility for fluctuation in reference voltage.. even mv change in reference becomes a problem in mission-critical application... is there any method to determine reference voltage fluctuation... i got a program from my friend for this.. i dont understand that since i dont have circuit diagram for that...

please anybody have any idea to share

Try reading a fix analog input, if reading changes probably unstable reference voltage. Filter capacitors sometimes help.

Well, you don't have a schematic. That's unfortunate. Do you at least know the part number of the ADC chip with internal reference that you're using? Could you post it?

I am using internal ADC of PIC16F877.

So, if you are using default configuration,it means Vref = VCC= +5V power supply.. -Vref=0V
Check your 5V power supply with an oscilloscope
fluctaion and noise level..
When using VCC as Vref, measure is ratiometrique, so no probleme if absolute value is 4.8V or 5,1V

Better test is to apply a know voltage trough a potentiometer conneted between +5V and 0V
and slider at 50% .. so 2,5V apply to ADC input
By software check if you get around 512 points and measure the deviation during any minutes
or maybe for 64 consecutives measures taken at 100mS
average = somme(indivual measure )>>6

by getting the average,maxima ,minima will have an idea of the quality of the measure.

The main problem with using the Vdd/Vss as references is the variation in voltage between units and possibly noise from the digital part of the MCU. To reduce the noise you can use the external input for the Vref+ and filter it with an inductor and capacitor. To make the reference stable at a fixed value needs an external voltage reference with capacity to work as Vref.

Another approach is to use an accurate voltage reference of 2.5V and use one of the inputs to read this. If the Vref is correct(5V) you should read 511, if you read another value, just calculate the current error ratio, and use this for your other ADC readings to calculate the correct value. If your inputs are absolute and not depending on the Vdd, a resistor network as described above will not work to get a correct ratio.

Using many samples and averaging is ok as long as you don't use fast changing signals. Then you need to make every sample count.

Not open for further replies.

Part and Inventory Search

Welcome to