DIY-SMU Project - Page 1
Forum section: electronics / projects

author: djerickson
author_rank: Regular Contributor
timestamp: December 29, 2020, 05:14:18 pm
content: I'd like to introduce my DIY Source-Measure Unit SMU project.http://www.djerickson.com/diy_smuYoutube intro:https://youtu.be/B26SW3N2zoAIt seems fundamental to have an accurate source for a wide range of voltages and currents, with the ability to measure both. Source and measure are basic requirement for electronics test and measurement tasks and many scientific applications. This functionality should be available at a reasonable cost.I worked on many DC and AC source / measure instruments for a number of industry leaders (Analogic Test and Measurement group, Teradyne DC Instruments group, Zoll and HP Medical) plus numerous startups and home projects. I always wanted to build a DIY Source Measure Unit: SMU.Recognizing that this is a challenging project for DIY, now in retirement I finally have the time to develop the hardware, software, controls, and packaging. Fortunately the nerd stars are aligned for such a project. Precision 0.1% and better SMT resistors are readily available at low cost. Precision amplifiers, switches, ADCs and DACs are low cost and easy to apply. Digital isolators and DC-DC power supplies are small and readily available. Hand-built SMT is available and easy to DIY. Single chip CPUs and TFT LCDs with touch are powerful, low cost and DIY friendly.I pored through old Keithley documents for their 220/240 series sources, and 236 and 237 SMUs and found their general architecture to be flexible and very capable. I suspect that most modern SMUs share the Keithley 236 general architecture.So after a few years of planning and a year of detailed design, layout, and build, here is DIY-SMU.Voltage source and measure from tens of microvolts to +/- 150V in 3 ranges: +/- 1.5V, +/- 15V, +/- 150VCurrent source and measure from nA to .1 Amp in 6 ranges: 1uA to 100mATrue 4-quadrant operationSource accuracy .01%Measure accuracy .005%Graphic LCD with touch screenSmall, half-rack 2U packageDIY friendly and low costIt is not complete yet, and I plan to continue the project this winter. PC boards are built and working. An initial GUI is working. It has a basic enclosure. My web page discusses the idea, requirements, design, and implementation. Check it out atwww.djerickson.com/diy_smuThanks,Dave Erickson

author: fcb
author_rank: Super Contributor
timestamp: December 29, 2020, 05:37:20 pm
content: Awesome!The 236/237 architecture is a great place to start. Look forward to following this project.We built a baby 2ch SMU (known internally as SMUSB), 1uA to 45mA, +/-12V. Went with a PC based front end rather than a display on the device. My understanding is that some of the newer SMU's use software-in-the-loop to deal with some of the stability issues that crop up from time-to-time. Are you planning on guards?TTi have a new SMU that's overdue. So I suspect this will be a growing market. I think Marcoreps was involved in project called OSMU?

author: helgel
author_rank: Newbie
timestamp: December 29, 2020, 06:27:27 pm
content: Nice project ! Congratulations ! I have a similar project going myself (https://poormanssmu.wordpress.com). When I started that project I was surprised to find very few attempts on similar projects out there. Sounds like your previous background and now retirement is perfect for such a project. With a full time job as software developer I unfortunately have less time on my own the project than I would like to, but it's still work in progress. I'll be following your project !

author: prasimix
author_rank: Unknown
timestamp: December 30, 2020, 08:37:22 am
content: Hi Dave, and thanks for sharing this project with us, looks great and very promising. About half rack enclosure (9.5"): you can check All Metal Parts from UK, e.g.:http://www.allmetalparts.co.uk/814-2u-95-inch-rack-mount-300mm-vented-enclosure-chassis-case-5055726240082.htmlI would suggest putting a fan controller high on the TODO list. There is no reason that "tiny" fan that you're using is working all the time. The fact that many manufacturers are still saving on that component has no reason to be the case here.Good thing you realized that the Arduino Leonardo is not enough, even supported with extra processor on the Nextion (in charge of display). We had a similar thing: we started with Leonardo, then Mega2560 and Due (EEZ H24005project) and finally finished on our own design based on STM32F7 with 8 MB (expandable to 32 MB) SDRAM with micro SDcard in the background for data logging, etc.I would love to see a video in the future that covers the following:1. What does output enable/disable look like, that there are no over-/under-shoots.2. How it behaves with a slightly higher capacitive loadKeep up the great work, maybe a combination of your SMU and Helgel Poor man’s SMU could become a new module for ourEEZ BB3in the near future. In that case it would get all the support for SCPI via USB and Ethernet, GUI editor, MicroPython scripting, MQTT, NTP, Node-RED that we already have.

author: djerickson
author_rank: Regular Contributor
timestamp: December 30, 2020, 02:17:25 pm
content: Thanks for the feedback. Yay, a half rack 2U enclosure! Will order one right away.I agree, fan speed control is a must, and will be on the new CPU board.For the last month I battled a 300KHz noise issue, 50mV sine wave, thought it was oscillation. It drove me crazy! It only occurs when the Out- or Out+ is grounded. Turns out it's the 3W DC-DC common mode noise. I had a common mode choke, but that made it worse. I tried 3 manufacturers DC-DCs so far. They all have common mode noise: Meanwell is worst, then CUI, Recom is best. More testing.....The output dynamics are very good when changing the output current, voltage, or resistive loads, and when clamping.I've done a bit of testing with capacitive loads. With 1000pf to 1uF it rings or overshoots a bit, and settles in a few mS. It's good with large caps. Tuning the loop may help.I need to thoroughly test the dynamics vs. the output and remote-sense relays and will report. If the OFF/ON transients are ugly I may be able to fix in software with some simple sequencing.Thanks!Dave

author: prasimix
author_rank: Unknown
timestamp: December 30, 2020, 02:33:38 pm
content: Quote from: djerickson on December 30, 2020, 02:17:25 pmPerhaps you should consider DC-DC converter built aroundSN6505push-pull converter. It depends how much power you need on +/-15 V rails, probably not so much. I'm just start experimenting with it after giving up from Mean Well and TRACO. It looks like this (with 4x multiplier as suggested by Kleinstein):I derived 5 power rails on the secondary side: +3.3 V for MCU/ADC, +/-5 V and +/-15 V for analog circuits.

author: Kleinstein
author_rank: Super Contributor
timestamp: December 30, 2020, 05:31:17 pm
content: The ready made DC/DC converters often have quite a lot of common mode injection. The smaller the transformers the closer the coupling and a higher voltage also makes things worse.I don't think the SN6505 is special, it just gives the chance to choose your own transformer. For a one off DIY unit one could use a relatively large core with some extra space to reduce the capacitance. A low voltage to start with also helps. For DIY winding I used 2 twisted wires for both halves of the dual winding. This should give relatively good symmetry and thus little voltage to drive the CM signal even without an extra shield.CM injected signal is relatively difficult to filter, but usually a CM choke would be the way to go. It needs a special type with 3 coupled inductors for a +-15 V output. So the CM choke on the primary would be easier. There may be a resonance with the CM choke, if just at the wrong value / frequency.

author: djerickson
author_rank: Regular Contributor
timestamp: December 31, 2020, 02:02:19 pm
content: Thanks, Prasimix, appreciate the design idea.DC-DCs and even AC transformers with low common-mode noise generally use multiple internal shields. Unfortunately my transformer design and build skills peaked with 1980 Ferroxcube potcores.I suspect I can get it low enough by using enough of the good external stuff (low ESR ceramic and Electrolytic caps, Y-caps, beads, common-mode chokes...) plus finding the quietest off-the shelf DC-DCs, and careful measurements. I feel a test board coming on.One of my project goals to be DIY-friendly, is to avoid custom transformers. I know of no off-the shelf transformers with shielding, other than medical grade AC ones.My personal pet peeve about switching power supplies is that common mode noise is not specified. They are often tested with their output common grounded, so common mode noise is minimized. The way I measure it is with a resistor (10-50 ohms) between input and output commons. Measure the voltage across the R with a wideband scope. This gives a decent indication of common mode noise as a current, good for comparative studies.Another quiet DC-DC design method is to use a HF sine wave or resonant DC-DC to eliminate having to clean up nS rise-time edges that switchers generate. But in all cases, shielded windings help.Dave

author: prasimix
author_rank: Unknown
timestamp: December 31, 2020, 02:38:54 pm
content: I'm agree with your approach/attitude that a DIY friendly project should have as few custom components as possible (preferably none). I suggested this DC-DC converter because it uses an off-the-shelf transformer from WE:750315371. A whole converter with LDO's don't use a lot of space: IC6 is SN6505, IC5 is +15 V LDO, IC7 for -15 V and IC4 for +3.3 V.

author: alm
author_rank: Super Contributor
timestamp: January 01, 2021, 10:53:06 am
content: Awesome start! Have you considered replacing the DC-to-DC converter for the analog circuit with a simple linear power supply from a small off-the-shelf 15-0-15V transformer? I realize that this is less neat, more expensive and bigger, but it would remove the concern of common-mode noise.

author: djerickson
author_rank: Regular Contributor
timestamp: January 01, 2021, 08:44:35 pm
content: Thanks for the advice, Alm. Using an AC transformer might be a last resort.I dug into the issue and also looked with more detail at the SN6505 and your DC-DC design, Prasimix. I like your design, nice use of a voltage multiplier.My design with a CM choke feeding a Meanwell 3W DC-DC had 3 volts(!) of 300KHz common mode noise on the DC-DC input. I have a handful of different DC-DCs and tested 6, 8 and 7 pin SIP parts. Meanwell is worst for CM noise and doesn't like the CM choke. Tracor and Recom are best. CUI is in the middle. I'll buy more to test.I think I found a fundamental issue: In an SMU design, the Out- is the common of the power supply, driven by the +/- 150V supplies common. When you ground it through a scope, for example, the path back to chassis ground is through the power supply, Amplifier, the DC-DC's Y cap, plus the AC transformer's inter-winding capacitance, and a Y cap that I add. The common mode inductor's 1mH plus those caps makes an pretty ugly impedance. Bypassing the CM choke reduced it to just capacitance, no big inductor. It works much better.In a 'normal' isolated instrument, grounding the floating ground to chassis should quiet the common mode. With a CM choke in the power path, both sides of the LC resonant circuit formed by the Common mode choke plus any Y caps would be kinda grounded. But you could imagine some weird stuff happening to your circuit-under-test when you apply that big-old LC circuit to your DUT. Not sure how DMMs deal with this. Then add in the SMU's complexity... Yikes!So for now I'm gonna stick with "C good , LC bad". Will try to simulate this. All this funky "grounding" hurts my brain.Thanks,Dave

author: Kleinstein
author_rank: Super Contributor
timestamp: January 01, 2021, 09:39:40 pm
content: The purpose of the CM choke is to add impedance for common mode voltage. So having some 3 V at the DCDC converter input side is kind of showing that the CM mode choke is working. The only thing to avoid is to get some series resonance from the coupling capacitance and the CM choke. So one may have to use a different type CM choke, possibly even 2 in series (one for the high and one for the lower frequency range). As a simple fix some 10K in parallel to the CM mode choke may help to dampen a resonance and make it a more well behaved impedance.The DC/DC converter should be without an internal Y cap - it does no work well with a CM choke. If at all the capacitor would be separate from before the CM-choke.The plan shows some capacitive dropper to provide +-15 V - it can be nice, though unusual.

author: arlo_g
author_rank: Contributor
timestamp: January 04, 2021, 01:22:10 am
content: Hi Dave,Your SMU project looks great, and your progress to date is awesome. I like your focus on keeping things DIY friendly.The three suggestions/comments below are in no way intended as criticism.The voltage sense buffer opamp inputs are protected by BAV199 diodes. The leakage specified by some manufacturers of these diodes might be on the high side for the 1uA range: had you considered using the base collector junctions of bipolar transistors for protection diodes, the way that Keithley was known to do? 2n3904's (and surface mount versions) are supposed to have quite low leakage, but this performance might not be guaranteed.The photoMOS switch on the highest current range(s) will suffer from drain resistance that varies with temperature and impacts current measurement accuracy, and to a lesser extent the drain resistance of CMOS switches on lower ranges will impact accuracy too. Had you considered adding a calibration path such as e.g. a relay from the output net (inboard of output switching relay) to a precision resistor load? Something in the 100-200 Ohm range would give good readback voltage resolution to estimate the total shunt resistance in the 100mA and 10mA ranges.I see now that switches U17.1 - U17.4 on your schematic neatly sidestep the current shunt switch resistance by connecting the instrumentation amp inputs across the shunt resistors.I think that your choice to drop current ranges under 1uA to keep things manageable makes a lot of sense. Take the following suggestion as an idle thought experiment: could the leakage of CMOS switches be managed for lower current ranges by using a t-network of three switches with one of them driving the intersection of the three to guard potential when the other two are open? I think that this would cut channel leakage currents from the switches down by a large factor as the switch to the output net would have ~0V across its channel. Of course this wouldn't do much to reduce leakage in ESD diodes internal to the switches, substrate diodes, package material (and gate leakage? hopefully the switches are in a process with thick enough oxide that this isn't significant) etc.

author: Kleinstein
author_rank: Super Contributor
timestamp: January 04, 2021, 08:32:02 am
content: The leakage current for the transistor junctions is not guaranteed - similar to the BAV199: typically very low, but not tested to a very strict level. Chance are the typical leakage is better with the BAV199. so there is nothing gained from going from one untested part to another. The often best bet for tested low leakage may be 2N4117-4119, but these are not really cheap. The cheap plastic version is usually not tested to a strict value either.

author: djerickson
author_rank: Regular Contributor
timestamp: January 05, 2021, 06:10:43 pm
content: BAV199's are pretty good for low leakage, particularly at low voltages. Where the leakage really matters, I try to run them at lower voltages, such as by bootstrapping to the op-amp output. If I *have to* I can select them. If I remember correctly, Phillips, (now NXP) has slightly better specs. I'd be interested in seeing any data on low leakage alternatives such as bipolar transistors or FETs.T-network for switches, what a good idea! I remember that trick from the good-old-days as a solution to high frequency leakage, but sure, why not DC leakage?Dave

author: MLNSLM
author_rank: Newbie
timestamp: January 05, 2021, 08:30:12 pm
content: Hello DavidI have currently been working on a simple SMU myself.I'm having some problems with overshoot when current-clamping.I have looked at your schematics, the ones of Keithley etc. and some others but just can't seem to get the grip of it.Now that I've read that you've done some simulations in LTSpice, I am kindly asking you (as the chinese would say) to share them with me/us? Maybe I can figure something out then.Cheers and Nice Work!

author: djerickson
author_rank: Regular Contributor
timestamp: January 07, 2021, 11:35:19 am
content: Sure, I just added the PSPICE simulation .ASC (schematic) file to the .zip file at:http://www.djerickson.com/diy_smu/files/DIY_SMU_Files.zipIt simulates constant voltage with current clamping. You'll need to change it for Constant current.The amplifier and crossover models are pretty complete. The voltage - sense amplifier has its own floating power. I'm not sure how to simulate that so I used a behavioral model for it.Let me know if the simulation doesn't work.Good luck!Dave

author: macaba
author_rank: Regular Contributor
timestamp: January 08, 2021, 03:59:03 pm
content: This is looking fantastic so far, I look forwards to seeing more.Quote from: djerickson on January 01, 2021, 08:44:35 pmI'd be interested to see some numbers alongside part numbers for these, even if it's just relative.

author: djerickson
author_rank: Regular Contributor
timestamp: January 09, 2021, 01:18:07 pm
content: I ordered a handful of different DC-DCs and will test them when they arrive next week.Dave

author: jbb
author_rank: Super Contributor
timestamp: January 10, 2021, 11:28:24 pm
content: Hi thereGlad you’ve brought this to the EEVblog forum. An SMU is one of those pieces of gear which is very useful but often too expensive. Having a DIY offering is great.The crossover design is clearly very important. I was really pleased to see your crossover design because it’s really clear how it’s meant to operate and separates the control dynamics from the separate force and clamp circuits.(I also really liked the output buffet/disconnect for the 2Q power supply on your site. Very nice approach.)I see the +clamp and -clamp opamps have anti-windup diodes which should help the force -> clamp transition. Do you have any anti-windup on the force opamp to help with the clamp -> force transient? (I had a poke around in LTSpice and found that the basic ‘just add Back to back Zeners’ concept is a no go because their leakage current wrecks the DC accuracy.)

author: djerickson
author_rank: Regular Contributor
timestamp: January 11, 2021, 02:14:52 pm
content: Regarding the crossover: The original Keithley 236 crossover design is quite nice for 1990 technology. I discuss it on my web site. For greater detail, read (expired) Keithley Patent 5,039,934, a nice education on crossover design. A big advantage of it is that it uses one integrator for both current and voltage, good to avoid integrator wind-up. I talk about it at length. The precision, fast error op-amps before the integrator switch very quickly (microseconds) using a simple precision diode circuit.I think the disadvantage of using a single integrator is that your voltage and current loops need to have similar loop gains in order to have good dynamic response on both.While at Teradyne, I learned of a different but similar crossover. It used fast comparators and an R-S flip-flop to switch the error voltages into the integrator, and with hysteresis. I wonder if they used this more complex approach to avoid the Keithley patent.My 3 op-amp crossover approach assumes that DACs are cheaper (it uses 3 DACs vs. 2) and provides fully independent control over the HI and LO clamp levels. I see this as a useful feature. I tested this circuit a few years ago on my PS-Load project (2-4 quadrant power supply) and was happy with its performance.Thanks,Dave

author: Kleinstein
author_rank: Super Contributor
timestamp: January 11, 2021, 02:53:04 pm
content: The same loop gain is not the problem with using a single integrator. One can adjust the gain of the voltage and current channels before one combines them. The difficulty comes if the regulator is more than a simple integrator - the ratio of an additional proportional would be fixed. Possible differential parts would likely be added before the signals are combined.

author: arlo_g
author_rank: Contributor
timestamp: February 11, 2021, 02:18:50 am
content: Here are a couple more ideas around the SMU design that might or might not be useful.1. Guarded cabling: high performance SMU's from the big test equipment players use triaxial connectors to maintain a coaxial guard around output signals and a coaxial shield at safety ground potential. The Trompeter TRB style connectors used by Keithley and HP/Agilent/Keysight are quite expensive. Coaxial guarded connectors and cabling would provide much of the low current performance, but exposed outer conductors on connectors would be a serious safety concern when driven to way beyond the usual 42Vdc safety limit by a SMU.FAKRA connectors, a plastic shrouded connector family based on SMB coax connectors, might be an inexpensive and safe choice for guarded SMU cabling. These mostly seem to have gold plated center conductors, but nickel or worse plating on the outer conductors so they might only be as good as BNC connectors at best in terms of thermocouples on the guard connection. I have yet to handle a FAKRA connector though, so it could be that the plastic shrouds are really unpleasant in use, and the 100 connection cycles claimed by some manufacturers might be optimistic. Anyways, all of this guarding stuff probably only matters for currents <<1nA.2. Class G variation on the output stage. Keithley's 237 and more recent SMU's use class G topologies in their output power amplifiers to reduce power dissipation (and also to support higher current at low voltage ranges). There is a supply connection that is already available in your SMU design, Dave, that allows the maximum amplifier power dissipation to be halved: the output common. I sketched out an output amp stage in LTspice that demonstrates the idea, see schematic below. Ground symbols in that highly simplified testbench represent the output common of the real SMU. For the simulated case of -100mA constant current load, M4 dissipates the bulk of the power for -150V < Vout < 17V and M3 takes over from 17V < Vout <150V. M1 and M5 behave similarly for an opposite sign of load current.Note that I have only run DC sweeps on this circuit, and a lot of component choices are far from careful. There are no gate protection diodes, no caps for dynamic gate drive, the gate biasing resistor values are suspiciously low and my transistor selection consisted of grabbing the first FET's and BJT's that I saw in the LTSpice library that had roughly the right max Vds/Vceo.Connecting the amplifier "supply" to output common through D3 and D10 is weird, but those diodes are only conducting in quadrants where the output amp is serving as an active load. All of this class-G business might not be worth the trouble for a single channel SMU, but it could make it easier to support two channels in a box.

author: jbb
author_rank: Super Contributor
timestamp: February 11, 2021, 04:08:58 am
content: Isn’t fancy guarded cabling with triax connectors used for really low current measurement? As I recall, Dave decided not to go hunting nA for cost reasons...On class G: that would cut down dissipation... I think some commercial SMUs use like +-30V rails in there to get a low-V higher-I range too.

author: wizard69
author_rank: Super Contributor
timestamp: February 13, 2021, 03:52:03 am
content: Quote from: djerickson on December 29, 2020, 05:14:18 pmI'm with you there. I would have been happy with a voltage only SMU and frankly one that does ±24VDC would have been fine. In fact I'd love to see a precision voltage SMU that effectively is a USB dongle. I'm not even sure that sort of functionality can even be squeezed into a dongle.QuoteLooks like you have an incredible work history.QuotePlus somebody in China will rip off the design, build it with cheap or slave labor and sell it for half what we can buy the parts for.By the way I'm not a big fan of Touch screens on instrumentation. Just a personal thing.QuoteHalf rack is good but I wonder if 1/3 rack is possible. Bench space is always an issue. Beyond that I'd prefer good support for computer communications than anything else. You still would need voltage and current displays on the front panel but a computer connection would be nice. Bluetooth is probably asking too much.QuoteThanks Dave! I will have to check out your web site in the future. It is already late and I need to dig out my truck tomorrow.In any event this sounds like a most interesting project. It is something that could be very useful. What is nice is that I learn something new every time I tune into such threads, even if I never build it, I gain.

author: Kleinstein
author_rank: Super Contributor
timestamp: February 13, 2021, 10:36:06 am
content: A SMU naturally needs a little more power and also needs to get rid of the heat, especially in sink mode. So like a linear lab supply it can't be build very small and just needs space for heat sinks and so on. So already the 1/2 rack width like the modern Keithley 24xx series is relatively small.It is more that other instruments could get smaller: some of the simpler bench DMMs and DDS generators are quite some empty space inside and could get even smaller. The 1/2 size got a kind of standard and this helps when stacking instruments - nobody want's a mix of 1/3 , 1/3 and 2/5. It is already bad enough they often have different depth and the feet at the back instead of at a defined depth.For precision instruments, one wants to avoid any unnecessary EMI - so bluetooth is kind of a no go, and also USB is not really the preferred interface as it is often more like an EMI source than a power source. In this respect I am still expecting some kind of lower end fiber based interface for lab instruments (not 10GBit LAN). For a SMU the power over USB is too limited - it may be just OK for a bench DMM or maybe small DDS generator.

author: wizard69
author_rank: Super Contributor
timestamp: February 14, 2021, 01:27:12 am
content: Quote from: Kleinstein on February 13, 2021, 10:36:06 amIt sounds like you where responding to my post. In any event to clarify:The desire for a USB device is for something that can generate and read accurate low voltages. The goal is to calibrate instrumentation in the common process voltage ranges. Think field work here where a dongle would be ideal, size matters and big is not good. We could easily skip current control or high current on the voltage reference.I realize that 1/2 rack is currently a standard but it also wastes a lot of space for many instruments. I'm a bit of a fan of the old TM500 and 5000 series from Tektronix. It might not make sense to bring back that concept but narrower instruments would actually work well on many benches. We just need to rethink how to form the instruments.In any event I don't see a need to make every meter or bench instrument 1/2 wide. There are many power supplies on the market setting good examples as far as layout goes.QuoteMy experience is that unless you buy the instruments from the same vendor (not a good idea) stack ability is highly variable, as you note. So I really don't see that as a big deal. If we go narrow and higher it becomes easier to justify a shelf for each instrument row.QuoteThis may be true but on the other hand instrument makers have been over coming the USB issue for sometime. There are few instruments these days without USB so the EMI problem can be over come.QuoteEvery time something new comes out with a fiber interface it seems to die rather quickly. Thunderbolt was suppose to support fiber and for whatever reason it never became a thing.QuoteFor the USB based device I'm really thinking a more limited SMU type device. Basically an easily programmed precise voltage source with the ability to measure low voltages. The ability to source or sink current, less than 100mAs, would be nice but that does lead to an explosion in size.In the end I have two different instruments in mind the more I think about it. The other thing is that I'm leaning towards minimal user interfaces on the device itself and expecting the user to connect to a PC for complete control.

author: djerickson
author_rank: Regular Contributor
timestamp: February 14, 2021, 05:14:33 pm
content: Hi All,Announcing recent upgrades to the DIY-SMU project:Project web page:http://www.djerickson.com/diy_smuThe latest stuff is on the bottom ofhttp://www.djerickson.com/diy_smu/smu-bringup.htmlVideo about the new changes and chassis:Study of DC-DC and AC-DC common-mode noise athttp://www.djerickson.com/dc-dc/Gobilda Hardware:https://www.gobilda.com/Don't miss theirhttps://www.gobilda.com/product-insights/Changes are:1) New half-rack 2U enclosure. I came across Gobilda hardware and used 4 of their 8mm square rails to build a frame. The prototype front panel is larger than the original box, so I was able to design...2) New Teensy 3.2 CPU and front panel board. No more hacked Arduino Leonardo board and front panel controls.3) Ported the Leonardo code to Teensy. Pretty easy job. Headroom is good......3) Solved the 300KHz DC-DC noise issue by changing from Meanwell to Recom DC-DC. If you're interested, See my DC-DC and AC-DC common-mode noise study.Thanks to all for your excellent feedback.Dave

author: nikifena
author_rank: Regular Contributor
timestamp: February 14, 2021, 07:58:24 pm
content: Dear Dave.I think you have to put a resistor between the U8.2 opamp output and the capacitor in order to prevent oscillations as shownAlso, what about adding a single 100nF next to each opamp between the 15V rails instead of two from positive to ground and the negative to ground. If you want to isolate the supply, you can add two 10ohm resistors in series of the 15V and -15V and each opamp.

author: wizard69
author_rank: Super Contributor
timestamp: February 14, 2021, 08:54:03 pm
content: Looks like you are on the fast track here. By the way the boards appear to be smaller than expected.As for Teensy is there a reason for going that way over simply soldering in a raw chip?Quote from: djerickson on February 14, 2021, 05:14:33 pm

author: nikifena
author_rank: Regular Contributor
timestamp: February 14, 2021, 10:38:20 pm
content: ^I think there is a lot of free space on the mainboard. Also, it's good to put the ribbon cable on the opposite side - next to the controller.

author: Kleinstein
author_rank: Super Contributor
timestamp: February 15, 2021, 09:18:55 am
content: Quote from: nikifena on February 14, 2021, 07:58:24 pmThe 10 Ohms resistor as shown does more harm than good. The resistor only makes sense in combination with an additional capacitor as direct feedback.The OPA2140 is a nice OP, but not really the right choice as a reference buffer / inverter. In this circuit a BJT based OP, e.g. like OPA2202 (new and relatively cheap) or AD8676 should give better performance - one still needs to check the common mode voltage.

author: djerickson
author_rank: Regular Contributor
timestamp: February 15, 2021, 02:02:16 pm
content: Thanks again for the comments and help.From Wizard69:"As for Teensy is there a reason for going that way over simply soldering in a raw chip?"Sure. My motivations are: Design expediency, ease of hand-assembly, Arduino tool and library support, easy Upgrade to the (amazing!) Teensy 4, previous experience, and love for all things Teensy. $20 is one of the high-ticket items on the BOM. Raspberry Pi Pico? Hmmmm.From Kleinstein via Nikifena:Dear Dave.I think you have to put a resistor between the U8.2 opamp output and the capacitor in order to prevent oscillations as shown.I agree with Kleinstein. A 10ohm resistor will make the circuit less stable, without a feedback cap from an opamp OUT to - IN. This circuit is a bit of a hack, I freely admit. Turns out putting a larger cap with higher ESR (cheap electrolytic or Tantalum) works well on the output of most op-amps, even with an emitter-follower buffer. You get a free ~1-2 Ohm resistor with every cheap cap :-) Try simulating this circuit stability vs ESR and you'll see that some ESR is your friend, and low ESR causes instability. "But", you say, "There is no guarantee of minimum ESR, Dave". True, but 1) Without some ESR, most 3 terminal regulators aren't stable and 2) If cap manufacturers could build the same cap with very low ESR, they would sell them for more $$ as low ESR caps, no?Admittedly, if I were building hundreds of these (by machine) I might add a 1ohm R on series with the cap or the 10 ohm R + feedback C.I use OPA2140, a fast JFET for a DC reference buffer since I already have a handful of them on the board. It has good enough drift and noise.From Nikifena:"Also, it's good to put the ribbon cable on the opposite side, - next to the controller."True. The signal flow is SPI->Isolator->DACs->Crossover->Amplifier->Irange->Vmeasure+Imeasure->Output. To put the output near the front, the SPI ended up in back. A long ribbon cable is a minor compromise, particularly since it is isolated.BTW how do I include quotes from others in this blog thingie? How about in-line images? I'm new at this.Thanks,Dave

author: Kleinstein
author_rank: Super Contributor
timestamp: February 15, 2021, 04:41:21 pm
content: One can get a quote from an older answer, just click on the "inser quote part" to the top right of the answer. If needed delete the part not needed.Inline pictures get be inserted similar to other attachments, just chose the right type.They start to appreciate ESR: there are extra MLCC caps with added well defined ESR available.

author: jbb
author_rank: Super Contributor
timestamp: February 16, 2021, 09:24:07 pm
content: Thanks for the website and video updates. I know it’s a lot of work and I appreciate it.Here’s a question about the output amp: do the cascade MOSFETs do much to the amplifier dynamic performance? I was thinking that if I built such an instrument I might not need (or indeed want due to safety concerns) a 150V range. Would it be practical to use a lower DC rail (eg +-30V) and only use the TIP41/TIP42 BJTs?

author: Kleinstein
author_rank: Super Contributor
timestamp: February 16, 2021, 10:19:34 pm
content: The cascaded MOSFETs should only be reponsible for the high voltage part. When used at low voltage they should not contribute.At lower voltage (like +-40V) a pure BJT based design should work too. I would still consider faster transistors than TIP41/42, more liky D44H / D45H or BJTs made for audio. These may have a reasonable SOA and speed.One could still use Juts 1 MOSFET each for a lower voltage version, so essentially without the cascade.

author: djerickson
author_rank: Regular Contributor
timestamp: February 17, 2021, 04:54:18 pm
content: To see how Keithley does both +/- 200V 100ma and +/- 20V 1A, check out the 2400 service manual. It has a simplified schematic for the amplifier design. It has one bipolar cascoded with 2 FETs for the low voltage high current, then another bipolar plus 2 more FETs for the 200V. I suspect the 2 bottom FETs are there to share power, otherwise the single bipolar needs to dissipate all the power. When used as a 1A load at 20V: About 20V + 20V + 15V headroom x 1A ~= 55Watts.With 200V heat-sink isolation, you need a good electrical insulating thermal pad on your transistor, which adds ~1C/W thermal resistance. At 55W, that's 55C rise just for the stupid insulator, never mind the package and heat sink.I have put dangerous voltage and current on a 5 lb heat sink with 4 FETs and 4 power resistors just to avoid those damn 1C/W thermal pads.Dave

author: vmiguel
author_rank: Newbie
timestamp: February 17, 2021, 08:52:14 pm
content: Hello Dave.I have been thinking about your DC-DC converter problem I came with the following transformer design for the transformer:It's a PCB coil design using a tiny U ferrite core with good isolation between the windings.The top and bottom layers are used as individual shields in both coils and the board cutout and distance provides little coupling capacitance.I did not make any calculations in the windings, considering 5V input -+15v output as an example.This way would be very easy for anyone to assemble the converter.Regards,Vini

author: arlo_g
author_rank: Contributor
timestamp: February 18, 2021, 01:11:29 pm
content: Re heat sink insulation: I haven't seen them offered at the big distributors yet, but Aluminum Nitride insulators for TO-220 and TO-247 devices are available fairly inexpensively from Aliexpress (with some risk that not all vendors sell quality product).Ceramic AlN has very good thermal conductivity and dielectric strength: somewhere from 100 W/mK to 200 W/mK or almost as good as BeO with none of the toxicity. A 1/16" = 1.6mm thick TO-220 insulator should have at least 6x better thermal resistance than 1C/W of filled silicone thermal pad. Of course, the AlN insulator would need messy thermal grease at both interfaces.

author: djerickson
author_rank: Regular Contributor
timestamp: February 21, 2021, 11:04:29 pm
content: Quote from: arlo_g on February 18, 2021, 01:11:29 pmOops, my mistake, I confused thermal conductance and resistance, Doh! For a TO-220 insulating pad, thermal resistance is about .3-.5 C/W, not 1.0 as I stated. Not a problem when burning 10-20 W, but something to watch at high power. Some non-insulating ones are lower but I need insulation to a few hundred volts.I see TO-220 and TO-247 Al/N pads on Ali Express. Specs are nice, I will buy some. Having those niceties: you know, like a manufacturer's web site and a data sheet would be lovely. Thanks for the lead.Dave

author: jbb
author_rank: Super Contributor
timestamp: February 21, 2021, 11:36:42 pm
content: I generally assume 1C/W for a TO-220 insulator too. If I ever do a high volume design I’ll clearly have to do some careful selections and qualification.The flip side of isolation is capacitance, and that’s where ceramics could be really nice; thicker part = less stray capacitance. I guess a little grease will be needed between the device and the pad and the heat sink. (One good argument in favour of a Sil-Pad or similar.)I do wonder what shapes are really available. For example, I would prefer tonothave a hole in the insulator (which has a very short creepage path) and use a spring clip. Maybe one could source modestly sized rectangles and mount a couple of TO-220s.The joyous endpoint of this kind of thing is the integrated power module, where one side of the ceramic sheet has circuit traces (ie it’s a single-layer PCB) and power semiconductors (soldered/sintered on, some connections made by wire bond) and the far side bolts straight to the heat sink. Prototyping costs might be high :-)

