Logs:
An open source isolated precision constant current supply from 10nA to 400mA, particularly helpful for calibrating MetaShunt power profiler
To make the experience fit your profile, pick a username and tell us what interests you.
We found and based on your interests.
Logs:
I was able to perform some accuracy testing with a Rigol DM3068 6 1/2 digit desktop digital multimeter. This testing provides another level of validation of the accuracy of this project. I tested two units. The first unit was in the constant reference voltage mode. The second unit was in the adjustable reference voltage mode, with various current commands set. The below tables shows the actual commands (which are sometimes slightly odd numbers due to the limited bits of the DAC in the adjustable reference voltage mode.) The accuracy claims are from the DM3068 datasheet for the 1 Year accuracy specification. The accuracy is given in % of reading and % of range, so both are shown here. The first table consists of measurements for the constant reference voltage mode.
| Actual Commanded | Measured Current | Error | Error (%) | DM3068 Claimed Accuracy |
| 0.3000 uA | 0.2965 uA | -0.0035 uA | -1.2% | 0.00015 uA + 0.03uA = 0.03015 uA |
| 3.3000 uA | 3.2945 uA | -0.0055 uA | -0.17% | 0.00165 uA + 0.03 uA = 0.03165 uA |
| 30.2999 uA | 30.2469 uA | -0.053 uA | -0.17% | 0.01515 uA + 0.03 uA = 0.04515 uA |
| 0.300296 mA | 0.300211 mA | -0.085 uA | -0.028% | 0.15 uA + 0.06 uA = 0.21 uA |
| 3.00016 mA | 2.99853 mA | -1.63 uA | -0.054% | 1.5 uA + 3 uA = 4.5 uA |
| 29.9859 mA | 29.9920 mA | 6.1 uA | 0.020% | 15 uA + 6 uA + 21 uA |
| 0.234107 A | 0.233970 A | -0.137 mA | -0.059% | 0.23 mA + 4 mA = 4.23 mA |
| 0.389206 A | 0.388789 A | -0.417 mA | -0.11% | 0.39 mA + 4 mA = 4.39 mA |
Note that for every single measurement, the measured error was smaller than the claimed 1-year accuracy of the DMM used, indicating that this device is precise to a higher level than I can measure!
The table below shows the measurements for the adjustable reference voltage mode.
| Actual Commanded | Measured Current | Error | Error (%) | DM3068 Claimed Accuracy |
| 0.0500 uA | 0.0436 uA | -0.0064 uA | -13% | 0.000025 uA + 0.03 uA = 0.03uA |
| 0.0200 uA | 0.0156 uA | -0.0044 uA | -22% | 0.00001 uA + 0.03 uA = 0.03 uA |
| 0.1000 uA | 0.0960 uA | -0.004 uA | -4% | 0.00005 uA + 0.03 uA = 0.03 uA |
| 1.000 uA | 0.9960 uA | -0.004 uA | -0.4% | 0.0005 uA + 0.03 uA = 0.0305 uA |
| 9.9999 uA | 9.9877 uA | -0.0122 uA | -0.12% | 0.005 uA + 0.03 uA = 0.035 uA |
| 99.9999 uA | 99.9818 uA | -0.0181 uA | -0.018% | 0.05 uA + 0.03 uA = 0.08 uA |
| 1.00052 mA | 1.000397 mA | -0.123 uA | -0.012% | 0.50 uA + 0.06 uA = 0.56 uA |
| 9.99302 mA | 9.99955 mA | 6.53 uA | 0.065% | 5.0 uA + 3.0 uA = 8.0 uA |
| 99.9638 mA | 99.935 mA | -28.8 uA | -0.029% | 50 uA + 6 uA = 56 uA |
| 250.000 mA | 249.810 mA | -0.19 mA | -0.076% | 0.25 mA + 4 mA = 4.25 mA |
Again, for every single measurement, the measured error was significantly smaller than the claimed 1-year accuracy of the DMM used, indicating that this device is precise to a higher level than I can measure!
An important factor to the usefulness of this device is the worst-case accuracy of the current supply. I performed an analysis, which is included in the Github repo and described here. To understand the calculations, let's first discuss the key components and accuracy metrics. Note: all calibration is assumed to occur in climate controlled locations, so variability over temperature is ignored here.
| Component | Accuracy Metric | Notes |
| REF3030 | 0.2% | Fixed reference voltage |
| DAC80501 | TUE 0.06% FSR | Adjustable reference voltage |
| AD8603 | 50uV max offset voltage | |
| AD8276 | 0.05% gain error; 500uV max system offset voltage | |
| Shunt Resistors | All 0.1% accuracy | |
| AO3400A | 26.5-48mOhm range Ron --> assume 22mOhm variability | Extra resistance in PCB is not known, but designed to be minimal |
Analysis was done in Python here to compute the maximum percent error for each current level in the fixed reference voltage mode and for a variety of current settings for the adjustable reference voltage mode. The chart below shows the results.
There are three interesting results here:
Overall, this analysis shows that for fixed current mode, the worst case expected accuracy based on datasheets is +/-0.3%, while the worst case expected accuracy for the adjustable reference voltage mode ranges based on the reference output voltage. If 100mV is the minimum output voltage used, the accuracy is +/-1.5%. If 500mV is the minimum output voltage used, the accuracy is +/-0.3%.
The second mode of operation for this device uses a precision 16-bit DAC to set the reference voltage, and the MOSFETs to set the shunt resistance. This enables a highly adjustable current supply across a huge dynamic range. Firmware and interface software was developed (and is on the open source Github repo) to allow for a command of any current. The system will chose settings that are as close as possible to that command. To demonstrate this, a few tests were performed at current levels that are not possible with the constant reference voltage mode. Results are below:
| Commanded Current | Measured Current with MetaShunt V2 | Percent Error |
| 10nA | 10nA | 0% |
| 100nA | 101nA | 1% |
| 1.56mA | 1.556mA | 0.3% |
To evaluate the performance of this device, I started with connecting it up to a MetaShunt V2, without prior calibration of anything except the highest 2 current shunts of MetaShunt V2.
The table below compares the expected current (from the design), compared to measurements from MetaShunt V2. The images below also show these results. Overall, the expected and measured current matches very well, all within 1% or better. Future testing will show the reliability of the current supply as a reference truth.
| Expected Current | Measured with MetaShunt V2 | % Error |
| 300nA | 302nA | -0.66% |
| 3.30uA | 3.30uA | 0% |
| 30.3uA | 30.3uA | 0% |
| 300uA | 300uA | 0% |
| 3.00mA | 3.00mA | 0% |
| 30.0mA | 29.7mA | 1.0% |
| 234mA | 233mA | 0.4% |
| 389mA | 393mA | -1.0% |
This project is fairly straightforward. The constant current supply circuit is based off of the Analog Devices AN-1530 application note for a low cost, precision constant current supply. The AD8276 Difference Amplifier and the AD8603 Op Amp are used in the current supply circuit. However, to achieve a high dynamic range, 8 different MOSFET controlled shunt resistors are used for setting the current, and the reference voltage is provided either by a fixed high 0.2% accuracy precision voltage reference or by a precision DAC (TI DAC80501). With this design then, there are two operational modes:
The MOSFETs and DAC are controlled by an onboard STM32L4 microcontroller, with USB and power isolated so that this device can get power from and communicate with a computer over a USB-C cable, while remaining electrically isolated.
Create an account to leave a comment. Already have an account? Log In.
Become a member to follow this project and never miss any updates