Insane Hydraulics

Site theme image

Super Pressure Gauge - Choosing the ADC and Designing the Circuit

I must say that choosing an analog-to-digital converter for the Project Super Pressure Gauge was not easy at all - I am an awfully slow picker, and I need to browse through multiple options before I make up my mind, and I usually do it several times in a row.

I (finally) made my choice - the ADC that I am going to be putting through its paces will be the AD7195 from Analog Devices. For better or worse - I am not looking back because at this point my brain begins to swell even if I think about looking through another datasheet. So, allow me to present and defend my pick.

Sigma-Delta Architecture

This endeavor will require an ADC with a high resolution that can scan its input at a rate of at least 100 times per second (for that sweet pressure spike/dip detection). The high resolution is important because my ultimate goal is to use a 600-bar transducer cell to reliably detect pressure changes caused by the orientation of a 1-m long test hose, just like I did with a low-range analog gauge in my last post. The change in pressure is tiny - a 0.6m column of oil with a density of 870kg/m³ creates a static pressure of only 0.05 bar - which means a minimum of 12000 counts for the 600-bar transducer, or a flicker-free resolution of 14 bits for the voltage range that my pressure transducer will output.

The 14-bit resolution may seem like an easy task, especially with the market flooded with 16-bit-plus ADCs - but the keywords here are " noise-free" and "voltage range." Let me explain. The 600-bar TTF-1 pressure transducer that I intend to use has a sensitivity of 1.7...2.3 mV/V, which means that if I drive it with 5V and amplify the output with a gain of 128, I will need to resolve 1.09 volts (at worst) / 1.47 volts (at best) with the required 14-bit resolution, and since I, naturally, will be using the 5V driving span for my reference voltage (ratiometric application), the ADC will actually need to be able to dish out something along the lines of 16.5 noise-free bits to get me where I want to be!

Now, I know for a fact that resolving an analog signal reliably with the 16-bit-plus resolution is very "tricky" with a SAR ADC, and I know for a fact that I will not be able to design a good analog front end - which means that my only architecture option is Sigma-Delta, which can "iron-out" the analog noise and still provide me with the target scan rate of 100 Hz (hopefully better) if I choose a quality chip.

The AD7195 is a 24-bit Sigma-Delta ADC with a maximum data-rate output of 4.8 kHz. The high output rate is a mere number because with full settling and digital filtering, it will be way, way lower, but still this ADC is capable of delivering the bits I want at the rate I want.

AC Bridge Excitation

With the full-span signal of mere 10 millivolts and the voltage change of less than a freaking single microvolt for the target 0.05 bar even the tiniest voltage offset can be a great deal. Like all normal people, I will be using copper wires and leaded solder to connect the transducer to the ADC board, which will create a thermocouple offset of some 1 - 3 microvolts/degree C. This is a system offset, not an internal offset that can be chopped out, so I pretty much have to use AC excitation to remove it. AD7195 comes with AC excitation out of the box - it provides the four properly timed logic outputs for controlling bridge drivers, and the reference input is prepared for the reversed polarity - which is super convenient.

Integrated PGA

I don't want to fiddle with amplifiers - and this means I need an integrated solution. The AD7195 comes with an incorporated programmable gain amplifier, which allows gains of 1, 8, 16, 32, 64, and 128. I'll be using the gain of 128 for the TTF-1, but it is good to know that I will also be able to test alternative transducers with bigger outputs by dialing the amplification down.

Driver Library in C

Fortunately, the engineers from Analog Devices provide free libraries and reference projects for their components, and the AD7195 is not an exception. The C module on the respective GitHub page is pretty much copy-paste, and I, for one, love copy-paste because I am too lazy to code my own drivers!

Datasheet

I can always tell when a datasheet is "too complicated" for me. This is not the case with the datasheet for the AD7195. I confess I don't understand 100% of it, but I would say 80% makes total sense - which means I should be able to employ this part in my design. The only negative thing I'd point out is the omission of a recommended PCB layout - I guess I'm going to have to figure this part out for myself. Last, but not least - the datasheet advertises this ADC as "ultra-low noise" device specifically tailored for "high precision measurement applications." The folks from the commercial department know what they are doing because such vocabulary fills me with warm and fuzzy feelings about this chip.

The Schematic

Analog Devices published a circuit note with a reference design for the AD7195, and I am copying it for my test boards. I believe they made a small mistake pulling down the inverted ACX1 instead of the ACX2 - but it's an honest mistake, and I am correcting this in my schematic. I will also use an integrated driver chip instead of four individual transistors because it is easier, and I will keep the filtering simple, too:

You can download the PDF version of this schematic here.

I also want to add a few words about the price of this chip. Mouser Electronics, for example, retails it for a whopping 18€ a piece, which is quite expensive, but I don't intend to either manufacture or assemble the boards myself - and in my experience, fabrication houses can get such parts cheaper.

So - this is it for now. The next point on the agenda - designing the low-noise PCB. I'll see you then!