author: djerickson
author_rank: Regular Contributor
timestamp: February 22, 2021, 02:30:02 pm
content: Here's the AliExpress page I ordered from. Different sizes, 0.6 or 1mm thickness, hole or no-hole. They specify 350 W/mK, but they are thicker than plastic and other materials. I bought the thicker ones hoping they are more rugged.https://www.aliexpress.com/item/1005001350971494.htmlDave

author: jbb
author_rank: Super Contributor
timestamp: February 25, 2021, 08:36:19 pm
content: Hi DaveSaw on your website that FIMV mode could cause trouble with voltage clamps.I think I saw something relevant in a Keithley SMU manual, but didn’t understand it at the time. It was a couple of MOSFETs that switched the resistor divider ratio of the inner current clamp BJTs of the power amplifier. You could have a ~120mA amplifier limit for the force 100mA range, and a lower limit for the force 10mA range and below.Another option would be looking at clamping the maximum voltage drop across the current shunt assembly. If you set up +-7V clamping that would limit the dissipation of the 499R shunt resistor to around 100mW, which might be acceptable. As usual, such a clamp would need nice low leakage when not conducting and be able to shunt the worst case amplifier output current when required.

author: djerickson
author_rank: Regular Contributor
timestamp: February 26, 2021, 08:11:38 pm
content: Quote from: jbb on February 25, 2021, 08:36:19 pmThanks much for your inputs, jbb. 7V would be safe, 15V if I beef up the 499R, I'm a little reluctant to add more diodes and leakage, so am leaning towards the 236 solution: lowering the current limit for all but the 100mA range. Without lowering the current limit, you would get >100mA fault condition on the 10mA range. Could fry a sensitive DUT.I considered 2 other solutions. 1) Detect and fix it in software by increasing the clamp V. Is that a hack, or what? 2) Hardware to detect this fault and drive the integrator to override the clamp. That could be a stability headache.Dave

author: jbb
author_rank: Super Contributor
timestamp: February 27, 2021, 12:35:42 am
content: Yeah, solutions 1 and 2 above sound ...challenging. Adding more control loops to the system will get more and more annoying, and I expect you’re already having some battles choosing acceptable control gains for all the voltage and current range options.Well what a surprise :-), Keithley have a really good solution in hand. It’s not perfect, though: the main control integrator will wind up when the CV amp (whether high or low) is controlling the loop and the output amp is limiting the current.

author: Kleinstein
author_rank: Super Contributor
timestamp: February 27, 2021, 09:10:41 am
content: Quote from: jbb on February 27, 2021, 12:35:42 amThe current limit from the output amp should only be a short time or last resort limit. Normally the fine adjusted current limits (upper and lower limit separate) should set the limit at the integrator input.

author: jbb
author_rank: Super Contributor
timestamp: February 27, 2021, 08:42:33 pm
content: Quote from: Kleinstein on February 27, 2021, 09:10:41 amHmm. Perhaps one could detect the current over range with some comparators and trip the output off? This is, after all, a fault condition.If pursuing this approach, I would seriously consider implementing the trip logic in the analog control board rather than trying to catch it with the microcontroller.QuoteYes, but I think Dave’s problem is with the FIMV mode, where the current is uncontrolled once you hit the voltage clamps.Maybe one could add a set of ‘outer current clamps’ to the crossover circuit which can override the voltage clamps? These could be hardwired to, say, 130% of range setting. That would scale the clamping with the range and avoid integrator windup.

author: djerickson
author_rank: Regular Contributor
timestamp: March 04, 2021, 03:15:02 pm
content: Thanks for the current limit feedback. For now I'm going with the Keithley solution: MOSFETs to switch the current limit for the 100mA range: 15mA on the 10mA and lower ranges, 150mA on the 100mA range. Yes, the integrator will wind-up, but this is a serious (but possibly common) fault condition. I did a simulation of the current limit circuit, and it seems to work well.I plan to switch the display from Nextion to LVGL. I found what looks like a nice Dev board: Teensy 4.0 + 3.5 TFT with Cap. Touch + LVGL examples.http://skpang.co.uk/catalog/teensy-40-classic-can-can-fd-board-with-480x320-35-touch-lcd-p-1611.htmlAnyone know of other Teensy + LVGL examples out there?Thanks!Dave

author: jbb
author_rank: Super Contributor
timestamp: March 04, 2021, 09:10:08 pm
content: Doing the emergency current limit in the power amp seems sensible. You want that kind of thing to be as simple as possible. Can you configure it so that it defaults to 15mA limit if the relevant control wire falls off?You mentioned how to source this switch signal. I would favour using an inverter on the active low 100mA range; that way some confusion in the software can’t leave you in the dangerous configuration.On integrator windup: I suspect the best approach is to trip/disconnect the SMU in this case; after all, something has gone quite wrong. I assume that a 15mA limit (plus voltage clamping to floating +-15V rails) is enough to protect the delicate parts in the current sense array? If so, I guess you could detect current over range from the sense ADC. Maybe the trip could be “set voltage clamps to +-160V, set current ref to 0”?In fact, that makes me think about the general challenge of enabling the SMU when wired to an energised device under test. Your PS-Load project had a nice take on this (a switch to disconnect the output MOSFETs from the preamp and a servo loop to preset the integrator). Is there anything like that in your current system?Sorry I don’t have much on LCDs.

author: riyadh144
author_rank: Unknown
timestamp: March 12, 2021, 02:00:23 am
content: My god, that is some great work, I am commenting here to stay uptodate I guess I know what is my next project.You need to sell that man.

author: wergor
author_rank: Contributor
timestamp: March 14, 2021, 06:54:28 pm
content: I love and hate such threads... love because I learn a lot, hate because I see how far I still have to govery interesting project. I'm designing an open source SMU myself (but I'm going in a different direction: +-24V, +-3A, no UI, instead it will be a module for a NI PXI / EEZ BB3 type system), your writeup, schematics and this thread have given me both insight and motivation to go ahead with it. thank you!I was asking about improvements to my current sense circuit a while back, maybe this thread is interesting to you:https://www.eevblog.com/forum/projects/improving-a-current-sense-circuit/msg2986694/#msg2986694- you may be able to eliminate U17 from your design (at the cost of 1 additional opamp).

author: smgvbest
author_rank: Unknown
timestamp: April 11, 2021, 03:51:12 pm
content: Hi,Love the project, following you on youtube and this thread. Great work.sorry to be another one of those with suggestions thoughI'm curious why not go for a Teensy 4.1 Board instead of the 3.2?The 4.1 for almost same price gives more of everything but most importantly adds a SDCARD socket on the board which would really make you ready for datalogging storage and playback. Also supports Ethernet so you could have USB/Ethernet SCPI support which would likely save you in the future adding those options.I of course realize what is likely the reason, you have 3.2 boards on hand

author: djerickson
author_rank: Regular Contributor
timestamp: April 14, 2021, 04:27:58 pm
content: You are right, I'll likely end up with a Teensy 4.x or maybe even an STM32. Currently a cohort is working on a version of the embedded code with Ethernet on a Teensy 4.x. I've designed HW for embedded systems with ethernet and RTOS, but never wrote the code myself. Also looking into changing the UI from Nextion to LGVL.Thanks,Dave

author: RikV
author_rank: Regular Contributor
timestamp: May 16, 2021, 10:29:13 pm
content: Very tempting project! I would like to build one. Would it be possible to share the software and Nextion configuration of the current version? I do realize this is far from completed but nevertheless would be a nice starting point for som experimentation.Thanks in advance.PS: damn nice project!

author: RikV
author_rank: Regular Contributor
timestamp: May 24, 2021, 01:54:37 pm
content: Dave,For what reasons would you leave Nextion diaplays?

author: voltsandjolts
author_rank: Unknown
timestamp: May 25, 2021, 08:50:59 am
content: Thanks to Dave for an interesting and well documented project.For a lower voltage and simpler SMU, could a power op-amp be used as the output stage?For example, OPA548 or OPA541, for say +/-30V and few amps SMU.They have a programmable current limit which could be used as the 'back-stop' current limit but a more accurate current sense/limiter could be wrapped around it.I'm thinking of an smu add-on for a standard lab bench supply that provides +/-32V @ 3A.

author: jbb
author_rank: Super Contributor
timestamp: May 25, 2021, 09:17:01 pm
content: I was thinking about that. A lower voltage version could use reduced supply rails (ie <60V) which are safer to deal with.But higher current outputs lead to high power dissipation, especially in ‘active load’ mode. Consider using the SMU to apple 2A load a 24V supply. On the face of it, that looks like 2*24=48W, which is substantial.However, that power opamp doesn’t have a current path to ground so the current must return to the -32V rail. So the dissipation is more like 2*(24+32)=112W. Yikes! I expect that a power opamp which could dissipate this energy would be expensive. That suggests a discrete output stage is the way to go.

author: voltsandjolts
author_rank: Unknown
timestamp: May 26, 2021, 10:50:22 am
content: Yikes indeed! Thanks for pointing that out, I hadn't thought of that.A couple of power op-amps might be sufficient for a compact dual smu for small transistor characterisation.But as you say, going discrete helps with heat dissipation, probably the only way to go.

author: prasimix
author_rank: Unknown
timestamp: May 26, 2021, 11:06:20 am
content: Ok, what's about adding pre-regulators?

author: voltsandjolts
author_rank: Unknown
timestamp: May 26, 2021, 11:17:05 am
content: While fine for a DC supply I suspect an smu pre-reg could be a bit trickier, if you need good dynamic response from your smu.

author: Kleinstein
author_rank: Super Contributor
timestamp: May 26, 2021, 12:19:19 pm
content: The usual SMU circuits use a few supply rails to choose from and this way limit the loss. Switched mode preregulation gets tricky with EMI and also the need to sink and source - so one would need 2 rails. A preregular would still not help when used as a sink / load. So one needs the relatively high power loss capability anyway.The SMU power stages look that complicated because they often are made also for high voltage and use series connected transistors. With a more moderate voltage range (like +-45 V) the circuit can be quite a bit simpler, like 4 power transistors from levels like +-10 V and -+50 V. As a sink it would add the opposite side 10 V and thus have quite some power loss. However just saving the 10 V by sinking towards 0 V would not help that much.

author: jbb
author_rank: Super Contributor
timestamp: May 26, 2021, 07:35:50 pm
content: Yes, a pre-regulator gets a bit tricky. Conceptually, it could help a lot with the sourcing modes by limiting main amp voltage drop. You’d probably want one for positive side and one for negative side.However, when we consider the sinking modes, we have two options.1) if the pre-regulator goes down close to zero, we still need to dissipate all of the sink power in the linear amplifier2) if the pre-regulator goes downbelowzero, the linear amplifier dissipation is reduced. BUT the pre-regulator then runs ‘backwards’ and will push energy back into the main DC link. We then need to get rid of this energy so the DC link doesn’t blow up.So, as usual, Kleinstein is right: it looks like an adjustable preregulator isn’t particularly helpful here. A multi-tap supply (+-40V and +-10V) could deliver quite an improvement without the additional complexity of tracking regulation. All four power rails could be sourced from a single power stage (perhaps LLC for lower switching noise?).Choosing the ‘outer’ voltage is based on the desired instrument voltage range (plus cable and shunt resistor drop, amplifier headroom and supply tolerance).Some spit-balling for a ‘touch safe’ SMU:- say +-30V output- amplifier headroom: 9V (note we need headroom for bias circuits)- shunt R drop: 2V- cable drop: 2x 1V- Hence outer DC supply >= 43V- Allow 10% tolerance: 43 / (100% - 10%) = 48V- Funny how those numbers worked out :-)Choosing the ‘inner’ voltage is... probably similar, really. If we just want to improve the power sinking situation, we could just use 0V as previously suggested in this thread.If we want a ‘high current’ output from the inner voltage rail:- say +-6V output (enough for ‘USB’ and LiIon testing)- amplifier headroom: 3.5V (perhaps optimistic, can get bias from outer rails)- shunt R drop: 2V- cable drop: 2x 1V- Hence outer DC supply >= 13.5V- Allow 10% tolerance: 13.5 / (100% - 10%) = 15V (ish)

author: jbb
author_rank: Super Contributor
timestamp: May 26, 2021, 09:12:48 pm
content: I realise that Keithleyhas already produced some nice diagrams which illustrate the point for theirhttps://www.tek.com/datasheet/series-2400-sourcemeter-instruments]2400 series SMUs (attached).If we look at the 2440 (bottom row), we see two distinct ranges in play: 10V 5A or 40V 0.5A. Also worth noting are the shaded notches in the sinking quadrants: looks like a power dissipation limit to me (or perhaps power transistor Safe Operating Area limits).

author: dany-boy
author_rank: Contributor
timestamp: May 28, 2021, 04:03:00 pm
content: Hey Dave,Thanks for sharing such a complex project! Specially thank you for explaining how it works and the analog design decisions. Reading your blogs along with other materials has been quite a learning experience. I'm finalizing my order for most of the important analog components, and I wanted to ask you directly if its ok for me to convert the boards to kicad and modify the design a little bit. Particularly in the digital isolation department and the ±15v isolated module. I want to change the recom module for the SN6505 controller that @prasimix suggested, and change the digital isolator for a couple of cheaper options, as well as changing the SOIC footprints for SSOP which are also cheaper. Of course these modified files would be public as well.Cheers for such a great project!

