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 Opamp 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 this circuit better.

The main problem/challenge with the current circuit is that as soon as the current regulator takes over the regulation from the voltage controller, its output slams into the rail. This causes saturation at the output section and it's not so easy to ease it back into regulation again. Think of the output as a magnet that attaches to something metal. It takes a force to pull it loose again, and your muscles cannot react fast enough to softly pry it loose. There will be a swing that you need to dampen. This is a similar effect the Opamp has. You need to dampen the reaction but that has all sorts of side-effects that are no good either. We experimented with diodes, Zener diodes, TLV Zener diodes and transistors to prevent the slamming into and hugging of the rails. None of them were ideal and most of them added a lot of unwanted capacitance, making the taming even more difficult. With the much faster Opamp we now have a pretty well behaving and functioning system, but it's still a compromise.

The challenge explained...

Below is the voltage regulator in action. In yellow is the triangle output, in blue the output of the voltage controller. The output of the triangle supply is loaded with a 2K resistor, so a light load. When the voltage controller regulates, we have a triangle output and the voltage level of the output is just over 4V. When the current controller takes over, the voltage controller Opamp output slams into the 10V rail and the triangle output is clipped.



Here is the corresponding current regulator in action.  The output of this Opamp is hugging the 10V rail when there is no current regulation, when the current limit is reached, the output goes to just above 4V and regulates the clipping of the triangle wave form.

The difference in rise and fall times show up as glitches in the triangle output. This glitch is more prevalent with no or light loads, it disappears almost completely with higher loads.
Below is the picture as it was with the slower current controller. It was a lot harder to "peel" this Opamp from the rail it was desperately clinging to and when it did, it did so kicking and screaming. Also note the much slower rise and fall times.


A major improvement and now good enough, but still not ideal.

200V range current fix

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 and signal fidelity, 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 another 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 happy enough with the results and we're ready to move on.


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.

The updated Triangle Generator and Step Gen D2A board (Rev1)

The board arrived and both Mark and I populated and tested the functionality. After fixing an error in the schematic and the resulting layout, the Triangle Generator works well. We tweaked some component values for the triangle baseline adjustment, so it is evenly distributed above and below ground level. The final check will have do be done on the output of the Collector supply, to account for any component tolerances.

The D2A and Step Selection works well. After changing a few values to the Step Delay circuit to create a better minimum and maximum delay, this circuit works really well too. When enabled, the minimum delay between complete step cycles is about 12mS, and is just about skipping a complete step cycle (from 1..7 steps), so a 50:50 delay. In the maximum delay setting, we now have about 140mS in-between step cycles, so about 1 cycle in 14. This should allow for enough cooling of the DUT.

Bud's Wild Hair idea.

Bud could not leave the challenges the MOSFET Supply circuit poses out of his mind, and started working on a novel and different solution that would accomplish a better regulation transition. He called it a "Wild Hair" idea.

This new circuit uses discrete trans-conductance amplifiers for the controllers. 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 fully discrete using matched transistors (Bud was a chip designer after all), and the LTspice results look very promising. Gone are the troublesome transitions from voltage regulation to current regulation and back and no more desperate hugging to the rails. Bud has some concerns about thermal drift but we'll see if that really poses a problem with this application when we have build the unit. Mark has made a layout so we can thoroughly start to test this version of the circuit.

Once we have tested the new board and compared it to the one we already have working, we'll decide what circuit we're going to use going forward.

The Wild Hair boards have arrived from manufacturing and Mark has started on the population of that board.


Mark has built the board and reported that the Wild Hair design is working really well. We still need to thoroughly test it, but the initial results are very good.

Here is the current limiting in effect with a 500Hz triangle waveform in the 200V range. This frequency is the practical upper limit we need, although we can go higher.

Note the clean edges top and bottom and the utter lack of wiggles and glitches during the transition from voltage regulation (the triangle slopes) and the current limiting taking over (the flat portion). We need to do a lot more testing but also the other changes and features we put on this circuit seem to work really well. Do we have a winner? It sure looks like it, but we're not done testing yet.

Visual Progress Report.

Below is a picture that shows the progress we're making. We're using 10x10cm boards that implement the various circuits and their revisions, so we can easily swap them in and out when required.


