BJT behaviour at ridiculously low current levels

May 11, 2022 Last reply: 4 years ago 72 Replies

A transistor has c-b leakage, Is of the c-b diode, so turns itself on with the base open. Spice at least suggests that any amount of added base current increases collector current.

That said, I don't understand this:

Version 4 SHEET 1 880 680 WIRE 288 80 272 80 WIRE 304 80 288 80 WIRE 416 80 384 80 WIRE 272 128 272 80 WIRE 416 144 416 80 WIRE 176 176 144 176 WIRE 208 176 176 176 WIRE 144 208 144 176 WIRE 272 288 272 224 WIRE 416 288 416 224 WIRE 144 320 144 288 FLAG 272 288 0 FLAG 416 288 0 FLAG 144 320 0 FLAG 176 176 B FLAG 288 80 C SYMBOL npn 208 128 R0 WINDOW 0 83 28 Left 2 WINDOW 3 56 54 Left 2 SYMATTR InstName Q1 SYMATTR Value 2N5550 SYMBOL voltage 416 128 R0 WINDOW 0 49 37 Left 2 WINDOW 3 54 64 Left 2 SYMATTR InstName V1 SYMATTR Value 5 SYMBOL current 144 288 R180 WINDOW 0 54 35 Left 2 WINDOW 3 24 0 Left 2 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName I1 SYMATTR Value SINE(0 100f 1) SYMBOL res 400 64 R90 WINDOW 0 -8 51 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R1 SYMATTR Value 1 TEXT 56 144 Left 2 !.tran 2 TEXT 528 184 Left 2 !.op abstol 1e-18 TEXT 528 216 Left 2 !.op gmin 1e-18 TEXT 0 56 Left 2 ;Low current NPN test TEXT 32 88 Left 2 ;JL May 12 2022

"Hybrid" (as used by me above) is arguably ambiguous. "Hybrid equivalent" puts a finer point on it. And it indeed ignores transconductance:

formatting link
Danke,

Of course it does. That's why nobody ever uses it for anything real AFAICT. The only reference I ever make to the h model is the current gain, because it's easy to keep the distinction between small-signal (h_FE) and large-signal (H_FE) straight.

One could use upper- and lowercase beta, but uppercase beta is indistinguishable from B.

You can turn LEDs on and off ignoring g_M, or make a rule-of-thumb single-ended CE amplifier with emitter degeneration. For anything differential, you use g_M for the design and beta for the sanity check.

Beta is a useful number, mostly because it warns you about things you can't do, but even in beta-graded parts it varies by a factor of 2, whereas the transconductance of any two BJTs at the same collector current and same temperature, of whatever size, of whatever make, matches to a tiny fraction of 1%, at least at collector currents where beta is vaguely reasonable.

Cheers

Phil Hobbs

<snip>

I went into the control panel and set chgtol and absolute current tolerance to 1E-18, and it works fine.

Hopefully JT is smiling indulgently somewhere. ;)

Cheers

Phil Hobbs

The other numbers are important. A single-electron level is noise (recombination noise) in a semiconductor of any useful size. Transistor base and emitter contacts for most packages are dozens of microns, so discrete transistor volumes are on the order of 5E-5 cubic centimeters. At 1.4 x 10E10 charge carriers per cc, for silicon, there's mobile electrons and holes by the thousands in a transistor-size piece of nonconducting (undoped) silicon. A doped transistor has... more.

It takes sizeable base charge to get above the noise.

What I don't understand is why the sine wave current source doesn't make a sine wave of current.

The base sees leakage plus a sinewave. How could that sum be proportional to a sinewave, when your applied signal is a sine, but leakage is a non-negligible constant?

Right, but if you hack at the control panel as above, it does.

See

formatting link
. Cheers

Phil Hobbs

A current source shouldn't care about its load. It should make its programmed current.

I can get the current source to make a sine wave if I skip the initial operating point solution, uic, with your spice settings, but the collector current is goofy, a 250 Hz triangle.

One issue is maybe the roughly negative 1 gigavolt swing on the base.

