I am pretty sure that what the guys at PSpice do.
If that doesn't suit, Use GerdW's suggestion of a multi-dimensional Lookup and interpolation.
I was busy with my semester exams and now that they are done I am resuming work working on my project. I now want to make a .vi simulating the working of a transistor. Its an npn transistor and only simulations is required for now. I want to implement the output characterictics ie. Vce v/s Ic (collector current). The equations are Ic= [Vcc (Supply voltage- Vce)/Rc(approx 1k) ]. We change Vce to get different Ic for a particular value of Ib(base current). The file attached is what I want to achieve. The second file is the biasing diagram
I am stuck on a problem ie I cant find a way to change Vce which depends on Vcc and then change Ic to get the output characteristics. Please help.
it appears your transistor has a gain of 20 thereabout. Ib x 20 = Ic. Your base current will control the collector current. Use a knob control to adjust your Ib, which will control everything else (i.e. Ib increases, Ic increases, Vce decreases etc.) I may be off the mark from what you are wanting, but your problem doesn't seem that complex. You just want to demonstrate the characteristic curve of the transistor, correct?
The guys at PSPICE have an inbuilt model that has the properties and working of a device say transistor or op amp defined. So they just need to pick the device and place them, wire them accordingly. Whereas my need is to make such a device. I hope you get it. And yeah, of course my working and study material are those two equations that you linked 😄
The transistor gain (beta- b) is ranging from 20- 200. Ib is constant when we are plotting Ic v/s Vce. This is what the equations say. However internally Ib does play a role. This is what am facing as a problem.
A lazy engineer such as myself would look to see if you can make p-spice function calls (via .dll or command) from labview.
Why re-invent the wheel.
I suspect that this isn't in the 'spirit' of your project.
When I was at Uni I had do this problem in excel VBA.
It all boils down to the formulas you use.
Unfortunately in your case (curve tracing of what looks like a BC846) you can't use the simplified formula where you approximate ic=ie.
Do you have to account for Miller capacitance or is it a DC applicaation,
Sir, its my final year project. So I need to make a model 😞 . Also, can you explain me the how to use the .dll or command function. Am not aware of it so.
All the formulas are simple to study. But for implementation I guess, its a bit difficult cause we need to take care of the internal workings also.
Nah, only DC application for now. The basic one ie
the DLL function is pretty easy to use (do a search in the function pallette, read the help).
Select the DLL (spice.dll), Then Choose the function you want to use from the dropdown.
Labview is surprisingly easy to use in this respect.
If you have to do it from scratch,
I am still not sure how you get around using schockley's equation, Vbe varies with current (by about 10%) and can be a major contributer to your linearity.
Figure out your formula,
Put your formula into a .vi using Beta, Vin and your resistor values as inputs, Vc as the output.
Place this VI in nested loops sweeping through your variable paramters (Beta, Bias resistors, Swamping resistor etc)
Plot, log, or whatever form you need the data to be output out.
I will certainly check the DLL function.
The equations for the 3 regions are
if (Vbe <0.6)
if (Vbe >0.8)
if (Vbe = 0.6 or Vbe = 0.7 or Vbe=0.8)
Can you also send me a .vi which includes your steps !
given your description you will have a VI with just one case structure with 3 cases and some very simple formulas. It seems to be a nice work to actually learn LabVIEW (see this link).
I want to remark:
- Your "3 equations" don't define the whole working range! What happens for Vbe=0.65 or Vbe=0.75?
I did not get any link ?
Sir, am increasing the value of Vbe in parts of 0.1 so I dont think I will ever come across 0.65 and 0.75.
Also, now you know what equations am using can you help me ?