In the top of the picture is the back-panel with the main transformer, fuse and mains switch. Just to the right of that panel is the 120VAC transformer used for the 200V at 100mA range.

The blue board on the right with the two heat sinks is the current MOSFET supply board. This board will be replaced by the Wild Hair design.

In the middle is the green AC switching and Collector supply board with the voltage range switching and current source.

The green board on the left with the transformer is the auxiliary supply for all the circuits. It supplies the +10V and the -5V for the AC supply, the Collector supply, the Triangle supply and also the isolated +15 and -15V for the Step Gen, and finally the -5V and +24V for the X-Y amp.

The blue board in the lower left is the Triangle Generator and the D2A board with the step selection and step delay circuit that I just finished testing. The jumper lead is used to select the number of steps. I didn't want to mount a rotary switch on the board.

The bare green board in the middle is the Step Gen Buffer Rev1 board with the protection circuits on it. I will not build this board but go straight to the Rev2 that is on it's way to me. Rev2 implements Mark's new Step offset circuitry for FET's.

In the meantime, I have build the Rev2 version of the Step Gen Buffer board, and after correcting a footprint error for a dual MOSFET, I had a functioning circuit. The offset circuit that Mark designed to have an improved operation in the Voltage mode, works well. We can now drive the Gate much better. The one thing that I did not test yet is the over-voltage protection, because we decided to take another approach, see below.

The DUT output section and X-Y amplifier board is missing from the picture, but I have the board. It is waiting to be populated, but that can wait until we have finished the revisions for the other boards. Together they make up the complete Version 3 circuitry for the Curve Tracer that we want to test thoroughly before we go to the final layout.

While Mark will take the lead on building and testing the "Wild Hair" board, I will start on the Step Gen Buffer Rev2 board.

Bud found out by using LTspice that there is an issue when the output of the MOSFET supply gets shorted. This can easily happen at the DUT connector, when the Collector gets shorted to the Emitter somehow. This can be caused by a pilot error, or a blown DUT.
He came-up with some measures that will add better protection to the supply. At the same time, we found that we needed even better protection for the Step Generator Buffer circuit due to the changes that were introduced by the new offset functionality. There is an additional Opamp that we now need to protect.
After a lot of trying things out with LTspice, and discussing and trying different methods, Bud came-up with -in hind-sight- a quite simple method to add much better protection, at the same time eliminating a number of parts. Instead of protecting the output of the Step Gen to voltages up to 200V coming from the MOSFET supply, we now simply clamp the input of the MOSFET supply to produce non-lethal levels at the output when a problem is detected. The protection is active, meaning that as long as the fault is there, it is active. When the fault is gone, everything goes back to normal. No manual reset required, and no fuses to replace. A fault indicator LED will be added to the front panel to warn the user.

Because both supplies are on different and floating supplies, the detection signals that need to drive the MOSFET supply needed to be isolated with optical-isolators.
This means that both the MOSFET supply board and the Step Gen Buffer board need yet another board turn to accommodate these changes and also all the other refinements and changes that were made. 
Below is a rudimentary schematic showing this additional output protection for the Step Generator circuitry.

This circuit provides some of the protection to the Step Gen Buffer output against lethal Collector/Drain supply voltages that could find its way to the Step Gen output. This can happen by accidental pilot error or a destructed DUT device. As I stated before, Opamps have a hard time surviving when voltages are present at the inputs that are beyond the VCC and VDD supplies. The trick was to detect that situation and prevent damage. The circuit above does that.

The output of the Step Gen Buffer circuit, also going to the Base/Gate of the DUT, comes in on the left hand side of the diagram. Diodes D1, D2 and the two opto-coupler diodes work together to create a fault signal. When the Base/Gate voltage is going beyond one of the +/-15V supply rails, one of the opto-couplers will fire and turn on the dual transistors configured as an SCR. The SCR flips and will turn on both MOSFET's. Q3 will strangle the input to the MOSFET supply and causes the Collector/Drain voltage to drop to non-lethal voltages. Q4 is used to turn on a fault indicator on the front panel. 

The R/C set by C1/R9 will release the SCR after about 15mS. When the fault is no longer there normal operation continues otherwise the output remains clamped.

More details of the other circuits will follow after we have verified the correct operation.

It all takes a lot of time and it's slow going, but we're making good progress.

Stay tuned for more information and updates...

