Solid State Guitar Amp Forum | DIY Guitar Amplifiers

Please login or register.

Login with username, password and session length
Advanced search  

News:

collapse
Pages: [1] 2   Go Down

Author Topic: Digital JFET Test Rig  (Read 8227 times)

rowdy_riemer

  • Legendary
  • ******
  • Chip Points: 13
  • Posts: 264
    • View Profile
    • www.riemer.us
Digital JFET Test Rig
« on: February 24, 2011, 01:40:32 AM »

I'm posting this here because I do not know where else to put this.

After a recent discussion with JM Fahey about JFET variations, I started thinking about a test rig idea I came up with a while back. Here is a schematic showing my idea next to a much simpler test rig similar to the one shown on the Fetzer valve page at ROG and, I believe, similar to one JM posted:


With the simple rig on the left with the switch positioned as shown, the absolute value of the JFET's threshold voltage will be shown on the multimeter. In the other position, the 1 Mohm R1 is shunted, and you divide the voltage shown on the Multimeter by the 100 ohm value of R2 to get the IDss.

My rig is shown on the right. U3 (multisim wants to label these as Ux since these parts are not in there master database) enables or disables the test rig according to its gate voltage. U5 is used for shunting R3 to switch between test modes. I added a couple of LEDs to indicate the test mode. The two MOSFETs in each LED setup work as an AND gate. The gate of the top MOSFET in each setup recieves the same enable signal as U3. The bottom MOSFET of the first LED setup recieves the same ON signal as U5. The bottom MOSFET of the second setup recieves an ON signal when the first setup is off.

At first glance, it may seem like I am working on a Rube Goldberg type JFET test rig. After all, this isn't any easier to use than the simpler version, it requires more parts, and the LED indicators are kinda just eye candy. But imagine if you replace the mechanical switches labeled J2 and J3 with the digital outputs of an Arduino board or some other similar board. Then, instead of a multimeter, use an analog input of the Arduino for measurement. Maybe add a button for one of the Arduino digital inputs to tell it when to take the measurements. Then, you simply pop in a jfet, hit a button, and the arduino takes both measurements in an instant. You might not even need the button to tell the Arduino when to take the measurement. You could have an optical switch that is interupted when a JFET is placed in the socket to trigger the measurements. You could write an application to take the Arduino output and automatically populate a spreadsheet or database with your measurements. Then, measuring a bag of JFETs can be done much more quickly.

Take this a step further. Set up a reel feeder to run a reel of JFETs through the tester. Advance the reel one JFET at a time using an optical switch to determine when a JFET is in position. Have a three prong probe or socket move up to engage the pins of the JFET. Then take the measurements. Then advance to the next JFET. Write an application that generates a unique identifier for the reel and print a label with that identifier to put on the reel when you are done measuring. When each measurement is taken, have your application on your PC record the unique identifier, the offset of the JFET from the beginning of the reel, and the JFET's measurements stored in a database. You can then very quickly catalog a whole reel of JFETs.

Tonight, I breadboarded the simple rig and measured several JFETs and recorded them to use for comparison. I then built my rig and demonstrated that it worked. Tomorrow, I'll take measurements of the same JFETs. Then, if I have time, I'll try to get it working with my Arduino. I'll post more stuff later.
Logged

rowdy_riemer

  • Legendary
  • ******
  • Chip Points: 13
  • Posts: 264
    • View Profile
    • www.riemer.us
Re: Digital JFET Test Rig
« Reply #1 on: February 24, 2011, 02:18:10 AM »

Here's a quick demo video of my breadboarded rig. http://www.youtube.com/watch?v=unzQ3NeTnkE
Logged

rowdy_riemer

  • Legendary
  • ******
  • Chip Points: 13
  • Posts: 264
    • View Profile
    • www.riemer.us
Re: Digital JFET Test Rig
« Reply #2 on: February 25, 2011, 01:01:07 AM »

I hooked this rig up to my Arduino tonight. When I did my testing yesterday, I forgot Arduino has 5V digital outputs. Initially, using the Arduino to enable the test rig, cut off voltages were a bit low. I used an LM324 comparator to bump up the 5 volt Arduino outputs to 12V. This seemed to work much better.

My arduino program (sketch in Arduino terminology) enables the test rig, makes sure the mode output is low, measures the cutoff, sets the mode output high, measures Idss, and then sets the enable output low. It writes the results to the serial port (well, ftdi chip connected to the PC via usb connection). The measurements are slightly lower than with the multimeter and standard measurement rig. I don't know which is more accurate. I bought my multimeter from a flea market years ago, so I don't have a lot of faith in it.  :) In any case, I imagine the measurements are close enough.

Here's a demo with the arduino added to the test rig. http://www.youtube.com/watch?v=OVMhmgWExIo
Logged

rowdy_riemer

  • Legendary
  • ******
  • Chip Points: 13
  • Posts: 264
    • View Profile
    • www.riemer.us
