I need some help from you expert engineers.

I have to automatically measure VCE / IC and VBE / IB of a big bunch of transistors under specified collector and base voltages.

enter image description here

Since Vcin and Vbin can be either positive or negative voltages (NPN and PNP transistors) I chose an ADC (ADS122C04, http://www.ti.com/lit/ds/symlink/ads122c04.pdf) capable to work with such voltages.

To stay in the ADC's maximum voltage ranges (common mode voltage) I tested two different solutions:

  • Use two voltage dividers one for AIN0 and the other for AIN1. But, any small mismatch between resistors values leads to very high errors.
  • Use a virtual ground tied to AIN1 and a single voltage divider for AIN3. Virtual ground tied to AIN1 keeps the AIN1 voltage to 0 and AIN0 to a voltage which is below the max ADC's input voltage. This works well to measure VCE and IC, I get values very close to what I measure with my bench multimeter (see output below replacing the transistor with a 10K resistor between collector and emitter).

enter image description here

Problem is with IB and VBE. Following the same approach used for IC/VCE I should also tie VGND to the base but this shorts base and collector.

To overcome this issue, I used an IC switch (ADG1636, https://www.analog.com/media/en/technical-documentation/data-sheets/ADG1636.pdf). Hence the microcontroller, using the Sel signal, switches AIN0, AIN1 between R1 and R2 (collector and base) before the ADC reads the voltages. I chose ADG1636 because the low series resistance.

enter image description here

Everything works well up VCin = 2.6 - 2.7V after that the measured voltage across the burden resistor gets smaller than the actual value (again the transistor with a 10K resistor between collector and emitter).

enter image description here

I understand that the IC switch has a series resistance which get larger when voltage increases but, since the current on AIN0 and AIN1 is quite small, I thought it shouldn't impact the measurements.

I stuck here.

I need any advice either to get rid off the IC switch and read VB/IB without shorting base and collector or to make the switch working up to larger voltages.

More generally, how can I reduce the Common Mode voltage at the ADC's input?

By the way, I simulated the classic approach with a non inverting level shifter based on Op-Amp (one for each input) but apparently readings would not be very precise.

Other option could be using an instrumentation amplifier (like INA826) but this would increase circuit's complexity and price.

Thank you in advance.

  • \$\begingroup\$ I see you want to bin hFE DIY instead of buy prebinned parts from ROHM. It would be easier to have a fixed design with bins for hFE . Since hFE drops to < 10% of peak, which range are you interested in? got specs? \$\endgroup\$ Dec 22, 2019 at 19:25
  • \$\begingroup\$ Personally I would buy one of those cheap transistor testers, hack it to output a Y/N signal and call it a day. Those things will test just about everything, work for about 98% of components(of types it's made for) and are cheap as hell. Plus they are open source. \$\endgroup\$
    – GB - AE7OO
    Dec 22, 2019 at 19:31
  • \$\begingroup\$ I'm more curious why the design is so hFE sensitive. Is it saturation voltage or impedance Rce? \$\endgroup\$ Dec 22, 2019 at 19:40
  • \$\begingroup\$ Why worried about cost? How many? Just do it right with INA or quad OA \$\endgroup\$ Dec 22, 2019 at 20:01
  • \$\begingroup\$ Thank you all. The request come from a customer and I don't know which is the final purpose. I don't think that a general purpose transistor tester would be an option because it would lack of precision (I suppose). In any case I had to modify the design to respect the customer's interfacing requirements and customize the firmware. The cost: We are going to build a few units only, so cost is not the main point but I would keep the design as simple as possible. \$\endgroup\$
    – Fab
    Dec 23, 2019 at 7:57


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.