element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Test Instrumentation
  • Challenges & Projects
  • Project14
  • Test Instrumentation
  • More
  • Cancel
Test Instrumentation
Blog A Transistor Load
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Test Instrumentation to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: jc2048
  • Date Created: 13 Nov 2018 12:07 PM Date Created
  • Views 2999 views
  • Likes 12 likes
  • Comments 10 comments
  • diytestinstrumentationch
  • circuit design
  • analogue
  • transistors
  • jc2048
  • constant current load
  • diytestinstruch
Related
Recommended

A Transistor Load

jc2048
jc2048
13 Nov 2018
image

Test Instrumentation

Enter Your Electronics & Design Project for a chance to win a Grand Prize for Originality, a Tool Set, and a $100 Shopping Cart!

Back to The Project14 homepage image

Project14 Home
Monthly Themes
Monthly Theme Poll

 

Introduction

 

What to do for my Test Instrumentation project? I decided that I'd do a constant-current load but, to be a bit

different, mine doesn't include an op amp to control the loop. Op amps are for wimps - I'm going for the hard stuff

- a transistor design.

 

Just kidding. Not about the transistors, I am going to use transistors, but if you just want to build a load then

be sensible and use op amps, particularly if you want precision from it. The reason I'm doing it with transistors

is to see what I can manage in the way of a design, putting some of what I've been learning to the test. It's also

going to be a vehicle for looking at more transistor circuit building blocks. Further, I want to see how much speed

I can squeeze out of some very ordinary, low cost, small-signal transistors (2N3904 and 2N3906) along with a

cheapish power MOSFET; just for the challenge of doing it. This one is intended to be a 'speed demon' (maybe),

rather than a slow, ponderous, lumbering beast, which is how many of the op-amp ones seem to end up, so I may well

have some stability issues with it.

 

Before I started I naively thought I might do something unusual and interesting

with the design but, after I'd been working on it for a while, I discovered I was merely creating a somewhat crude

op amp (slaps head with wet fish). It's not quite a general-purpose op amp, though; it is specific to the job and

differs in some respects from a do-anything device; sometimes for good reason and sometimes out of a general

ignorance as to how these are usually designed. We'll see more of that when I get on to the operation and how it

works, but I'm going to do the build first and show it working in a video because this is also intended to be a

Project14 entry.

 

Important note: this is an investigation of transistor design techniques and a first prototype of a possible

circuit; it's a long, long way from being a finished project suitable for replication. This may well disqualify me

from the competition and the prizes - I'm not too clear on the rules - but I won't worry at all if it does. (Is that a

strong enough hint for the judges, do you think?).

 

The Circuit Diagram

 

Here's the circuit diagram.

 

image

 

At first glance it will probably look quite complicated - it's also a bit messy because of the way it gradually

developed as I pieced it together in the simulator - but it does neatly break down into distinct, small pieces and

I'll work through the theory of those and the overall operation in a separate blog once I've completed this one to

enter it for the competition. One advantage it has over other circuits is that the build cost of the components is

very low and would probably come in at less than a single precision op amp.

 

My starting point, as a specification, was that it should equal or better the (very simple) op amp designs in

everything except precision (where I wouldn't stand a chance, even using expensive, specialised matched transistor

arrays and stuff like that) and should run off a single supply (because I like making life difficult for myself -

seriously, if I was doing this design again I'd probably make life easy for myself and go dual-rail; it isn't half

a pain trying to work close to the ground reference). I'm thinking of using this for load testing switching

converters and I wanted an analogue load that could be swept up to frequencies above the bandwidth of the control

