Searching \ for '[PIC]:16F877 A/D converter noise' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/microchip/ios.htm?key=a%2Fd
Search entire site for: '16F877 A/D converter noise'.

Exact match. Not showing close matches.
PICList Thread
'[PIC]:16F877 A/D converter noise'
2000\12\08@084657 by Eric Strauts

flavicon
face
I am using the 10-bit A/D converter in the PIC16F877 to digitize 2
signals at a rate of 2000 samples per second for display on an LCD
screen. I seem to always have about 10 counts of noise even
when I put a large capacitor bypassing the RA0 and RA1 input pins
to ground.

I am using a 16 mHz clock frequency that I can't reduce.

I think I am following the datasheet recommendations:

tad=32Tosc
low impedance drive from an op-amp
wait 20uS between reading RA0 and RA1
.1 uF bypass caps near the chip power pins.
LM336 - 2.5 volt reference on RA3 bypassed with 10uF
software is written in CCS-C and uses the built in read_adc()
function

Is there some secret to getting true 10-bit accuracy. I don't even
have 8-bit now.

--
http://www.piclist.com hint: PICList Posts must start with ONE topic:
[PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads


2000\12\08@091019 by Michael Rigby-Jones

flavicon
face
{Quote hidden}

Just implemented some ADC code on a project and tested it today.  I am using
Vcc and 0v as the references and I'm getting a rock solid reading, only
getting jitter on the LSB when it approaches it's switching point.  This is
using a 20 MHz crystal, but this is on a PCB we nice power and ground planes
and I'm only using one channel at a low sampling rate (20 samples/sec).  I
would check the supply to your PIC, both Vcc and ground and make sure they
are as quiet as possible.  The ground pin of your reference should be
connected as closely as possible to the ground on the PIC.

Regards

Mike

--
http://www.piclist.com hint: PICList Posts must start with ONE topic:
[PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads


2000\12\08@092027 by Andrew Kunz

flavicon
face
2.5V is the floor for the ADC to work.  Try a higher Vref.

How stable is the PIC's supply?  Do you have both gnd pins tied to ground?  You
should be treating the gnd near the adc as an AGND.

Andy

--
http://www.piclist.com hint: PICList Posts must start with ONE topic:
[PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads


2000\12\08@092650 by Wynn Rostek

flavicon
face
Eric,

Have you looked at the signals with a good 'scope at the 'F877 input pins to
make sure the noise is not present?

Wynn Rostek

{Original Message removed}

2000\12\08@101801 by David Kott

flavicon
face
{Quote hidden}

Ahh... noise reduction.  It is indeed and truly a Black Art (tm).

Bypassing is good, you're on the right track there.

How does your PCB layout look?  What kind of noise do you have on your
rails?  I presume you used at least one ground plane, if not a four layer
board.  Multilayer boards generally reduce noise by 20dB(1).

On way, programmatically, that you can improve your readings is to put the
processor into sleep while acquiring.  I see that you need samples every 0.5
mS.  It would appear that putting the processor to sleep is not an option.
I seem to recall reading that the MPU takes a few mS to start up in HS mode.

Regards,

-d


(1) Kimmel and Gurke "EMI bullets".

--
http://www.piclist.com hint: PICList Posts must start with ONE topic:
[PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads


2000\12\08@135040 by mike

flavicon
face
On Fri, 8 Dec 2000 07:30:41 -0600, you wrote:

>I am using the 10-bit A/D converter in the PIC16F877 to digitize 2
>signals at a rate of 2000 samples per second for display on an LCD
>screen. I seem to always have about 10 counts of noise even
>when I put a large capacitor bypassing the RA0 and RA1 input pins
>to ground.
>
>I am using a 16 mHz clock frequency that I can't reduce.
>
>I think I am following the datasheet recommendations:
>
>tad=32Tosc
>low impedance drive from an op-amp
>wait 20uS between reading RA0 and RA1
>.1 uF bypass caps near the chip power pins.
>LM336 - 2.5 volt reference on RA3 bypassed with 10uF
>software is written in CCS-C and uses the built in read_adc()
>function
>
>Is there some secret to getting true 10-bit accuracy. I don't even
>have 8-bit now.
Try eliminating possible noise sources one at a time  to find out the
root cause. A few things to try : Run at a slower clock
Sleep whilst doing the conversion
Put a series resistor in the op-amp output - I've known some opamps to
glitch when an a/d input mux changes. Add some extra delay between setting the input channel and starting
the conversion.
Prove it's not your amplifier by feeding a known stable signal (e.g.
1.5v battery) into the ADC pin. Prove it's not reference noise, e.g. by using a 3v battery. Make sure your oscillator grounding is correct (osc caps direct to
ground pin with nothing else on the same track branch.  
I've not used 10 bit mode, but Microchip's 8-bit ADCs have always been
very good when used properly - you can often get the output to sit on
one single value.
--
http://www.piclist.com hint: PICList Posts must start with ONE topic:
[PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads


More... (looser matching)
- Last day of these posts
- In 2000 , 2001 only
- Today
- New search...