If I need to set beta to a custom value, is it possible to make a customized transistor with a beta of my choice? In other words, can I edit a ready or generic transistor's beta and save it as a custom transistor? How can I do that?

  • \$\begingroup\$ Are you using LTSpice? Or? \$\endgroup\$ – jonk Sep 24 '17 at 16:19
  • \$\begingroup\$ yes using LTSpice \$\endgroup\$ – user1245 Sep 25 '17 at 0:50
  • \$\begingroup\$ Then there is a VERY easy method using "ako". You can reference another model without having to actually copy it and just modify whatever parameter you want. You can even make it part of a stepped parameter. I see that there is an answer here now on the topic. \$\endgroup\$ – jonk Sep 25 '17 at 0:52

The other answers are OK, but there is a much easier way to do what you want, and it is not documented in the official guide.

It is the AKO "mode" (AKO stands for "A Kind Of") of the .MODEL directive.

If you define a model like this:

.MODEL MyModelName AKO: 2N2222

MyModelName will represent an NPN exactly equal to the 2N2222. For example:

.MODEL PN2222 AKO: 2N2222

You can also vary some parameters from the "base" component:

.MODEL MyBJT AKO: 2N2222 (Bf=400)

makes MyBJT a 2N2222 with a gain of 400.

Here is an hastily conceived simulation that shows what I told you:

enter image description here

enter image description here

As you can see, I just changed the value of Bf for the "AKO model" and this reflected on the output characteristics as you would expect from that change.

This trick (AKO aliases) can be found in the undocumented LTSpice page of the LTwiki.

| improve this answer | |
  • \$\begingroup\$ A right, I totally forgot about that one, it can also be fun to use in hacks together with parameter stepping. Does it still work with XVII? \$\endgroup\$ – PlasmaHH Sep 25 '17 at 9:24
  • \$\begingroup\$ @PlasmaHH Can't say for sure. I tried installing the new version, but had some issues because of my needs. LTspiceIV could be made "portable" under Windows by configuring the environment variable "APPDATA". The new version insists on creating stuff in the user profile, despite any changes in other env vars. Therefore I postponed its "installation". I don't really need the few new features they added. \$\endgroup\$ – Lorenzo Donati -- Codidact.com Sep 25 '17 at 18:57

The built-in transistors can be found in the file lib/cmp/standard.bjt in the LTSpice installation directory.

You can copy one entry as a single SPICE directive into your circuit, rename it, and change the Bf parameter:

LTspice custom transistor

(To select a custom transistor model for a component, use Ctrl+right click.)

You could also add the new entry to the standard.bjt file, but then your .asc file would no longer work anywhere else, or after an update.

| improve this answer | |

Open the transistor file (standard.bjt) and locate the transistor of your choice. Now take that line and insert it into a .model statement in your schematic and change whatever parameter you like.

Note that while you can add that transistor to the .bjt file, I would recommend against it as it will likely be overwritten by a ltspice update cycle.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.