06-08-2012 11:27 AM
Hello everyone!
I'm sorry for my bad English . I have a few questions about a problem I can't solve.
I have created a program to calculate errors of 8 bit ADC 0804. Program is based on servo-loop method. I write a code from 0 to 255 (Compare_Val) and program is comparing that value with digital output value. Depending on this comparison analog output is incremented or decremented by step value. When compare value and digital input are close enough red dot is plotted on ADC graph. The converter is in free running mode and the program is plotting all voltages from 0 to 255. Converter is working fine until analog output (input) reaches 4.4V (Code 220), after 4.4V converter doesn't work fine (I'm getting quite a big error) until the program reaches code 255 (the last code is plotted properly). The image will make things more easy to understand (lower graph is error plot-plotting Vreal-Videal). Vcc is 5.12 V and I was thinking that the issue could be in fact that voltage measured on pin 9 is 1.48 and it should be 2.56 V.
Does anyone know why I' m getting so big deviation after 4.4 V ?
Thank you!
06-08-2012 02:47 PM
Spend more time with a DMM to see if the input, supply and reference voltages are what you expect. Keep the input fixed while watching the output code and see if the conversion matches with the voltages (try at a Vin of about 3V, then again at about 4.6V).
The datasheet shows a Full Scale adjustment method.
06-09-2012 07:47 AM
Thank you for your answer Todd.
I spent some time with DMM, and when I use DC Laboratory power supply everything works fine. When I'm using Labview analog output doesn't go above 4.4V. I think Full Scale adjustment wont help much because there is a big error about 24-25 LSB.
06-11-2012 03:42 PM
Hi Vex89,
Please clarify the following questions:
I look forward to your clarifications and hope that you have a great day!
Regards,
Jackie B
06-16-2012 07:23 AM
Thank you Jackie_B, i've solved this problem. It was an issue with reference voltage, program didn't had any mistakes.