Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

High Z input stage for ADC

Status
Not open for further replies.

CarbonWerkes

New member
Mar 15, 2006
62
0
0
US
Hi-
I have a data logging application which will see 0-15V on some high impedance sources. There will be 12 or more inputs needed- and I have 20+ ADC channels on the microcontroller that will handle the sampling; 12 bit, but that is adequate for my application. To minimize load on the sensor being logged, I will need to keep the input stage > 1M (10M would be ideal). The sensor output is DC, so freq response is less an issue here than is part count/cost. Presumably, I can just use a 15V-tolerant Jfet opamp in unity mode, and feed that through a divider to get to the 0-3V ADC input(s)- on a per-channel basis.

I was wondering if it would make more sense to put the buffer behind the divider, use high values on the series/parallel input resistors, and then perhaps a small cap on the input to the jfet to filter EMF? That way, I have more flexibiity in selecting opamps (0-5V etc), and I have near 0 impedance into my ADC.

OR- is there a multiplexer approach here? Seems that there are very few that can deal with 15V, and they tend to have significant capacitance such that at high switching rates there would be high load on the source (sensor) signal.

Any thoughts are appreciated-
Rob
 
Replies continue below

Recommended for you

Need more info..

What are your 'high impedance sources'?

How far away are they?

What will be the typical electromagnetic environment?

What is the absolute slowest speed you can read these at?

I hope you recognize that getting 12bits out of ANY microcontroller's internal A/D is pretty much a bad joke.

What is the cost sensitivity of this data system?

Do you provide the sensors?



Keith Cress
kcress -
 
Keith-
Sources are automotive sensors- NTC or potentiometer typically. Problem is, I need to tap into existing sensor lines with as little loading as is reasonably possible. If a typical NTC sensor is 500-3K, and Im at 100K on sensor ins, that has more impact than I would like to impose.

Sensors are 1-10ft distance in terms of wire length. Typical automotive setup- teminating at the ECU.

EMI is generally hostile near the sensors- but typically the OEM has implemented some local shielding, twisted wire, etc to minimize that. Internal to the logger, minimal.

Slowest would be 10hz, preferred would be 100hz.

I have had decent luck with 12 bit ADCs on some new uCs, so long as there is careful attention to grounding and signal conditioning. With my current uC, I have 1 lsb jitter at 12bit, and absolute accuracy to within 1% full scale. Nothing special- but given that OEM sensor accuracy is +/-5%, and generally non-linear, they are typically the weak link in that chain.

Cost sensitivity is moderate- something like $30 for the ADC section would be a reasonable target.

While I may provide sensors, some applicatins will need to leverage legacy sensors- hence the need for the larger input range (and preference for higher impedance). There will be some sensors that would not be monitored directly (strain gauges, thermocouples)- so there would be a tap into their respective signal conditioner output, or just parallel sensors with dedicated signal conditioning.

Best-
R
 
Well then..

Automotive. No all pervading 60Hz, so using any 50/60Hz 100+ dB filtering delta-sigmas is not going to be an advantage.

Your various sensors are going to dictate some different channel buffering so an alternative A/D is not going to get you any big advantage unless you need to free up more CPU pins.

You're OK with the CPU's A/D, so adding an external one and muxing is no real advantage and would cost $$ better spent elsewhere.

While you have some EMI it isn't anything like some industrial situations. It's also higher frequency. The worst is probably the alternator's rectification diode stuff, perhaps some ignition noise.


I'd proceed with your original plan. Use some front end cap filtering to clip the fast stuff. Include some beads. Use a handful of amps, add some opamp low pass filtering.

Look for low drift - not easy in j-fet land. Drift will tear you up in 12bit A/D land.




Keith Cress
kcress -
 
Hi Keith-
Thanks very much for your input here- no pun.

I do have a topology question remaining. The assumption is that I will use a resistor divider network to scale the 0-15 to 0-3V. My current thinking is that it is beneficial to implement that as the first stage, feeding into a Sallen-Key-based filter into a rail to rail opamp. The upside as I see it is that the high-impedance section of this approach is minimized (trace length), so it would be less likely to pick up EMF- and, because the divider would help a bit with ESD, there would be less stress on the opamp's internal ESD diodes. Also, since the output of the opamp would feed directy to an ADC input on the uC, the impedance is low and I would not likely need addition caps on the far side.

Conversely, the opamp might be the first stage, feeding a divider. Benefit there is higher impedance on the input, but I dont see much else in favor of this approach.

One other thought I had was a matrix switch, so that I could route a given input through one of several divider networks- so that I can best leverage the full scale of the ADC. But, that seems to add a lot of complexity unless the matrix switch can take a 15V input. And I have not seen any that are happy above 5V.

Would you favor the divider as a first stage in this type of application?

Best,
R
 