author: jbb
author_rank: Super Contributor
timestamp: May 29, 2021, 02:10:51 am
content: Quote from: dany-boy on May 28, 2021, 04:03:00 pmI saw a new part recently that might be handy. The Texas Instrumentshttps://www.ti.com/product/UCC25800-Q1]UCC25800 is a little LLC power driver intended for isolated gate drive. It works with high leakage inductance transformers, which means they can be wound using split bobbins and have very low coupling.Wurth electronics apparently makes thehttps://www.we-online.com/icref/en/texas-instruments/UCC25800-LLC-Resonant?sq=750319177&sp=https%3A%2F%2Fwww.we-online.com%2Fweb%2Fen%2Fwuerth_elektronik%2Fsearchpage.php%3Fsearch%3D750319177#750319177]750319177transformer which has <1pF coupling capacitance.——I had a look at the Keithley patent previously mentioned. I see the relationship to the crossover Dave came up with, and I can see it does indeed have lots of current limiting / constant current diodes.Those parts are hard to get and/or expensive, so I’m now thinking about using diode bridge switches (more often used for RF switching) in their place. The current flow through a diode bridge switch is limited to the control current (I.e. current limiting is available) and the behaviour of the bridge can be changed by adjusting the drive currents (e.g. can open the switch by removing drive currents, or can only supply current to one side to get ‘diode’ behaviour). I can set a low current for the ‘force’ channel and a high current for the ‘clamp’ channels such that the clamps can override the force. Interesting.It may also be practical to put in another pair of ‘oh no’ outer current clamps which are always active and ready to override voltage clamp limits in the Force Current Clamp Voltage mode (which Dave has had trouble with previously).

author: voltsandjolts
author_rank: Unknown
timestamp: May 30, 2021, 09:50:51 am
content: Quote from: jbb on May 29, 2021, 02:10:51 amThat's an interesting little chip and transformer, nice find.Links were broken, I fixed them in the quote above.

author: wergor
author_rank: Contributor
timestamp: June 06, 2021, 08:03:19 am
content: DIY-SMU and the Keithley 236/237 use integrators as error amplifiers. why don't they use simple inverting amplifiers? how come the integrator's high gain at DC is not an issue?

author: Kleinstein
author_rank: Super Contributor
timestamp: June 06, 2021, 08:17:20 am
content: A control loop allways needs a limited bandwidth to keep it stable. The simplest case is a kind of integrator.The usual OPs (dominant pole compensation) are actually working as an integrator with the capacitor inside, setting the GBW. The output of an OP is the integral of the difference between the 2 inputs. It only become a more normal amplifier with feedback, or at very low frequency (e.g. < 1 Hz), where the limited open loop gain gets visible.Inside the control loop one usually wants a very high DC gain.An explicite integrator allows to choose a lower speed independent from the OP. It may not be a pure integrator and could have additional tweaks to improve the stability.

author: djerickson
author_rank: Regular Contributor
timestamp: June 29, 2021, 11:43:21 am
content: Hi All,I've updated the DIY-SMU web page and added 2 new project videos on Youtube.Chapter 3 is the new case, front and rear panels built by PCBway. I show how I used PCB layout tools and FreeCAD to design the enclosure.Chapter 4 is the SCPI interface and how it was implemented.Enjoy,Dave Ericksonhttp://djerickson.com/diy_smuhttps://www.youtube.com/channel/UC6agVsOGqt6E8cMNyzgdOAg

author: ducreux
author_rank: Newbie
timestamp: July 01, 2021, 03:19:36 pm
content: Hi,I don't have license for DipTrace : is it possible to have gerbers files ?Thanks

author: RikV
author_rank: Regular Contributor
timestamp: July 02, 2021, 02:53:21 pm
content: Hi Dave,Thanks for the update of the schematics and for including the software! This is an amazing project.However, I believe you forgot to include the Nextion file.I cannot get the soft compiled: DIY-SMU_SCPI\DIY-SMU_SCPI.ino:397:3: error: 'my_instrument' was not declared in this scopeAny suggestion?There is however 1 remark I would like to make. There is no logic in the naming of your files: SMU_Main becomes SMU1 Cross...It would be logical that the file name reflects the board AND the version Number. SMU MainRev.2 10_2020 and SMURev2. which one is most recent at first sight?Dave, just found out that U26 (74AHC1G14GV,125) is missing in the BOM

author: RikV
author_rank: Regular Contributor
timestamp: July 02, 2021, 11:13:38 pm
content: Hi, Ducreux,to save Dave some time I include the Gerbers of the most recent version of the boards. I suppose Dave won't mind.If you need a free "Gerber viewer", look for FlatCAM.

author: ducreux92
author_rank: Contributor
timestamp: July 14, 2021, 02:26:43 pm
content: Hi,I make a prototype with test plate, see photo.I use only cheap op like TL074, without adc or dac.in FV mode my two references are variables resistances.I have a big oscillation problem in out: about 200 Khz with >5V pp

author: ducreux92
author_rank: Contributor
timestamp: July 14, 2021, 02:41:06 pm
content: The photo.

author: Kleinstein
author_rank: Super Contributor
timestamp: July 14, 2021, 04:23:43 pm
content: The TL074 may be a bit on the fast side on a bread board. Parts of the circuit may be to high in impedance for the added parasitic capacitance and there may be OPs with intentional different GBW in the design. The compensation may have to be adjusted for slower OPs.So the simplified circuit / breadboard version may need adjustments / new calculation (simulation) for the compensation.

author: RikV
author_rank: Regular Contributor
timestamp: July 18, 2021, 09:31:32 pm
content: Could someone hint me to where I can find the Nextion .HMI file for this project? According to what Dave says it should be included in his latest update but I don't see it. I would love to proceed on this project.My fault: just found the Github page:https://github.com/djerickson/diy-smuThanks again for the interesting work!

author: RikV
author_rank: Regular Contributor
timestamp: July 19, 2021, 03:06:19 pm
content: Where can I find those exotic USB-to-panel cables?

author: prasimix
author_rank: Unknown
timestamp: July 19, 2021, 03:13:03 pm
content: All kind of "impossible" and "exotic" cables could be found on aliexpress

author: RikV
author_rank: Regular Contributor
timestamp: July 19, 2021, 09:29:25 pm
content: No doubt about that! All kinds of stuff you can imagine and a lot more! But... You must kno how to ask kindlyk. "Cabinet mounted USB-B to USB-Bmicro cable" doesn't return anything useful. how do you describe such a cable in a way ebay or other search engines understand what you mean? Is there a dictionary somewhere? I have the same problem when seaching componenet in an on-line catalogue. "What is the F** name othis f** thing??". I must be getting too old for this I guess.

author: prasimix
author_rank: Unknown
timestamp: July 20, 2021, 05:27:25 am
content: What's about "screw lock panel mounted usb cable"?https://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20210719212607&SearchText=screw+lock+panel+mounted+usb+cable

author: poorchava
author_rank: Super Contributor
timestamp: July 20, 2021, 08:31:41 am
content: As for GUI I'd say: TouchGFX is the best by a large margin. At least when it comes to performance & capabilities vs cost (which is 0). It used to be horrendously expensive, but ST bought them and provides it for free. Obviously works only with STM32 now. It can provide a modern Android-like experience.LVGL is nice, but waaaay more rudimentary than TGFX and waaaay lower performance, despite TGFX being written in C++ (and not the reduced kind, full blown with virtual methods and abstract classes). I also found, that LVGL requires much more coding to obtain same basic functionality as compared to TGFX.But I'm one of those people who can't stand the Arduino crowd (maybe because of number of customers begging their inquiry with 'i've done it with Arduino so 3 weeks is plenty to go into series production for market, right? That's what we told the investors....'). Ohh, and the questions along the lines of 'how to run my AVR at 100Mhz' and 'I CAN HAZ HDMI ON AT MEGA?' </flame>

author: RikV
author_rank: Regular Contributor
timestamp: July 20, 2021, 04:44:29 pm
content: @Prasimix: not only creative with chips but also with words.Thanks for the extra hint. I had already found what I was looking for, only took waaay tooo long. Must be the age.As lon as I can handsolder a 0603, you won't hear me complain.

author: ducreux92
author_rank: Contributor
timestamp: July 26, 2021, 02:24:52 pm
content: Hi,Is this project reproducible ?How many are working properly in the world ?Thanks.

author: ducreux92
author_rank: Contributor
timestamp: July 28, 2021, 02:20:31 pm
content: Hi,I tested a prototype on breadboard with TL074 with sucess.I used +-15V powers instead +-170 V and only two powers mosfet ( doesn't works with 4 mosfets at 15V)At output i have about 3 mVpp noise.Why not replace the circuits OPA2140 with cheaper circuits like ADA4522-X for example ?idem for AD5686 ?

author: Kleinstein
author_rank: Super Contributor
timestamp: July 28, 2021, 03:46:02 pm
content: I had asked about the OPA2140 before - it just was available and cost was not such an issue for just a prototype.There are different places the chip is used and different places may really want that chip or could use different alternatives (e.g. the ADA4522, MCP6V51, maybe OPA2202 or maybe even TL032 at some places).

author: ducreux92
author_rank: Contributor
timestamp: August 09, 2021, 08:47:23 am
content: Hi,I find opa2197 (opa197) which is much cheaper that opa2140 with similar caracteristics, butarchitecture is CMOS not JFET amplifier - Is this amp suitable for the project ?

author: Kleinstein
author_rank: Super Contributor
timestamp: August 09, 2021, 09:19:29 am
content: The OPA2197 has more low frequency noise, but is still a good OP. I like the low power consupltion for the speed.Another cheaper replacement relatively close to the OPA2140 is the OPA1642 (mainly higher offset). It really depends on the positions - the OPA2140 may not even be a good choice in some places.With hobby projects it is not so uncommon to use the parts you have at hand and know and this may than look odd.Currently some parts may also not be avialable (or not from the favorite source) - this can also cause strange looking choices.

author: djerickson
author_rank: Regular Contributor
timestamp: August 26, 2021, 11:24:25 am
content: Thanks for the op amp substitute ideas for the OPA140/2140. I think JFET is the right choice, particularly for low bias current stages. Bipolar is generally higher input current, and CMOS is challenging for +/-15V, generally higher drift and noise. I don't trust the linearity (CMRR) of CMOS: they need circuit tricks to get wide input voltage range that sometimes compromise linearity.I settled on OPA145/2145 as my go-to precision amp. Similar DC and noise specs to the OPA140/2140, slower (5.5MHz vs 11MHZ), better availability, and ~1/2 the cost.I have built 2 complete DIY-SMUs so far. I'm getting ready to build the 'final' Rev2 Main boards and Rev3 Amp boards.Jaromir has designed a very nice take on this project and has built a couple of units. His design uses an off-the shelf enclosure, and a custom AC transformer. And a simpler LED / buttons front panel similar to the original K236 instead of a touch screen.If there is interest, I can get the new boards machine-assembled and can sell a few. At least the main board with its 175 parts. The Amp board (75 parts) is not bad to hand-build.There are firmware additions and fixes that I plan:EEPROM based calibration. Currently requires recompile. A Python app does the hard part.Control of remote sense. Currently SCPI onlyBetter Clamp control. Basically works, not accurate.Basic plotting pageThanks,Dave EricksonDIY-SMU:www.djerickson.com/diy-smuJaromir's DIY-SMU:https://www.eevblog.com/forum/projects/how-i-made-my-smu/new/#new

author: ducreux92
author_rank: Contributor
timestamp: August 28, 2021, 10:37:50 am
content: Hi,Today impossible to find AD5686XX in tssop format.Do you know an equivalent ?

author: djerickson
author_rank: Regular Contributor
timestamp: August 28, 2021, 01:38:07 pm
content: Thanks for the heads-up on the AD5686. Last I checked 2 months ago some were available in TSSOP. Just not the most accurate grade.I guess some options are to change to the harder-to-solder QFN, or add a footprint for the similar 8 channel AD5676.Dave

author: stephanm
author_rank: Contributor
timestamp: September 12, 2021, 10:11:05 am
content: Hi,first of all: awesome project! Using LTspice and looking a bit into Dave's curcuit, I saw that the output voltage can overshoot when the instrument comes out of compliance, depending on the set voltage and compliance. Here's an example: Force voltage is set to 1V, and the current clamp is set to 10mA. The load is just a 1Meg resistor. At 5ms within the simulation I am shorting the 1Meg RLoad resistor with a 1 Milliohms resistor, and keep it shorted until 7.5ms. During the short, the circuit goes into compliance as expected, limiting the output current to the programmed 10mA.However, there are two transients on the output when applying and, respectively, removing the short:When applying the short, there is a short and large current spike (above 100mA), which is ok because I am basically shorting the 135pF output capacitor of the SMU. There is also some oscillation visible which even drives the output voltage below 0V(!), but this does not concern me so much at the moment.What concerns me more is that when removing the short, the output volage overshoots quite a lot, it goes up to 7V, after which it takes 1.5ms to recover to the programmed 1V.From my understanding of the DIY-SMU circuit, a voltage overshoot after removing a short on the output is hard or even impossible to avoid due to the fact that the circuit has to deal with the voltage drop on the current sense resistor. As I had set the current sense resistor to 500 Ohms, the voltage drop on that resistor is 5V when the instrument is in compliance, and these 5V plus some additional voltage will end up on the output when the load current suddenly drops from 10mA to a few microamperes due to removing the short.Looking at the Keithley 236 schematics, I was looking for some circuitry to deal with this situation and reduce the overshoot, but so far I have not found anything that looks like doing so. So, what I am curious of is whether such overshoot is also encountered on other SMUs, such as the Keithley 236?Thanks and kind regards,Stephan.

author: djerickson
author_rank: Regular Contributor
timestamp: October 04, 2021, 03:26:25 pm
content: Thanks for the feedback. I tried the same test on 2 units. For the same conditions: 10mA, 15V range, 1V force, switching from short to 1Mohm load, I get a similar amplitude, but the response is faster, 10uS wide, not the ~1mS you see in simulation.Send me your .asc file and I'll try to figure out what's up.Dave

author: stephanm
author_rank: Contributor
timestamp: October 05, 2021, 07:08:19 pm
content: Hi Dave,apologies first, as I saw when looking through my last simulation again a part of the problem was self-made, I was running the circuit in 150V mode (R4=300K!), which is not what I wanted for a 1V output voltage. The attached .asc file has this corrected, I have set R4=20K (that roughly matches R64||R65 on the schematic you published on your web site) and V3=0.333V (which gives Vout=1V as we now have a voltage gain of 3). I also stopped playing with C5, it does not have an effect on what I see.Please correct me if I am wrong, but from my understanding these settings for R4 and V3 should be what I need for 1V output in +/- 15V mode.With the fixed LTspice schematic file I see the same behaviour as previously described, but now the transient when removing the short is considerably shorter, in the same ballpark as what you measured (thanks for that, very interesting!). However, the spike amplitude has grown to 16V in the simulation...Thanks and kind regardsStephan.

author: 8334455
author_rank: Newbie
timestamp: November 15, 2021, 06:40:12 am
content: great work, but what is next update time in you blog? expecting the new update!

author: djerickson
author_rank: Regular Contributor
timestamp: November 17, 2021, 10:19:09 pm
content: There's new stuff on my DIY-SMU web page now. I got the new rev. PC boards in and they are working fine.Addressed the current limit issue.Fun with parts shortages (NOT!)(Mostly) automatic calibration workingNew chassis wiring schematicI will release the latest HW docs soon.Thanks,Davewww.djerickson.com/diy_smu

author: RikV
author_rank: Regular Contributor
timestamp: November 23, 2021, 08:02:24 pm
content: Dave, thanks for this project! Also thanks for the continuation to keep this thread up-to-date. But I unfortunately could not find any updates? Am I too inpatient or did I look in the wrong place (happens more and more to me)?

author: guymo
author_rank: Regular Contributor
timestamp: November 25, 2021, 01:27:21 pm
content: I believe the updates are at the bottom of this page:http://www.djerickson.com/diy_smu/smu-bringup2.html

author: RikV
author_rank: Regular Contributor
timestamp: November 29, 2021, 04:24:04 pm
content: I made some updates to the Nextion main screen:Suppress the update of the MV while Iset or Vse menu is on screen.In these menues I colored the background of the active selectionMake Iselect menu disappear when Vselect is activated and vice versa.some alignment on the screen layout.

author: RikV
author_rank: Regular Contributor
timestamp: December 01, 2021, 07:20:40 pm
content: Hi, Dave,Thanks and respect for your continuing effort on this project!I am in the phase of testing my build of your Rev.1 main board. So far not much result. I noticed that DAC pin RSTSEL should be connected to VCC but is left floating on the PCB. Has this been corrected yet? Is corrected in Rev2 as I can see on the Gerbers.I also cannot see the pictures (Nextion Keyboard) associated with you recent update. Am I missing some authorisation?Seems to be OK now. ThanksAny other errors in R1 PCB I missed?

author: RikV
author_rank: Regular Contributor
timestamp: December 04, 2021, 02:40:32 pm
content: I am confused. the signal CLAMP/ is connected to an INPUT of U25 and yet is connected to the ORed outputs of LM393 U24? Furthermore I could not find the origin of the signal in the .ino?I checked the latest versions of the schematics but this is still unchanged.Dave, could you clear this up for me? Have you implemented this in soft already?

author: RikV
author_rank: Regular Contributor
timestamp: December 04, 2021, 07:31:58 pm
content: Dave, is there any particular reason why you use Si8661AB-B (default output LOW) and Si8422AB-D (default output High)? Especially the AB-B seems a bit odd since the SS lines are active low.ADG261... (5kV) will not fit on the PCB: WIDE SOIC. Use ADG161.. instead (3kV)

author: RikV
author_rank: Regular Contributor
timestamp: December 10, 2021, 12:11:13 am
content: I just noticed this: on the main board schematic (V2) J2/pin4 is connected to net "GND". I am sure this should be net "-15V".Dave, can you pls confirm this?Also J2/1 is connected to GND, meaning Analog gnd is shifted to -nearly- +Out level. OK?Just checked this on the board itself: It is OK!??? (Rev1) Has an error been introduced in V2 board?PS: All these remarks are correct, however: they are covered in Dave's Blog. Shame on me! should have paid better attention. Sorry Dave.

author: rpiloverbd
author_rank: Regular Contributor
timestamp: December 11, 2021, 11:13:46 am
content: Is it Microcontroller based, sir?

author: RikV
author_rank: Regular Contributor
timestamp: December 11, 2021, 04:53:18 pm
content: Yes, it is. It has a Teensy3.2 and a smart Nextion display on board. It even speaks SCPI!Read all about it here:http://www.djerickson.com/diy_smu/index.html

author: RikV
author_rank: Regular Contributor
timestamp: December 19, 2021, 07:52:12 pm
content: Dave, could you please updat Github to the actual -incomplete- status?

author: ducreux92
author_rank: Contributor
timestamp: December 20, 2021, 04:07:36 pm
content: Hi,Why do not use the reference voltage of AD5686RBRUZ (2ppm/deg) instead of ADR431 voltage reference ?

author: RikV
author_rank: Regular Contributor
timestamp: December 21, 2021, 08:10:24 pm
content: Ducreux, nothing keeps you from doing so, they are pin-compatible. I used a ADR4525CRZ. Maybe Dave used ADR431 because he had one hangin around? For reason of cost? Since the DAC is "only" 16 bit it does not matter much if it is 1 or 3ppm/K.

author: ducreux92
author_rank: Contributor
timestamp: December 22, 2021, 09:09:43 am
content: Hi,I agree with you but i think a single internal voltage reference (AD5686RBRUZ) for DAC 16 bits and ADC 24 bits is more simplethat an external reference.

author: RikV
author_rank: Regular Contributor
timestamp: December 25, 2021, 12:49:45 am
content: Merry XMas to everyone.

author: Roehrenonkel
author_rank: Frequent Contributor
timestamp: December 26, 2021, 01:59:14 pm
content: Hello Dave and all,thank you for your great work.It would be an great addition for my tube-/valve-curve-tracer and messurement-system.But 2U hight by 9,5" would be a waste of space in my 19"-Racks. ;->The 2 spares are for propper ventilation, but maybe i can get ridd of the HP 66332A.A two-channel unit would be okay with extended range (+-350V max. 30mA).Do you have plans in that direction??Here some thoughts on the output-connector:Triax is too hard to come by and too expensive.BNC (maybe the HV-version) can't run the guard-signal propperly.Mixed-D-Sub (5W5 or 9W4) with HF-contacts and RG188 PTFE-cable will be my choise.Inner conductor signal, outer conductor guard and the shell for shield.Would have to assemble a "snake" out of 4* RG188, control-wires, shield-braidand outer isolation.Control-wires can be safety-switch, hardware-/manual lockout etc...Maybe one could recycle some old high-quality VGA-monitor-cable(at least 3 koaxes for RGB inside).It's a compromise i know, but it's just one connector/cable to run to the DUT-fixture.ADC-sampling: I see in "SPI.INO" that there is some hand-tuning the timing.Didn't get the reason why, isn't the output-data-rate responsible for the stop-band frequencies?Line-frequency should be selectable or even programmed via SCPI ("CAL:LFR 50" on my continent)and the ADC-timing set acordingly for best noise-rejection.Just some thoughts Dave, kudos for your work.

author: ducreux92
author_rank: Contributor
timestamp: December 30, 2021, 10:12:00 am
content: Hi,What is it L2 "1000ohms" : is an inductance, value ?

author: RikV
author_rank: Regular Contributor
timestamp: January 03, 2022, 09:59:35 am
content: I don't see an L2 in my schematic MainBoardr Rev2b. However, there is an L1 or an FB2. L1 being a differential choke that mainly eliminates common mode noise present on the 12V input to/from the DC-DC converter.FB2 is a ferrite bead. Those components exhibit a frequency dependant, strongly non-linear resistive behaviour. In your example "1000 ohm" would mean that @1MHz the -mainly resistive- impedance of the componenet is about 1k. Thi makes it ideal to make a low-pass RC filter to suppres -again- HF noise on a power line.

author: Roehrenonkel
author_rank: Frequent Contributor
timestamp: January 03, 2022, 04:28:39 pm
content: Hi RikV,....have a look again, Page 1/2 lower right corner Pin 20 of the ADC (Avdd).L2 1000 ohmIn my guess it could mean 1uH (microhenry).

author: 8334455
author_rank: Newbie
timestamp: January 04, 2022, 01:15:58 am
content: Hi ， any update about your hardware docs? and when ? expecting new awesome work!

author: ducreux92
author_rank: Contributor
timestamp: January 06, 2022, 01:47:41 pm
content: hi,1 uh = 6 ohms only (2*3.14*1E-6 * 1E6)not 1000 Ohms at 1Mhz

author: Roehrenonkel
author_rank: Frequent Contributor
timestamp: January 07, 2022, 12:17:06 pm
content: Hi,maybe Dave (Ericson) wants to clear the "L2 1kOhm-mystery" up? ;-)Reminds me of the time (1920s) when capacitor-values were in cm (1cm ~1.1pF)Some alternatives for the Voltage-reference:MAX6325 is stable with all c-loads,LT1019-2,5 is stable with >2uF (+2 Ohms ESR like in Jaromirs J-SMU design).or the Apex VRE3025 (0.6...1ppm Drift per °C), but don't know yet about the stability.Got an answer from Apex now:"The maximum capacitive load that VRE3025 can handle is not specified / known.BUT:As long as your input voltage to the VRE3025 is less than 12V,the output is protected against shorts to ground indefinitely.So, a 10uF decoupling capacitor as a load would not be an issue then.If your input voltage is 12V or larger, but smaller than 40V,the output can sustain a short to ground for 5s.I guess this would easily suffice to fully charge a 10uF decoupling as a load."

author: RikV
author_rank: Regular Contributor
timestamp: January 15, 2022, 03:51:52 pm
content: Guys, google "ferrite bead" or read this:https://www.analog.com/en/analog-dialogue/articles/ferrite-beads-demystified.htmlDave, could you pls release the latest revision of the pcb's, schematics, software, GUI files? Eventually as-is? There are so many modifications to the main board V2 that it is impossible to "bodge" them in.

author: RikV
author_rank: Regular Contributor
timestamp: January 19, 2022, 03:50:18 pm
content: Dave,If you are still redesigning the main board, why not consider to replace U19.1, R51,52,53,55 by a single AD629 or AD8276? It is a more precise, more stable and cheaper combination than the existing diff.amp.