Friday, March 19, 2021

Building a Curve Tracer - Version 2


Although this is a fully functional Curve Tracer, it has some limitations.
All our attention has now shifted to create the next version, described here: Version 3


After I built my Curve Tracer in 2017, as what I would now call a prototype, this project has gotten more interest.

A follower, Mark Allie, had contacted me if I would be available to help him build circuit boards with mostly SMD parts. His goal was to provide Curve Tracers for the students of his University. Of course I was keen to support his project. 

I fully endorse and support his activities. As far as I know, there are no decent DIY kits available on the open market anymore, which is why I started this project myself. It's even difficult to find a used commercial version, and if you do and it is broken, the parts are almost impossible to get. Many universities seem to suffer from this issue and are running out of working Curve Tracers. During this project, we got contacted by yet another university with exactly the same problem. A pity, because a Curve Tracer is such a great tool for learning about analog devices and it is almost a shame that in this digital age they are almost forgotten.

I want to revive the use of a Curve Tracer as much as possible.

Over the course of more than a year, Mark produced a set of boards and after solving some issues, made the instrument work.

Mark's latest schematics, BOM's, PCB details and Gerber files can be found on his Github site here : Mark's Github 

I would however caution you to start ordering PCB's and parts for this version 2, because although it is fully functional, it has some issues. We're now in the process trying to address them. If possible fix them in this version, and if not, in a new version that a small team of enthusiastic people are working on at the moment.

The development of version 3 will be described in yet another Blog posting: Version 3

Here are pictures of the very first prototype of Version 2 that Mark built. He since updated that version and it is this version (he calls it Version 1b) that is available and described on his Github site. 


Mark contacted me again to ask for help and sent me a set of his boards already populated with the SMD parts so I could complete the instrument. 

Here are two measurements that Mark took with his CT. 

First an NPN at 10uA/Step

And here a PNP at 10uA/Step


In the meantime, another interested hobbyist, Richard, also built this version. 


This was taken with a full triangle waveform per step, it clearly shows the two tracks. 
Changing the setup to use one flank per step cleared that display problem.

Look at the first CT blog in the section called Trade Offs for a detailed description of what we're talking about here. 

The three of us have been working hard on profiling the instrument and also trying to find the cause and solutions for some of the issues this version has. Besides fixing the issues, we're also working on several improvements and additions that we feel the original design really needed. Some of the issues will be described here, but the new design will be described in the Blog for version 3.

What were some of the issues that we have found.

I'll describe them here, also with the solutions we've found, although most of them will be implemented in the Version 3.

Component differences between my original design and Mark's version.

As I mentioned earlier, Mark Allie was so kind to sponsor me by sending a set of boards with the SMD parts already mounted.  When I started to complete the main board I ran a few tests on the partially finished portions. 

When I tested the triangle supply, I ran into an oscillation problem. It took a while to figure this out. Originally, I used a Darlington transistor as the series regulator, unfortunately, that TIP150 transistor is no longer available. Mark tried a few replacements like the BU323ZG but settled on a normal transistor the MJL328A. When I tried my last good old TIP150 first, the triangle supply worked as it should. I also changed some of the installed part values to the ones I had in my prototype, in order to try to make an identical replica. I noticed a small item. The trimmer for the zero Volt alignment for the triangle generator was at the end of the range, so I think it's better to change the 20K to a 50K version. I also had to tune the capacitor that sets the base frequency to a lower value because the triangle output was not linear in the highest voltage range. This is what I also found and described in my early version.

Initially, I only used the low volt (24VAC) winding of my special Collector supply transformer that I took out of my own CT.

I then moved on to the Front Board and got that going as well. Initially, I used short leads to connect the rotary switches to the board, so I could lay it flat on my bench to have better access to all the parts. That actually caused some noise, so I changed that by mounting the switches as they are intended. The connections from the main board to the front board were made by Dupont female-female leads so I could still lay it flat on my bench to have access to the parts.

A Design change

Mark and I went back and forth for quite some time about his way of switching the polarity. I was convinced he had it wrong, and I was missing a relay in his design, but it turned out he found a smarter way that actually saved a relays.

The "trick" Mark has found is to connect the Step Gen isolated Ground (ISO-GND) directly to the Emitter of the DUT. The Emitter already switches polarity from the CS- to the Common Ground (or CS+), so he could eliminate the relays on the Step Gen board, and accomplish everything with the same triple switch we already had.

