The ADALM1000 can do one thing very well - convert an analog voltage to a digital representation. The 16 bit Analog-to-Digital Converter (ADC) in the ALM1000 signal chain has been designed and optimized for a single voltage range, 0 to +5V. So how can the ALM1000 measure other voltage ranges ( 50V, 15V )? One alternative was proposed in this previous Blog postADALM1000 Analog Inputs and Outputs. I'm always on the lookout for off the shelf add-on boards that might work well with the ALM1000. I've come across this one, the Grove Voltage Divider board by Seeed Studio.
Grove is a series of add-on PC boards specifically designed to be used through adapter boards with various single board microcontroller systems. One of these boards is a two range resistor divider with an op-amp buffered output, figure 1.
Figure 1 Grove voltage divider
There are a number of things going for this. Comes ready-made off the shelf for those who would rather not build their own. Relatively low cost at $5.90. Powered from single +5 V supply and produces a 0 to 5 V output range which should be perfect for use in front of the ALM1000's analog inputs.
The standard Grove connector is metric with 2mm pin spacing rather than the 0.1" (2.54mm) ALM1000 connector spacing. Fortunately, Grove provides a general purpose cable with individual male pins ( $2.90 for a pack of 5 ), figure 2.
Figure 2 Grove connector to male pin cable
I ordered up two boards to see how well they work. The following is a review of what I found.
Let's take a detailed look at the design schematic, figure 3 and see how it works. It uses a dual op-amp, one for the unity gain buffer and the other as a comparator to light up an LED if the input voltage to the buffer goes above the +5 V supply.
Figure 3 Voltage divider schematic
First, we see that two different resistor dividers are used in parallel to obtain the two input ranges. I'm not sure why this approach was chosen but maybe they saw it as the best way to get both 3X and 10X ratios using "standard" resistor values. However, this lowers the input resistance. Maybe this was not seen as a serious drawback but the higher the input resistance the less it will impact the circuit being measured. The measured input resistance on the two boards was only 72 K.
Another curious observation is where they came up with the 100 K value for the feedback resistor around the buffer amplifier. Adding a resistor to the feedback of a unity gain buffer is a means to correct for any offset induced by the input bias current flowing in the impedance driving the + input, in this case the resistor divider. The impedance seen at the + input is around 27 K for one setting and 23 K for the other. Where they came up with 100 K is unclear. From an offset correction perspective using a resistor more than 3 times too large is actually worse than not using one at all. Additionally, the larger resistor adds more noise and make the output buffer less stable when driving capacitive loads. This last issue turns out to be very unfortunate when using this board with the ALM1000. The 370 pF input capacitance of the ALM1000 causes the voltage divider board to oscillate. I was hoping that this board would work right out of the box with the ALM1000 but I guess not.
I made my first modification to the board to try to solve the oscillation issue by reducing the value of the feedback resistor from 100 K to 22 K. While not completely eliminating the oscillation it was reduced to around 1 mV p-p. The relatively small 11 nA typical input bias current of the provided op-amp should allow an even lower resistor value to completely eliminate the oscillation.
The dual "rail-rail" op-amp provided gets sort of close to the rails but not real close as we see in the ALICE scope screen shot in figure 4. On the 3X range, the lowest the output can swing ( orange trace ) is 0.160 V ( referred to the input ).
Figure 4 Output swing close to ground
To improve on the swing range I replaced the op-amp that comes on the board with the AD8542 dual, single supply, rail-to-rail, CMOS amplifier. All around a much better choice of amplifiers. On the 3X range, the lowest the output can swing ( orange trace ) is now as low as 0.002 V ( referred to the input ).
Figure 5 AD8542 Output swing close to ground
The final modification I made was to reconfigure the input divider as shown in figure 6. I use a single resistor divider with two taps. Using the indicated standard resistor values the ratios are 3.2X and 10X. Close enough given that 5% resistors would likely be used. The input impedance is now more like 1 Meg. The few pA of input bias current of the AD8542 means that the feedback resistor is basically unnecessary but I kept the 22 K in place to at least close the connection on the board.
Figure 6, Modified schematic using AD8542
In conclusion I would like to have been able to recommend that this divider board could be used right out of the box with the ALM1000, but the oscillation issue driving the 370 pF input of the ALM1000 makes that not possible. For those skilled at replacing surface mount components, a simple component ( or components ) swap can turn this board into a useful addition to the ALM1000 tool kit.
As always I welcome comments and suggestions from the user community out there.