author: RikV
author_rank: Regular Contributor
timestamp: January 25, 2022, 05:32:37 pm
content: I finally got mine working. That is: I can adjust FV and the MV is corresponding within 1%. current clamping works.So I thought: let's calibrate the V-ranges before going into the FI functionality.I had tested SCPI before and that was working up to spec.But: when I start a SCPI session now the comm with the ADC blocks: no readout an SPI message "ADC not responding" or so and no more USB response. Everything else works: Force setting, clamping...I remember Dave saying he had such a problem when he was trying to add the push-buttons. Timing errors on his "bit-banging" SPI.Anyone else building this device wanting to share experiences? Does Teensy3.2 have SPI libraries available for its "native" SPI port?Any suggestions, help?Correction: USB works since I get the error message.It is even "worse" than that: the ADC ALWAYS crashes, even when the instrument sits there untouched. Sometimes after 2 hours, sometimes after 5 minutes.I will try to implement SPI through SPI lib.

author: Roehrenonkel
author_rank: Frequent Contributor
timestamp: February 17, 2022, 11:08:01 am
content: Hi RikV,Quote from: RikV on January 19, 2022, 03:50:18 pmYes, i had the same idea for the current-sense-amp (U21.1, U21.2, R47,50,56,59).In that position the INA101 is the only choise.Btw: Most INAmps have horrible input-offset-specs. for todays standards.Another solution could be the LT5400 matched resistor-arrays.Too bad they cost more than a complete InAmp.

author: Roehrenonkel
author_rank: Frequent Contributor
timestamp: February 18, 2022, 10:33:48 am
content: Hi,here is the missing PDF of the CPU-board.Programming the Teensy from my Raspberry was no problem.But the upload to the Nextion-TFT (NX4832T035_011) via SD-card doesn't work for me.Tried different SD-cards with different formating (FAT/FAT32).Maybe my TFT-file is corrupt? I have no propper Windows-PC, so i can't use the serial-upload.If someone wants to check the file it's attached.Update 2022-2-23: Raspberry FAT32 seems to be different to Windows FAT32.Anyways the upload to the TFT works now. :-)

author: RikV
author_rank: Regular Contributor
timestamp: February 20, 2022, 11:17:13 pm
content: Looks like I finally got it working in a stable way, everything running on "real" SPI with the complete keypad decoding.Tomorrow I will let it run for a couple of hours and then I'll callibrate it.After cleanup I will post the post the soft to Dave, hoping it will inspire him to continue on the project.Since I still have to disassemble the CPU board I think I will add an SPI_SS3 J2-pin12 to Teensy I/O3(pin5). On the main board there is a free input on U25. 2pieces of wire-wrap will bring a SS to uninstalled EEPROM U6. Nice to save cal. factors.Unless Dave had the intention of using this spare pin for something else??

author: RikV
author_rank: Regular Contributor
timestamp: February 23, 2022, 08:33:27 pm
content: Does any body know if Dave is OK? It is so very quiet from his side. I hope he and his family are fine.

author: RikV
author_rank: Regular Contributor
timestamp: February 23, 2022, 10:42:52 pm
content: I tried to upload my files to Github but it did not work, so I post them here. Maybe some good soul uot there could move them to the right place?I included the SPI version of the *.ino, used libraries and my Nextion file. Hope this will be of some help.I have to split the upload.

author: RikV
author_rank: Regular Contributor
timestamp: February 23, 2022, 10:49:01 pm
content: Part 2 of 2

author: RikV
author_rank: Regular Contributor
timestamp: February 24, 2022, 10:49:13 pm
content: The Nextion GUI interface in *.TFT format.

author: Roehrenonkel
author_rank: Frequent Contributor
timestamp: March 04, 2022, 05:07:02 pm
content: Hi,does anyone need a transformer for this project?I'm planning on ordering a custom-made transformer.Torroid with overall-height under 35mm (still want to put it in a 1 Rackunit (44mm),2*115V Input, Outputs: 2*120V, 4*15V, 2*8V.It could be used for the J-SMU also.

author: Roehrenonkel
author_rank: Frequent Contributor
timestamp: March 04, 2022, 05:40:54 pm
content: Hi RikV,Quote from: RikV on February 20, 2022, 11:17:13 pmCool. Thanks for the work.Can one run the SMU without the TFT attached, as SCPI-only?Still i want to squeeze the thing in a 1 19"-Rackunit and maybe connect the TFT externaly with a short cable.

author: RikV
author_rank: Regular Contributor
timestamp: March 06, 2022, 10:41:05 am
content: Yes, it could work without display, controlled solely by "computer". Apart from using it as data collector you will need to find some software suitable as User Interface to control it in a comfortable way.Since you are redesigning, have you considered using ADR1399 for voltage reference?

author: Kleinstein
author_rank: Super Contributor
timestamp: March 06, 2022, 12:25:58 pm
content: The ciruit uses an ADC with a 2.5 V refererence and thus the logical choice of a ready made 2.5 reference.A 7 V reference would need an extra divider to get down to some 2.5 V (may work with 3.5 V if you are lucky) and the divider would add some possible source of drift. So the advantage of a zener ref. with better TC and lower long term drift may not reach the ADC.The ciruit at the input of the ADC also includes several resistors and other parts not made for ultimate accuracy.So I don't think it is worth the trouble with using a 7 V ref. The good grade bandgap references like LTC6655, ADR441, max6325 should be good enough for the circuit.A 7 V reference may be better used seprate to check the measuring part from time to time for drift. This check would include more parts than just the reference chip.

author: Roehrenonkel
author_rank: Frequent Contributor
timestamp: March 06, 2022, 12:28:05 pm
content: Hi RikV,Quote from: RikV on March 06, 2022, 10:41:05 amFor now i'm using HP VEE 6.01 (see attached plot of an Aa triode) but want to move to linux-sw for the raspberry.V-ref.: No, i setteled for the MAX6325. Good inital accuracy (+-1mV), low tc (1ppm), available and not overpriced.A hi-end V-reference could be a tempting new project for me after using heated-723, 1n823, LH0070/71, LM399 and LT1019s.... ;-)

author: jaromir
author_rank: Unknown
timestamp: March 06, 2022, 12:39:01 pm
content: Quote from: Roehrenonkel on March 04, 2022, 05:07:02 pmIn my design I used double shielded transformer - analog parts were in separate shielded domain - so that common mode leakage is as small as possible; see herehttps://github.com/jaromir-sukuba/J-SMU/blob/master/pcb/schematics_pdf/smu_interconnect.pdfI achieved less than 1uA p-p of leakage. Classic toroidal transformers do have one or two more orders of magnitude higher leakage.

author: RikV
author_rank: Regular Contributor
timestamp: March 06, 2022, 03:54:42 pm
content: ADR1399 is the "updated" version of th LM399. Better, cheaper. But as Jaromir states: a standard toroid transformer is a no-go in this application. You must at least go for "medical grade" and a separate transformer for the digital part.BTW: Dave showed some sign of activity :http://www.djerickson.com/hp3466a-dmmWelcome back!

author: Bansci
author_rank: Contributor
timestamp: March 09, 2022, 08:25:48 am
content: Marco Reps did a great video on common-mode leakage and mitigation/low-leakage designs just recently (see below)Jaromir, Marco has a excel file of leakage measurements here:https://docs.google.com/spreadsheets/d/139WT1bAHAmnD6NX4IW7SPVKkw-OCP7QnEriZ-MRHLrw/editYour less than 1uA p-p leakage gets you to keithley 2400 levels, so well done! Would be nice to see the exact measurement to see where you land on that table with your/dave's design.

author: djerickson
author_rank: Regular Contributor
timestamp: March 09, 2022, 08:00:09 pm
content: Hi All,Thanks for all the interest in DIY-SMU. Sorry I haven't checked this blog in a while. I 've been updating my project web site though so hopefully you have seen my progress here.http://www.djerickson.com/diy_smuParts shortages: Ugh! In addition to dealing with these, here's a quick summary of my recent changes:The Voltage and Current cal software (Python) is working very well. I will release it.I built up 2 new Rev2 main boards with the new Rev3 Amp boards. The main reason for the upgrade is to make the voltage clamps safe in the following conditions:Force current mode with voltage clampExternal voltage is applied that exceeds the clamp voltage settingLow current ranges: < 100mABefore this fix, theses conditions would cause damage to the current range section. The fix is to switch the Amp current limit to 15mA for the 10mA and lower ranges.I decided to rework my first 2 Rev1 units to apply this fix. The rework is farily simple: I generate the 100mA range inverted signal in firmware to a spare GPIO bit, and add one wire. And upgrade the amplifier boards to Rev3. I decided to upgrade the 2 Rev 1's because between the parts shortages and the labor of hand building these boards, the built and running Rev1 boards are valuable.My remaining firmware tasks:Better triggering, particularly from SCPI. Requires making the ADC code non-blocking. I have some ideas...SCPI command to move cal data to EEPROM. Currently requires a re-compile after calibrationFinish the keypad value entry code. Keypad (Nextion) is working, but need to parse the output string to set values, test against limits...Some basic plotting.I have not yet built the 3-sided sheet-metal cover. Accurate sheet metal bending is not my forte.I have 4 fully functioning DIY-SMU units and am looking for someone(s) to take 1 or 2 units to do some testing or help with the firmware development. I'm also looking for more python control: curve tracer, plotting,.... Send me a message here to let me know what you can contribute and I'll try to pick the best 2 candidates.Thanks,Dave

author: RikV
author_rank: Regular Contributor
timestamp: March 10, 2022, 09:38:12 am
content: Hi, Dave,Great to see you are back!It is indeed not good looking to upgrade a rev1 main board to rev2. But it works all well. Since it is impossible however to include the extra decoupling around the ADC "noise" becomes a problem in the most sensistive ranges. I would "like " to rebuild my main board to Rev2 to have a cleaner unit. Is the software solution also of use in the Rev2 board or is it switched out by a #def?You may not have noticed it but I succeeded in implementing native SPI, solving the problem of blocking ADC.If you find some time (I am retired too, I know very well we have NO time) could you pls publish main board Rev2, including conversion from 595 to 594?

author: djerickson
author_rank: Regular Contributor
timestamp: March 10, 2022, 11:40:28 am
content: The ADC rework isn't too terrible. I also changed the 2.5V reference from ADR431 to ADR421. The '421 is a better part: lower noise and more tolerant of the larger bypass caps needed for the ADC. If you want to rework a Rev1 to a Rev2, Change the ADC to ADR421 and add 10uF tantalum caps to the reference and 5V near the ADC. BTW L2 is a ferrite bead, 1K ohms at 100MHz. I did not rework this on my Rev 1 boards.The software fix to invert the 100MA/ signal and send it to U8-7 has no other effect on a Rev 1 or Rev 2 board since it is unused. The rework is to add a wire, U8-7 to J2-6. The tricky part is to cut away the GND plane to J2 pin 6 first.I will update the doc package this weekend: new HW docs, Arduino code, Nextion code, and the Python calibration code, put it on Github...Thanks for the HW SPI code! I couldn't find your .INO's at first look. Will check again.In addition to non-blocking SPI, I plan to improve the triggering for SCPI to make timing faster and predictable. Basically implement 'auto-trigger' so when SCPI MEASure commands occur, they control the ADC. After a short timeout of no SCPI, the main loop will kick in. And yes, it needs an ADC speed (NPLC...) command. Wish me luck:-)Thanks,Dave

author: djerickson
author_rank: Regular Contributor
timestamp: March 10, 2022, 12:19:26 pm
content: RikV:I cannot see any .INO files in the .ZIP files you uploaded. I see .HMI and some libraries. Am I missing something?Thanks,Dave

author: RikV
author_rank: Regular Contributor
timestamp: March 10, 2022, 02:24:28 pm
content: Dave,The files are spread over the blog. I include a .zip with the state as-is today. in the header of the main .ino I included some comment on most of the changes I made. Hope something can be of help.One thought that came up to me: since it is impossible to really adjust the offsets of the 9 ranges to exactly "0", why not use DAC ch4 in the way Jaromir does: Add a fraction of it to ch.A? He uses a ratio of 1M6/10k (160:1). Could even be much more. This would give a fine step correction without using a potmeter as you did on the 18bit V-ref. Of course, 9 extra cal. values... But in this instrument I believe that it is important that 0 is REALLY 0. How do you feel about this? This could also bea way to correct the DAC output using the ADC, or was this your plan?

author: Chen Li
author_rank: Newbie
timestamp: March 15, 2022, 11:00:50 am
content: Hello Mr Erickson,I anylized your smu design, the most import thing isjust dont put mlcc capcitors directly between the output pin of an opamp and gnd. It will oscillate forever.And not just the opamp on the surface, but also those components have opamp kind thing inside themselves. So the adr431 adr421, if you see their function block diagrams, the output section are basically opamps.Another thing is dont put dozens capcitors in parellel, when the component is powered up, it need enough electricity, because those capcitors need a lot time to be charged, so maybe sometimes the component just dont get enough energy to mainten the function, so it shut off. You can put one inductor instead.

author: djerickson
author_rank: Regular Contributor
timestamp: March 15, 2022, 12:47:29 pm
content: Quote from: Chen Li on March 15, 2022, 11:00:50 amHi, and thanks for the feedback.I agree, no MLCC caps on op-amp outputs. I'm careful about this. In my reference circuit design I use only tantalums or normal electrolytics: no Low ESR caps. Their higher ESR (1-3 ohms) allows most op-amps and references to drive them without stability issues. Spice it and you will see. If I was concerned about super-low ESR, I'd add about a 2 ohm resistors in series with the caps.The ADR431 that I originally used has stability issues driving larger ceramic caps. That's one reason I switched to the ADR421.

author: RikV
author_rank: Regular Contributor
timestamp: March 15, 2022, 01:39:15 pm
content: Hello, DaveRegarding temperature drift (stability) I have done as follows:R51-52 and R53-55 are MPMT2002ATS (SOT23,10k+10k,0.1%,0.05%,25ppm/K,2ppm/K) and these fit nicely in the actual layout. I would absolutely have replaced R19-20 by MPM but the layout does not allow it. At this place there is an immediate gain of 20ppm/K to 2ppm/K for a very small cost. Those who are willing to spend more money might use LT5400 for the R4-5-6 and R7-8-9 combinations. not sure if its worth the necessary modif in the layout but for R51-52-53-55 it would be an important -cheap?- improvement.I installed ADR4525CRZ (1ppm/K) and C19 is 22µF MLLC. I will increase C17 also."10K, .1%, 25ppm 0805 are about $0.15. 10ppm ones are about $0.40". Where did you find those resistors that cheap?Do you have any use in mind for DAC channel D (DAC_SP)? If not, I would use it to improve the offset.

author: Kleinstein
author_rank: Super Contributor
timestamp: March 15, 2022, 03:08:43 pm
content: At mouser some of the SMD resistors are in that price range (e.g. Susumu RR / RG or panasonic ERA ) when buying 10 or more. The 25 ppm/K resistors in Qty100 even get to the $0.03 range.In between single SMD resistors and rather expensive LT5400 there are ORN / MORN networks. The MORN type should also fit on a LT5400 footprint, just not thermal pad.With resistors from the same batch the TC matching is usually better than just random resistors. So the solution with just 0805 resistors is not that bad. An there are enough of the 10 K to warrant buying 100 pieces 25 ppm/K.edit:One could use the extra DAC channel D in parallel to channel A to reduce the noise and INL error a little. I don't know if there are other significant noise sources, but the DAC is not that super low noise in x2 gain mode.

author: Chen Li
author_rank: Newbie
timestamp: March 15, 2022, 10:58:38 pm
content: No sir, I think you misunderstand me. We must see the whole picture. As I marked on the function diagram, the output pin of adr431 is actually outpin of the opamp function block. So cant put a capcitor directly between this pin and gnd either. And so dose adr421. And I think the adr431 is better than adr421. You didnt find the root cause.I didnit see pcb file carefully. The stray capacitance must be considered also. This output pin is very sensitive. Put this pin away from gnd. If you pour large area copper gnd plane nearby, the distance at least 60 mil. If you go multilayer pcb, the copper area below this output pin, I mean in the 2nd layer generally gnd plane, just cut off either.

author: Kleinstein
author_rank: Super Contributor
timestamp: March 15, 2022, 11:14:20 pm
content: Some of the references, including the ADR421 can work with quite some capacitance at the output. The output stage is no a normal OP but some capacitive loadung is factored in and some even need capacitance. Consider the reference output more like the output of a voltage regulator. The capacitor at the reference output is not a problem, though it may not be needed.The capacitor C9 is a bit odd. I don't think it would help and may do more harm than good, though with enough ESR the OP may not oscillate.

author: djerickson
author_rank: Regular Contributor
timestamp: March 19, 2022, 03:44:13 pm
content: Thanks for the good feedback on resistor networks. I updated the latest BOM to put 10K 10ppm 0805s for the most critical parts.My drift spreadsheet is for gain drift, but I need to also consider offset drift. Drift is mostly caused by -2.5VREF and the ADC and DAC scaling amps. And some on the V Measure circuit.Also considered a combined either dual-0805 or SOT23 footprint. My current layout has most of the 2 10Ks side-by-side, but the common pins are not adjacent Doh! Easy to fix so a SOT23 could be used there. I need to figure out how to use a single footprint with 2 parts: R42A and R42B maybe.In some places (-2.5VREF and crossover) A vishay ORN 4x 10K at 5ppm could replace 2 expensive SOT23s for less $$.On the DAC and ADC scaling circuits (R12/14/15 and R4/5/6) the 2 10K resistors affect offset, one 10K and the 21.5K affect gain. I ideally need a 10K/10K/22k network. I could use a Vishay 10K ORN (5ppm) to get 10K/10K/20K and add a 2K 10ppm. The absolute tempco pf ORN is 25ppm so the 2K will degrade the 5ppm just a bit.I ordered some 10K 5ppm 0805 resistors and 10K SOT23 networks. Will use these parts to build my most drifty unit into a drift 'lab queen' and test its V Force offset and gain tempcos.

author: Roehrenonkel
author_rank: Frequent Contributor
timestamp: March 21, 2022, 08:38:01 am
content: Hi Dave,thank you for including the NPLC-command (in future versions) and pointing out the MORN- and MPM-arrays.I have build up the CPU-board to get a feeling for the user-interface.Inputs over the touch-screen work (a bit slow), Incremental-encoder and switches (except "left" and "right") don't work.After Reset the "fanhi"-pin should be high for a few seconds to give the fan an initial "kick".Even my quality Papst-fan is stuck with only 4.3V and makes just noise.EEPROM-placement: Doesn't have to be on the floating side even if itbelongs on the analog-board since the isolators are on the board as well.None of the R-Arrays needed are in stock at Mouser, Bürklin nor Digikey.Why these strange gain-factors anyway? Didn't 1:2 or 1:2.5 work?I understand that it would lower the amplitude at the ADC to +2.5V +-2Vwith a 1:2-ratio instead of +-2.26V in the original design.Requested a quote for a custom-Caddock T914 with 2*10k, 21k5 and 22k1.And got an answer right away at 09:00 (AM). At least 250 piecces - no price given.Big thanks to their distributor AMS-technologies - they care even for one resistor.No thanks to Vishay-europe they don't even care to reply.And a big "F... you!" to Conec-conectors. Snobs!Since i'am layouting my own board i'll probably use the VTF1006/158/212-arrays.Shunt-resistors will be Caddock USF240 for 5Meg (have an USF340 5ppm left now)and Vishay S102C/K down to 50 Ohms. Just need a good 556k now.

author: Kleinstein
author_rank: Super Contributor
timestamp: March 21, 2022, 10:56:59 am
content: It should be OK to use a fixed 1:2 gain for the DAC and ADC part. This would reduce the full scale range at the regulator / diode OR part to something like 4.5 V instead of 5 V. To still adjust the measurement and adjustment range, one would still need one point to adjust to gain, e.g. at R64,R65 So these would have to be a little (some 10%) higher. The current ranges (or shunts) would also change a little.Skipping the extra gain / attenuation for the DACs / ADC, and running the regulator / cross over part with a 2.5 V level would compromise the regulation a little, but could simplify the circuit a little and a void one gain/attenuation stage.Even than the measurement part is not made for highest precision, as there are quite some resistive dividers / gain stages in the signal path. So don't expect the SMU to get an accuracy level of a 7 digit DMM in the voltage ranges. The SMU circuit just needs more compromises to get the high grade current measurement and the large voltage range at the same time.Also the performance at the very low currents is not the same an electrometer - there are quite some switches as parallel path to the 5 M resistor. So there is a limit to what resistor grade makes sense there. For the lower value shunts good resistors make absolute sense. Here much is about having good power handling capability, as they may run a bit hot. Compared to a more normal DMM the votlage drop is quite large. So the S102 would be too low in power for the 50 Ohms. The 1 W power rating for the 100 Ohms resistors R40, R41 is still on the low side. I would not be ashamed to use 10 W rated parts (e.g. wire wound or with heat sink mounting) there.For better performance towards higher currents (e.g. > 10 mA) one could consider gain, e.g. a INA (maybe 2 gain settings) instead of what is now U21.1 + U21.2.

author: djerickson
author_rank: Regular Contributor
timestamp: March 21, 2022, 11:57:16 am
content: Quote from: Roehrenonkel on March 21, 2022, 08:38:01 amHi. The slow control response is probably because with no ADC, the ADC read software is timing out, making the main loop s-l-o-w. Comment out the ADC and things should get nice and fast. The latest firmware has all the switches working except PREV and NEXT. Maybe you are using old firmware?I have not finished the Main Board EEPROM HW or SW. It was intended that each main board would carry it's own calibration. Having EEPROM on the CPU is good enough though.NPLC is not implemented yet, its coming....I find that most 12V fans will run slow at 5V. Try another. The one I specified works well.Mouser has Vishay MPM 10K/10K parts in stock. I just ordered some, and also some 0805 5ppm resistors.Best of luck! If you need a DIY-SMU front panel to hold your CPU, Nextion, and controls, let me know.Dave

author: djerickson
author_rank: Regular Contributor
timestamp: March 21, 2022, 12:35:18 pm
content: Quote from: Kleinstein on March 21, 2022, 10:56:59 amHi Kleinstein,Thanks, good ideas. Yes, make the force DACs a more convenient +/-5V, then increase the gain in the measure circuits. But somewhere I'd need toI'm getting <10nA low-current measure and force performance on the 1uA range at room temperature so I'm pretty happy with that. Driving a 610B electrometer you can see the 33pA LSB steps. I'm pretty happy with that. Slowing the ADC for low currents should improve the measure noise. Yup, the many switches across the 5M shunt R43 are the limiting factor. The CMOS switches and K2 have quite low leakage at room temp and 5V. If necessary, I could possibly select parts here. Ugh.For the 100mA shunts R40/41, 0.25W dissipation in a 1W resistor is decent margin on low-tempco resistors. Yes, it could be better.The - side of the current measure circuit U21 only has to measure ground thru a 100 ohm CMOS switch. Works pretty well with 100K Rs and without a 3-opamp instrumentation amp. With one I could lower the U21 resistors from 100K to 10K which wold help noise a bit.Again. thanks, I appreciate the great feedback.

author: RikV
author_rank: Regular Contributor
timestamp: March 22, 2022, 11:04:21 pm
content: i'm ashamed to admid it: I can't find a way to get those python scripts running in Win8.I installed Python 3.10.3 and I try to run a script through the command line (clicking on the filename very briefly flashes a DOS cmd window). (I also tried the same thing from the Python prompt >>>)Immediately complains about a missing module 'matplotlib'. Installed (tried to...) it. got warning: wheel package is not available.(!!!???).py of course still won't run.Isn't there a 'simple' way to get the whole thing installed in a user-transparant way? This whole process reminds me so much of my DOS-days. Why???Could someone pls take me by the hand?