Re: Digital JFET Test Rig
« Reply #3 on: February 25, 2011, 01:03:49 AM »

I'll try to remember to post the source code later.
Logged

joecool85

  • SSGuitar Admin
  • Legendary
  • ******
  • Chip Points: 979
  • Posts: 3055
  • SSG Creator
    • View Profile
    • thatraymond.com
Re: Digital JFET Test Rig
« Reply #4 on: February 25, 2011, 09:13:57 AM »

I don't know enough about testing FETs (never even done it before) to know why this is better than the more simple version that most folks use.  But I will say one thing, NEAT!
Logged
Life is what you make it.
Still rockin' the Dean Markley K-20X
thatraymond.com

rowdy_riemer

  • Legendary
  • ******
  • Chip Points: 13
  • Posts: 264
    • View Profile
    • www.riemer.us
Re: Digital JFET Test Rig
« Reply #5 on: February 25, 2011, 10:01:16 AM »

Well, it's eventually supposed to be a means for measuring them more quickly. It might only eliminate a few steps, but if you have a few hundred JFETs to measure, eliminating a few steps can make a big difference. Also, suppose you are mass producing amplifiers and you want to use JFETs in your design. If you have a test rig with a reel feeder, you can send a whole reel of these through, and quickly find the ones whose characteristics are in the range deemed acceptable for your design.

Obviously, with my bread board setup, it's not very fast. This is mainly because I have to pay close attention to where I place each JFET on the breadboard. Also, I don't have a spare momentary switch button set up yet to trigger the test, so I have to type in 't' in the serial port monitor on my lap top, and click the send button. But I can through this design on some perf board, put that in an enclosure, and have a box with a button and a socket for the JFET. And, of course, a way to connect the arduino board. Then, it is as simple as inserting the JFET into the socket and pressing the button. The lights will indicate when the test is complete. Then pop in the next one. The output from the arduino has all the measurements, so as long as I keep the JFETs in order, I don't even have to write the measurements down. I don't have to worry about screwing up dividing the voltage by 100 for the Idss test. Of course, that's simple math, but when you're measuring a whole bag of JFETs, brain-fart mistakes happen.

I think I might can even eliminate the pressing-the-button-to-start step. I bet, in between tests, I can check for a voltage on the analog input of the arduino, and trigger a test when it reads a voltage. I can adjust the trigger code to only trigger if there is a voltage for a few thousand samples to eliminate false triggers from interference on the analog input.
Logged

J M Fahey

  • SSGuitar Global Mod
  • Legendary
  • ****
  • Chip Points: 361
  • Posts: 3315
    • View Profile
Re: Digital JFET Test Rig
« Reply #6 on: February 25, 2011, 10:28:57 AM »

IM-PRES-SIVE.
Congratulations.
And remember Rube Goldberg's contraptions were funny but *did* work, he was a brilliant engineer after all.
*Why* Fet manufacturers don't offer this service is beyond me.
As you say, they might offer a 5000 FET roll, with a spreadsheet (actually, a simple table) in a cheap CD accompanying said roll.
Oh well.
The Japanese at least colour code their transistors, besides the "official" part number.
Congratulations again.
Logged

rowdy_riemer

  • Legendary
  • ******
  • Chip Points: 13
  • Posts: 264
    • View Profile
    • www.riemer.us
Re: Digital JFET Test Rig
« Reply #7 on: February 25, 2011, 10:32:20 AM »

Thanks, JM.  And thanks Joe Cool (fogot to thank him earlier for saying this project was neat).
Logged

rowdy_riemer

  • Legendary
  • ******
  • Chip Points: 13
  • Posts: 264
    • View Profile
    • www.riemer.us
Re: Digital JFET Test Rig
« Reply #8 on: February 25, 2011, 10:37:35 AM »

...
*Why* Fet manufacturers don't offer this service is beyond me.
...

This is something vendors like Small Bear could do, since their customers are primarily builders of stomp boxes and amps. They might could sort JFETs into groups by narrow criteria and tack on a few more cents on the price. I think I would pay an extra 20 or 30 cents per JFET if I knew what I was getting rather than order a few hundred and have to measure them to find the few that I want to use.
Logged

joecool85

  • SSGuitar Admin
  • Legendary
  • ******
  • Chip Points: 979
  • Posts: 3055
  • SSG Creator
    • View Profile
    • thatraymond.com
Re: Digital JFET Test Rig
« Reply #9 on: February 25, 2011, 12:37:26 PM »

Ah, this whole projects makes much more sense to me now.  Thanks for taking the time to explain it out.  You should offer the schematic to Steve at SmallBear, with an easy to use interface like this maybe he would consider pretesting the FETs as you have suggested.
Logged
Life is what you make it.
Still rockin' the Dean Markley K-20X
thatraymond.com

rowdy_riemer

  • Legendary
  • ******
  • Chip Points: 13
  • Posts: 264
    • View Profile
    • www.riemer.us
