What about the potentiometer noted with R3? This is responsible for setting the amplifier offset, so that, when Vout is at maximum, condition set by a balanced bridge, the ADC output is zero. The Op Amp output depends on the input signal and R3 as in the following equation:
where k2 is the R3 percentage, between R3 wiper and R5.
Also, the ADC decimal output can be written as follows:
The Wheatstone Bridge in Figure 1 is a strain gauge transducer which measures weight, but also pressure. As long as there is no weight on this sensor, the Wheatstone bridge is balanced, with all resistors being equal. At 10 V power supply, both V1 and V2 are 5 V, and U1 output is 5 V. Since the ADC measures the difference between VIN(+) and VIN(-), it will show a 12-bit code zero, or very close to zero. Indeed, in equation (3), if V1 = V2 = 5 V and k2 = 50%, Vout becomes 5 V. Equation (4) shows that the ADC output is zero.
How do we calibrate this circuit?
The first step in calibration is to adjust the ADC zero when the transducer is not loaded. In this case Vin = V1 – V2 = 0 V, and the output is 5 V, or around this value, depending on the transducer resistor matching. Adjust R3 so that the ADC output is zero.
In step 2, we need to load the transducer at maximum, so that it outputs V1 – V2 = 30 mV, assuming that 30 mV is full scale. Also, R3 is at half. Plugging these numbers in equation (3), where Vin = 30 mV and k2 = 50%, the Op Amp output becomes 0.46 V and the ADC output is 4.52 V. Adjust R6 so that the ADC shows maximum scale which is Vref – 1LSB. Since our Vref adjustment range is 3.86 V to 5.29 V, we can easily accomplish this.
You can imagine other ways of implementing this schematic. For example you can also use a 2.5V reference and a 5V powered ADC. This can be the integrated Arduino ADC. The schematic is the same, with the exception that the input signal needs to be reduced to 15 mV full trip, or the gain be reduced in half if the input signal is 30 mV. Reducing the gain is simple. All we have to do is increase R1 to 20k.