loop of the converter to do experiments with (whether that's actually sensible I don't know, but it seems to be

where I'm off to, so best just humour me). In practice, I'm pushing it a bit with these transistors - the 2N3906

only has an fT of 300MHz, though the results in the simulator look reasonable - but if this works ok on a

breadboard (a wired board - I'm not trying it on a plug-in one) I could develop it further with faster devices.

 

Building the Prototype

 

This is the bare prototyping board I'm using. It came in a little bubble pack, with a selection of simple

components, from what was once Maplin Electronics (just before they went into administration). It looks like the

kind of thing that's just bought in and branded, so I imagine it would be very easy to find something comparable.

I'm doing it on an Arduino compatible shield because I may try it with a processor board once I get the load itself

functioning. Then I can make it programmable (more SCPI stuff!).

 

image

 

Here's are pictures of the built prototype, top and bottom.

 

image

 

image

 

Everything is just soldered in place and the links between components are mostly made with bent over leads, with

the occasional added wire. There's a lot of symmetry in the circuit and that helps with the layout. I've positioned

the power MOSFET at the end where it can be bolted to a heatsink. The load connection and the analogue power (it

needs more than the 5V available from the processor board) are connected with 4mm sockets. I'm not going to fuss

too much over this side of it - it's a prototype and I want to see how well it works, all the miscellaneous stuff

can be tidied up later if I decide to build it into a box. One practical thing I should mention is that I've

matched the transistors for gain, so each transistor down one side of the central column is matched with its

symmetrical partner on the other side. I'm trying to maintain the symmetry as much as possible.

 

The output circuit I've made as tight a loop as was reasonable on the board. That's to keep the resistances low and

to minimise the inductance as far as possible. The current sense resistor is 100mOhms with a 3W rating and that

will limit me to a (dc) current of 5.47A (probably less, as it has to be derated at temperature). In practice, on

this version built on a circuit board and with only a smallish heatsink for the MOSFET, I'm going to limit it

further and only work up to about 3A, and then only at a duty cycle of less than 100% and with lowish voltages.

(The current sense resistor I've used - an Arcol one - is intended for the function and the spec isn't too bad for

what it cost (about 60p) - 3W, 1%, and 20ppm.)

 

The MOSFET isn't a 'logic level' part and has a moderately high threshold. That was a deliberate design decision

because it fits nicely with how I'm doing the gate drive. If you did want to experiment with this circuit (without

extensively redesigning it), don't substitute a low-threshold part as it won't work properly. I'm putting this in

as a warning because the ST part I've used also happens to be available in a version with the same part number but

with an L suffix to indicate logic level, so beware.

 

First Tests

 

Before I try doing anything with a processor, I'm going to power it up and see how it gets on with a function

generator driving the input. That will allow me to experiment with various waveforms, see how it performs, and get

the zero and gain pots adjusted. If I feed in a square wave, I'll be able to see how the loop responds to a step

change and modify the compensation if it looks either over-damped or under-damped. I chose the capacitor value on

the circuit diagram using the simulator - more on that later - but the real circuit won't match that and it will

probably need some adjustment.

 

I've now connected it up and put 12V power on it. The supply current is just a few milliamps, so that went ok. I

then connected a bench supply to the load side, set the voltage to 3V so that the MOSFET dissipation wouldn't be

too high, set the function generator to give a triangle wave of 0-500mV and got this (yellow trace is voltage in

from the generator and blue trace is voltage across current sense resistor [100mV = 1A])

 

image

 

Hmm. That's not too good. The output is oscillating (the disruption to the yellow input trace is probably just

'scope coupling). There's also the mild aroma of a part cooking. That's just the MOSFET warming up, but it's a

reminder that I need to scale back the dissipation a bit - the very small heatsink has it's limits. Powered off,

looked at board and realised I'd left off the compensation capacitor (10pF from the simulation), so that explains the wild

instability.

 

Didn't have a 10pF capacitor, but I've got some 22pF (xtal loads) so I'll use two in series for 11pF.

 

That deals with most of the oscillation but there's still a problem down near ground. Here's a sine wave and you

can see it's mostly ok but loses it at the bottom where the input just touches 0V. Still, it's quite encouraging

the way the current on the output follows the input voltage.

 

image

 

This next trace shows a tougher test. This is a square wave with fast edges. The output slews nicely, but there's a

fair bit of overshoot and ringing at the top and we can now clearly see the oscillation at the bottom of the range.

 

image

 

At this point I removed one of the capacitors to give 22pF.

 

Next is a trace of a triangle wave going in and the current on the output. 200mV on the blue trace is equivalent to

2A and it's following the input quite nicely, though it's only 1kHz.

 

image

 

Now I've gone off at a bit of a tangent (sorry, you know how it is when you're experimenting with things), I'm

testing the power supply connected to the output. The yellow trace on the shot below now shows the voltage of that

supply. That trace has an offset of 3V (the supply voltage) so we can see what happens when the current (the blue

trace) changes. The current is ramping up and down between 0.5A and 1.5A and we can see how the large electrolytic

capacitor on the output of the linear supply behaves.

 

image

 

Here it is again, but with the current ramping up and down between 0A and 2A.

 

image

 

The next one is similar, but the frequency has been increased to about 100kHz. This shows uncertainty at the bottom

when the waveform suddenly changes direction.

 

image

 

The next two traces show a 10kHz sine wave. For the second one, I moved the sine wave down so it was resting on the

0A level. This really emphasises that the problem I have with the oscillation relates to what happens around

ground.

 

image

 

image

 

Finally, this is what happens at speed. This is a 0.5A to 2A step up and then back down again 8uS later. This is