The other change he made was to reference the BNC grounds to the Common GND. He also improved the X-Y amplifier section somewhat.

Another design change caused some problems for me

After I got most of the parts working, I added the high voltage supply and tested the adjustments for the maximum Collector voltage, and the current limiting settings. I then moved on to test a DUT, but by using scope probes, not the X-Y amp yet, and here I ran into issues. First of all the Step Gen would not work properly. That was due to a poor solder joint. I then started to destroy several of the 2N3904 transistors that I was using as the DUT. 

After a lot of head scratching, soul searching and going back and forth for several days with Mark and also Richard, it turned out that Mark inadvertently created a problem for me (well, actually for my transformer) with the way he created the Collector Supply. Mark optimized the circuit and made it work, of course, but although it was different from the way I designed it, Mark's version worked for him and Richard, so I thought of other issues first. It turned out that his design only works with real center-tapped transformers, or with separate windings with equal voltages but not with asymmetrical voltages, which is what my transformer has.

I use a special transformer with one winding of 24VAC, and another winding with 78VAC. Using that transformer with the current PCB caused the voltages to increase to very high levels. The result was that the automatic switching from the low to high supply created a large and destructive pulse and the relays started oscillating badly on the way down from high to low as well. This destroyed not only several poor 2N3904 transistors I used as the DUT, but also my last TIP150, the driving Opamp for the triangle supply and two of the BU323ZG series transistors, in addition to the voltage feed-back correction Opamp in the Step Gen. A real massacre! 

The untimely death of the Opamp in the Step Gen was a wake-up call, see below. This was most likely because one of the 2N3904's used as a DUT probably got shorted and the full collector supply was "presented" at the non-inverting input of the tiny SOT23 Opamp. Poor thing.

The remedy for the collector supply with special transformers is to use a full bridge for either winding like I used to have in my prototype. I first tried that Manhattan style and that worked as I had it before. The relay oscillation went away, however, since I was now concentrating on the relay switching, I noticed a problem that I did not discover in my prototype. There is a nasty spike during the transition that could be up to 150Vp-p with no load. The spike is reduced with a load attached but only went away completely with loads of less than 500 Ohm.


The lower blue trace is the RelayEnable signal that I used to trigger from. You can see that when the unit switches from the low to the high supply at around 30Vp-p, there is a large glitch with a duration less than 1mS but that can be up to 100V. It may very well have been in my original prototype, I just never saw it, and never had a DUT die on me that I could attribute to this issue. 

Moving from high to low is pretty smooth, just some relays bounce.

Obviously we need to find a way to get rid of this nasty glitch and if possible the relay bounce.

As a stop gap, we have found a fix that helps to reduce this problem, by using a diode and an R/C combination on the relays contacts that does the switching, to reduce the sparking. 

Collector supply issues

Richard, Mark and I all used different series transistor pairs and we all suffered from oscillation issues that I didn't have in my original version. When testing the circuit with my old TIP150 transistor, it worked pretty well, even though Mark used very different (faster) Opamps. Because I blew my Darlington transistors, the BU323ZG, I used the only other transistor type alternative to me, the MJL328A. It turned out that distributors like Digikey and Mouser were completely out of stock for the high voltage Darlington versions. This was probably caused by the current shortage of parts, especially in the car industries where these transistors are used in ignition systems. I put a back-order in and worked with the BU323ZG for the time being. The original design was for a Darlington and although it also worked with this normal transistor, it was not stable. I raised the Bias levels to give the transistor more current to work with, and also experimented with a driver transistor both in the Darlington and in the Sziklai configuration, but I was not happy. At this moment, Mark and Richard were only using 56VAC transformers that would give us 80V, but I wanted to increase the Collector supply to at least 180V. 

If you think about the demands we wanted to put on the supply, it has a daunting task. It needs to go from zero to 180V with currents ranging from zero to 2 Amp, with virtually no triangle distortion.

We now have developed a new version of the Collector supply that will be tested on a prototype soon and the results will be going into Version 3. The details will be described in the Version 3 Blog.

