LPC2132 ADC input problems

Started by gmpundlik August 12, 2010
Hello,

I have a LPC2132/01 rev D8 using its ADC driven by a TLV2402 opamp. There is a 10k resistor and 15nF capacitor at the input of the ADC. There have been no problems with this arrangement as yet, but with a new revision of this board (no changes done to the ADC section, some minor changes elsewhere) there is a funny problem that has cropped up.

The ADC takes in a angular displacement input by a non-contact potentiometer, amplified and clamped by TLV2402s. When I make this displacement manually, the input voltage to the ADC reduces, that is ok.

But when I run it normally with the load on operated by a motor, this voltage actually increases. The frequency of these changes is only around 4-5 Hz and the waveform is ok till *BEFORE* the 10k input resistor - it decreases as expected. But on the other side of this resistor that is connected directly to the ADC input this voltage increases by about 800~900 mV. I even tried removing the 15nF capcitor to no avail. The ADC reading is in line with this increased voltage.

Since everything was ok before with the same setup, and that it is ok up till the input resistor, one can only conclude that the problem is somewhere in the controller ADC, perhaps something to do with its input impedance.

Does anybody have similar experience? I am going to try reducing the input resistor value, but any suggestions are greatly appreciated.

Thanks,
Girish

An Engineer's Guide to the LPC2100 Series

--- In l..., "gmpundlik" wrote:
>
> Hello,
>
> I have a LPC2132/01 rev D8 using its ADC driven by a TLV2402 opamp. There is a 10k resistor and 15nF capacitor at the input of the ADC. There have been no problems with this arrangement as yet, but with a new revision of this board (no changes done to the ADC section, some minor changes elsewhere) there is a funny problem that has cropped up.
>
> The ADC takes in a angular displacement input by a non-contact potentiometer, amplified and clamped by TLV2402s. When I make this displacement manually, the input voltage to the ADC reduces, that is ok.
>
> But when I run it normally with the load on operated by a motor, this voltage actually increases. The frequency of these changes is only around 4-5 Hz and the waveform is ok till *BEFORE* the 10k input resistor - it decreases as expected. But on the other side of this resistor that is connected directly to the ADC input this voltage increases by about 800~900 mV. I even tried removing the 15nF capcitor to no avail. The ADC reading is in line with this increased voltage.
>
> Since everything was ok before with the same setup, and that it is ok up till the input resistor, one can only conclude that the problem is somewhere in the controller ADC, perhaps something to do with its input impedance.
>
> Does anybody have similar experience? I am going to try reducing the input resistor value, but any suggestions are greatly appreciated.
>
> Thanks,
> Girish
>

Your 10k resistor leading to the ADC may be a problem. In general, uC ADCs want to be driven by low source impedance. Check the User Manual or Data Sheet.

I would drive the ADC with the output of an op-amp wired as a voltage follower.

Richard

gmpundlik wrote:
> Since everything was ok before with the same setup, and that it is ok up
> till the input resistor, one can only conclude that the problem is
> somewhere in the controller ADC, perhaps something to do with its input
> impedance.

I don't know that particular device, but in general, could it be an internal
pull-up resistor? Their values can vary wildly.

--

Timo

Hi,

rtstofer wrote:
> Your 10k resistor leading to the ADC may be a problem. In general, uC ADCs want to be driven by low source impedance. Check the User Manual or Data Sheet.
>
> I would drive the ADC with the output of an op-amp wired as a voltage follower.

I would advise keeping the resistor, but reduce its value to around
100ohms or so. When the ADC samples its input the step change in
current (as the internal sampling capacitor charges up) can
destabilise some op-amps, to the point their output will ring. A
smalll resistor will reduce or prevent this.

Cheers,
Neil
--
http://www.njohnson.co.uk
Hello all, thanks for all the suggestions.

Actually, I forgot to mention that the amp stage prior to MCU input is AD8226 instrumentation amplifier. The output of AD8226 is fed to the MCU ADC through a 10k/15nF network. This 10k value is ok since I have been using it successfully for a while. The maximum recommended series resistance for LPC2000 MCUs is 40k (page 218 section 5.4 of the user manual rev 06, 25 July 2006), I think 10k is very much in line with specs.

Anyway, the problem has been solved - and the reason was as weird as the problem itself! The ferrite bead used to filter analog supply was was soldered badly and AVDD was showing 2V4~2V7 instead of 3V3. Apparently the input clamp diodes were forward biased when the 3V signal arrived at the input. It did work in static conditions, when I moved the wheel slowly, the voltage dropped as it should, but when the wheel was moved by a motor, the ADC input increased instead of decreasing.

I suppose the forward biased clamp diode and the internal sample hold capacitor formed a voltage multiplier when the input signal was varying at kHz frequency.

I just soldered the ferrite bead properly and it worked ok.

Thanks,
Girish

Hello all, thanks for all the suggestions.

Actually, I forgot to mention that the amp stage prior to MCU input is AD8226 instrumentation amplifier that amplifies and shifts the signal i.e. zooms into the region where it varies. The output of AD8226 is connected to the TLV2402 voltage follower which clamps the output to 3V3, that is fed to MCU ADC through a 10k/15nF network. This 10k value is ok since I have been using it successfully for a while. The maximum recommended series resistance for LPC2000 MCUs is 40k (page 218 section 5.4 of the user manual rev 02, 25 July 2006), I think 10k is very much in line with specs.

Anyway, the problem has been solved - and the reason was as weird as the problem itself! The ferrite bead used to filter analog supply was was soldered badly and AVDD was showing 2V4~2V7 instead of 3V3. Apparently the input clamp diodes were forward biased when the 3V signal arrived at the input. It did work in static conditions, when I moved the wheel slowly, the voltage dropped as it should, but when the wheel was moved by a motor, the ADC input increased instead of
decreasing.

I suppose the forward biased clamp diode and the internal sample hold capacitor formed a voltage multiplier when the input signal was varying at kHz frequency.

I just soldered the ferrite bead properly and it worked ok.

Thanks,
Girish