author: Venturi962
author_rank: Regular Contributor
timestamp: March 23, 2022, 03:27:41 am
content: A few notes:When running scripts, try to run them from a command prompt with 'python file.py' if the file errors, then the error will be available for debugging on the prompt.Your error 'wheel package is not available' means you need to install wheel: 'pip install wheel'. This thread may also helphttps://stackoverflow.com/questions/64285251/problem-with-installation-of-matplotlib-in-pythonLooking at the 'smuVoltCal1.py' file you'll also likely need to install numpy and pyvisa modules (and a VISA backend for pyvisa). Use 'pip install numpy' and 'pip install pyvisa' The script is setup to look for a HPAK 34401A on GPIB23, so this may need to be modified to your setup.

author: RikV
author_rank: Regular Contributor
timestamp: March 23, 2022, 10:54:31 pm
content: Dave, the pinout of U25 (Si8422) in the schematic AND the layout is wrong! In and out are swapped. Pins 2 & 3 and 7 & 6 should be swapped.

author: SebastianH
author_rank: Regular Contributor
timestamp: March 26, 2022, 03:52:00 pm
content: Thank you very much for sharing your great work, David!Although I'm not ready to build as complex of a device as a SMU, I'd really like to build one in the future. For now I'm very interested in the V/I crossover circuit design of this SMU.I simulated such a crossover circuit (as an addition to my DC load circuit) and it generally seems to work fine - but with some limitations, especially for my application: It slows down the transition between two different current setpoints (force) quite significantly even if the voltage is between CL- and CL+, because the clamping circuitsalwayswork against the output of the "force amplifier" as soon as there is an error voltage (the closer the voltage to the clamping voltages, the more the output is affected).Am I missing something here?In its power supplies and DC loads HP/Agilent often uses separate integrators and then ORing those afterwards, so I guess this problem wouldn't occur there, although then windup might be an issue.I'd be interested in your experience with this circuit in the SMU, especially regarding changes of the setpoint.

author: RikV
author_rank: Regular Contributor
timestamp: March 26, 2022, 04:33:45 pm
content: Dave, have you ever considered using an LT1991 or LT1997-1? They claim 0.04% or 0.01% and better than 1ppm/K. They are in stock at Mouser and at less than 9€ they are cheaper than a combination NOMCA-OPAMP (NOMCA is NOT in stock and will take forever to be supplied). I believe your "drift sheet" would much improve by them.

author: Kleinstein
author_rank: Super Contributor
timestamp: March 26, 2022, 04:58:29 pm
content: The ready made difference amplifiers are definitely an option at a few places.Suitable resistor networks (4 x 10 K or 8 x 10K) are also available at mouser.Here NOMCT (NiCr resistors) is lower noise than NOMCA (TaN resistors). The scaling part for the ADC and DAC does no need high accuracy, just good stability.Other types are also available.

author: ducreux92
author_rank: Contributor
timestamp: March 30, 2022, 10:42:29 am
content: Hi, i fix your attention about this point : the inputs of ad7190 are normaly 0 to 5V butthey are no protection and in some cases the amplitude can vary of -5V to 10 V !!! (see schematic).by by ad7190 ...Likewise U4 is powered with 0 +5V but inputs accepts -5V to 5V (up to -15V to +15V without software protection )

author: Kleinstein
author_rank: Super Contributor
timestamp: March 30, 2022, 01:31:12 pm
content: U4 (TLC2272 or similar rail to rail output precision OP-amp) provides the protection for the AD7190: it can hardly output more than its 5 v supply. The input to U4 only comes though the resistor and this protects the OP, probably to better than +-50 V.

author: Roehrenonkel
author_rank: Frequent Contributor
timestamp: April 03, 2022, 11:12:22 am
content: Quote from: djerickson on March 21, 2022, 11:57:16 amHi Dave,yes, i used the first/oldest software. Without the ADC-subroutine it runs much smoother.Another suggestion: command to switch between Local- and Remote-operation(Gpib "LLO" Local-Lock-Out and "GTL" Get-To-Local afaik).Thanks for the offer on Front-panels. I am not sure if i even need the display and use different switches (still have two hands-full of them).The supply-situation is a mess. And no (HG-) wetted relays anymore. What has the world come to?Is there a (timing-) problem when using mechanical relays instead of the ADG400-switches?Have you done some tests on your four units regarding resolution and repeatability?Many thanks for your work,best regards

author: Kleinstein
author_rank: Super Contributor
timestamp: April 03, 2022, 12:48:12 pm
content: For the current range switching mechanical realys (e.g. like the EC2 type aready used for the external sense, or similar Fujitsu FTR-C1) should work as well.Relays would be more a thing to replace the photomos part, as these can have some leakage that can effect the very low currents.CMOS switches are still avialable and there are many even pin compatible parts with very little difference in the parameters. With a little change in the SW the other polatiry may be an option, and with a slight change in the circuit also a 4:1 or 8:1 MUX chip like DG409 or similar.Especially with relays one can simplifiy things also a little and get away with less switches. The idea would be to have the shunts in series and mainly switch the current path and have the sense path through some of the unused shunts. So only 1 switch per shunt. Thus is alt least OK for the shunt smaller than some 10 K. With the larger shunts the series resistance would add some noise.Another alternative would be JFET switching - still smaller and cheaper than a relay.

author: djerickson
author_rank: Regular Contributor
timestamp: April 07, 2022, 11:41:05 am
content: Quote from: RikV on March 23, 2022, 10:54:31 pmYes you are correct. I discovered this recently. U25 should be Si8423 or Si8424, not Si8422. Sorry for the confusion. If you have Si8422's the rework is fairly simple.BTW I have not yet implemented this circuit or the Firmware to display clamp conditions. I think ideally there should LED(s) on the front panel to display ON/OFF and Clamp. Without the front panel LEDs, I plan to display Clamp on the LCD.Dave

author: djerickson
author_rank: Regular Contributor
timestamp: April 07, 2022, 11:52:10 am
content: Quote from: ducreux92 on March 30, 2022, 10:42:29 amThe AD7190 ADC input voltage range is protected by the output clipping range of the 0.0V to 5.0V RRIO opamp feeding the ADC. Should be fine, no?Thanks,Dave

author: djerickson
author_rank: Regular Contributor
timestamp: April 07, 2022, 12:04:30 pm
content: Quote from: Kleinstein on April 03, 2022, 12:48:12 pmThanks, Kleinstein. When I was doing the design, I saw that the K236 has a fairly complex method to ramp the high current range JFET switches ON and OFF. I believe this is to compensate for the slower relay control used on some current ranges. Can't have break-before-make. I was trying to avoid this complexity.On the K2400, I don't see any low current relays. They figured out how to do 2A down to 1uA ranges without relays. I'd like to know how they build 2A range switches with sub-nA leakage. That's part of their magic.

author: Kleinstein
author_rank: Super Contributor
timestamp: April 07, 2022, 12:18:21 pm
content: For high current electronic switching the parts of choice are 2 MOSFETs in series to get around the parasitic diode. For low leakage one could force the center pin to essentially the same votlage as the critical side. So the main part of the leakage would be to the center and the critical MOSFET would see only some 100 µV of so. So one could get low leakage switching, but it is quite some effort.Make before break could be achieved by the logic, though this means 1 relay per range and hard to save on the relays by using more contacts.

author: djerickson
author_rank: Regular Contributor
timestamp: April 07, 2022, 01:23:43 pm
content: Quote from: Roehrenonkel on April 03, 2022, 11:12:22 amThanks, Roehrenonkel.As far as Local / Remote, I am hoping to avoid the mode switch and the controls and displays needed for it. I am trying to simplify things, but maybe I'm missing something.My plan is to allow instrument settings to be done any time by either the operator or SCPI. Let the operator beware. The only place that a real conflict exists is when doing ADC measurements. These take some time time and need to be synchronized, particularly to SCPI requests.I was thinking of something like 'Scope Auto-Trigger'. The ADC re-triggers automatically, making measurements continuously. If a SCPI Read occurs, it takes priority, then the instrument waits (like ~1 Sec) for another SCPI Read. If no read occurs before that time, the instrument reverts to continuous reads. So SCPI has priority. This is so an external host can perform a fast sequence of Force/Measure operations. This is where the instrument needs to operate at its fastest speed.Currently the firmware measures both current and voltage every pass, which slows things down 2x. After a SCPI Read, only V or I would be read to save time. I'll need to blank the other one on the display.I'd be interested to know what you or others think of this approach.Thanks,Dave

