Hi all,
thanks for feedback. I really appreciate that.
Kleinstein:
- There is not much of a problem with DAC linearity for given purpose. Majority of the non-linearity is caused by non-zero step size of the DAC itself; it's 16-bit DAC and that's about it. There is one unused DAC channel, though, PCB has footprint (R72 on A1 PCB) for one more resistor to sum small amount of current into main setpoint. Currently this resistor is unpopulated, but could serve for more experiments, for example adjusting the DAC from ADC measured value, as ADC has muss less non-linearity than DAC. That would be another feedback loop, though. For now it's running in simple mode with no adjustments and it's OK for this application.
- Yes, the DAC runs at 5V range. Also the ADC.
- DG2xx versus DG4xx choice may have some influence, though from my measurements DG4xx and DG2xx switches are very similar in terms of leakage.
- Negative measurements are possible by shifting the ADC amplifiers towards positive voltage. Resistors R66 and R68 on A1 board take care of this. When voltage on "hot" end of R67/R69 is zero (zero measured value), U25A/B are at 2,5V, with full swing few tens of milivolts less than 0-5V to have safety margin.
- ESD protection on guard output is fair point. More protection is always welcome.
- Yes, opamp choices could be different. Opamp market is wide (though those days the real availability is quite limited). The feedback loop is quite critical and I spent some time playing around it. Changing some opamps may bring financial savings (though not for me, because I already bought the existing components), but will mean to spend more time verifying all ranges and working modes of the SMU and perhaps some fine tuning of passive components.
- I optimized the shunts, especially at 100mA range, because from thermal standpoint this is the hardest operating regime. I was interested how much drift will induce changing the current from zero to 100mA. Just for this reply I took quick measurement with HP34401A, see result on attached picture. Right after turning the SMU output on, deviation from setpoint was ~17ppm of range (1,7uA), increased to ~35ppm (3,5uA) after 80 samples (120 seconds) - I assume this is from self-heating - and kept relatively stable after it. The graph is intentionally in +-100pm range, to illustrate +-0,01% range. I don't have any more stable current source to determine how much from this drift is caused by HP34401A alone. I think majority of visible noise is caused by HP34401A, though.
Mind that this is second revision of the PCB. The first revision had only two resistors in paralell, with slightly worse tempco and no copper planes, the overall non-stability was significantly worse, roughly 60ppm (0,006%) - this is close to my design goal (0,01%), so I reworked this.
- Regarding feedback loop speed - this is always thing of a compromise. I set up the SMU on 100V range, with 9mA limit and attached 1kOhm resistor and oscilloscope to the output, please see attached oscilloscope trace. Majority of transient happens in first ~10-20us with slow slope towards setpoint, after ~200us the transient seem to be practically over. I've seen a few lab power supplies, even from A-grade vendors, having few orders of magnitude slower feedback loop.
-----------------------
Bottom line: To illustrate how I approached the design of this SMU - I set my goals, namely:
* particular fraction of percent as setpoint accuracy,
* output ranges,
* UI choices,
* availability of components (critical in 2021),
* reasonable price for my hobby needs,
* easy mechanical design. The whole thing is doable with single hand drill and usual hand tools.
When I checked all marks with reasonable margin (it was not in the first design iteration and major rework of some PCBs was needed), I considered the design as finished and released it. There is always possibility of adding more features or improving the design, at the cost of postponing the actual design completion.