with the springy-clip for monitoring the sense resistor rather than the flying ground lead. I didn't try for the

voltage at the same time because of the difficulty of holding both probes in place. That's sort of encouraging

because it does show that the MOSFET can throw the output around pretty fast and the gate drive must be reasonably

good.

 

image

 

And here it is with a triangle waveform to show that it sort of follows, even at 770kHz, though the gain is rolling

off at that point. I'm back now with the yellow trace showing the input waveform rather than what the PSU on the

output is doing. [The triangle wave from my cheap function generator is a bit embarrassing, isn't it.] However,

that result is somewhat misleading as, in the range between 250kHz and 700kHz, the output does very strange things

and it's only at about 700kHz that it comes right again and starts to follow the input properly again.

 

image

 

One thing that I need to do now is come up with a harder, more solid rail than the output electrolytic in the bench

power supply so that I'm not simultaneously testing the power supply and the load.

 

That's the point I've reached so far. I haven't met my spec and it isn't a project that you could simply build and

use but, as long as I stay away from 0A on the output, it already has some potential for testing as I've just found

out. For all the problems with it, I'm quite pleased - it's the first thing I've designed with transistors of any

complexity and, though I've pieced it together from thoroughly understood (by people who know what they're doing)

building blocks, it's still neat seeing it there on the bench doing things. The next thing for me to do is to look

in more detail at what the circuit is doing internally and where it differs from the simulation (which is much

better behaved). I'll also go through the design and explain how the circuit works, but I'll blog both of those

separately to this Project14 entry.

 

The Video

 

Not much of a video, but it shows the board on the bench and working. Pretend that it's the tidiest bench you've

ever seen.

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

The Doodle

 

Finally, as a bit of silliness, here's a doodle. This shows the King of the Current Sources who has wandered by and

awarded me one star for my efforts. The bird in the Tree of Knowledge is complaining because he almost hit her on

the head with the star.

 

image

 

 

Further blogs

 

A Transistor Load: Stability

  • Sign in to reply

Top Comments

  • shabaz
    shabaz over 6 years ago +5
    Hi Jon, It was really nice to follow your process as you made changes, and seeing it all documented. Also you may have established a record on lowest-cost for a DC load.. since each part (apart from the…
  • genebren
    genebren over 6 years ago +5
    Jon, Very nice design! I have never ventured down the path of building an op-amp from scratch. I always thought that would make a great school project (i.e. learning exercise), but I mostly, just bought…
  • three-phase
    three-phase over 6 years ago +3
    Excellent well detailed project Kind regards
  • jc2048
    jc2048 over 6 years ago in reply to dougw

    Good idea. I can try that and see how well it works.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • dougw
    dougw over 6 years ago in reply to jc2048

    Very cool project.

    Perhaps you could clamp the gate, so it can't go much below its threshold, with a diode to a reference voltage......

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • jc2048
    jc2048 over 6 years ago

    I've investigated a bit further and found that if I take the compensation capacitor to the junction of the three resistors (ie before the gate resistor rather than after it) it is much happier.

     

    This is how it behaves at 10kHz with that change (with a 22pF capacitor for the compensation)

     

     

    image

     

    The yellow trace (under the blue trace much of the time) is the input voltage from the function generator. The blue trace is the voltage across the current sense resistor, so shows us fairly accurately the current in the output circuit. The two waveforms should be identical, except that the current can't go negative so, when the input voltage gets down below 0V, the output current sits at 0A. When the input rises above 0V again, the current then takes a few moments (a few microseconds) before it gets to the point where it can follow the input again [the reason for that delay is that the control loop has been trying to force the output current negative by lowering the MOSFET gate voltage and so the gate voltage is some distance away from where it needs to be to pick up again smoothly and there's a limit to how quickly the gate driver can then slew it back to the correct voltage].

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • jc2048
    jc2048 over 6 years ago in reply to michaelkellett

    Thanks for the suggestion. I'll try looking at it in more detail over the weekend, do some more experimenting, and see if I can sort out what is going on.

     

    The simulator isn't much help - it works fine and is stable there. I'm now discovering the gap that exists between the modelling and the real thing (which is probably a very good lesson for me at this stage).

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • michaelkellett
    michaelkellett over 6 years ago

    You might find it easier to stabilize the operation at low currents and voltages if you used a negative supply for the small signal stages - it looks to me as if you will have some severe changes in device operating conditions as the output voltage at the MOSFET get gets low - possibly even a resistor to ground at that point might help.

     

    This is just a 'gut feel' kind of suggestion - not based on simulation or sums !

     

    MK

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube