Testing of the MAX471 breakout board consisted of a number of stages. Initially, dummy loads where connected to produce currents of known magnitude with the output of the MAX471 Vout pin monitored with a digital multimeter. I have a DIY electronic dummy load which made applying known currents easy. If this is not available, simply use a suitable load resistor (and varying the applied voltage and or resistor value to develop the desired current value).
The MAX471 produces a current proportional to the measured current of 500µA/A and with a 2kΩ Rout resistor (as installed on the breakout board) from pin 8 to ground, this provides an output voltage of 1V/A.
Using the DIY electronic dummy load (see the Photographs Section) the expected 1V/A was indeed found on the output from the MAX471 breakout board when measuring the OUT pin with a DMM. Various supply voltages (the MAX471 can tolerate 3-36V) were applied and the load current varied. The expected 1V/A was observed with very stable readings being produced.
The MAX471 provides an output at the SIGN pin (pin 5) for current direction, but this is not enabled on the breakout board as purchased from the ebay supplier. The Schematic Section shows how the breakout board was modified to enable utilising the SIGN signal to determine current direction. A 100kΩ pull-up resistor was used as recommended by the datasheet. When the current was reversed at the inputs RS- and RS+ of the breakout board, either a logic high or low as indeed produced to indicate current direction.
Simiarily, the breakout board was modified further to enable changing the value of the Rout resistor. This enabled better matching of the full scale output from the MAX471 to the range of the ADC/voltage reference. From the datasheet, for the MAX471 the following equation gives the value of Rout for a desired full-scale output voltage (Vout) and full-scale current being measured (Iload).
Rout = Vout / (Iload x 500µA/A)
Note that the desired full-scale output voltage (Vout) can be no greater than the MAX471 supply voltage VRS+ - 1.5V.
With the PIC18F248 operating voltage of 5V, it is convenient to have a Vref of either 5V or 2.5V for the ADC. So using the above equation, for a full scale input range of 3A, in order to produce a full scale output voltage of 2.5V Rout is 1667Ω.
Another example, I have a number of solar cells that produce a maximum output current of 0.5A, so to produce a full scale MAX471 output voltage of 2.5V Rout equals 10kΩ
The MAX471 provides a cheap and convenient option for measuring current up to 3A (the MAX472 can be used if higher currents required). The breakout board version is inconvenient in that current direction and the ability to alter Rout is not provided (although relatively easily changed to enable this functionality - see Schematics Section).
The sensitivity provided by the MAX471 (500µA/A and with a 2kΩ Rout resistor (as installed on the breakout board) from pin 8 to ground, provides an output voltage of 1V/A) enables adequate resolution and sensitivity with most ADC/voltage references commonly available (10-bit on-board ADC available on most Microchip microcontrollers).
Compared to the ACS712 current sensor the MAX471 provides much better sensitivity and resolution. Although the MAX471 requires an additional I/O pin on a microcontroller to enable determination of current direction, compared to the ACS712 which provides current direction via the magnitude of the current sensor voltage output. The MAX471 does not provide galvanic isolation from the measurement circuit unlike the ACS712.
Finally, the output voltage corresponding to the measured input current was very stable in regards to the MAX471 supply voltage, unlike the ACS712 which requires a very stable supply in order to maintain the "set point" of Vcc/2 which is the ACS471 "zero" current signal.