ADC Voltage Drift

Go To Last Post
7 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

My apologies if this has been asked and answered before, I just can't seem to find it searching the forums or Google.

I am using an ATMEGA328 ADC to convert an amplified photodiode signal run through a low pass filter. My conversion values at power up when measuring are consistent, and then consistently drift by decreasing slowly over 5 minutes to 90% of the original value (a 10% decline). Then they stabilize. I am using AVCC with a 0.1uF external cap.

I am trying to figure out why the ADC would change over time. Possibly as a result of heat? I am using a 9 volt alkaline battery with a MIC5205 VLDO voltage regulator. Could it be a power supply issue? The behavior is consistent if I power off, wait a few minutes then power on again.

Any help would be much appreciated.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

When you look at the input signal voltage right at the AVR pin, what levels do you see?
You haven't said anything about reference. I'm reading between the lines that you are using AVcc as Vref, with a cap on the AREF pin. What voltage levels do you see there?

Is there a self-heating effect with the diode itself?

It would appear that all the above could be done with a decent voltmeter.

What ADC clock are you using?

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

To cut the problem in half and look at the input side vs the output side to see where the problem is. Use a stable voltage reference instead of the amplified diode signal. This will eliminate 1/2 of the problem as it will confirm of the chip ADC is changing or your amplified diode signal is changing. Sounds like temperature is the problem though.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for the replies. Very much appreciated.

Yes I am using AVcc as Vref.

The photodiode is receiving very low levels of light, so it should not be heating.

I am using a 16MHz external crystal oscillator and a division factor of 128 for a 125KHz clock signal to the ADC.

I will cut the problem in half. Using the voltmeter is tricky because if I move the photodiode around even a little, my voltages jumps around, and the photodiode is on a common board with the ATMEGA.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Using the voltmeter is tricky because if I move the photodiode around even a little, my voltages jumps around, and the photodiode is on a common board with the ATMEGA.

Huh? That all sounds pretty fragile to me. Especially the part about not being able to use a voltmeter or 'scope or other probe.

Tack some lead wires onto test points.

The sanity check seems pretty obvious: apply a fixed voltage and watch that.

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Good point about sanity check.

The photodiode has a large surface area, and is exquisitely sensitive to light. Even small movements will make readings bounce around, which is compounded by the large capacitance of the photodiode. Actually quite sturdy. So you are right, wires are the way to go. Thanks.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The problem was at the photodiode. The MEGA328 was rock solid and heat wasn't the issue.