Ahrgh. Negative, negative, negative - pull up - PULL UP!!

Whew that was close...

No you do not want to use large value resistors in your front end. That's what your opamp front ends are for.

Resistors generate noise of their own and the larger the resistance the more the noise.

Also, lobbing a big resistor in front of your A/D will invite all your board noise to jump on too.

Good defensive design would include up to a few few k Ohms in front of your amps to provide protection from current insults due to handling or transients. Use this protective resistor for filtering by following it with a cap.

If you really need varying front end stuff look at some PGAs.



Keith Cress
kcress -
 
True that resistors have some noise. But nothing compared to ignition noise in an ICE. I am doing some design right now where we are picking thermocouple signals from inside the cylinders. Guess where we get the interference from :-(

Our approach is opposite. The ignition noise is quite strong. It would (does) saturate the opamps in an SK filter. So, we use a two pole dual path passive filter and an IA to amplify the signal after the filter. I know that that isn't kosher, but it works and is simple.

Bias current is not a concern in our application. We use a 12 bit internal AD and need about 10 bit resolution and around 1 percent accuracy. With bias currents in the nA range, we can use ten kohms with no problem. And offset voltage would not be a big problem either if you have volt signals to deal with. Ours are in the mV region. So we have to be somewhat careful there. Luckily, the two input amplifiers in the IAs track quite well. So things work better than expected. For once...


Gunnar Englund
--------------------------------------
100 % recycled posting: Electrons, ideas, finger-tips have been used over and over again...
 
Hi Gunnar
Thanks for your feedback also. Im curious about the topology you mentioned. Im not familiar with a dual-path filter for a single input, unless that is a hybrid (passive/active). But your message says passive. So is this referencing just a dual input (for the TC as differential) vs a dual path in the more conventional sense?

Also, in my application, I am monitoring existing volt-level sensor loops- so my impedance must be high. Now, some of my testing and sims suggest that a passive pre-stage filter/divider is OK at 1 MOhm, as long as I keep the trace length from the divider to the Opamp as short as possible. If I setup a topology where the divider is literally opposite side of the amp, the trace length is < 3mm. So that section which would be sensitive to EMF is low, and the remainder of the circuit is low impedance.

So I just wonder if your experience with your approach is more specific to your TC application, or if you have found that this approach is clean even for volt-level DC signals with some ignition noise and lots of flyback spikes in the vehicle (which always seem to find their way into the sensors!).

Best,
R
 
Yes, you are right. Our TCs are floating. Not ground referenced. So we use RCRC in both positive and negative paths.

In your case, I think that a good old voltage divider would do the job. Limiting bandwidth with capacitors is simple and makes the signal path low impedance for the interference signals - you have the high DC impedance you need and get the low HF impedance as well. If your signal's "payload" is in the 0 - 100 Hz or so range, you really do not need much of a filter to get rid of noise in the 100++ kHz region, which is where ignition noise is.

Using an opamp in an SK filter makes things more sensitive in an automotive application since you have to consider the opamp's common mode range as well as the high impedance nodes that exist in such a filter.


Gunnar Englund
--------------------------------------
100 % recycled posting: Electrons, ideas, finger-tips have been used over and over again...
 
Also, if your AD needs a low impedance source, you need to put a buffer amplifier between voltage divider and AD/mux. I know you know that already. Added this comment so no one thinks it works with just a high impedance divider.

Gunnar Englund
--------------------------------------
100 % recycled posting: Electrons, ideas, finger-tips have been used over and over again...
 
Hi Gunnar
Well, the original design thought was as you suggest here- a high-impedance divider network (approx 1MOhm), into a unity-programmed opamp- perhaps with a small analog filter in between. The SK was only a thought. But Keith brought up good points, in that with a high impedance network up front, more noise is amplified than in the reverse topology with the opamp as stage 1 (behind a low value series resistor).

One important concern with the buffer as stage 1 is failure mode. I dont know all the modes possible in a common opamp (i.e. 741 type), but if one of them is to crossbar 2 or more non-inverting inputs, that would be a disaster for the monitored vehicle. I discounted using a Mux as stage 1 because they tend to fail in this mode, and also revert to this state when there is a supply failure. Series resistance sufficient to limit that concern gets me back to where Keith's point hits home re: resistor noise.

R
 
Gunnar has a pretty good link there. Just be careful that the author's 'Power Spectral Density' is in units of V^2/Hz, not W/Hz (watts/Hertz) because he took P=V^2 instead of P=(V^2)/R.

V^2/Hz = 4kTR

W/Hz = 4kT (Johnson noise)

That's fine if you stay in the voltage domain, but watch out if you switch to power or current densities. Wow, I learned that almost 10 years and 10 months ago to the day; I still have the notes to prove it!

Z
 
Status
Not open for further replies.
Back
Top