author: Bansci
author_rank: Contributor
timestamp: April 07, 2022, 01:38:35 pm
content: Hi Dave,I didn't take up your offer of a unit to program as I'm in the UK and this is probably too much hassle for you, but I thoroughly intend to build my own unit and I'm currently winding transformers.About the programming, with a micro I would use interrupts to continuously read ADCs into a circular buffer, regardless if the system is triggered. Not having to change the read-store code depending on mode/request is a great simplification as the system is always triggered. You also gain precise regular timings this way too as the interrupts are simple.The control logic becomes much simpler too. Say a single SCPI read is called, you can instantly return the last reading taken. If you want a batch of readings, you can return the past N readings OR, if you want to trigger N readings, you can reset the place of the write head into the circular buffer so that it is N readings from the end and have a special event for when it "wraps" around the buffer.Averaging is easy with a circular buffer as its the same as "last-N" code, UI updates can be done in the main loop separate from the reading and run outside the interrupts so that its done when possible.For my own version of the SMU, I've written a Keithley 2450/DMM6500 style interface in python/html to run on a raspberry pi touchscreen (https://github.com/toastedcrumpets/keitha). I haven't made a demo/video of it yet, but I will soon. I am amazed at your own module based interface, this seems like a lot of work!All the best,Marcus

author: Kleinstein
author_rank: Super Contributor
timestamp: April 07, 2022, 03:13:58 pm
content: For the ADC it can make sense to run the ADC with a slightly higher data rate, like 50 or 60 SPS and thus just fast enough to get mains hum suppression and than do some averaging by hand instead of a slow conversion mode from the ADC. The SINC3 or SINC4 filter looses quite some time (3 or 4 readings) for settling and faster readings can reduce that settling. So chances are the normal mode would be some 4 samples waiting for settling and some 3-6 samples averaging and than switching to votlage / current.I would consider the mode of reading the current and voltage the normal case. Contineous conversions and reading the last available reading makes sense and for the normal display I don't think one would need it faster.Under SCPI control it would make sense to also have a mode for reading only voltage or current. This should be more than just 2 x faster, more like 3 x due to the time lost when switching and possibly a faster reading rate (e.g. 50/60 SPS without extra averaging or even faster). The speed of the voltage / current regulation can be somewhat limiting, but it can still be interesting to also see the transients as a kind of self test. Some synchronization to the DAC steps would be nice, but the speed is limited, both from the ADC and the regulator.

author: djerickson
author_rank: Regular Contributor
timestamp: April 07, 2022, 09:27:58 pm
content: Right! I forgot that the ACD is more than 2x faster when reading one channel vs. 2 due to settling issues. I'll still need to optimize the ADC for fast settling time if I want to: 1) Set DAC, 2) Wait for instrument settling, 3) Measure ADC, 4) Loop. This seems like a general case for a SMU doing VI curves and curve tracer. A real curve tracer does a 10 curve plot in significantly < 1 Sec. Can't go that fast, but don't want to be toooo slooooow.

author: Kleinstein
author_rank: Super Contributor
timestamp: April 07, 2022, 10:10:49 pm
content: The ADC has many speed settings and if needed can read quite fast. It is just the quest on how fast to go. The critcal steps is 50/60 SPS to get mains hum suppression. Faster conversions are possible but also more susceptible to hum.With hum suppression one would need at least some 100 ms per reading (80 ms settling+1 reading of 20 ms). A reasonable curve needs some 50 points and this some 10 seconds. Anything faster may have to compromise on hum suppresion. AFAIR the AD7190 does not support a simple SINC filter and thus simple integration mode with no extra delay.The SMU part itself should be fast enough to get settling on a few ms at most. So a fast reading is possible at least for the less sensitive ranges.For the SCPI readings the speed would be a parameter to change.

author: Roehrenonkel
author_rank: Frequent Contributor
timestamp: April 25, 2022, 10:55:52 am
content: Quote from: djerickson on April 07, 2022, 01:23:43 pmHi Dave,On a Range-change upwards the value will be multiplied by 10. Not so safe.Is it because of my dry-run without ADC-/DAC-chips?"Let the operator beware." ..even with +-150 Volts?Operators get tired and make mistakes, automated tests can run errorfree for ages.Local/Remote:Imho in Remote-mode no user-inputs except the "Local/Remote"-Key should be read.This is to prefent intended or unintended user-inputs messing up messurements.I see that it is not too easy to implement in the current versions (hw+sw).An indicator and switch plus the software is needed here.For "Output On" a LED (at Interface-potential) also would be nice.Maybe consider two modes (Fast/Precise).As long as no clamp-condition is set the force-valuedoesn't have to be read, it equals the Set-value, correct?In precise-mode all monitors would be read with the highest resolution.A HW-Lockout can easyly be made by a switch/link in the supply-line to theOutput- and Sense-relays and is usable for Emergency-stop, no fixture connected,safety-hood (like on the Tektronix 370/576 curve-tracer) not closed.V-ref+: I'll buffer the positive V-ref with an OP for the dynamic loads (ADC/DAC).Finally i've found relays that meet the microvolt- and picoamp-requirements.Minimum switching-voltage and -current are rarerly given in data-sheets.But i hope these mercury-wetted reed-relays made in 1985 will do the job for me.Have to put them on an external pcb for the upright/vertical orientation.One more board, but gives more flexibility too.

author: djerickson
author_rank: Regular Contributor
timestamp: April 27, 2022, 01:37:10 pm
content: For pA performance, relays probably need to be shielded (guarded) for both noise (coupling from the coil to the contacts) and leakage reduction. Shielded relays are expensive and hard to get. The K236 uses a bunch of these.This is another reason that I decided to keep DIY-SMU's current noise floor at about 1nA.Thanks,Dave

author: julian1
author_rank: Frequent Contributor
timestamp: April 27, 2022, 09:43:31 pm
content: I was considering the possibility of using two relays in parallel, for output switching and current range steering/switching in an application with high current range. (wetted) reed relays maintain good contacts down to very low currents, while larger relays can handle higher currents without the contacts sticking. But leakage currents will still be present across the large relay, so not sure it's a solution.

author: Roehrenonkel
author_rank: Frequent Contributor
timestamp: May 02, 2022, 03:26:20 pm
content: Hi all, hi Dave,i've been reading through the 40 pages of the AD7190 datasheet and learned a few things:The internal clock has +-4% tolerance and probably some jitter.An external clock of 4,9152 MHz (crystal or oszillator) can improve the acuracyfor 50 and 60Hz-rejection and provide a more precise/stable data-output.At a data-output-rate of 10Hz an external clock gives 20dB (!) betternormal-mode-rejection for 50 and 60Hz.

author: djerickson
author_rank: Regular Contributor
timestamp: May 04, 2022, 11:52:58 am
content: Quote from: Roehrenonkel on May 02, 2022, 03:26:20 pmThanks, Roehrenonkel, you are braveWith internal clock the AD7190 50/60 Hz rejection is pretty good at 60-70dB. I did some quick tests a while back to operate the ADC at non-power line frequencies and the noise was still good. Generally an SMU is not used in a heavy industrial environment or with long cables to low-voltage sensors, no? More of a quiet lab instrument. Do I underestimate where SMUs are used?ThanksDave

author: Kleinstein
author_rank: Super Contributor
timestamp: May 04, 2022, 03:56:11 pm
content: The low current ranges are some of the more sensitive cases when it comes to mains hum and shielding is not allways perfect. 60-70 dB hum suppression is already not so bad. The effort for an external clock is still moderate and could be worth a try. There is anyway a limit in how stable the mains frequency is. A more stable clock could also help with noise and linearity. Just a crystal may react to disturband and could even make things worse, as it is relatively easy to disturb a bare crystal.

author: Roehrenonkel
author_rank: Frequent Contributor
timestamp: May 04, 2022, 07:15:24 pm
content: Hi Dave,Quote from: djerickson on May 04, 2022, 11:52:58 amPlease keep in mind that we are talking about 144,72 dB (24(Bits) * 6.03 dB) here, so every decibel is precious - don't let them escape. ;-))Have you tried the sequenzer-function of the AD7190?In what mode does the ADC run? Chop disabled, Gain=1?SMU in quiet labs: objection your honor.Maybe true if used only "stand-alone" for resistance-measurements.But imagine the Low-terminal (agnd) riding on an ac-voltage or a dc-sweep 0..300V.My tube-test-system (mainly Triodes) is fairly simple, but where is the quiet spot? ;-))Thank you, keep up the good work.

author: Roehrenonkel
author_rank: Frequent Contributor
timestamp: May 04, 2022, 07:43:26 pm
content: Hello Kleinstein,Quote from: Kleinstein on May 04, 2022, 03:56:11 pmThe effort is indeed small: 5*7mm and 30mA on the +5V-rail for the smd-oszilator.Mains-f-stability is +-200 mHz in the EU else the grid shuts down.See this nice website:https://www.netzfrequenzmessung.de/https://www.netzfrequenzmessung.de/verlauf.htmFor ze englisch:https://www.mainsfrequency.com/https://www.mainsfrequency.com/verlauf_en.htmHave made some local test (Tektronix DM5120, DC5009) also:(yellow=diff. to 230Vrms left scale, blue=diff. to 50Hz right scale)Netz-U-f.pdf(128.24 kB - downloaded 176 times.)To my surprise still good voltage. :-)Just the wave-form looks more like a trapezoid than a sine.

author: SebastianH
author_rank: Regular Contributor
timestamp: June 06, 2022, 05:53:17 pm
content: Hi Dave,a few questions for the pros1. you already discussed using an INA for the current measurement. But I also thought about the high impedance feedback to the capacitive JFET input of the OPA*145 and potential ringing. My quick ltspice simulation definitely shows a substantial gain peak and I'd want to avoid those thing in the feedback. The best thing to do would be just using a INA configuration and 10k resistors, which would significantly reduce (not completely avoid..) the peaking (and some noise), I would guess?! One could use a 2145 and use the second opamp as a voltage follower for CLM (post U11.2/3)... Otherwise: Putting 10p accross the R47 and R56 would fix this dynamic behaviour in my sim. Did you observe something like this in reality?2. In the 1mA range the on-resistance of the DG444 would be roughly 1%. Although this itself is not concerning (if we can ignore things like R_DS(on) vs. V_D, which we might), but the tempco of this resistance is alsorelativelylarge, ~15 Ohm difference between 0°C and 85° for the Vishay DG444.3. Please correct me if I'm wrong: In its current form the provision for the 1A range seems to be not really usable. I don't know of Photo-MOS relays capable of switching 1A while having a specified max. leakage current <<1µA, so it might make sense to use U17.4 for the sensing of the 1 mA range. In case a 1A range shall be implemented, we would more likely use a mechanical relay like the EC2/EE2 series and would have two poles that we could use for both the "sense" and the shunt switching, hopefully without adding too much leakage. Right?4. 100mA current measurement: Would an array of - say - 8 film resistors, 1206 10ppm 0.4W, be an alternative? Due to the physical size of the array it could be easier to extract the heat from those resistors and - at the same time - maintain a pretty low tempco, for probably less than $10.5. What about the vishay resistor networks ACASA1002U1002P1AT, ACASN1002U1002P1AT? 0.1%/10ppm abs., 0.05%/5ppm relative and really cheap compared to MPM etc.6. Did anyone (with more analog knowledge than me) put some thought into the 1A range (e. g. in a similar fashion as the Keithley 238)? I'd find this device even much more useful with a 1A @15-30V range, even if it wouldn't be quite as precise as the lower ranges due to the significant power dissipation in the shunt.Thanks,Sebastian

author: Kleinstein
author_rank: Super Contributor
timestamp: June 06, 2022, 06:42:44 pm
content: The 1 A range would likely need switching with a mechanical relay. The leakage than would not be a problem and one may also consider a realy for the 100 mA range.Already the 100 mA range shunt gets quite warm and really should be large size, so more like a heat sink mountable power resistor like the PBH series.8 film resistor in parallel may work, if there is plenty of spacing (e.g. 10 mm) in between, but this would add trace resistance and would thus need extra copper. 0.5 W is quite some heat for a precision shunt.If using the 1 A range one would kind of need a lower burden voltage (e.g. 0.5 V range) and lower noise amplification (especially avoid the 100 K resistors at the difference stage) for the 1 A range and likely use this also for the 100 mA range.The ACASA resistor networks may work, though also not the best performance. There are multiple alternatives for the resistors, including ready made difference amplifiers at places.

author: SebastianH
author_rank: Regular Contributor
timestamp: June 06, 2022, 08:02:31 pm
content: Quote from: Kleinstein on June 06, 2022, 06:42:44 pmExactly my thought, although for the 100mA range the Photo-MOS relay might be ok depending on the personal requirementsIn theory it would be best to use latching relays to avoid additional power dissipation. Could this lead to problems at start up, because effectively one will end up with an undefined state?Quote from: Kleinstein on June 06, 2022, 06:42:44 pmProbably true, especially with heatsinking (tempco of those resistors isn't always all that great, partially as bad as 50ppm if I remember correctly). Then again, if I'm really going to build this (which I really want to try), I'd be very restricted regarding board height for the analog board (<2 cm), whereas length/width don't matter that much. Therefore I'd probably end up with SMD solution.Quote from: Kleinstein on June 06, 2022, 06:42:44 pmYes, for the reasons discussed I'd propably end up using another array of 1206 10ppm 0,4W (something like 4 strings with 2 resistors each), 0,5 Ohm total. I think since the 1A range is a somehow just a bonus, it wouldn't be too bad if the performance was slightly worse. I'd likely also use a buffer and 10 k resistors for the amplifier. Maybe one could get away with using the Low Range for the FDAC (setpoint) and the x8 Gain of the AD7190No idea how much "precision" would be left, but that way, no addtional hardware would be required.However, the main difficulty (to me anyway) would be the lower voltage/high current amplifier design itself, I think.Quote from: Kleinstein on June 06, 2022, 06:42:44 pmYeah, there are certainly even better options, but value per money is there, I think. If I do my own layout, chances are high that this will be the main weakpoint (starting with simple prototyping mistakes, best practices, ...). (Although I'm an electrical engineer, my work has always been completely unrelated to electronics, metrology aso.; hence I consider myself a advanced beginner).If you're refering to INA ICs: I haven't found one, that has comparably- low input bias current- low offset drift- supply voltage ratings- available in diy-friendly packagesall at once (and also, it has to be available in that package). But I'm open to suggestions. As a side note: I'm aware that I can't just compare all datasheet values of an INA with an opamp, because the circuit of 3 opamps will obviously different from one single opamp. However, very many INA have input bias currents in the 1nA range, which I find quite high for obvious reasonsThanks,Sebastian

author: Kleinstein
author_rank: Super Contributor
timestamp: June 06, 2022, 09:19:59 pm
content: A latching relay should be ok. The SMU would start with the voltage /current set low from the DAC anyway. There should be no unsafe relay setting and the undefined state would only be for the first 100 ms or so. Autoranging with the current is anyway a bit tricky, as switching the shunt will cause transiensts for the control.Extra gain for the higher current shunts would add a little extra hardware, like an extra OP-amp for some gain and a CMOS switch like DG419. So some extra effort, but not really much. On the other side it saves at the shunt resistors, that could get away with lower power rating (e.g. 1/4) or get better performance.With the INAs / difference amplifiers the current chip availabiltiy makes this even less attractive as one would rely on a relatively special chip. 4 resistors and an OP is easier to get.If hight is an issue, that multiple SMD resistors are definitely a good idea, but they still need area.The current plan uses a 5 V full scale for the voltage and current signals at the cross over circuit part and scales the DAC and ADC signal accordingle with a factor of some 2.2 and 0.45. It may be easier to work with a slightly reduced voltage range, like 4 or 4.5 V and than have the scaling for the DACs and ADC input with a factor of 2 and 0.5, which is easier.For the resistors there are also resistor arrays like NOMCT with 8 x 10 K that could replace several pairs of resistors.For the resistors there would be even the option to use just seprate good quality resistors. With parts from the same batch the matching is not that bad either - not guarantied, but usually the matching is quite good. With the arrays one often also only gets typical matching that is really good.

author: SebastianH
author_rank: Regular Contributor
timestamp: June 11, 2022, 10:21:26 pm
content: I'm currently working on the schematic which (for the most part) is based on both Dave's and Jaromir's design, except I'd really like to implement a 1A (@15V or so) range. Maybe you can give me some input on some parts of my current schematic.Current Ranging:Main changes as previously discussed in this thread:"Full" instrumentation amplifier + 10k/10k Vishay ACASA 10ppm resistor array (should be good enough for my first attempt)1 mA range with dedicated switch for the sense lineArray of multiple 1206 resistors, 10 ppm, 0.4W, for both 100mA and 1A range, mostly to limit board height. The shape of this array (like in 4x2 and so on) is not fixed yet. Thermally it would be optimal to leave quite some space between the resistors. For the 100 mA range with its 50 Ohm total shunt resistance the copper tempco of the traces should add no more than 5ppm or so even if I leave *some* space between them (I think), which would be acceptable. For the 1A range though, with its 0.5 Ohm shunt resistance things are way more complicated. To my knowledge I can't get cheap (or actually any...) 10ppm thin film resistors below ~2 Ohms (especially right now). This reduces possible series/parallel combinations of resistor networks drastically. Additionally, the total value of only 0.5 Ohms leads to many additional ppms in the copper traces, especially when leaving some more space between the resistors - and for the circuit shown with that many parallel resistors (10 for 4.99 or 11 for ~4.5 Ohms), I believe there is no great solution for the problem. I might end up bringing those resistors a little bit closer together as I orginially planned and rely a little bit more on the low tempco of the 10ppm resistors itself. My goal with this shunt would then be something like 25 ppm. I also thought about a low profile heatsink with a thermal pad, either on the bottom side of the pcb by using thermal vias or even on top of the SMD resistors with a thick enough thermal pad; I'd assume this wouldn't have any significant impact on the electrical properties of the fairly low resistance shunt (?). Anyways... I might or might not lower resistance values to ~4.53 *Ohm and use 2:1 and 1:2 ratio for ADC and ADC signal conditioning as Kleinstein recommended. Those are still available at mouser for the most part, believe it or not. I have some 4.99 *Ohm precision resistors left, so the advantage for me personally would likely be limited. And to the opposite, the current approach - while less "clean" - leaves more options to finetune the resistance values and potentially a bit more dynamic range. Not sure useful this is though.EE2/EC2 relay for 1A range.1A range:For the 1A range I followed the approach of the Keithley 238. Unfortunately, as far as I know no (full) schematics are available publicly beyond what is described in the service manual (which is easily accessible). Hence I have to apply my limited knowledge here. Note: If you haven't looked at the service manual of the 238 in the past, it might be helpful to understand what I'm talking about, otherwise a short intro to the topic: The 238 has two amplifier stages: 100mA (0 .. +-110V) and 1A (0 .. +-15V). The 1A amplifier has its own +-30V/1A power supply and is driven by the 100mA amplifier. So the first stage seems to drive both the load (pretty much as it would in the 100 mA range, a small part of the load anyway) and the second stage. The difference in the 1A comes from the the second amplifier that "injects" its current into the 1A current shunt (which is connected in series with the 100mA shunt, as can also be seen in my schematic).The service manual states: "For low output currents (0 to 20mA), the 1nA-100mA stage is used. As the current is increased, the transistors in the 1A output stage start to provide output current up to 1A."Please correct me if I'm wrong, but together with Figure 4-3 of the service manual (yeah, it's only simplified) and the excerpt from the service manual I get the impression, that the second stage is indeed a class B amplifier that phases in slowly, probably due to the V_BE of the darlington transistors used, because otherwise I would expect the amplifier to immediately "support" the first stage and not only after 20 mA. My understanding is further, that those "20 mA" develop the voltage accross the 100 mA current shunt that leads to the voltage differential between (a) the ground of the +-170V and +-30V/1A (negative output terminal) and (b) the output of the first stage and that is necessary to overcome V_BE of the darlington transistors of the second output stage. Did I get something completely wrong or would Keithley actually use such a design? To be honest, I didn't really look to closely into the operation of the 236-238 except for the parts relevant for the 1A range, so who knows. I think class B would make the life a lot easier. That being said, I'm not sure I'd really want to have this distortion.What I did was to pretty much just copy and past the first stage stripped some things away and added some sort of a biasing circuit.The service manual shows a Zener-based biasing circuit for the Mosfets that references the floating +-15V power supply like in the next screenshot. This will "lift" the gate voltage above the +30V rail (or below -30V) whenever the output comes close to the rails. I'm not so sure that something like this would be very useful in my example.I'm in the a completely new territory and I definitely encourage improvements and concrete ideas. Btw: I sometimes just used a fairly random part from the library, like the MOSFETs. But still feel free to make suggestions-Sebastian

author: Kleinstein
author_rank: Super Contributor
timestamp: June 12, 2022, 07:56:14 am
content: 2 separate power amplifers for the low current and high current is a possibility, but not really needed. It should be possible to use a configurtaion somewhat similar to the newer Keithly 24xx. There is a crude and buggy schematics in the service manuals, that at least gives the genral idea: similar to the current schemantics use a king of class G (sometimes also called class H) output amplifier that uses power from 2 power rails (e.g. +-150 V and +-15 V). This way the sink mode would also generate less heat as only the lower voltage is added.Of cause a more complicated amplifier also has more chances for misbehaving (e.g. oscillate).The power transistors (MOSFETs) with sufficient SOA to provide 100 mA from a high voltage are usually also OK to provide 1 A from some 15 V. So there is no real need a fully separate output stage.A separate power stage and switching with a realy is of cause possible and would get less voltage lost at the power transistors in the 1 A range. In this case I would prefer just turning off the unused amplifier and not have them in series, which looks odd.For the resistors one may try a test upfront, how good the resistors actually perform. With the SMD resistors the way they are mounted can have quite some effect on both the thermals and also the TC / drift. It is also not just the TC but also possible thermal EMF from temperature differences at the ends.The shunt switching looks OK. I would consider to wire the next 1 or 2 current ranges (500 Ohms and 5 K) also in series for the sense part and this way save 2 more of the DG444 switches and avoid there leakage.

author: SebastianH
author_rank: Regular Contributor
timestamp: June 12, 2022, 01:05:40 pm
content: Thank you for pointing me to the Keithley 2400 service manual, I appreciate all this input.To be honest, a class G/H approach was my first thought, since this seems to be a much more logical and cleaner way of doing this. The problem for me is the complexity you mentioned - I might need an additional (higher voltage) bias supply, potential instability issues and what not. And with the two-staged approach the 1A is just an add-on - if for whatever reason I can't get the second stage working or just want to start with as little complication as possible, I could leave that circuit unpopulated and still have a working 100mA SMU (ideally). I'll give this another thought though.The 2400 service manual is very interesting: "The output stage drive transistors are biased in class B configuration to prevent the possibility of thermal runaway with high-current output values." If that's good enough for Keithley, so it is for me. Power consumption/quiescent current and thermal runaway was something I was already concerned about with "my" designFor the two-staged approach I find it a bit difficult to find the right solution to disable/switch off the second amplifier. Keithley used one n-channel and one p-channel MOSFET for the positive and negative output darlington pairs respectively on the input side. They biased the cascode MOSFETs with a zener supply referenced to the floating circuit. My understanding would be that this biasing also ensures that the aforementioned MOSFETs (used to isolate/disconnect the input) can be of a fairly low voltage rating. Otherwise a large voltage could develop between the output of the first stage (floating common - +-150V roughly) and the input stage of the second when operating in the low-current-high-voltage ranges. But I think this would also require to open (relay) the connection between the output ground of both the -+170V and +-30V output power supplies - and therefore to have the second amplifier and its +-30V power supply floating like the control circuit itself. Would you agree?Thermal EMF is a good point, which I considered briefly. I had a look at Microchip AN1258, where they have an example of an 1206 resistor. They use what looks like examplary values that are easy to work with, but should be in the correct order of magnitude. Having a 10°C/inch gradient accross this resistor axially would result in a 1.2°C gradient accross the resistor and a thermal voltage of almost 40µV. This would yield an additional 8ppm error for a full scale value. In this case, the resistors are the heat source, so in a perfect world a single resistor on a pcb shouldn't have a huge thermal EMF issue, I would think. In an array it might be a different story depending on the actual component and trace layout. In theory I could compensate some of those effects by means of a careful layout, but I also have to keep in mind not to increase the trace resistance too much because of the copper tempco. And then there are external heat sources as well, and even some air flow potentially.Not quite sure about this, but I believe this might be a good pointfor meto not over overcomplicate things - I know at some point there will be limitations to my approach. And if i remember correctly even Keithley degrades their performance specs for both the 100 mA and the 1A ranges in a very significant wayI assume you meant something like this with the series connection of the higher range current shunts:With this arragement, the 10 mA probably will become more susceptible to the thermal EMF problem. The question then is, which ranges are more important? And is the lower end of the µA range good enough to begin with, that 1/8th of the leakage currents from the switches makes the difference to compromise a bit more on the 10 mA range?

author: wizard69
author_rank: Super Contributor
timestamp: June 12, 2022, 04:10:13 pm
content: Dave!I must say I'm most impress with your build here. I pretty much dropped out of the thread sometime ago due to only really needing a portable precision DC voltage source. However today I spent a bit of time on your web site and have to offer up a big THANK YOU. The thank you due to there being so much to learn on that site.Dave

author: Kleinstein
author_rank: Super Contributor
timestamp: June 12, 2022, 09:12:43 pm
content: Switching off the separate 1 A amplfier could indeed be a bit tricky, as the the output is via the raw source (e.g. transformer), and not a simple amplifier with the output from the transistors. It can at least be confusing and hard to follow in the head. So definitely a part to simulate to be sure, not to get unexpected high or reversed voltage in some cases.The tendency for the SMU is to have a relatively slow regulation compared to a more normal lab PSU. So there are compromises with precision and wide range versus speed. The design calls for relatively large emitter resistors at the output stage. So even if biased like a class AB amplifier thermal run-away would be a lesser issue and the control loop will have to do some work to compensate anyway. So a true class B would not be much slower.With only a small current flowing the 1 A and 100 mA range shunts sould not contribute much termal EMF. The 10 mA range already has the larger voltage drop for full scale and thus less sensitivity to thermal EMF anway. To keep the thermal EMF effect low a relatively symmetric design around the shunts that get hot helps. Having more shunts in parallel just averages to thermal EMF, so it more like makes things a bit easier.Even in the series configuration for current range switching there are still 6/5 CMOS switches and the PM relay to give some leakage. So 1 or 2 CMOS switch less does not make such a big difference, but it does not hurt.With the measurement and control signals in the +-5 V range with maybe a little overrange I wonder if one really needs a +-15 V supply for the OPs. One may get away with a lower supply like +-10 V and thus less heat loss. This may be a point is compact, low power version.

author: jaromir
author_rank: Unknown
timestamp: June 12, 2022, 10:49:54 pm
content: Quote from: SebastianH on June 11, 2022, 10:21:26 pmThat is a good approach. Let my add a bit of observation from my SMU:The analog board I'm using is not the first version. The respin was due to multiple reasons, one of them being drift of current output, especially on 100mA range (much less on the 10mA range, negligible on the other ranges). That pointed at self heating temperature drift of the sensing resistors. To remedy this, I made a few changes, ordered by perceived importance:1, Decreased voltage drop at sense resistors from original 5V to 2V (compensated by increased gain of the shunt sense differential amplifier)2, Divided the current across four resistors for the 100mA range, as opposed to two resistors in the first version3, Changed the PCB layout: resistors got copper planes to help with the heat dissipation (see attached picture)4, Used resistors with 15ppm/C tempco, as opposed to previous 25ppm/C.Those changes caused the thermal drift to decrease from ~60ppm to ~17ppm, in both cases loaded with 90% of maximal output.

author: SebastianH
author_rank: Regular Contributor
timestamp: June 13, 2022, 06:52:36 pm
content: Hey Jaromir,great to hear from you as well, really impressed by your SMU!Quote from: jaromir on June 12, 2022, 10:49:54 pmAt first I didn't want to use the 2*10^x Ohm values, partially because I didn't feel comfortable with the 250k required with the initial design, but since I decided to buffer both inputs of the diff amp this is not an issue any more.I think I'll even combine this with Kleinsteins approach, given that appropriate 10 ppm resistors are actually available. I could use ~2.2*10^x Ohm shunt resistors and a gain of 2 for the instrument amplifier and use a gain of 2 and 1/2 for the ADC/DAC signal conditioning. And maybe the having the capability for some 5-10% overrange is more a feature than lost dynamic rangeI still use multiple resistors.Quote from: Kleinstein on June 12, 2022, 09:12:43 pmWhat would you consider a high emitter resistance in case of the 1A range? I'd like to use something like 0.5 Ohms to limit power dissipation.Quote from: Kleinstein on June 12, 2022, 09:12:43 pmNot sure I can follow. The scenario would be that I've used the 100mA/1A range and kind of heat-soaked the unit a bit. Then I switch to the 10 mA range and potentially see a series (thermal EMF) voltage of say 50µV from those series shunts. I'm certainly not sure, how large the thermal EMF voltage would be, but still. Without this "heat-soaking-process" it wouldn't matter that much, I'd agree - or am I missing a fundamental concept here?Quote from: Kleinstein on June 12, 2022, 09:12:43 pmAgreed.Quote from: Kleinstein on June 12, 2022, 09:12:43 pmI thought about that, but for other reasons. Right now I'm not sure how to design the power supply - I guess this will be something for a later development stage for me. But due to space restrictions I likely have to either wind my own transformer (/order a custom one) or use a high quality DC/DC converter module like Dave did (certainly not a separate off-the-shelf line transformer for the floating +-15V bias circuit). In case I end up with a DC/DC converter I was wondering whether to use a linear regulator after that. At the usual operating frequency of those isolating DC/DC converters - that will be as high as 300kHz (not to mention all the higher frequency switching noise) - the linear regulators don't do much, but still a little bit, maybe ~10dB PSRR. Is that still better than nothing? (I would think a lower operating voltage of the opamps might reduce the PSRR, so I don't know). This would give me something like 10V-12V. And certainly, the power dissipated in the linear regulators could be sinked into the case or even better the heat sink.Anyway, I like this idea. And I'd love to find a company for custom transformers at a reasonable price.

author: Kleinstein
author_rank: Super Contributor
timestamp: June 13, 2022, 09:02:39 pm
content: DCDC converters may introduce quite some common mode interference. So I would not consider this very attractive - at least not most of the of the shelf ones.Thelinear regulator will not help very much with the regulation at the higher frequencies. However it keeps the voltage stable and allows more series resistance in the filter.How good the LDO it also depends a lot on the output capacitor and the layout around the capacitor.Unless the supply gets really low, there should be relatively little difference in the PSRR between 2x15 V or 2x10 V supply. It is more that less heat in the OPs that can reduce thermal effects.One may still have to check the maximum signal level needed.The capacitive dropper idea for the auxiliary +-15 V at the power stage is a good idea for low power. No sure if already mentioned: the capacitive droper could use full wave rectification and thus get away with smaller (e.g. half the size) capacitors. For the extra 1 A stage this would not longer be practical.For the emitter resistors some 0.5 ohms are about the minium for the TIP41/42. Those resistors are not only there for the hard wired fast current limit, but also effect the transfer function. More restance may make it more stable, while drift of these resistors is not critical. The smaller the resistor, the better the thermal coupling in the amplifier / current stabilization should be. Compared to the more normal audio amplifier the TIP41/42 see relatively little voltage and heat as most of the heat goes to the MOSFETs. So even with only 0.5 ohms the situation should be a bit more relaxed than with many audio amplfiers.

author: SebastianH
author_rank: Regular Contributor
timestamp: June 13, 2022, 11:13:50 pm
content: Quote from: Kleinstein on June 13, 2022, 09:02:39 pmI wouldn't even consider those if custom transformers were readily available, adds so much complication to achieve the same performance. Dave himself did quite an elaborate test on those and found a good correlation between cost and common mode noise and so on. There are also some "medical grade" DC/DC converters (i. e. specified for MOPP standards and so on) that are optimized for low patient/ground leakage (supposedly in the µA range), was thinking about testing the performance of one of those.Quote from: Kleinstein on June 13, 2022, 09:02:39 pmQuote from: Kleinstein on June 13, 2022, 09:02:39 pmI included this in my schematic a few days ago, but I don't believe that it was discussed previously. The nice thing is, it's just a matter of connecting the diodes differently. I think it is worth mentioning that with shunt regulation there will be some ripple on the rails no matter what. With a 15kOhm load/1mA and a random 1W Zener diode from the library (KDZ15B) for example in the range of about 50mVpp (1µF-20% for the "AC capacitor", 220µF bulk capacitance). This could be reduced to about 25mV with only 100µF (however at a higher frequency -> PSRR). I'd be really interested to hear, what Jaromir/Dave are measuring in real life. I might use a 680n-1µF AC capacitor, a higher voltage clamp (24V or so), 47µF bulk capacitors and some SMD linear regulators. Might be a bit overkill, but why not... (one reason could actually be the quiescent current of the linear regulators, which loads down the capacitive power supply a bit, not a real problem with the full bridge).Btw: Hadn't looked at a shunt regulator after a rectifier before that, so I can recommend this to anyone that is in the same shoes - the waveforms are pretty self-explanatory, but interesting still...Quote from: Kleinstein on June 13, 2022, 09:02:39 pmOk, I'd probably use Daves/Jaromirs design for now, for the TIP41/42 I think they used more like 22-27 Ohms. The 0.5 Ohms would be for the darlington pair (1A range). Yes, that influences the output/input impedance of the amplifier as well.

author: RikV
author_rank: Regular Contributor
timestamp: June 14, 2022, 04:55:37 pm
content: Dave, would you consider to implement an Ohms measurement function? Both Four wire constant current (basically FIMV with calculated output value) and constant voltage (FVMI)? This instrument is capable of precisely measuring very low and very high resistance values. I know thes caculations can be made over SCPI but real-rime readout is also very interesting.SebastianH: When can we expect to see some of your schematics? I am very curious!

author: SebastianH
author_rank: Regular Contributor
timestamp: June 15, 2022, 05:26:12 pm
content: Maybe a first version at the end of the week? But I have to limit your expectations... It will be very close to both Dave's and Jaromir's schematics, with some input from mainly Kleinstein, Roehrenonkel and myself.I'm still not sure whether to use a buffer for the positive reference. A buffer may help, but it might not be necessary or even decrease performance if not implemented correctly. I'd keep the capacitors at the REF input pins in any case (probably 10µF in series with a low value resistor to ground + 100nF directly accross VREF+ and -), for the VREF sampling which I believe happens at the modulator frequency exactly as the input sampling. I might just add a footprint and a solder jumper for some tests.There is a PGA in the AD7190 (x8, ...), at the same time, I have 2 ADC inputs left. I could use one of those for a x10 current measurement specially for the 1A range. Would an external solution give me much better performance? Then I needed another switch, because I wouldn't feel comfortable with just driving the output to the positive rail all the time. Especially for zero offset/zero drift/chopper opamps like the OPAx388 with their parasitic diodes accross the inputs, I think it's a pretty good idea to keep them in the linear ("v+ - v- = 0V") region. Then again, could I get away with it due to the pretty high feedback resistor (for x10)?! Anyway, I personally don't like itWhat do you think?

author: Kleinstein
author_rank: Super Contributor
timestamp: June 15, 2022, 06:35:40 pm
content: The DC accuracy is anyway limited by the use of multiple non AZ OPs in the signal chain. This effects the DAC, the ADC and the amplifiers for current and voltage sense. So the PGA gain at the ADC is of somewhat limited use. One might consider lower noise/drift amplifiers at the ADC inputs.One of the inputs for the currents sense needs to be very high impedance for the low current to work. So this kind of has to be the OPA140 or similar.I thinks for the amps part one could add an extra switch (e.g. DG419 or 2/4 of DG444) in the feedback to switch the amplifier for current sense between the gain 1 for the lower currents and maybe a gain of some 5 when using the higher currents like 100 mA and 1 A. The OP-amp for the other side could be a different type (e.g. OPA207 or OP27) with less drift. The extra gain would than not only help the read out but also the regulation.Quote from: RikV on June 14, 2022, 04:55:37 pmThe performance for low ohms may be limited, as the voltage read-out is not especially accurate / DC stable. A reasonable high resolution DMM may have something like 10 x better votlage readings for low ohms and thus could get away with 1/10 the test current. To get around this at least a little it would be more like low frequency AC for the low Ohms testing.

author: SebastianH
author_rank: Regular Contributor
timestamp: June 15, 2022, 10:29:44 pm
content: Quote from: Kleinstein on June 15, 2022, 06:35:40 pmLet me confirm what you have in mind. Replace say the Opamp buffering the positive input of the difference amplifier by an OP27 (which has slightly less offset, drift and noise than the OP145). Then add two switches to the differential amplifier (either 2x DG419 or two switches of a total of 4 in the DG444 package) to make the gain switchable? I didn't want to switch the gain on a differential amplifier because of the complexity of two switches instead of one for a simple inverting amplifier - and potentially differences between those two switches. Do you think this is unsubstantiated?My plan was to add a DG444 for the integrator to have different gain settings for the different ranges. At least in my simulation I haven't found a "one size fits all" approach, at least none which showed a fast response for all ranges.

author: Kleinstein
author_rank: Super Contributor
timestamp: June 16, 2022, 07:42:40 am
content: The idea is to change the OP used as the extra buffer (not in daves plan, U304A in the schematics from june 12) from just a buffer to alternatively also work as amplifier relative to the other buffer. The switching would be a single DG419 for the inverting input of the OP. So there is essentially no added error or drift from the switch. The amplifier is than a little more like an INA with the optional gain already in the first stage, though only on one side.Changing from an OPA145 to OP27 would be a seprate point to reduce the dirft / noise a little. Having alternative OP amps could be a good idea in several places. This could be for lower costs, better availabilty and in some areas better performance. This changes would be something to consider later, once the general circuit is ready.One OP that may contribute quite a bit to drift and low frequency noise is the "amplifier" in front of the ADC (TLC2272 in Daves plan). I would consider a MCP6V77 in this place.Switching the loop compensation (e.g. at the integrator) for different current ranges may be required or at least help. By nature the very low current ranges will be somewhat slow. Jaromirs plan uses switching of the emiter resistors at the output stage to change the gain (tranconductance) at that place. The switrching is no just to adapt the extra fast current limit, but also effects the gain and this way the loop compensation in the right way.Another possible point may be a switch (e.g. photomos) for additional output capacitance (likely with some series resistance) for the higher current ranges.As far as I see it the SMU will not have a very fast response time as wanted from a good lab supply. Chances are one would need to live with some compromises to allow the very large current range.

author: SebastianH
author_rank: Regular Contributor
timestamp: June 16, 2022, 11:24:54 am
content: Your explanation did help somewhat, however I'm not sure why I would only use "one side" and how this should look exactly.So, here is a INA, in this example Gain x2 from the second section and Gain 10x from the first section. In this case the switch in series with the gain resistor would introduce gain error. It might become irrelevant at low gain and large R9 and R10 resistors, and hence a large gain resistor R11 as well; or with low R_on switches/relays.Do you mean by "one side" to just make U7 a simple non-inverting amplifier with switchable gain? As far as I can tell I would need two switches to avoid any gain error: To switch either the output directly (switch 1) or to switch the divided output signal to the inverting input of U7 (switch 2)?Or did you mean to essentially make R10 a short, i. e make U7 a non-inverting amplifier, but reference the voltage divider to the output of the buffer U8?! Also Maybe I'm the only one to not understand this right away? SorryWhat makes you want to choose the MCP6V77 over say the OPA388? The MCP6V77 seems not to be available in a SOIC8 package, which I much prefer (try to stay away from those tiny packages as much as possible).Good point regarding the current limiting circuit, have to look into that.Sebastian

author: Kleinstein
author_rank: Super Contributor
timestamp: June 16, 2022, 12:19:30 pm
content: R10 as a short is exactly my idea. So that side still works as a buffer. Switching the gain is between 1 and one value is than only needs a SPDT switch.To get a gain of 1 one would need the 2nd stage as the normal gain of 1.The MCP6V77 is compratively cheap - I had not considered the case to be that critical. The OPA2388 (as a dual) is currently a bit hard to get. Other AZ OPs may be possible too - that amplifier does not have to be super low noise. One could even consider to skip these amplifiers alltogther and use a simple 1:1 divider towards a buffered 2.5 ref. level instead. That solution would even be a bit less sensitive to the resistor quality. It should however use the ADC internal buffers and add some INL this way.

author: SebastianH
author_rank: Regular Contributor
timestamp: June 17, 2022, 09:43:03 am
content: Ok, I assumed the DG419 is SPST, and it's always dangerous to assume somethingNow everything makes much more sense.Would be nice to use the spare DG444 SPST switch, but I'd need two of those to replace the DG419. I could potentially even connect the 1mA shunt in series. Hmm. Opinions?Yes, unfortunately, I would have to use the single channel version OPA388 at the moment. Not too happy about that.

author: Kleinstein
author_rank: Super Contributor
timestamp: June 17, 2022, 10:30:35 am
content: The 1 mA range should still be OK with the series circuit: the noise of some 2.2 K or 4 K is still not too much compared to the OP-amps. The question is more if the 100 µA range needs a separate sense or maybe a lower resistance switch. This would especially the case with one 2.2 K and reduced voltage also for the lower currents.

author: djerickson
author_rank: Regular Contributor
timestamp: July 04, 2022, 12:28:12 pm
content: Adding a 1A range to DIY-SMU is a pretty big change. Some good discussion of the issues have been made. I thought I'd outline what I think is needed. My solution to a high current / lower voltage SMU is to not contort DIY-SMU to do this: instead I plan to do some improvements to my PS-Load projecthttp://www.djerickson.com/ps-load.It's a simpler, smaller, and cheaper 2/4 quadrant design that can do +/- 24V at 2+A easily. It needs quite a lot: better accuracy, UI, SCPI, packaging...Here is some of what DIY-SMU needs for a 1A range:1A range switch requires an armature relay. This may need some hardware / software magic to minimize transients during the ~10mS current range switching. Maybe I'm overestimating the difficulty, but K236 uses a complicated analog ramp circuit to address even their 100mA range switch. I cheat on DIY-SMU with a modern SSR. I see that K2400 does not use a relay for its 1A range. Still haven't found out how they do it. MOSFETS have too much leakage to switch 1A with << 1nA leakage to not affect their lowest range. That's why they get the big bucks.Yes, do not use 5V drop on the 1A range, 5W on a shunt resistor is hard, 2V / 2W is hard enough drift-wise.The amplifier can mostly be used at 1A, but a class G (diode switch) is needed like the K2400, to source the lower ~+/- 30V 1A supplies. And more FETs to manage the power. Maybe need a way to turn off the top FETS to prevent 170V / 100mA from dissipating that extra power on the 1A range?The amplifier needs a lower value shunt resistor with range switching to handle the 1A currents in addition to the .1A / .01A switching. The K2400 amplifier diagram doesn't show any of that stuff. Probably some straightforward low-voltage Mosfet and CMOS switching.The power supply transformer needs lower voltage, high current windings and diodes/caps (~30V, 1A). Since AC leakage current of the DIY-SMU design is already pretty high, a full custom transformer, preferably high frequency, is required. This is a significant design / production task. Again, why Keithley gets the big bucks.The output path traces and output relay need to be beefed up to handle 1A. Hot-switching 1A with a relay is worse than .1A, so some type of relay sequencing (software) is likely needed. The extra beef may push the main board to 4 layers. Not a terrible idea to use 4L for DIY-SMU anyway.None of this is impossible, but it's a fair amount of design / parts / cost / complexity on top of an already complex DIY project. Stack too many blocks on top and the tower will fall over.Thanks,Dave

author: RikV
author_rank: Regular Contributor
timestamp: July 05, 2022, 03:43:49 pm
content: So, would it not be best to concentrate on what is available and get the most out of it? Softwarewise (adding functionality, ease of use...) and hardwarewise ((why not 300mA or even 500mA? Such SSR's are available and not everyone really needs that pA precision).And indeed, a final version of the control board might be a 4 layer.But before all, Dave, what are the specifications you were aiming at in the beginning? What you have now is already far beyond that! Time to "respec" the DIY-SMU?

author: Kleinstein
author_rank: Super Contributor
timestamp: July 05, 2022, 04:31:36 pm
content: It makes sense to have separate versions for low current / high voltage and high current low voltage. The design may share the control part (ADC and DAC), muich of the software and case, but would have a different power stage, range switching and supply. Combining both in a single unit adds extra complications and this may not be worth the extra effort for a DIY project.The current / voltage range effects multiple parts:1) the current range switching: high current fet switches just have more leakage2) the voltage sensing: low bias amplifiers tend to have more noise / drift, though the OPA140 is quite good, but still not perfect. Sub µV precision would likely need AZ amplifiers instead.The divider at the input adds to this. So both a large voltage range and pA current resolution interfere with high precision with the voltage.3) Higher current shunts essentially need a lower burden and better precision amplifiers. A combination with pA resolution ranges is at least tricky and may need extra effort (e.g. also switch the amplifier - not just the shunt and maybe the gain).4) the power stage: one can combine both in a class G design, but it is extra effort and it adds an extra winding to the transformer and some extra MOSFETs. This part can serve both, but separate parts are still a little easier.I am afraid there is not much room for simply pushing the original circuit to much higher current - the power at the shunt just gets nasty and the transformer and heat sink gets bigger.

author: jbb
author_rank: Super Contributor
timestamp: July 05, 2022, 08:50:59 pm
content: I have been doing some poking around on a Class-G amplifier. It’s … a bit painful.There are issues with:- DC Safe Operating Area- needing series devices to spread dissipation- thermals in general - lots of- voltage sharing over series devices- required voltage headroom of series devices; this raises amplifier dropout voltage and pushes up required supply railsI suspect it makes more sense to build two SMUs. A ‘high current’ SMU would have reduced voltage range, lower drop across current shunt, and skip the really low current ranges. A ‘low current’ SMU would have more output voltage capacity and lower current ranges.The ‘high current’ SMU could possibly - gasp! - use a switch mode supply to save on giant 50 Hz transformers. Or even a switching pre-regulator (but that doesn’t help a whole lot with the sinking quadrants).

author: atx
author_rank: Contributor
timestamp: July 05, 2022, 09:09:35 pm
content: I built a 2 channel version SMU based on Dave's and jaromir's design with a different approach on the digital side. Thanks guys!! I use jaromir's approach regarding the shunts with the 2V range and implemented the 1A shunts using the AQY221R6 just to see how far this can go but limited it to 350mA max (actually, my current toroidal transformer does not deliver more) and carefully watch the temperature of the transistors. My version seems to works down into the 100 pA range, good enough for me. Regarding leakage, the datasheet of the 1A SSR does not list a typical value for the leakage current but the datasheet has a graph showing the off state leakage current vs. load voltage characteristics. As we are dealing with a maximum voltage of 2V in the shunt section, it looks like the AQY221R6 which can handle 1A has a leakage of something around 10pA while the other AQY22R are probably <2pA. I think this is only a problem if you need accuracy down in the low pA and fA range. I also have a R&S NGU 401 for comparison and while this unit can deliver 8A, its not usable for measurements below 10nA.atx

author: Kleinstein
author_rank: Super Contributor
timestamp: July 05, 2022, 09:23:21 pm
content: A kind of class G output stage can help also with the sinking quadrant. With the simple 4 quadrant output the sinking case sees the external voltage plus the supply votlage. So quite some extra power compared to a simple electronic load. With a class G output stage one could have a considerably lower voltage (e.g. 15 V anyway used the amplfiers or maybe even less for the high current version) added to the external voltage. The lower (inner) power transistors would still need to accept the 15 V plus the externals voltage. As far as I see it the class G autput stage does not save on the transistors, it just only gets about half the transistors hot at the same time. So it helps with the heat sink, but not really with the transistors needed. It gives a natural series connection, but usually no power sharing between the halves.A totally aggree with 2 separate SMUs. The higher curent one would be more like a precision 4 quadrant lab supply. It may not need a much larger power transformer, as the voltage also gets smaller. So one may in this case get away without stacking multiple FETs for a higher voltage rating. For many uses some 1 or 2 A and some 20 V, maybe 30 V would be well large enough.I don't think a preregulator is very practical - more like a simple class G power stage that otherwise gets away without a series connection. of 2 FETs.The lower voltage makes the capacitive coupling in a 50 Hz transformer more acceptable - so one may even get away with an of the self transformer.

author: BobSacamano
author_rank: Newbie
timestamp: July 13, 2022, 10:49:07 pm
content: Can anyone help me figure out how this design permits current sensing with such high common-mode voltages (+/-150V)? The OPA2145 has an input voltage limit of (V+) - 3.5 & (V-) - 0.1....

author: Kleinstein
author_rank: Super Contributor
timestamp: July 14, 2022, 04:50:32 am
content: The SMU circuit is a bit confusing as it uses 2(3) supplies and 2 "grounds" that move relative to each other. This is a bit like the floating regulator lab supplies.The current measurement is at a potential close to the regulator circuit and thus more like the low side and not that special.The more tricky part is how the voltage is measured and the regulation compensates for the drop on the shunts: for the voltage measurement there is a high impedance buffer amplifier (e.g. OPA140), that is powered from a 2nd supply that is relative to the other ouput (e.g. high side). Similar the output after the shunt if buffered. With the extra buffers one naturally gets the option for extra voltage sense inputs (4 wire terminals). For the regulation than a differential amplifier (in this case with a divider first) is used for the buffered signals.

author: RikV
author_rank: Regular Contributor
timestamp: July 21, 2022, 07:31:16 pm
content: Is there anyone else out there actually building Dave's (or Jaromirs) DIY-SMU and willing to share experiences?I am having touble with the software. So far I have been able to solve most of the problems and I have a working, stable unit.However, the "keyboard HMI input" as provided by Dave is not complete. That is: it is completed to the point where the input value is read into the Teensy and the value is printed out on the serial. No handling of the input value and of course no update of the DACs.I suppose Dave got kind of pissed off with the known Nextion (library) issue of intermittent "ERROR" messages Nextion .readStr() function. No solution found on the net but the error happens only about 5 times in a hundred. So, why not, for the time being, simply discard those error readings and retry or even re-input?I tried to do the handling myself using Dave's functions setForce() and nDispClamps() but I only get the setForce working reliably in FV mode.Can anyone help me out? Dave??

author: RikV
author_rank: Regular Contributor
timestamp: July 21, 2022, 07:40:02 pm
content: Some thoughts on the UI:When modifying a force value should the input be clamped to the actual range OR should the range be adapted to the input value? In my opinion when modifying a value trhroug SCPI the firmware should rely on the knowledge of the programmer and do no further checking. Programmer is reponsible, machine obeys. On the other hand, when an operator modifies a setpoint durng a testing sequence he (she) may not pay full attention to what he is inputting, probably causing some kind of disaster. There the "machine" should at least warn the operator of anomalies.How is this handled by the big guys?

author: Roehrenonkel
author_rank: Frequent Contributor
timestamp: July 22, 2022, 02:37:20 pm
content: Hi RikV,on the Keithley 237 when inputting via Wheel / Incremental encoder input is "clamped" at the range-limits (1.1V 11V and 110V).Input via keyboard directly works from 0 to 1.1kV.When controlling by GPIB the high-range has to be enabled by the command "V1".Thats all, no more "machine-inteligence".

author: djerickson
author_rank: Regular Contributor
timestamp: August 03, 2022, 12:29:44 pm
content: Quote from: RikV on July 21, 2022, 07:31:16 pmHi RikV.Glad to hear you have a working and stable unit. Nice!Did you resolve these? Where did you find references to keyboard HMI Input? I don't remember that function, it might be a stub. I did a quick search of my .INO's and .h for 'hmi' and couldn't see it.As far as the Nextion readStr() I haven't seen these errors, but wasn't looking. Not that affects performance, anyway. If you have a fix I'd like to see it.setForce() handles FI and FV modes, depending on the current instrument mode. maybe you're not in FI mode?I'm currently on a sailboat in Maine for August, Harbor island to be exact, so don't have full access to tools.Thanks,Dave

author: RikV
author_rank: Regular Contributor
timestamp: August 03, 2022, 10:03:03 pm
content: Well, Dave, happy sailing (or how do I have to say it?). We, over here in Belgium and all over Europe, we are struggling with heath and drought. And on top of that there is a war in our backyard. But, no doubt, all will be well in the end.I cannot thank you enough for this project: it has kept me busy for over a year now and a working device is at sight.Regarding the User Interface Keyboard. In the last version of the firmware I found on your site Teensy requests the value input on the Nextion keyboard with the getKeypadString() function and then this string is printed on the serial(USB port). Nothing more.I have -so far- worked it out that I can fully handle force values, volt and amps. Clamping will be done one of these days.Concerning the "myNex.readStr()" you added this comment:"Get the keypad result, Works, but only if no 'Invalid variable' 0x1A errors"Indeed, for some reason every now and then the function returns "ERROR". The www gives no solution, the guys at Nextion seem to be deaf. Perhaps I can work aroud it with a "while" loop...Could you hint me how I can set a clamp value (in software) in the easiest way? Do you plan to integrate scpi commands to set clamps?

author: RikV
author_rank: Regular Contributor
timestamp: August 06, 2022, 03:57:03 pm
content: As of today, I have made advancements.The complete getKeypadString() works as I want it.The problem around myNex.readStr() is solved: a while loop repeats the read until successfull. Works fine.Only onething remains to be investigated: clamp voltage input in 15V range is limited to 15V? To protect the instrument or a bug that escaped your attention?The way of handling user input is done the safe way: protect the SMU and the DUT: user input is clipped to the actual range selection, meaning tha in 1.5V rang you cannot accidentaly input 100V and release smoke all around. Environmental responsbility. Better safe than sorry.One thing I dont' have a solution for: when changing ranges upwards (ie 1mA to 10mA) the set value is multiplied by 10!Say I am increasing the voltage on a DUT 0V....15V. I need a bit more and change to 150V range. Bang! 150V at the terminals. Oops.

author: RikV
author_rank: Regular Contributor
timestamp: September 11, 2022, 09:55:55 pm
content: Dave, as far as the clamping condition concerns: I made it such that Teensy changes the color of the Vm to red in case of clamping. No need for an LED (and a new PCB) I guess.How do the big guys handle this?

author: Hydron
author_rank: Super Contributor
timestamp: September 12, 2022, 09:31:52 am
content: 236(/7/8) shows a "Compliance" LED when it hits a current/voltage limit. No idea about the more modern units sorry.

author: RikV
author_rank: Regular Contributor
timestamp: September 13, 2022, 09:49:06 am
content: I read through the KS B2900 and K2400 manuals and I found only "sideways mentioning" of the indication. I understand the B2900 has an on-screen indicator and the 2400 series (2460) has a "display label". Keithley simply names it "overcurrent and overvoltage". No pictures of either two, it looks to me that both are the same but definetely not an LED on the front panel.Nobody out here who has access to the real thing?

author: djerickson
author_rank: Regular Contributor
timestamp: September 15, 2022, 02:38:38 pm
content: Quote from: RikV on August 06, 2022, 03:57:03 pmYeah, sorry about that. The code is simple that way. It should change the value setting for Range Up and Down changes.For a Range-up, it should just probably keep the same voltage r current, no?For a range-down, what to do? Keep the original setting if it's in range? Set to Range max? Turn off the output? set to 0V? I don't know.I couldn't decide what to do, so you see the result.Anyone with a K2400 etc. know the answer?Dave

author: RikV
author_rank: Regular Contributor
timestamp: September 15, 2022, 03:11:44 pm
content: I try to visualize the situation when this happens: While testing and full attention on the object under test. Ramping up or down the Force value. Suddenly you see you are approaching a range limit. Changing the range I would expect to have an output value as close as possible to the one before changing the range.So: when ranging up, keep the last value, do not multiply by 10 or 100!. When ranging down same reasoning: same valu when it fits the range ore max value of the range in the other case. That is what I would feel intuitive. But, who am I?"see the result"?? have you updated the soft? What part(s)?Oh, I see. Some sarcasm? No need. This is an amazing project.

author: Hydron
author_rank: Super Contributor
timestamp: September 16, 2022, 08:47:42 am
content: Keithley 23[6/7/8] will keep the original setting when up-ranging, you just lose the last (least significant) digit. When down-ranging it will either keep the existing setting (when it fits in the new range) or if it does not fit, will set the output to the maximum the new lower range can handle (i.e. strictly less than the previous value).This seems like the only reasonable way to handle range changes without nasty surprises.

author: djerickson
author_rank: Regular Contributor
timestamp: September 16, 2022, 05:13:49 pm
content: Thanks much for the feedback. "Do no harm", good idea. Should be simple enough to implement. Next time I'm working on the code...Dave

author: RikV
author_rank: Regular Contributor
timestamp: October 10, 2022, 02:07:16 pm
content: Dave, I don't know if you ever noticed: after reset the measured value (15V range) is incorrect until the first change in force setting or till changing range (the error is the size of the offset error).This is due because after exiting "initDAC()" the following "setDAC()" simply forces the DAC output to midscale which does NOT correspond to 0V output! Offset error. I supposed that simply using "setForce()" would do the job but it doesn'. More investigation is necessary.

author: aeonfor
author_rank: Newbie
timestamp: October 25, 2022, 10:56:22 am
content: In an SMU design, the Out- is the common of the power supply, driven by the +/- 150V supplies common.

author: RikV
author_rank: Regular Contributor
timestamp: October 26, 2022, 03:48:34 pm
content: What do you expect from this post?

author: djerickson
author_rank: Regular Contributor
timestamp: December 14, 2022, 03:23:02 pm
content: Good news about DIY-SMU, and the industry in general. All the parts for DIY-SMU are currently available from distribution or will by year-end at Digikey, Mouser, or both.One Caveat: Teensy 3.2 is still out 'till March 2023. Teensy 4.0 is a substitute, but I have not tried it yet.The problem children were Si8661, AD5686, AD7190, ADR421, OPA145, OPA2145, DG441, OPA2340, RS3-1215D. They are are all in stock.I have bare boards, front and rear panels if anyone wants to build one. Email me.Thanks, Davedave@djerickson.comwww.djerickson.com/diy_smu

author: djerickson
author_rank: Regular Contributor
timestamp: March 11, 2023, 05:02:04 pm
content: Hi All,I've written a few Python Curve Tracer programs for DIY-SMU, Single channel for 2-terminal devices, 2 SMU channels for transistors and tubes.Here are the results for a 2N3904 and a 12AX7 tube. Check out the latest athttp://www.djerickson.com/diy_smu/smu-bringup3.htmlI'm pretty happy with the results.Thanks,Dave

author: desert
author_rank: Contributor
timestamp: March 24, 2023, 09:44:59 am
content: Very exciting project and thanks for sharing! 👍One important feature of SMU and V/I instrument is glitch-free range-switching: no voltage drop or voltage glitch during up-range-switching, no voltage overshot or voltage glitch during down-range-switching. This is valid for both current range-switching and voltage range-switching. And it takes very short time to finalize rang-switching (less than 100us).It needs state-of-art design to achieve that.Have you tested that behavior? It's interesting to see the result.

author: djerickson
author_rank: Regular Contributor
timestamp: April 04, 2023, 09:26:42 pm
content: Hi. Thanks for your interest and excellent question. The low current ranges use fast CMOS switches with 100-200nS switch times. There is no significant glitching when switching between low ranges. The 100mA range uses a slower Photomos switch and does have a so has a 200uS big-old glitch when changing to that range. I need to change the code to turn on that switch >200uS before turning off the previous range switch: Make-before-break is bad. That should fix the glitch.Range switch glitching is one reason I didn't use relays for range switching. Photomos delay is better and cleaner than a relay, but still needs care. Next time I'm in the firmware, I will fix it. It is added to my to-do list.Voltage range switches also uses Photomos switches, but there is always a parallel resistor for the other range, so no break-before-make glitching there.Again, thanks!DaveQuote from: desert on March 24, 2023, 09:44:59 amt and excellent

author: ddrl46
author_rank: Regular Contributor
timestamp: May 30, 2023, 04:54:55 pm
content: Are the files which are available on your website (https://www.djerickson.com/diy_smu/files/DIY_SMU_Files.zip) still the latest revisions? I may be interested in building one or perhaps two units.

author: MathWizard
author_rank: Super Contributor
timestamp: May 31, 2023, 07:16:45 am
content: Cool project, someday I hope to try it or some version.What are the higher voltage ranges used for in general ? Curve tracing ? I guess I mainly do lower voltage work. When I learn a few more things, I'd like to make a very low power, low voltage, 4-quadrant supply, even just on a breadboard, with BJT's and maybe op-amps.

author: Hydron
author_rank: Super Contributor
timestamp: May 31, 2023, 03:53:56 pm
content: High source voltages (including well above those seen here) are very useful for looking at semiconductor leakage etc when you have good low current measurement capability. I regularly use my keithley 237 above 100 volts (usually on the microamp ranges unless I'm looking at insulation resistance).

author: gmac34
author_rank: Regular Contributor
timestamp: July 06, 2023, 11:29:55 am
content: Hi, has anyone ordered PCBs, if so I would be interested in getting a set. thanks!

author: chilternview
author_rank: Frequent Contributor
timestamp: July 13, 2023, 09:19:48 am
content: Impressive design Dave, this has piqued my interest.What would be involved in lower current ranges? I'd be interested in getting down to the 1fA or so of the HP4140. That uses reed switches for range switching, and also a zero offset capability for correcting repeatable leakage below 100fA.

author: Kleinstein
author_rank: Super Contributor
timestamp: July 13, 2023, 09:27:44 am
content: The very low current range may want a few more changes. Especially if getting in the low current constant current one may need a lower speed. Chances are one would build a seprate version for only small currents (e.g. up to 1 µA). Having the instrument for a large range of currents comes with compromises and at the extremes there is not much room for compromises.

author: SebastianH
author_rank: Regular Contributor
timestamp: August 01, 2023, 09:36:03 pm
content: Hey guys,it's been a while and now I have some need for advise/feedback. My schematics are very similar to the original ones, with some changes discussed a few pages earlier. The board currently looks like this (placement will certainly change a bit here and there; obviously not routed yet):Is there anything placement-wise that is a big no-no? My goal is not to buildthe"perfect" SMU, but I try to avoid the bigger problems here.It's going to be a 4 layer board, since I don't care about a few bucks for ease of routing alone. But now, I would also be thankful for advice regarding grounding (ground plane, star grounding etc.). What about the signals that are referenced to the floating GND? Where on the board should I connect the "reference GND"/Amplifier output? Yeah, that's when I notice that I'm still a beginnerThanksSebastian

author: SebastianH
author_rank: Regular Contributor
timestamp: August 05, 2023, 09:45:13 am
content: I'll try to make my question more specific, here is the voltage ranging/measurement circuit, the buffer/ADC section and the PCB section in question. The difference amplifier has a GNDF reference, so do the ADC buffers and the ADC. I could just connect all GNDF's to the ground plane, risking some noise to be picked up by the ADC from the (low current) analog circuits. I could also connect the GNDF's via a trace in an attempt to use star grounding (example in the PCB picture; my guess would be a 5 to 10 times higher DC resistance than with a ground plane). Does any of the solutions make sense? Are both horribly bad? Would really appreciate any advise.

author: Kleinstein
author_rank: Super Contributor
timestamp: August 05, 2023, 11:40:34 am
content: For the GNDF a star ground may make more sense than a ground plane. There should be not much higher frequency signal going via this ground.

author: djerickson
author_rank: Regular Contributor
timestamp: August 17, 2023, 12:25:29 pm
content: Hi SebastianH,I like what you've done. I see that you reduced the VM gain at the diff amp to allow 10% headroom, and the ADC is now +/- 5V, allowing the use of convenient 10K resistors. Same with the DAC buffers. Good idea. Did you do something similar on IM?4 layers allows you to shrink the board and improve grounding. I get a small amount of SPI clock noise on the output. 4L should help that too. Makes the layout easier. Nice.Did you guard the current sense and + output? If you send me your files I'm happy to review. And borrow your other good ideas!Thanks,Dave Erickson

author: SebastianH
author_rank: Regular Contributor
timestamp: August 18, 2023, 01:23:53 am
content: Hi Dave,great to hear from you! I took a lot of inspiration from Jaromir's schematics and if I remember correctly he had a lot of 10k (single) resistors in his schematic, so I don't want to take credit for this approach necessarily. I probably have changed a few things a bit and found very convenient to use Vishay's 10k ACAS precision resistor networks wherever possible. The IM circuit is full of 10k's as well, even though I'm looking for a gain of 2 => 20k at one point, but that is what networks are for, I guess. I attached a PDF of the current version of my schematics.Right now I still try to figure out how to do the grounding. I don't fully understand how I would implement a star ground approach (Kleinstein hinted at, probably rightly so) properly in a two-converter design. This is also where AD' application notes state that for multi-converter designs star ground is not possible and in astrictsense it simply isn't. They also admit that a solid ground plane may not always a good idea, but fail to point out concrete solutions. A few examples of well working and poorly performing examples with explanations would go a long way. So if you like to share some advice on how I could proceed - I'd certainly appreciate itHaven't thought about any guard rings etc. in great detail, although I briefly discussed it with Jaromir. Besides the grounding this is the other part that I still have questions about in this more complex circuit. As a power systems EE, these topics are a bit outside my area of expertise/experience, unfortunately- Sebastian

author: SebastianH
author_rank: Regular Contributor
timestamp: August 27, 2023, 07:08:25 pm
content: Regarding the guard rings. I drew some guard rings in the schematic, (symbol G shows the node the guard ring is connected to). This probably is very similar to Jaromir's implementation (I think). The problem is that the potential of the nodes of the right side of U302 and U303 will change when switchting into different ranges. With this solution the guard ring potential matches the guarded trace except for the range switch being activated. For the activated range there is a voltage drop across the sense resistor - obviously. Guarding both ends of the resistor with the same guard ring seems weird to me. Maybe it's better to only guard all the sense resistors in the same way as R9 (and C301) and not guard the switched nodes at all?`Edit: I don't have diptrace, so I'm not sure how you did it (@djerickson). Do you have the gerber files of your project posted somewhere?Edit 2: A slot between the pins of the switch seem to be more suitable. This might not be an option with many prototyping PCB manufacturers though, since the slot width would have to be 0.8mm (or so) with virtually no space between the pad and the edge of the PCB.BRSebastian

author: Moriambar
author_rank: Unknown
timestamp: August 29, 2023, 07:33:43 am
content: This is awesome, I want one!

author: RikV
author_rank: Regular Contributor
timestamp: September 02, 2023, 08:42:35 am
content: Build one (or two)!!

author: RikV
author_rank: Regular Contributor
timestamp: November 28, 2023, 12:48:09 pm
content: It is so quiet over here. No evolution?

author: Martinn
author_rank: Frequent Contributor
timestamp: November 29, 2023, 03:48:50 pm
content: Definitely on my todo list.But while Dave loves SMT soldering, I prefer to order soldered PCBAs from JLC.Not sure if any PCB is already ported to KiCad - I don't have DipTrace either.

author: luudee
author_rank: Frequent Contributor
timestamp: November 29, 2023, 04:16:40 pm
content: I really would like one as well !!!Should we organize a Group Build ?Cheers,rudi

author: Roehrenonkel
author_rank: Frequent Contributor
timestamp: November 29, 2023, 04:41:06 pm
content: Hi All,since a second K237 came my way it's unlikely that i finish this project.Even if i have all the parts (SMD and THT) except the PCB.If someone needs them.........Best regards

author: Hawaka
author_rank: Regular Contributor
timestamp: November 29, 2023, 06:17:03 pm
content: Quote from: Roehrenonkel on November 29, 2023, 04:41:06 pmPM sent regarding the partsThat project is also on my todo. If I ever order PCB's I'll post it here to see if there is interest for some.Only thing I wish is that it would go to 450V… Guess I know what is my next project

author: saliherensagirli
author_rank: Newbie
timestamp: December 04, 2023, 06:39:22 am
content: Hello, I am trying to build an amplifier for a project and stumbled upon this project. While trying to understand the circuit I am baffled at U14.2 opamp and its complementary passive components located in Mainboard schematics (I am guessing it is some sort of a voltage buffer). I would appreciate if someone could help me understand how they affect the rest of the circuit and how the passive components values calculated.Sincerely,Salih Eren Sagirli

author: RikV
author_rank: Regular Contributor
timestamp: December 07, 2023, 07:30:42 pm
content: Hawaka,Since that K237 is the only thing keeping you from building this SMU, I am willing to help you out!Ship that K237 my way an set yourself free! Of course, you pay for the shipment.

author: RikV
author_rank: Regular Contributor
timestamp: December 11, 2023, 04:39:21 pm
content: Dave has an earlier project where he details the functioning of these 3 amplifiers (13.2, 13.3, 14.2). They are part of the feedback loop of the amplifier. 13.2/13.3 correct the drive voltage for the positive / negative clamp of the amp, 14.2 is the "error" amplifier. It is easier to understand the circuit if you omit 13.2 and 13.3.Herehttp://www.djerickson.com/ps-load/index.htmlDave explains the basic operation of the circuit.

author: SebastianH
author_rank: Regular Contributor
timestamp: December 15, 2023, 04:08:27 pm
content: Quote from: RikV on November 28, 2023, 12:48:09 pmIn the mean time I completed the PCB design for the amplifier and the main/controller board. It won't be too long before I could order the PCBs for a first prototype. But for the initial tests I'd like to have two current limited +-200V power supplies, but without paying R&S/Keysight money of course. So shall I build that supply first?Then a DC load would be necessary to properly test the power supply and my HP 6060B doesn't go above 60V. So shall I complete my 150V DC load project first, then the power supply and only after that start working on the SMU?

author: ducreux92
author_rank: Contributor
timestamp: January 02, 2024, 02:19:29 pm
content: Hi,I have a big problem of regulation :>In range 100mA, when i set 0.8 V for example in FV mode,i read (in adc) 0.79845 V without charge and 0.79024 with a charge : delta > 1 mV ....I insist on the fact that I am talking here about the voltage coming from the converter and not that at the load terminal.The voltage iscorrect and constantwhen the current in charge is superior to about 3 mA until 100mA !I ithink it isn't normal.

author: Kleinstein
author_rank: Super Contributor
timestamp: January 02, 2024, 05:29:26 pm
content: Depending on how the voltage is measured, the extra loading at internal points of the circuit from the meter may effect the result. One should do the measurement at the normal points for the load.There are mainly combinations for current range setting that can effect the stability of the voltage loop. Chances are that not all were fully tested. There is a chance to get some instability that may not be detected so far. So it may be worth checking for some superimposed AC / oscillation, either with or without the load.

author: ducreux92
author_rank: Contributor
timestamp: January 02, 2024, 06:45:18 pm
content: Thank for your reply.I specify : when I talk about measuring the voltage, it is the result of the ADC converter not a multimeter.I experimented with lowering the voltage force to +/-31 V instead of +/-120V, I noticed that the voltage regulation of 0.8v is perfect whatever the load.In addition, the output voltage varies when I change the intensity range, for a constant load. And it's very annoying: it's not possible to have a constant zero voltage at the output for all the ranges.

author: Kleinstein
author_rank: Super Contributor
timestamp: January 02, 2024, 06:57:21 pm
content: Changing the feedback divider for a 31 V range instead of a 120 V range does effect the regulation loop. So one may also have to do a few more changes.Changing the current range should not effect the output voltage. If it does make a change there is somehing wrong, like oscillation or maybe a wireing fault (e.g. set to external sense but not connecting the sense wires).

author: ducreux92
author_rank: Contributor
timestamp: January 03, 2024, 04:27:28 pm
content: Always look output with oscilloscope :I have magnificent oscillations at a frequency of 2.68 Mhz and an amplitude (AC) of 300 mv without charge.In charge (> 2 mA) no oscillation.I do not use dc to dc converter for +/-15V.On the other hand, I use a power supply of +/- 84V instead +/- 170V : What value to choose for the loop parameters ?Actually : R35 = 200k, R27 = 2k, i try to reduced R35 without success ...

author: ducreux92
author_rank: Contributor
timestamp: January 29, 2024, 04:10:52 pm
content: By increasing (C53 + C54) to 470 pF instead of 270pF/2 this solves the problem.

author: ducreux92
author_rank: Contributor
timestamp: February 01, 2024, 03:33:14 pm
content: Hi,Make a simulation with real values like C57 = 150 pF, R73 = 1k, R10 = 200, C55 = 22pF andwith 100mA range : RLoad = =1000000, RIsense = 50 // 100pF.The results is an oscillation at about 3.5 Mhz ...

author: Kleinstein
author_rank: Super Contributor
timestamp: February 01, 2024, 04:40:28 pm
content: Avoiding oscillation for all ranges and all reasonable loads is one of the difficulties. A simulation can help here, as it can be faster and easier with extreme cases (e.g. very low ESR capacitor). However the models may not be that perfect and the real circuit may behave a little different (in both ways). It the similation shows oscillation, chances are the real circuit is not very stable.For the simulated circuit the capacitance at the output looks rather small - one may need more. Another point is that one few of the OP-amps will actually be LT1057 as in the simulation, though it should not make a large difference, as most of the OP-amps should not be used close to there full GBW.

author: ducreux92
author_rank: Contributor
timestamp: February 01, 2024, 06:36:49 pm
content: I agree with you, but my smu still oscillates in reality and in simulation I have the same behavior.I emphasize the importance of the C57/R73 network in the oscillation phenomenon.In simulation decrease R10 200 ohms to 25 ohms stop oscillation (keithley uses 27 ohms).I post an open loop graph (range 100 mA, K3 open, in blue = entry, yellow = output).

author: wenyue
author_rank: Newbie
timestamp: March 20, 2024, 03:35:25 pm
content: I modified the compensator on U1 and did this SMU loop gain simulation. I got PM around 118 degrees but I got overshoot 200% when I tested by pulse waveform.Does anyon know what the loop gain simulation problem?

author: Kleinstein
author_rank: Super Contributor
timestamp: March 20, 2024, 04:44:11 pm
content: The loop gain from the AC simulation is small signal. The transient test is a large signal test and includes the cross over between the positve and negative side output stage. This adds extra delay inside the loop and this reduces the stability. The small signal stability is a first step and needed, but not sufficient to guarantee also stability / little overshoot in the large signal case.In addition the stability may be different for the positive and negative side. So one should do the small signal tests with different DC current on top, to test at least both sides.

author: mawyatt
author_rank: Super Contributor
timestamp: March 20, 2024, 05:11:02 pm
content: A simple test we've often utilized in both time domain simulations and actual physical hardware is based upon a Dirac Doublet Impulse which has zero average value, thus doesn't upset the DC bias conditions when "injected" into a system.In simulations the doublet is created with a simple current PWL source with start at 0, then Ipeak, then -Ipeak, then 0. Select the amplitude and time spacing to ones system speed needs. This can be "injected" anywhere in the system to evaluate stability by means of evaluating the time domain impulse response.For hardware use we originally developed this back in ~1970s and called it the "Pinger", where the doublet was created by a 555 timer, some high speed logic for a variable rate and impulse width spacing, then differentiated with a small series cap to a pot for level settings with a series R to the Pinger tip. We used the old aluminum Probe "cans" from Heathkit (recall) to house the "Pinger". Later we made some CMOS versions, worked really well and quickly allowed system stability tests & verification for different conditions.Anyway, someday we may resurrect the "Pinger" if it hasn't already been done by others.Best,

author: wenyue
author_rank: Newbie
timestamp: March 23, 2024, 08:07:42 am
content: Thanks for the information. I got the point.But I tried to modify the step input. I still got overshoot around 16%. ><

author: bateau020
author_rank: Frequent Contributor
timestamp: April 21, 2024, 10:42:18 am
content: The overshoot is partially due to uncompensated use of the opamps. The input capacitance of especially the OPA140 is not to be neglected. Also, unfortunately, the djerickson's ltspice circuit is partially based on LT1057, that behaves a lot better than the OPA140. See attached images. I used the pspice models from TI for the OPA's.Try this with 100k resistors (like the around the current measurement circuit of the DIY-SMU), and you will see it even better.EDIT: added 100k example and compensation examples.The compensation is to be done by adding caps in the feedback loop from out to -in, and from GND to +in. The value of the caps depend of course on the opamp and the resistors used. See 2 last images for that.

author: SebastianH
author_rank: Regular Contributor
timestamp: April 27, 2024, 09:37:26 pm
content: Most OPA140/145 in his design either are configured as buffers or do have a capacitor from out to in-. All exceptions that I have found:1. the integrator/compensator has an R in series with the capacitor2. the reference inverter/buffer (there the OPA140/145 might not be the best choice anyway)3. current sensing (schematics R3, U21.1)4. voltage sensing (schematics R3, U19.1)Imho only 3. and 4. are of concern:3. In this thread we discussed a different approach using a three-opamp instrumentation amplifier, eliminating the 100k issue. It has been a while - I don't know whether I did a simulation to analyze stability "in circuit". Certainly did a simulation for the instrument amplifier itself (result 2x 10pF .. 22pF for the difference amplifier).4. Might be worth adding footprints for two capacitors (likely something like 2x 10pF .. 22pF as well).

author: djerickson
author_rank: Regular Contributor
timestamp: April 30, 2024, 12:40:10 pm
content: Thanks for looking at the opamp responses. That's great! I used the LT1057 (5MHz) for my simulations as a convenient Bifet part with similar specs to the OPA140 (11MHz). I did not realize that an uncompensated OPA140 had lower stability and thus higher overshoot than the LT1057.Then during the 2022 parts shortages, I changed to the slower OPA145 (5.5MHz) for better availability and cost. It happened to be a better speed and stability match to the LT1057s in simulation. I measured system step response with various loads did not see a noticeable difference.All those op-amp small-signal responses (DAC buffers, Im, Vm, and crossover) feed the relatively slow integrator, and then the even slower transistor amplifier response. They should have minimal effect on the system step response / stability.For me, the moral of the story is don't use faster amps than necessary. I recommend OPA145s vs OPA140s.What conditions (load capacitance) do you see oscillations? and what level and frequency? I'm happy to test my units.Thanks,Dave Erickson

author: SuperMario
author_rank: Contributor
timestamp: December 20, 2024, 04:06:06 am
content: Hi, does anybody know if Teensy4.0 can be used instead of Teensy3.2? I will try to build SMU and looking for parts.Thanks,Mario

author: RikV
author_rank: Regular Contributor
timestamp: January 03, 2025, 02:12:02 pm
content: In demand of SuperMario I post my version of Dave's software. Some things that were not working on my build (for whatever reason) are fixed, screen layout was changed.Graphics are not implemented yet.

author: Roehrenonkel
author_rank: Frequent Contributor
timestamp: January 03, 2025, 04:17:21 pm
content: Hi RikV,have you taken care of the "range-change-bug" ?Best regards

author: SuperMario
author_rank: Contributor
timestamp: January 04, 2025, 02:56:49 pm
content: Did anyone successfully order Front and back panel from PCBWay?Just wondering about Gerber file export and specifying aluminum as material.Thanks,Mario

author: SuperMario
author_rank: Contributor
timestamp: January 11, 2025, 12:51:55 am
content: Hi,I am bringing up my SMU board Rev2 and having following issue. The output is close to set value but measurement is off. Below is table of measurements on the test points including ADC input.Mode is FVMI and Range is 15V. The code is form Dave's page and I did use Tenseey4.0 with voltage translator between 5V and 3.3V on processor. Similar issue with current measurement.SET TPVM ADCin DISPLAY OUTPUT---------------------------------------------------------+10V 3.250V 1.030V 13.399V 9.944V0V 0.00V 2.502V 8.4299V -0.012V-10V -3.259V 3.975V 3.460V -9.970VAny help will be greatly appreciated.Thanks

author: SuperMario
author_rank: Contributor
timestamp: January 11, 2025, 01:05:02 am
content: I think I fixed my issue by slowing down Teensey4.0 from 600MHz to 150 MHz.Cheers

author: RikV
author_rank: Regular Contributor
timestamp: January 12, 2025, 08:01:10 pm
content: Have you calibrated all ranges? Both set value AND measured value?

author: SuperMario
author_rank: Contributor
timestamp: January 13, 2025, 01:47:13 am
content: RikV,I did not run calibration. Still debugging the boards and waiting for one more part. I did try your code but it did not work correctly, the display was way to slow to responds. This was before I set Teensey clock to 24mHz. I will try it again when I get eeprom.Thanks for posting files.Mario

author: SuN
author_rank: Newbie
timestamp: January 14, 2025, 04:09:49 am
content: Hi,Thanks for sharing!Now i looking for a high voltage version like 237, I would like base on Dave's DIY SMU and add 237 HV output module.Can you please give some idea to modify the bias ciricuit from Dave's DIY SMU to High voltage version?SY

author: bateau020
author_rank: Frequent Contributor
timestamp: January 14, 2025, 06:28:09 am
content: plenty ideas here:https://poormanssmu.wordpress.com/research/. Also, there are a couple of teardowns of the high voltage versions (237 and 2410/2470) around on this forum and elsewhere.

author: SuperMario
author_rank: Contributor
timestamp: January 15, 2025, 02:35:48 am
content: Does anybody know where to get square button covers for this SMU if you are using panel designed by Dave?Thanks.

author: RikV
author_rank: Regular Contributor
timestamp: January 22, 2025, 10:11:40 pm
content: Yes, I do! Mouser has them!Switch, 6mm Tactile E-Switch TL1105SPF160Q 612-TL1105SPRect. Caps, Grey E-Switch 1CDGR 612-1C-GRMaybe look for anothe keycap (there's awhole series) because the rectangular holes are hard to get ok.

author: SuperMario
author_rank: Contributor
timestamp: January 24, 2025, 08:01:02 pm
content: RikV,Thanks,Mario

author: SuperMario
author_rank: Contributor
timestamp: January 24, 2025, 08:12:26 pm
content: Firmware bug?I successfully performed force/measure Voltage calibration but having issue with current cal. The problem is that "SOUR:CURR <value>" SCPI command is not working and it seems it is the only one.I can set current using front panel and it seems to be OK except it needs cal.Is there any firmware bug that I should know about? I am using code from Dave's page.Thanks,Mario

author: RikV
author_rank: Regular Contributor
timestamp: October 01, 2025, 09:36:20 pm
content: A pic of my creation, all credits to Dave

author: HumbleDeer
author_rank: Contributor
timestamp: October 01, 2025, 09:41:31 pm
content: Looks good! Nice work.

author: Martinn
author_rank: Frequent Contributor
timestamp: October 05, 2025, 09:17:04 am
content: Quote from: RikV on October 01, 2025, 09:36:20 pmThanks for sharing!Which PCB set did you use? Is the data you posted earlier (Gerbers 20210702) still up to date?Thanks! Martin

author: RikV
author_rank: Regular Contributor
timestamp: October 05, 2025, 10:51:12 am
content: I used the "old", early PCBs, but I updated (hacked) them with Dave's updates. So there is some components glued to the boards, but it works fine!The software I published ist the one running today on my device. It does not include the "do no harm" on switching up ranges.Still have to look for that some day before desaster strikes...Good luck if you build one, strongly advised!Once again: many thanks to Dave for sharing this project.

author: Martinn
author_rank: Frequent Contributor
timestamp: October 05, 2025, 11:17:34 am
content: When I order a new set of PCBs, which Gerber files should I use? The only ones I could find are the ones you attached herehttps://www.eevblog.com/forum/projects/diy-smu-project/msg3599676/#msg3599676I also installed the DipTrace viewer, which is free and lets you examine the original design files. Unfortunately the main board has 680 pins, which exceeds the limits of the "lite" DipTrace version (500 pins, €135).

author: RikV
author_rank: Regular Contributor
timestamp: October 05, 2025, 12:18:53 pm
content: I have to look closer into that PCB matter, its quite some time ago. I'l give a response soon.Afor the viewer: have you considered KiCad? it is very "progessional" and completely free.

author: Martinn
author_rank: Frequent Contributor
timestamp: October 05, 2025, 12:43:13 pm
content: I use KiCad almost daily, but AFAIK it can't import DipTrace files. DipTrace can export Eagle, which in turn can be imported into KiCad, but that works so-so at best.My plan was actually to order the PCBs assembled from JLCPCB, but back then (2023) Dave's favourite chips were not available for assembly. This might have changed and I'd give that a go.Thanks for looking into the PCBs!

author: RikV
author_rank: Regular Contributor
timestamp: October 05, 2025, 02:52:02 pm
content: I believe version 9 of KiCad can do the job???Correction: -- I am so wrong!!! ---

author: RikV
author_rank: Regular Contributor
timestamp: October 05, 2025, 08:13:33 pm
content: Martin,The files you refer to are not the most recent! They are the First release from Dave. You can find the latest files (and Gerbers) at:https://www.djerickson.com/diy_smu/smu-bringup3.htmlIf you were interested, I made some modifications to the analog board: Used DAC#4 for fine tuning the offsets on all ranges (not implemented yet), Added a chip select signal to the EEPROM (needs a different type galavanic isolator), added footprints to replace some resistor pairs by SOT23 packages (greater temp stability).Included are the schematics and gerbers. Do as you like with them.

author: Martinn
author_rank: Frequent Contributor
timestamp: October 06, 2025, 05:27:29 pm
content: Thanks a lot! Confusing though, many versions, some with gerber - some not...I loaded your mainboard version in the viewer:showing some airlines. One is for the top left IGND plane - it looks as if the plane was cut and has no connection - am I missing something here?Regarding the Nextion: The NX4832T035 as in Dave's BOM is marked NRND - Nextion recommends upgrading to a newer model. Did anyone try to change the display? Maybe larger or capacitive touch? Would this simply work or need more coding?Personally I work with STM32/TouchGFX both professionally and for personal projects, so neither Nextion nor Teensy are what I am confident with.

author: Martinn
author_rank: Frequent Contributor
timestamp: October 06, 2025, 05:29:56 pm
content: Quote from: SuN on January 14, 2025, 04:09:49 amDid anyone look into a HV version? The nice part would be that the schematic of the 237 HV module exists and Marcoreps made a video on how to build it (looks doable). I did not look into how to exchange the driver though. Also might get even more difficult with kV voltages on top.

author: RikV
author_rank: Regular Contributor
timestamp: October 08, 2025, 04:50:49 pm
content: Martinn, thanks for your remark. By adding the last trace, the ground plane got divided in 2 parts. Corrected gerbers and PCB in attachments. But as you have noticed, there is something strange. When you add a connection through a via on a plane, both defined as belonging to the same network (IGND in this case) it gets physically connected to the plane/network but the ratsnest line does not disappear. My fault or a bug?If you run a DRC on the PCB several warnings will show up: I added 2 SOT23 pfootprints to allow R51-52 and R53-55 to be replaced as discussed by Dave.Enjoy the build and if any other anomaly shows up, let me know.Concerning the nextion: if you use another model, make sure it is backwards software compatible as there is some "intelligence" transferred from the CPU to the display. STM32 <ould also be my preferred choice since Teensy seems more expensive and outdated. However, that means a redesigng of the display board and most of the software.