Initially, I had both boards and the transformer all wired-up flat on my bench so I had full access to the parts. Now that I fixed the Collector supply issue, I wanted to start to put the main board in the intended enclosure. I also got the parts that I needed to add the type C8 mains receptacle with a filter, the fuse holder and the mains switch. I added all that to the back panel. I also had to mount the transformer laying on it's back and mounted on the back panel, because there was not enough space to put it anywhere else. 

I could now finally move on and test and verify the operation some more. My unit is now fully operational and seems to be working fine, apart from the Collector Supply issue, that is more serious on my CT because of the transformer I use.

To be on par with the instruments Mark and Richard have, I ordered a similar transformer they used, a truly center tapped 56V AC 1.8A version and have been using that since.

Because the relay switching to the higher supply gave me some issues, I disabled the relays and continued to test and profile using the lower Collector voltage of less than 25Vp-p.

Avoiding another catastrophic event

When I had the glitching issues that were caused by my special transformer, I blew-up a number of parts. One of the casualties was the voltage follower that is used in the Step Generator voltage mode feed-back. My take on this was that the Collector-Base diode blew putting the full Collector voltage on the Base connection to the output of the Step Generator amplifier, and of course the poor unprotected Opamp. Opamps have a hard time surviving voltages on the inputs that are greater than the supply voltage. Because the DUT Collector voltage is only a silicon sliver with the thickness of a few microns away from the Base, this is something that can happen again. Besides, it's relatively easy to short the Collector jack with the Base jack, with the same effect.

As a first remedy, we have now added a 100K resistor in series with the input of the Opamp, and use two diodes to clamp the input to the rails. This is a quick-and-dirty solution for this version, but we need more.

I wanted to try to avoid that disaster from happening again and see if we could add good protection to the circuit. I called in the help of a good friend, who was a chip designer in a previous life, and he came up with an good concept that will be a very effective solution. The details will be described in the Version 3 Blog.

Another part related issue

We found that the final step (step 7) of the Step Gen was uneven compared to the rest of the steps. It turned out that this was caused by the selection of the buffer Opamp that was not a rail-2-rail version. We will fix that in the next version.

Adding a Z-axis blanking output

Richard uses an analog scope and he has found a way to pick-up a blanking signal from the triangle generator that he can feed into his scope. This will be permanently added to the next version.

Noisy traces on a DSO

Because I'm using a relatively inexpensive DSO, a Rigol DS2072A, most of the X-axis displays in the lower V/Div. settings are very noisy on my DSO. Both Mark and Richard use professional equipment and they don't have this issue.  There are two solutions. We can add another Opamp with a higher gain, but that will also amplify the noise from the source. The other solution is to use a higher value shunt that will increase the voltage. Both solutions will allow you to avoid the lower level Volts/Division settings of the DSO. We will adopt the dual shunt resistor solution using 1 Ohm that gives 1V/A and a 10 Ohm that will give 1V/0.1A and that could be added in this version, but will also be added in Version 3. 

This was taken with a 10mV/Div setting which is noisy but still OK. Lowering this setting however to 5mV/Div will make the picture very noisy and at 2mV/Div. unusable. Using the new 1V/0.1A will actually represent a 10x increase, allowing you to significantly increase the V/Div. settings to ranges that are a lot less noisy.

Here is a measurement using the 1 Ohm shunt viewing at 2mV/Div.

And this is the same measurement but with the 10 Ohm shunt now able to view at 20mV/Div.

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. We're going to see if we can address that by using an Opamp that has an offset built-in.


Oscillation issues

We all had some oscillation issues. Some were coming from the Collector supply, and some from the Step Gen. The re-design of the Collector supply will resolve that. I have found a solution for the Step Gen oscillation by inserting a 10uH inductor in series with the Base connection to the DUT. That fixed the oscillation problem you see below.


So how does our Curve Tracer compare to the Tek 577?

Well, it will never be a replacement of course, but we would like to see if we can duplicate some measurements that are described in the 577 documentation. This is a reality check to see if we can/need to make some changes, or just call it a "no-can't do that".

Richard made a comparison with the way a particular measurement is described using a Tek 577, while using his Version 2 CT.
The details are available on my Github site here : CT Github site

We believe that the difficulties in setting the maximum current levels will be solved with the new voltage and current ranges that will be implemented for the Version 3.



I hope that we have identified and even resolved most of the issues with this version, although we're continuing to test and profile. 

Stay tuned!