Show by Label

Saturday, March 20, 2021

Building a Curve Tracer - Version 3

This post will describe the hopefully final version of the Curve Tracer.

The picture above shows that we're working hard on the improvements of this final version. On the left with the red PCB is the new AC power supply with the new voltage range switching implemented. The green PCB is the new MOSFET based triangle supply with some hefty power resistors to test the maximum currents and the thermals. On the prototype board is the triangle waveform generator I needed to built because my Function Generator decided to quit on me.

We now have new PCB's on their way that implement the many changes we made to these two boards.

Version 3 of the Curve Tracer Project

Based on the experiences we collected with Version 2, we made some significant changes to make it more reliable, easier to build with commonly available parts, and with greatly increased usability and safety.

Initially, this post will be an unsorted mix of topics that will eventually turn in to a coherent description of the Version 3 Curve Tracer.


 Fixing the transformer range switching

The "automatic" range switching that was implemented in my first prototype worked for me, but we've found enough evidence that we could not continue with this method. The original idea was to switch voltage ranges at the DC level, to avoid the in-rush currents. Unfortunately, switching at DC levels, especially using a relays, causes sparks to fly and introduces lethal glitches.. 

We needed another approach to also accommodate a much higher voltage coming from a second transformer.

The solution that I decided to use for our Version 3 CT was to create fixed voltage and current ranges, and not have the unit automatically switch transformer windings while operating the Collector voltage adjustment. This could also inadvertently create higher voltages then intended. With 200V as the goal the adjustment would be too course, and the chances of applying a voltage that is too high is too great. 

The main transformer we decided to use was a center tapped 56VAC at 1A. I wanted at least 2A, so I modified my transformer by de-soldering the middle tap and splitting the two windings. This allowed me to put the two secondary windings in parallel to double the current to 2A with 28V, and when putting the windings back in serial, get the 56V at 1A again. I decided to use a second transformer with 120V at 100mA to bring the output to the 200V level I wanted as the goal.

The best method for the serial and parallel switching and adding the 120V was to switch everything at the AC side, and use one large reservoir capacitor to filter the voltage changes. 

We found small nice AC switches that replaced the relays and because these devices have built-in zero crossing detection, they switch when there is no current drawn. We also found an interesting method to add the 120V transformer into the mix by using another AC switch. 


D3, D4, R7, R8, C11 and C12 comprises the circuit to trick the AC-switches into having the required holding current. C5 is the main 2200uF/250V reservoir capacitor.

Mark designed a PCB for this functionality, and we started to test this circuit.

First of all, I found that the toggle circuit to switch the parallel to serial AC-switches didn't work as intended, so I needed to change the switching mechanism.

Unfortunately, both Mark and I experienced failures of the AC switches. This is most likely due to the fact that we switch the large transformer secondary windings from parallel to serial and we probably have to sequence that switching. Due to the change in the way I decided to switch the voltage ranges with a special DPDT on-on-on toggle switch to create a 3-way switch, I had to de-solder one of the AC switches to lift a pin from the PCB. One of the pins broke off during that process, and it turned out that these pins are very flimsy and break off far to easy when they are bent. Although we were initially very happy with this "modern" way of switching solution, it was also a lot more expensive. These 4 AC switches cost more than 20 Euro's. Both relays cost 12 Euro's. The extra additional components to trick the switches into having a holding current also cost some extra components. And then we needed to design and add the sequencing circuit. After these failures however, I decided to go the old fashioned but proven and reliable way and turn back to relays again.


The special on-on-on toggle switch not only switches the relays that switch the transformer windings, but the switch is also used to create 0-40, 0-80 and 0-160V ranges for the Collector Voltage adjustment potentiometer so it always has a full 0-100% scale. The P-MOSFET is needed because the 0-80V range switches both a relays and the voltage range resistor, so they need to be isolated from each other.

Note that the range switching has changed some more so although the principle is correct, we're going to do that a little different.

We also found that the bleeding resistors across the output, were getting so hot that in Mark's case, they de-soldered. Mine were getting blue. I added a resistor to reduce the heat, but we were not happy with this situation. The resistors are there to make sure that the voltage on the capacitor gets drained to avoid safety issues with voltages higher than say 50V, because they are a human danger. We really didn't need them in the circuit when the CT is in operation, so Mark came up with a simple solution by changing the SPST relays that switched the 200V range to a SPDT version. The extra relays switch is now used to put the bleeding resistors in circuit when the relays is powerless.

