Posts Tagged ‘pulse’

Pulse testing JFETs


JFETs show up all over Wes Hayward’s books1 2, mostly on oscillators. For those only familiar with bipolars and MOSFETs, an N-channel JFET is like an N-channel MOSFET except:

  • The threshold voltage is negative: Vt = -Vp
  • The gate-source junction is a diode that must never be forward biased.

I bought a bunch of J310 N-channel JFETs. However, the specs on these parts are all over the place:

So I decided to measure Idss and Vp. Turns out that the J310 will destroy itself if saturated at Idss, so the test has to be fast. I hooked up an HP8112 pulse generator to the gate and biased the drain with a small resistor to ensure saturation:
JFET pulse testing circuit
I extracted the parameters from the oscilloscope capture with a short IPython notebook:

import scipy as sp
import scipy.optimize
%matplotlib inline
from matplotlib import pyplot as plt

Vg = sp.loadtxt('jfets/DS0000.CSV', skiprows=14, delimiter=',', usecols=(0,)) / (2**8) * 10 * 2.
for ii in range(1, 4):
    Vd = sp.loadtxt('jfets/DS{:04d}.CSV'.format(ii), skiprows=14, delimiter=',', usecols=(0,)) / (2**8) * 10 * .5
    #Vd = Vd[Vg > -6]
    #Vg = Vg[Vg > -6]
    Vcc = 12
    Rd = 22
    Id = (Vcc - Vd) / Rd
    Id -= sp.mean(Id[Vg < -7])
    plt.plot(Vg, Id*1e3, '.', color=(.5,.5,.5), label='Measured')
    def Idsat(Vg, Idss, Vp):
        return Idss * (1. - sp.maximum(Vg, Vp) / Vp)**2
    def ferror(x, Vg, Id):
        Vp, Idss = x
        return Id - Idsat(Vg, Idss, Vp)
    (Vp, Idss), _ = sp.optimize.leastsq(ferror, [-4, 55e-3], (Vg[Vg > -6], Id[Vg > -6]))
    plt.title('I$_{{dss}}$={:.0f}mA, V$_p$={:.1f}V'.format(Idss*1e3, Vp))
    Vg2 = sp.linspace(min(Vg), max(Vg), 200)
    plt.plot(Vg2, 1e3*Idsat(Vg2, Idss, Vp), 'r-', linewidth=2)
    plt.xlabel('V$_{gs}$ (V)')
    plt.ylabel('I$_d$ (mA)')
    plt.savefig('jfets/device{:02d}.png'.format(ii), dpi=300)

The three devices I tested are clustered pretty close on both parameters:


[1]W. H. Hayward, R. Campbell, and B. Larkin, Experimental Methods in RF Design, Revised 1st Edition edition. Newington, CT: Amer Radio Relay League, 2009.
[2]W. H. Hayward and D. Demaw, Solid state design for the radio amateur. American Radio Relay League, 1986.