Nice and well-behaved for me, just tightening up all the tolerances (including some on the compression page of the control panel, which isn't shown on the screen shots).

formatting link

Cheers

Phil Hobbs

Works great!

Version 4 SHEET 1 880 680 WIRE -96 64 -176 64 WIRE 288 80 272 80 WIRE 304 80 288 80 WIRE 416 80 384 80 WIRE -176 128 -176 64 WIRE -96 128 -96 64 WIRE 272 128 272 80 WIRE 416 144 416 80 WIRE 176 176 144 176 WIRE 208 176 176 176 WIRE 144 208 144 176 WIRE -176 224 -176 208 WIRE -96 224 -96 208 WIRE 272 288 272 224 WIRE 416 288 416 224 WIRE 144 320 144 288 FLAG 272 288 0 FLAG 416 288 0 FLAG 144 320 0 FLAG 176 176 B FLAG 288 80 C FLAG -176 224 0 FLAG -96 224 0 SYMBOL npn 208 128 R0 WINDOW 0 83 28 Left 2 WINDOW 3 56 54 Left 2 SYMATTR InstName Q1 SYMATTR Value 2N5550 SYMBOL voltage 416 128 R0 WINDOW 0 49 37 Left 2 WINDOW 3 54 64 Left 2 SYMATTR InstName V1 SYMATTR Value 5 SYMBOL current 144 288 R180 WINDOW 0 54 35 Left 2 WINDOW 3 24 0 Left 2 WINDOW 123 0 0 Left 2 WINDOW 39 0 0 Left 2 SYMATTR InstName I1 SYMATTR Value SINE(0 100f 1) SYMBOL res 400 64 R90 WINDOW 0 -8 51 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R1 SYMATTR Value 1 SYMBOL current -176 208 R180 WINDOW 0 54 35 Left 2 WINDOW 3 24 0 Left 2 WINDOW 123 0 0 Left 2 WINDOW 39 0 0 Left 2 SYMATTR InstName I2 SYMATTR Value SINE(0 100f 1) SYMBOL res -112 112 R0 SYMATTR InstName R2 SYMATTR Value 1g TEXT 56 144 Left 2 !.tran 2 TEXT 528 184 Left 2 !.op abstol 1e-18 TEXT 528 216 Left 2 !.op gmin 1e-18 TEXT 0 56 Left 2 ;Low current NPN test TEXT 32 88 Left 2 ;JL May 12 2022

Piotr you might look at the hc cmos series. They will operate in the 1 volt range with the expected lower current. One maker spoke of characterizing their devices at one something volts. I experimented with those supply voltages for devices working in the 100k cps area and all seemed pheasable.

Hul

Piotr Wyderski snipped-for-privacy@prot> > There is a niche of building oscillators that run at very low supply

Not really. If yoy disconnect the base, the current source still swings +- 100 mv. That depends on some Spice settings.

On 14/05/2022 07:04, Hul Tytus wrote:

Yes, I actually experienced HC cmos retaining stored latch states down into tens of millivolts region. However to make any kind of oscillator means passing slowly through a linear region and current consumption will shoot up. To make an oscillator a discrete design with high value series resistors might be better, this draws an average 10nA to make narrow pulses every 8-9 secs...

Version 4 SHEET 1 1160 680 WIRE 32 -640 -208 -640 WIRE 336 -640 32 -640 WIRE 864 -640 336 -640 WIRE 336 -592 336 -640 WIRE 32 -544 32 -640 WIRE 864 -464 864 -640 WIRE 336 -432 336 -512 WIRE 576 -432 336 -432 WIRE 336 -368 336 -432 WIRE 32 -320 32 -464 WIRE 272 -320 32 -320 WIRE 576 -304 576 -432 WIRE 32 -240 32 -320 WIRE 336 -192 336 -272 WIRE 576 -144 576 -240 WIRE 576 -144 400 -144 WIRE 576 -80 576 -144 WIRE 32 -16 32 -176 WIRE 336 -16 336 -96 WIRE 336 -16 32 -16 WIRE 864 32 864 -384 WIRE -208 64 -208 -640 WIRE 336 80 336 -16 WIRE 432 80 336 80 WIRE 800 80 512 80 WIRE 336 176 336 80 WIRE -208 288 -208 144 WIRE 336 288 336 256 WIRE 336 288 -208 288 WIRE 576 288 576 0 WIRE 576 288 336 288 WIRE 864 288 864 128 WIRE 864 288 576 288 WIRE -208 320 -208 288 FLAG -208 320 0 SYMBOL voltage -208 48 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V1 SYMATTR Value 1.3 SYMBOL pnp 400 -96 R180 SYMATTR InstName Q1 SYMATTR Value 2N3906 SYMBOL npn 272 -368 R0 SYMATTR InstName Q2 SYMATTR Value 2N3904 SYMBOL res 320 -608 R0 SYMATTR InstName R1 SYMATTR Value 10Meg SYMBOL res 560 -96 R0 SYMATTR InstName R3 SYMATTR Value 100Meg SYMBOL res 16 -560 R0 SYMATTR InstName R4 SYMATTR Value 100Meg SYMBOL cap 16 -240 R0 SYMATTR InstName C1 SYMATTR Value 100n SYMBOL cap 560 -304 R0 SYMATTR InstName C2 SYMATTR Value 100n SYMBOL npn 800 32 R0 SYMATTR InstName Q3 SYMATTR Value 2N3904 SYMBOL res 848 -480 R0 SYMATTR InstName R5 SYMATTR Value 10Meg SYMBOL res 320 160 R0 SYMATTR InstName R6 SYMATTR Value 10Meg SYMBOL res 528 64 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R2 SYMATTR Value 10Meg TEXT -242 360 Left 2 !.tran 100 TEXT 928 336 Left 2 ;EPW SED MAY 2022 TEXT 928 288 Left 2 ;Nano power pulser

piglet

Good point for an osicilator. The 10's of millivolts range you mention is an interesting area.

Hul

piglet snipped-for-privacy@hotmail.com wrote:

piglet wrote:

Nice, your edges are super sharp. Here is mine, sort of 1us pulses at

14Hz with 30nA average at 3V. The perhaps interesting part is the narrow pulse generator: the pulse duration is limited by the energy stored in C2, as the discharging cycle itself is orders of magnitude longer. With R7 I can specify any reasonable duration and it comes at no additional energy cost, as the energy to be dissipated has already come through R4.

On the downside, I got stuck here: no idea how to transform the 100mV V_OUT pulses into the full VDD swing without a fancy 100mV Vth transistor and still keep the average power consumption low. The bias network for a differential amplifier or a common base stage will burn hundreds of times more power than the oscillator. Inductors don't seem to help here.

Best regards, Piotr

Version 4 SHEET 1 880 680 WIRE -176 -336 -256 -336 WIRE -48 -336 -96 -336 WIRE 0 -336 -48 -336 WIRE 192 -336 80 -336 WIRE 368 -336 192 -336 WIRE 576 -336 368 -336 WIRE -48 -320 -48 -336 WIRE 368 -272 368 -336 WIRE -48 -240 -48 -256 WIRE 192 -224 192 -336 WIRE 576 -192 576 -336 WIRE 368 -176 368 -192 WIRE 528 -176 368 -176 WIRE -256 -160 -256 -336 WIRE 368 -160 368 -176 WIRE 192 -80 192 -144 WIRE 192 -80 144 -80 WIRE 288 -80 192 -80 WIRE 320 -80 288 -80 WIRE 576 -80 576 -96 WIRE 688 -80 576 -80 WIRE -256 -64 -256 -80 WIRE 576 -64 576 -80 WIRE 192 -48 192 -80 WIRE 288 -32 288 -80 WIRE 192 32 192 16 WIRE 368 32 368 -64 WIRE 576 32 576 16 WIRE 288 80 288 48 WIRE 688 160 688 -80 WIRE 688 160 336 160 WIRE 288 192 288 176 WIRE 288 192 144 192 WIRE 288 208 288 192 WIRE 288 304 288 288 FLAG -256 -64 0 FLAG -48 -240 0 FLAG 368 32 0 FLAG 576 32 0 FLAG 192 32 0 FLAG 144 -80 V_C2 FLAG 288 304 0 FLAG 144 192 V_OUT SYMBOL voltage -256 -176 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V1 SYMATTR Value 3v SYMBOL res -16 -320 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 0 56 VBottom 2 SYMATTR InstName R1 SYMATTR Value 1m SYMBOL cap -64 -320 R0 SYMATTR InstName C1 SYMATTR Value 100n SYMBOL res -192 -320 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 0 56 VBottom 2 SYMATTR InstName R2 SYMATTR Value 1m SYMBOL nmos 320 -160 R0 SYMATTR InstName M1 SYMATTR Value BSS123 SYMBOL res 352 -288 R0 SYMATTR InstName R3 SYMATTR Value 47Meg SYMBOL res 176 -240 R0 SYMATTR InstName R4 SYMATTR Value 200Meg SYMBOL pmos 528 -96 M180 SYMATTR InstName M2 SYMATTR Value BSS84 SYMBOL res 560 -80 R0 SYMATTR InstName R5 SYMATTR Value 15Meg SYMBOL cap 176 -48 R0 SYMATTR InstName C2 SYMATTR Value 470p SYMBOL nmos 336 80 M0 SYMATTR InstName M3 SYMATTR Value BSS123 SYMBOL res 272 -48 R0 SYMATTR InstName R6 SYMATTR Value 1m SYMBOL res 272 192 R0 SYMATTR InstName R7 SYMATTR Value 330 TEXT -280 16 Left 2 !.ic V(V_C2)=0 TEXT -290 328 Left 2 !.tran 1

[Snip SPICE listing]

Keep everything clean while building!

After some prototyping I can confirm, your UJT-emulating circuit wins hands down. I removed R6, R2, Q3 and R5, changed C1 and C2 to 470p and coupled to the C2 discharge energy via a small transformer, getting beautiful 1us spikes @28Hz. Thank you, Piglet!

Best regards, Piotr

I want an LED blinker to show that a high-voltage power supply is still dangerous. It should discharge the supply at some low current and blink from, say, 1400 volts down to maybe 40.

A variant of your circuit might work. Charge a cap through a string of depletion fets and modify your thing with a zener between emitters.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required