Adding Voltage and Current ranges

While we were going through the redesign of the Collector supply controller, I was experimenting with a 120V transformer to see if we could reliably go up the the 200V that I set as the goal for Version 3. Adding that transformer into the mix would cause more switching issues, and I was concerned about the safety aspects with these high voltages. Richard who was continuing to profile Version 2 of the CT was also experiencing problems with the voltage and current settings of his version. He and I continued to blow small signal transistors that we used as the DUT, mostly due to thermal issues when the voltage or current became too high for the poor DUT. This is very easy to do when you try different step settings and the current limit is set too high. With the current configuration, the current limit can be set from zero to 2A and the voltage from zero to 80V both using normal potentiometers. Extending the voltage to 200 V would make it even more difficult to adjust. These two adjustments make it way too easy to select a higher voltage or higher current than the DUT can handle when you are searching for the best step generator setting.

The solution was to create a set of three voltage ranges that can be selected before you start a measurement. This is analog to the way you use the Tek CT's, and that is what people know how to do.

On the front panel, a user can now select the following three ranges: 0-40V at 0-2A, 0-80V at 0-1A and 0-200V at 0-100mA. 

This will be a better solution but the granularity for the current settings especially in the 40 and 80V ranges with 2 or 1 Amp is still too course. To add better control for the maximum current setting,  I also decided to add an attenuation for the current ranges that would give the user the ability to select x1, x.5, x.2, x.1, x.05 and x.02 for each of the tree current ranges, while still be able to further adjust any of these ranges from 0-100% with the Current Limiter adjustment potentiometer.


Fixing the Collector Supply

While we were having issues with the Collector Supply stability, I decided to call in the help from my friend Bud, an ex chip designer from LT. He and I worked together remotely as mouse-pal's on a few other projects, most notably on the UPS power supplies for Raspberry Pies and the differential probe, both described in different Blogs. 

Bud didn't have the hardware at his disposal, but used LTspice extensively. In simulation, it turned out that due to the different Opamps that Mark selected, in combination with the series transistor types, we badly needed different compensation configurations. Over the course of a few weeks, investigating, discussing and trying things out, we eventually arrived at a different design that uses MOSFET's as the series regulator. At this moment, there is almost no stock for high voltage Darlington transistors, due to the current part shortages in the car industry where these transistors are used in ignition systems. However, there is an abundance of suitable N-MOSFET types available at reasonably low prices so from a DIY re-build perspective this is much better.

We put together the schematic below, that has several options incorporated we wanted to try and test. In the mean-time we continued development, and so there are a number of things that will change, but at least we can start to test. Mark designed a PCB for the circuit below that he and I are using as test beds.


Quite novel is the circuit Bud designed to drive the parallel MOSFET's. In most circuits that I know, there is a seperate Opamp to drive the second (or more) MOSFET and it must make sure that the load is in effect really shared. That kind of a circuit is a little more difficult to realize in our setup. Good load sharing is not so simple to do in reality, because with the MOSFET's in the linear mode, a minute change in the Gate drive will cause a major change in the conductivity and hence the temperature. Bud came up with a "current duplicator" circuit where he uses an Opamp that measures the current through the main MOSFET, and drives the "slave" MOSFET to have the same current. This works really well. I measured both the voltages across the 0R5 Source resistors and found them only a few millivolt apart. I also measured the resistance of the two NTC's mounted on top of the MOSFET's and they also tracked really well. 

I could run the supply at maximum stress for several minutes and the temperature of the MOSFET's stayed below 50 degrees C at all times. I had to use a pretty big fan to cool my 10W precision load resistors (I used several in series) and they were getting so hot and smelly that my wife in another room started asking alarming questions. The heat sinks for the MOSFET's where sheltered from that fan airflow, of course.

Initially, we were unsure how hot the MOSFET's would get under the maximum thermal stress which is actually in the 0-80V @ 1A range. We were ready to add a fan, and already had a fan driver circuit ready to control the speed of the fan for the next revision. We will still add a thermal protection cut-off, just in case, but more testing when everything is located inside the enclosure is needed. The jury is still out, but I have good hopes we will not need a fan.

