For industrial and process control modules, 4 mA-to-20 mA current loop transmitters are used as a means of communication between the control unit and the actuator. Located at the control unit, the 14-bit AD5641 DAC produces an output voltage, VDAC, between 0 V and 5 V as a function of the input code. The code is set via an SPI interface. The ideal relationship between the input code and output voltage is given by
VDAC = VREF × (D/214) (1)
where: VREF is the output of ADR02 and the power supply to the AD5641. D is the decimal equivalent of the binary code that is loaded to the AD5641.
The DAC output voltage sets the current flowing through the sense resistor, RSENSE, where
ISENSE = VDAC/RSENSE (2)
The current through RSENSE varies from 0 mA to 2 mA as a function of VDAC. This current develops a voltage across R1 and sets the voltage at the noninverting input of the AD8657 amplifier (A2). The A2 AD8657 closes the loop and brings the inverting input voltage to the same voltage as the noninverting input. Therefore, the current flowing through R1 is mirrored by a factor of 10 to R2. This is represented by Equation 3.
IOUT = IR2 = (VDAC/RSENSE ) × ( R1/R2) (3)
With VDAC ranging from 0 V to 5 V, the circuit generates a current output from 0 mA to 20 mA.
The AD5641 is a 14-bit DAC from the nanoDAC family and operates from the 5 V output voltage of the ADR02 reference. It has an on-chip precision output buffer that is capable of swinging from rail-to-rail (within 10 mV), thus allowing a high dynamic output range. With a supply voltage of 5 V, AD5641 consumes a typical 75 μA of supply current.
In addition, this circuit solution requires a rail-to-rail input amplifier. The AD8657 dual op amp is an excellent choice, with low power and rail-to-rail features. The op amp operates with a typical supply current of 22 μA/amplifier over the specified supply voltage and input common-mode voltage. It also offers excellent noise and bandwidth per unit of current. The AD8657 is one of the lowest power amplifiers that operate on supplies of up to 18 V.
The ADR02 is an ultracompact, precision 5 V voltage reference. With an 18 V input voltage, quiescent current is only 650 μA, typical. It has an initial accuracy of 0.06% (B-grade) and 10 μV p-p voltage noise. Connecting a 0.1 μF ceramic capacitor to the output is highly recommended to improve stability and filter out low level voltage noise. An additional 1 μF to 10 μF electrolytic, tantalum, or ceramic capacitor in parallel can improve load transient response. A 1 μF to 10 μF electrolytic, tantalum or ceramic capacitor can also be connected to the input to improve transient response in applications where the supply voltage may fluctuate. An additional 0.1 μF ceramic capacitor should be connected in parallel to reduce supply noise.
Bypass capacitors (not shown in Figure 1) are required. In this case, a 10 μF tantalum capacitor in parallel with a 0.1 μF ceramic capacitor should be placed on each power pin of each dual op amp. Details of proper decoupling techniques can be found in Tutorial MT-101.
Figure 2 shows the linearity of the system, that is the measured output current from the circuit DAC input code from 0 to full-scale.
Figure 3 shows the output current error plot in percent full-scale range. The overall worst-case error is approximately 0.35% measured over the output range between Code 256 and Code 16,128.
Figure 4 shows the calibrated output current error plot. Removing the gain and offset error from Figure 3, the accuracy is better than 0.05% measured over the output range between Code 256 and Code 16,128.
The data in Figure 3 and Figure 4 shows larger errors at zero and full-scale because the output buffer of the AD5641 DAC limits when its output is within 10 mV of either supply rail. The region between Code 0 and Code 255 as well as the region between Code 16,129 and Code 16,384 are therefore excluded from the linearity specifications. This corresponds to approximately 0 V to 80 mV and 4.92 V to 5.00 V at the DAC voltage output; and 0 mA to 0.32 mA and 19.68 mA to 20.00 mA referenced to the current output.
The test data was taken using the board shown in Figure 6. Complete documentation for the system can be found in the CN-0179 Design Support package.