Introduction
High-resolution, low frequency measurements are easy to implement and perform. All that is needed is an in-depth understanding of everything in the signal chain and a consideration of every aspect of every component. In all seriousness, some considerations are needed in order to get the maximum system performance from the sensor, through the signal chain, and finally to the analog to digital converter. We recently released Demonstration Circuit 1410, and this blog serves to document the design process for the circuits implemented.
In the interest of making this post practical, we are going to take a real-world problem and work through the design constraints. The hope is to give an in-depth analysis to serve as a guide to engineers when selecting components. Our real-world problem is to get the maximum resolution from our Cardinal Scale Manufacturing SP-25L 25 pound (~12 kg) Wheatstone bridge load cell, shown in Figure 1.
Specifications
First things first! What are the specification and limits of this Wheatstone bridge load cell sensor that needs attention? This load cell has a minimum input resistance of 400 Ω, a nominal output resistance of 350 Ω, a maximum excitation voltage of 15 V DC, output of 2 mV/V, and is temperature compensated from 14 °F to 104 °F (–10°C to 40 °C). In order to simplify the analysis we will not consider temperature drift. Also, to keep things practical, the excitation voltage for the sensor will be 5 V. This will give us 10 mV swing on a 2.5 V common mode signal.
Analysis
What Are We Up Against?
In order to get the maximum resolution from the sensor, we need to ensure the sensor noise dominates the system. Since this sensor is essentially a resistor, thermal noise is what limits it:
Voltage noise density =
The DC1410A-A uses the LTC2498 24-bit Delta Sigma ADC, configured to sample at 7.5sps, and the LT1678 low noise, rail-to-rail, OP AMP for gain and buffering. Instead of hand-waving why we are using the LT1678, the next paragraph will show the process of why this was our best choice.
Search For the Holy Grail aka OP AMP
Our bandwidth is going to be DC to 7.5 Hz, and we are going to need to look for dual low noise amplifiers that have lower input noise than the load cell:
> OP AMP input noise
You may notice that we used DC to 10 Hz bandwidth and this is due to matching the noise figure in the OP AMP datasheets of 0.1 Hz to 10 Hz noise specification. Ok, we head on to analog.com and do a parameter search for lowest input noise density and start searching through data sheets for input noise. After a few hours of contemplating my life choices, a table was born called Table 1.
Input Voltage Noise nVPP | ||
Part # | (0.1 Hz to 10 Hz) | VRMS (Crest Factor 5) |
LT6201 | 600 | 120 |
LT6231 | 180 | 36 |
LT6237 | 180 | 36 |
LT6203 | 800 | 160 |
LT6234 | 220 | 44 |
LT1124 | 70 | 14 |
LT1126 | 70 | 14 |
LT6253 | 200 | 40 |
LT1807 | 800 | 160 |
LT1678 | 90 | 18 |
LT6247 | 1600 | 320 |
LT1113 |
2400 |
480 |
LT1469 |
300 |
60 |
LT1169 |
2400 |
480 |
LT6241 |
550 |
110 |
LT6244 |
1500 |
300 |
LT6014 |
200 |
40 |
LT1002 |
350 |
70 |
LT1057 |
2000 |
400 |
LT1112 |
300 |
60 |
LT1024 |
500 |
100 |
LT6078 |
1000 |
200 |
LT6016 |
500 |
100 |
LT1013 |
550 |
110 |
The first thing that you should notice is there is no OP AMP that is better than the sensor. In fact, the LT1028 is the only amplifier that I could find that has the input noise level below the sensor. Why wasn’t it in the table? Good question; it only comes in a single package. Due to this, our best candidates are now the LT1124 (the LT1126 is a decompensated version of the LT1124) and the LT1678. This means we are being limited by the OP AMP and not the sensor. This is an excellent example where we must make a tough choice to reduce part count for performance. And in this case, we like simplicity.
It is desirable to run any circuit with single supply versus split supply, so naturally a rail-to-rail OP AMP will be needed for our circuit. We are giving up 4 nVRMS of noise to make this single supply. What’s 4 nV of noise between friends?
Finally, we have a winner for the amplifier, but we need to make sure that the input current noise density is kosher:
Voltage noise:
This is well below the input voltage noise and now we can be confident to move on.
What Gain Should It Be?
It is tempting to set the gain of the amplifier to maximize the full-scale range of the ADC. The load cell has a max swing of 10 mV:
AV = 2.5V/10mV = 250
But we jumped the gun. With high resolution ADCs, it is unnecessary and can be detrimental to do this. Better performance can be achieved by limiting the gain, such that the amplifier’s input noise is dominant and not the ADC’s noise. This will give the maximum performance from the system.
Ideally, you want to be limited by the sensor, but our bottleneck is the OP AMP and the show must go on:
AV = 600nVRMS/18nVRMS = 33.33
A gain of 34 should be enough to ensure the OP AMP dominates. The DC1410A has software selectable ranges for the amplifier and the closest gain is 32, which is very close to where we need it. And without modification of the demonstration board, we can get reasonable results.
Aren’t We Forgetting Something?
Good catch! We did not consider a few things. The amplifier's offset was ignored since the LTC2498 essentially eliminates this by canceling it out for us. The ADC takes two readings with opposite polarities, to null out any offset.
Another consideration is the ADC multiplexer switch series resistance. There is no guaranteed specification of this value, though it is shown to be nominally 100 Ω in the datasheet. Experimentally, I have measured the resistance to be approximately 150 to 200 Ω.
Voltage noise density =
Noise:
As you can see, this bump in noise will not make a difference since the amplifier will still dominate.
A filter is needed after the amplifier to deal with the ADC’s track and hold circuit transients. Luckily, this filter is shown in the datasheet and I did not have to experimentally determine its value.
Results
Lastly, it’s time for tests and calibration. I asked my coworker for his calibrated weight set and went on my way.
With no load, I had a noise floor of about 80 nV:
Noise =
This seems really bad compared to our previous analysis, but there’s a logical explanation. To see the real performance of our signal chain, the channels needs to be shorted together with a proper common mode voltage:
Noise =
As you can see we are doing really well. We were pessimistic with the noise analysis for the amplifier and there are two reasons: 1) the 1/f noise is canceled by the fact the LTC2498 samples every other sample in the opposite polarity, 2) the LTC2498 is sampling at 7.5 Hz, thus lower bandwidth and lower noise.
Then what about the extra noise when we were reading from the load cell? At this resolution, the load cell acts like a seismograph. I placed the load cell setup on my comfy lab chair and I got a reduction of noise. The chair creates a low pass filter for vibrations. Technically, the chair acts like a resistor and the anvil acts like a capacitor, but that’s another topic for electro-mechanical system analogs. Figure 5 shows the lower noise on CH P0-N1 due to dampening from my comfy lab chair.
Ok, now that we verified our system, time to exercise it! I placed a 2 kg weight on the load cell then a 10 g weight for my two point calibration. After some math, I had the slope and offset to really test this setup. Figure 6 shows a stack up of 1 g, 10 g, and 2 kg. Things got a little out of hand, and the line between work and recreation became blurred. Figure 6 shows me “working” by applying different loads.
Bottom line, the setup is capable of 0.1 g resolution with a full scale swing of 12 kg. This equates to ~101.6 dB or 16.6 bits.