Because the Opamps that are used for the voltage and the current control have the ability to hug the rails and saturate, Bud designed two options we wanted to try to limit this effect. When the Opamp is driven hard into the rail, it takes a while to get it out of saturation and that causes glitches and instability. We experimented with Zener diodes and transistors as clamps but because of the high capacitance (a whopping 185pF!)  for the 6V2 Zener diodes we tried, we're now going to use PLVA diodes in the next revision.

Mark designed a PCB for this test circuit, and we're currently testing it out at the moment. The leads sticking out from the back are NTC's. They have a lug that I used to mount the MOSFET's to the heat sink, so they have the best thermal connection possible. This will allow me to measure the temperatures of both the MOSFET's. On the left is the potmeter for the voltage adjustment, and on the right the current limiter.


 The board works, but we're experiencing some pesky oscillations that we needed to track down and fix.

Besides that challenge, we were anxious to see the results of the new range switching and see if we have fixed the lethal glitches in the changeover switching. Below is the switch going from the 0-40V range to the 0-80V range. I drove the 0-40V range just into clipping so you can see the effects better. Even at a current of 1A, you can see that there is a very nice hand-over from the parallel windings to the serial windings. You can actually see the charging of the main capacitor until the clipping is gone. Also gone are the lethal glitches!


Fixing the oscillations for the Collector Supply

We were plagued with oscillations of the supply and spent a lot of time analyzing what went wrong where. First of all, the compensation circuits around the three Opamps were redesigned. Then the main MOSFET got a treatment as well. After that, it was already much better, but we were far from satisfied or happy. Bud continued to work on the problem, and I was faithfully modifying my test setup to keep pace with whatever Bud came up with. We made small improvements, but it took a few real Eureka moments to finally find the root cause of our problems. 
First of all, we started out with the wrong MOSFET's. The one we selected (looking for the wrong parameters) was a 72N60. It could deliver 66A at 600V, but turned out to have a massive Gate capacitance (Ciss) of 6.330pF. That was too much to handle, so we decided to use a different set of N-FET's. Unfortunately, we had to order them as samples which took a week. These are the ones we tried next:
  • 18N60 60V 99A, Ciss 791pF
  • 20N95 950V, 17.5A, Ciss 1.500pF
  • 23N80 800V, 16A, Ciss 1.000pF
  • 6N90 900V, 15A, Ciss 1.027pF

Using any one of these was already a lot better. We were now almost out of the woods, but still had some oscillation at the extreme settings, and the Current Limiter did not work to our satisfaction. The current limiter was fashioned after the circuits that are used for lab bench power supplies. In those cases, the supply flips from a Constant Voltage (CV) mode to a Constant Current (CC) mode when the preset maximum current was tripped.  But this is for a DC supply. We are trying to do the same thing, but then for a triangle waveform, meaning that the supply continuously switches from CV to CC depending on the triangle shape. in our case, CV is more like it's under Voltage Control. In essence, with every cycle, the voltage regulator is constantly battling with the current regulator. There is no real hand-off. This was a headache until Bud had one of his Eureka moments. We don't know if he was in a bathtub, but the result was excellent. He decided to not let the current regulator go through the bias pole, where also the voltage controller is connecting to the Gates, but made me connect the current controller output diode directly to the Gate. No more fighting and that solved the problems we were having. 

Before with a light load: (the blue trace is the output of the CL Opamp)

And after (with a slightly larger load):

This supply poses a number of pretty tough challenges for us. It has to function without linear distortion or glitches at the changeover points from zero volt all the way up to 200V, with no load which was tough and then all the way to the maximum load at every range, and then also with a relatively high repetition rate (challenging the Slew Rate). These are all individual tough challenges to overcome. Above you can see that I tested with about 630 Hz, but we could go all the way to 3.5KHz, and still have no distortion we could see. The normal speed will be somewhere between 200-400Hz (due to DSO repetition rate tuning). Right now, the supply is very clean and functions very well.

We have designed new circuits with all the revisions and new boards are now in manufacturing so we can test some more features on the Collector supply and the AC supply that we added in the process. We also have new boards for the auxiliary supplies coming.

[Update 25 May]