Re: Digital JFET Test Rig
« Reply #10 on: February 25, 2011, 12:41:38 PM »

I sent an email earlier to the email address listed on their main page suggesting that they offer such a service regardless of what testing rig design they come up with. I included a link to this thread. Mine is certainly simple and certainly not complete enough to start feeding reels of JFETs through. But they are certainly welcome to use as much of my design as they want.
Logged

rowdy_riemer

  • Legendary
  • ******
  • Chip Points: 13
  • Posts: 264
    • View Profile
    • www.riemer.us
Re: Digital JFET Test Rig
« Reply #11 on: December 14, 2012, 11:38:40 PM »

Someone requested the source code I used for this project, and I figured this would be a good place to post it, so here it is:

#define TEST_RIG_ENABLE_PIN 4
#define TEST_MODE_PIN 3
#define MEASUREMENT_PIN 0

#define CONVERSION_FACTOR 0.97

void setup()
{
  pinMode(TEST_RIG_ENABLE_PIN, OUTPUT);
  pinMode(TEST_MODE_PIN, OUTPUT);
  digitalWrite(TEST_RIG_ENABLE_PIN, HIGH);
  Serial.begin(9600);
  Serial.write("Initialized\n");
}
void loop()
{
  if(Serial.available() > 0)
  {
    int input = Serial.read();
   
    //if(input == 't')
    //{
      performTest();
    //}
  }
}
void performTest()
{
  digitalWrite(TEST_RIG_ENABLE_PIN, LOW);
  Serial.write("Performing Test\n");
 
  float Vpp = getVpp();
  Serial.write("Vpp = ");
  Serial.print(Vpp);
  Serial.write(" V\n");

  float Idss = getIdss();
  Serial.write("Idss = ");
  Serial.print(Idss * 1000);
  Serial.write(" mA\n");
 
  digitalWrite(TEST_RIG_ENABLE_PIN, HIGH);
  Serial.write("Test Complete\n");
}
float getVpp()
{
  digitalWrite(TEST_MODE_PIN, HIGH);
 
  float value = 0;
  float accumulatedValue = 0;
  int numberOfSamples = 10000;
 
  for(int iteration = 0; iteration < numberOfSamples; ++iteration)
    accumulatedValue += analogRead(MEASUREMENT_PIN);

  value = accumulatedValue/numberOfSamples;
  value = value/-1024 * 5 * CONVERSION_FACTOR;
 
  return(value);
}
float getIdss()
{
    digitalWrite(TEST_MODE_PIN, LOW);
 
    float value = 0;
    float accumulatedValue = 0;
    int numberOfSamples = 10000;
   
    for(int iteration = 0; iteration < numberOfSamples; ++iteration)
      accumulatedValue += analogRead(MEASUREMENT_PIN);
 
    value = accumulatedValue/numberOfSamples;
    value = value/1024 * .05 * CONVERSION_FACTOR;
   
    return(value);
}
Logged

J M Fahey

  • SSGuitar Global Mod
  • Legendary
  • ****
  • Chip Points: 361
  • Posts: 3315
    • View Profile
Re: Digital JFET Test Rig
« Reply #12 on: December 15, 2012, 08:36:51 AM »

 :dbtu: :dbtu: :dbtu: :cheesy:
Logged

JayFett

  • SSGuitar Regular
  • ***
  • Chip Points: 0
  • Posts: 20
    • View Profile
Re: Digital JFET Test Rig
« Reply #13 on: December 18, 2012, 10:14:09 PM »

So.. I have to ask... rowdy_r, are you involved with any company that needs a lot of super-sorted JFETS for use in amplifiers?
Logged

rowdy_riemer

  • Legendary
  • ******
  • Chip Points: 13
  • Posts: 264
    • View Profile
    • www.riemer.us
Re: Digital JFET Test Rig
« Reply #14 on: December 19, 2012, 09:00:09 PM »

Hehehe, nope. I'm just a tinkerer. I do have an AAS in Computer Integrated Manufacturing, which no doubt shaped some of my thinking here, but I've been simply writing software, mostly in C++, for most of the career. I figured this sort of thing could be useful. I wish I had the time to see this project all the way through, even if it's just for fun.
Logged
Pages: [1] 2   Go Up
 

* User Info
 
 
Welcome, Guest. Please login or register.
Did you miss your activation email?
* Recent Posts
Legend A30 SS Output section problem by japBLONK
[Today at 02:25:59 AM]


Yamaha EMX512SC not much output by DrGonz78
[November 26, 2014, 12:58:04 AM]


hartke3500 blown transistor by js1970
[November 25, 2014, 04:18:48 PM]


Two Channel Amp Design by J M Fahey
[November 25, 2014, 10:21:56 AM]


Thinking about trying an Amp Maker kit: WF-55 by Zaphod Beeblebrox
[November 24, 2014, 09:02:15 PM]

* Sponsors