|
|
View previous topic :: View next topic |
Author |
Message |
ernest
Joined: 11 Feb 2004 Posts: 51
|
HELP - 16-bit ADC |
Posted: Tue May 11, 2004 5:10 am |
|
|
Hello,
I am looking for a highly accurate and reliable 16-bit ADC for my project. Initially, I have tried out my program using the 10-bit ADC built-in with PIC16F877A. Basically, the program works fine to display voltage readings accurately.
However, the 10-bit is not sufficient for our application which requires highly accurate reading of up to 4 decimal points ie. from 0.xxxx -- 5.0000V.
I have tried the 16-bit LTC1605 and LTC1603 ADCs but they do not work well. The readings from ADC are not accurate and fluctuate all the time.
This is my first time using a 16-bit ADC, so could anyone out there please advise how I can precise and accurate readings from the ADC.
Thanks...
Ernest |
|
|
prwatCCS
Joined: 10 Dec 2003 Posts: 70 Location: West Sussex, UK
|
|
Posted: Tue May 11, 2004 5:28 am |
|
|
PCB layout, grounding and appropriate filtering of your input signals will be your biggest challenge.
Not really a software issue .... _________________ Peter Willis
Development Director
Howard Eaton Lighting Ltd UK |
|
|
Haplo
Joined: 06 Sep 2003 Posts: 659 Location: Sydney, Australia
|
|
Posted: Tue May 11, 2004 5:29 am |
|
|
The problem may not be related to the precision of your A/D chips, but to your circuit in general. I strongly recommend you to watch the Microchip's online seminar video on ADC circuits. You can access it here (under the name "Techniques that Reduce System Noise in ADC Circuits, recorded on the 18th of Feb 2004"):
http://techtrain.microchip.com/webseminars/WebSemCListArch.aspx?mode=arch
It is around 20 minutes, and well worth it. |
|
|
Ttelmah Guest
|
Re: HELP - 16-bit ADC |
Posted: Tue May 11, 2004 5:33 am |
|
|
ernest wrote: | Hello,
I am looking for a highly accurate and reliable 16-bit ADC for my project. Initially, I have tried out my program using the 10-bit ADC built-in with PIC16F877A. Basically, the program works fine to display voltage readings accurately.
However, the 10-bit is not sufficient for our application which requires highly accurate reading of up to 4 decimal points ie. from 0.xxxx -- 5.0000V.
I have tried the 16-bit LTC1605 and LTC1603 ADCs but they do not work well. The readings from ADC are not accurate and fluctuate all the time.
This is my first time using a 16-bit ADC, so could anyone out there please advise how I can precise and accurate readings from the ADC.
Thanks...
Ernest |
The first obvious comment, is that you are going to need _very_ careful hardware design. The LTC1603, and 1605, are perfectly capable of giving repeatable readings, is the circuitry around them is good enough. Remember though, that if (if instance), you are using such an ADC, with a 2.5v reference, the 'single bit', change, is only 0.038mV. To get stable 16bit readings, requires that the whole section of the circuit, is built to minimise noise, that the voltage reference is stable to the levels required, and that the input circuitry itself is built/designed to minimise drift. Digital circuitry is you 'enemy' in this regard, as are things like switch mode supplies. Ideally build the input amplifier/buffer, and ADC, on it's own section of board, wth it's own ground plane. Provide a seperate supply to this section, and 'post regulate' this using a linear regulator. Only make a single 'ground' connection between this and the processor area, with the minimum number of logic signals needed to control the ADC.
There is also a significant question regarding the type of ADC involved. The converters used on most DVMs, are 'integrating' designs, and tend to average out high frequency noise. This is a good thing' if you are looking at slowly changing signals, but a 'poor thing' if you want to see rapid signal changes. Depending on your application, you may well find the integrating converter the better bet.
You also need to look carefully at the stability of parts. If you are working as a pure 'voltage' value, component stability will become a major issue. If possible, it is much easier to get good accuracy, if you work 'ratiometrically'. If (for instance), the voltage is derived from a current change in a transducer, if both the ADC, and the transducer circuit use the same voltage reference, drift in this will normally be largely cancelled out. Op-amps themselves, are also not stable to the sort of level needed here (look at 'chopper stabilised' designs).
It is a lot harder to produce a genuine 16bit accuracy, than to produce (say) a 16 bit 'delta' system (this is the approach used in things like CD players, where the absolute accuracy of the data is far lower than the 'relative' accuracy. However it is the latter that is important for musical reproduction. It may be that by thinking carefully, you can reduce the need for such high accuracy levels.
A properly designed 6bit ADC, achieving repeatability to the last bit, is not 'trivial' to get working...
Best Wishes |
|
|
SteveS
Joined: 27 Oct 2003 Posts: 126
|
|
Posted: Tue May 11, 2004 6:38 am |
|
|
How fast do you need to sample?
If it's slow - use a delta-sigma converter or integrating converter. As mentioned, the integrating converter filters out the noise effectively. The delta-sigmas do too and are generally constructed to have notches at 50 and/or 60 Hz to kill line noise. I pull out uV signals completely lost in noise with a delta-sigma converter (and a few other tricks).
A successive-approximation ADC depends on you to hold the sample steady during conversion via the sample-and-hold. These are usually built in now, but in any case it samples the signal at an instant and holds that value for the ADC to work on. Any noise will cause variance each time that sample is taken. If it's really noise, you can postfilter in software and achieve benefits similiar to the slower converters. If it's 60 Hz hum or some other not-so-random noise you will need to know that and construct a post filter (or prefilter) to deal with it.
And then there's aliasing.......
In short - if you can stand low sample rates look at delta-sigma and integrating ADC.
- SteveS |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|