The newer turns for the AC supply and the MOSFET supply boards arrived, have been populated and we started to test them.

The fan in the foreground is there to cool the load resistors.

                                                                     The AC supply now uses two relays to switch the transformers


The MOSFET Supply with four 10 Ohm/10W resistors to create a 20 Ohm load to test the 40V 2A range.

After building up the boards and testing them, we again found that the MOSFET supply could go into oscillation. Bud came to the rescue again with some more LTspice work, and gradually he addressed the issues one by one, until we nailed it. I then tried all four of the MOSFET alternatives (see above) we selected, and I although they all worked, I picked the one that had the least performance in terms of tendency to oscillate, and continued testing, tweaking and modifying the supply until it was stable under all conditions.


Voltage ranges and current settings

The updated circuit for the voltage range selection now works really well, and so do the six current ranges. Initially, we wanted to use the unloaded maximum voltages for the three ranges as the "specification", but I changed my mind. The reason is that when you apply a load, the DC supply voltage sags a bit, and this causes the voltage regulation to loose control. 


The yellow trace is the output of the triangle supply under load. You can see that the bottom of the trace, which is actually at the highest voltage (we're going negative remember) clips because of the sagging of the main input voltage. This causes the voltage regulator to loose control. The blue trace is taken from the output of the voltage regulator. When it looses control, the output tightly hugs the positive rail. There is no harm done, the supply is still stable, but it goes into a semi equivalent type of voltage/current limiting. I decided to not let the voltage control get out of regulation this way.

This means that we will now use the maximum regulated voltage at full load as the maximum output voltage specification, with a little margin. We also decided to use a beefier high voltage transformer to get a true 200V @ 100mA. This will result in the following voltage and current ranges: 

  • 0-35V @ 0-2A
  • 0-75V @ 0-1A
  • 0-200V @ 0-100mA.

We also found out during the thermal tests that we will not need a fan if we continue to use two MOSFET's. That extra fan controller circuit, together with the emergency thermal cut-out is no longer needed.

The added current range selection will allow you to set the maximum current in any of the voltage/current ranges, so you can more easily protect the DUT by selecting a maximum current. 

The current range selections are:

  • x1
  • x.5
  • x.2
  • x.1
  • x.05
  • x.02

This means as an example, that when you select the 70V/1A range, you can set the current selector to 0-1A, 0-500mA, 0-200mA, 0-100mA, 0-50mA and 0-20mA, and also use the current limiting adjustment to go from 0-100% within any of these ranges.

All of the identified problems are now fixed, but we still experienced some issues with the current limiter circuit. After some more modifications, it now works well with moderate to heavy loads, but not good enough with very light or no loads. This is a very challenging circuit, as it needs to be fully functional from zero to 200V and from no load to the maximum 2A, which turns out to be more difficult than we anticipated. Using LTspice, Bud found out that the final and in hindsight quite simple remedy is to use a much, much faster Opamp for the current limiter. The new Opamps we selected do not need the special feedback and clamping circuit anymore, they are stable all by themselves. That quality comes with a price, but they are worth it. Unfortunately, we need to order samples of these alternative types which will take some time before we can further test that solution.

High Voltage Warning Indicator

We wanted to warn the user when dangerous voltages are present on the DUT output connectors. We determined that this is at about 50V and higher. Originally, we used a more complicated circuit that was part of the original range switching of the transformer. Mark came up with a simplified method that just uses a single transistor to drive the LED on the front panel when the 50V threshold is exceeded. After trying that on the new AC supply, we could even make it more simple and avoid having to use a trimmer. This circuit now works very well.


[UPDATE June 11]

The faster Opamps arrived and after some testing, we found that even the lower priced versions already fixed the current limiter problem we were having. Bud even designed a discrete version to reduce the price, but this is no longer needed. Problem solved! There are still some challenges around the transitions from voltage regulation to current limiting and back, but that's due to this circuit. There is not a lot we can do to make it better.

I also used a higher VA transformer for the 200V range that Mark graciously supplied so we can now offer a true 100mA net output at the 200V range. Obtaining a net 100mA output required a few small changes to the way we implemented the current ranges. This is due to the fact that the current source we use to provide a constant load to the output, to add more stability, is added to the current budget the limiter acts upon. This in turn forced us to use a different approach to build the current source. The Miller mirror current source we were using was not stable enough over the complete voltage range, and also changed too much with temperature. Bud came up with a few other approaches and we selected a single transistor current load that is more accurate and stable. Due to all this, the current shunts required some value changes as well.

With a few more added tweaks to this circuit, I'm now happy with the results and we're ready to move on.

Yet Another Update:

Bud could not leave the challenges this circuit poses out of his mind, and started working on a novel and different solution that would accomplish a better regulation transition. This new circuit uses a trans-conductance amplifier for the voltage controller. This type of amplifier converts a voltage at the differential inputs into a current at the output. This is what we were doing (better: needing), kind of, but in a much more complicated way. The two regulators are now going to be fully discrete (Bud is a chip designer), and the LTspice results look very promising. Gone are the troublesome transitions from voltage regulation to current regulation and back. Mark will have to make yet another layout so we can thoroughly test this version of the circuit. It will take about 2 weeks before I have the boards here, so be please be patient.

Stay tuned for more!

Protecting the Step Generator

In the post about the Version 2 experiences, I already described the massacre that happened when there was a major catastrophe with the Collector supply. This event showed that the Step Gen was not protected from the high voltages that could make their way into the Base/Gate circuit and cause havoc in the Step Gen circuits

As I already mentioned in that post, Opamps have a really hard time dealing with voltages on the inputs that are greater than the supply voltages. In our case, they are +/- 15V, while the Collector supply can be as high as 180V.

If you realize that there is only a single N or P-junction of a few microns separating the Collector voltage to the Base on a DUT, its easy to see that this can go horribly wrong. If you blow the Collector-Base junction, you have a serious problem. When I examined the blown 2N3904 or 2N3906 transistors that I blew up, they all suffered from a blown C-B for the NPN or a blow E-B junction for the PNP. In all cases, that resulted in a short, putting the full Collector voltage back into the Step Gen output.

The protection we already added as a modification by using a 100K series resistor and clamping diodes to the rails will help to protect the voltage feed-back Opamp, but that still leaves the rest open for destruction.

I looked for days and studied other CT designs and looked for possible protection circuits for high voltage protection for Opamp inputs and did not find any protection methods for voltages over say 40V that could be used in our application.

Not knowing how to go further, I called in the help from Bud again, and after some brain-storming and long days, he eventually came-up with a clever circuit that uses MOSFET switches to disconnect the Step Gen output section from harms way when the voltages go beyond the supply rails.

Extending the Step Gen attenuation ranges

It had always been difficult if not impossible to measure high gain devices like Darlington transistors. The lowest setting of 1uA was still far too high, so we added 4 more by switching from a 12 to a 16 position rotery switch. The added settings will be for 500, 200, 100 and 50nA.

Dealing with the XY display noise level

Because I'm using a relatively inexpensive DSO, a Rigol DS2072A, most of the X-axis displays for small signal transistors are very noisy on my DSO because I have to use V/Div. settings that are in the mV area and they show a lot of noise. It's not so much the DSO itself that is noisy, but the combination of the DSO input circuitry and the pick-up of noise makes the traces very fuzzy.

Both Mark and Richard use professional scopes and they don't have this issue.  There are two solutions. We can add another Opamp with higher gain, but that will also amplify the noise from the source. The other solution is to use a higher value shunt. Both solutions will allow you to avoid the lower level Volts/Division settings of the DSO. 

I decided to use two different IC shunt resistors, because using a single 1 Ohm resistor does not make sense. (pun intended)

By adding a toggle switch to the front panel, the user can now select a 1 Ohm and 10 Ohm shunt resistor values, in effect multiplying the IC current by x1 and x10. This will allow you to use V/Div. settings that are a factor ten higher and therefore more free of noise and we will have a better sensitivity at lower currents as well.

Here is a measurement taken with the 1 Ohm shunt, and a 2mV/Div. setting on my Rigol.

Here is the same measurement, but now with the 10 Ohm shunt, allowing you to go to a 20mV/Div. setting.

Note that the small "opening" in the trace for the second step is caused by the period the DSO needs to process the acquisition of the collected data. This "hole" only shows when you make a screenshot. Look at the first post of building a CT for more information.

Dealing with thermal issues

When you're testing devices with higher currents, there are two effects you have to keep in mind. One is that the self-heating of the device while you are testing, can distort the I/V display because of an effect called looping. This is caused by the way the DUT is activated. With the single step level at the Base, the Collector is getting a raising voltage due to the triangle based supply. The higher the voltage becomes, the higher the thermal heat will be. This typically results in a gain change, so the curve will bend up a little. If the triangle voltage now goes down, the heat dissipation gets less and the gain changes again so the curve will bend down a little. This causes the typical elliptical looping of the traces. Below is an example of a very minor case.

The thermal heat of the DUT die can increase very rapidly and can get very hot, so much so, that you have to stop the test to let it cool off again. If you don't notice it in time, your DUT may have died of a heat stroke already. With high currents needed for power devices, you can't even run the test for more than a few seconds and the looping of the trace can become so big that it will be impossible to interpret.

There is a way to cheat however. When you select only one half of the waveform per step, as you can do with a triangle waveform, you can eliminate the looping effect. When you use a half sine-wave, as the Tek 576/7 do, that trick is not possible. Look at the first Blog of building the CT project to see a more elaborate description.

Professional Curve Tracers allow you to use a pulsed step mode, by which there is a pause after each complete step cycle. This gives the DUT some time to cool down before the next step cycle arrives.

I implemented a similar functionality for Version 3 by adding a few components to the Step Gen circuit. With a potentiometer adjustment, it adds several Milli seconds of delay between step cycles. The delay is synchronized with the end of the step cycle, and can be applied for every step selection from 1..7 steps.

Below are two screen shots that show this feature in operation on a prototype. The first picture shows the normal operation but shown in the time-base mode of the DSO.
The second picture shows the delayed step function. It starts with about 40mS delay between the step cycles. This can be extended to about 150-200 mS by using a potentiometer on the front panel. This is the practical maximum because the trace starts to "flicker" due to the pause between the X-axis acquisitions. The display can be adjusted somewhat by changing the time/div. setting of the DSO to make it as smooth as possible.

Small offset on the Y-axis

Richard has found that on his CT there is a slight offset of the X-Y picture. This is probably caused by part tolerances. He fixed it by shifting the output of the Opamp a little with a high value resistor to a rail. We're going to see if we can address that problem by using an Opamp that has a built-in offset adjustment. 


New offset circuit

Mark was not very impressed with the way I implemented the offset feature for FET's. I simply used the same circuit for both BJT's and FET's, but that's not ideal. The trouble is that with a normal step voltage for FET's, almost any offset will drive the output into the supply rail. You can circumvent the problem a bit by lowering the internal step voltage, or increase the supply voltages, but that's still a work around and not a very good solution.

Mark figured out a way to create a dedicated offset circuit for FET's. The BJT version will stay the way it is. The user will not even know about this, because the switching from one offset circuit to the next will be accomplished by the same BJT to FET selection switch already on the front panel. We just change it from a SPST to a SPDT version to activate either circuit.

More boards on their way

While we were waiting for boards and parts to arrive for the other parts, Mark finished the layouts for all of the other updated circuits. They are on 10x10 cm boards to we can easily change between them. Five boards are now in manufacturing. Eventually, we will integrate everything on two main PCB's, similar to the Rev1 version. We hope it will all fit, otherwise we may need to add a sandwich board sitting on top.

Stay tuned for more information and updates


  1. Hi!

    It's as well the four PCBs I was making at the design stage are still only about halfway through tracking, as it looks you've identified very serious problems with your first design Paul!

    I'll wait for you to post the final V3 Circuit Design and then, if I may, rewrite Chapter 150 of my book
    based on the new circuits!

    I don't want to write up something in my book that has a risk of repeatedly damaging the D.U.T., after all, the readers of my book may be wanting to test irreplaceable OEM devices!

  2. PS!

    I did buy a pair of Mark Allie's Rev 1B PCBs, but they're so cheap to get made from JLC it's no great loss, I'd gladly pay the same over again if you get the V3 design finalised to your satisfaction Paul!

    1. Hi Chris,
      Yes sorry for this but we did find a few serious weaknesses and also sufficient room for improvements. Keep an eye on the blog for version 3, although not all is in there yet with all the final details, but we're making very good progress.

      Stay tuned!