Re: models for triodes and pentodes
--- In LTspice@..., Bill Lewis <wrljet@y...> wrote: Please post any replies to this question to the list. I'm interested in vacuum tube modeling.
... and the obvious question: How do I relate the previous info with the symbol.
Hello Bill, you will find the symbol in the "misc" directory. A short description follows: 1. Load the triode symbol into your schematic. 2. Replace the value 'triode' with the model name used in the model file. In this case it is '12AX7A'. 3. Put the model text into a file and store it in your working directory. That is the directory where your schematic is. 4. Add the line .INCLUDE modelfilename in your schematic. That's it. This procedure will work for any kind of part and you can put as many models you want into one file. It is important for any kind of symbol and model that the pin order is matching. Let's take a look to the triode symbol. The provided symbol has the pin order P(1), G(2), K(3). The model text uses .SUBCKT 12AX7A P G K . This means that P is pin-1 G is pin- 2 and K is pin-3. We have luck, the pin order is the same. If it is different, then we could either change the order in the model text or in the symbol. I have the ready to run example files attached. By the way, the model isn't good at low Vpk voltages. Take a look to the Ip(Vgk, Vpk) plot to see what I mean. Best Regards Helmut The model file: triode_12ax7a.sub --------------------------------- * 12AX7A Triode PSpice Model 8/96, Rev. 1.0 (fp) * * ------------------------------------------------------------------- * This model is provided "as is", with no warranty of any kind, * either expressed or implied, about the suitability or fitness * of this model for any particular purpose. Use of this model * shall be entirely at the user's own risk. * * For a discussion about vacuum tube modeling please refer to: * W. Marshall Leach, jr: "SPICE Models for Vacuum-Tube Amplifiers"; * J. Audio Eng. Soc., Vol 43, No 3, March 1995. * ------------------------------------------------------------------- * * This model is valid for the following tubes: * 12AX7A/ECC83, 7025, 6EU7, 6681, 6AV6, 12DW7/7247 (Unit #1); * at the following conditions: * Plate voltage : 25..400V * Grid voltage : 0..-3.5V * Cathode current: 0..8mA * * * Connections: Plate * | Grid * | | Cathode * | | | .SUBCKT 12AX7A P G K E1 2 0 VALUE={45+V(P,K)+95.43*V(G,K)} R1 2 0 1.0K Gp P K VALUE={1.147E-6*(PWR(V(2),1.5)+PWRS(V(2),1.5))/2} Cgk G K 1.6P Cgp G P 1.7P Cpk P K 0.46P .ENDS 12AX7A.SUBCKT 12AX7A P G K The circuit file: triode_test.asc --------------------------------- Version 4 SHEET 1 1104 692 WIRE 336 384 336 496 WIRE 368 288 368 224 WIRE 368 224 512 224 WIRE 512 336 512 224 WIRE 512 416 512 496 WIRE 512 496 336 496 WIRE 336 496 176 496 WIRE 176 496 176 448 WIRE 176 368 176 336 WIRE 176 336 320 336 WIRE 176 528 176 496 FLAG 176 528 0 SYMBOL F:\PROGRAMME\LTC\SWCADIII\lib\sym\Misc\triode 368 336 R0 SYMATTR InstName U1 SYMATTR Value 12AX7A SYMBOL F:\PROGRAMME\LTC\SWCADIII\lib\sym\voltage 176 352 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V1 SYMATTR Value 0 SYMBOL F:\PROGRAMME\LTC\SWCADIII\lib\sym\voltage 512 320 R0 SYMATTR InstName V2 SYMATTR Value 200V TEXT 142 136 Left 0 !;dc V2 0 200 0.1 V1 -5 20 5 TEXT 136 176 Left 0 !.INCLUDE triode_12ax7a.sub TEXT 592 136 Left 0 ;.dc V2 0 200 0.1 V1 -5 20 5 Ip(Vpk, Vgk) TEXT 144 96 Left 0 !.dc V1 -5 20 0.1 TEXT 592 96 Left 0 ;.dc V1 -5 20 0.1 Ip(Vgk)
|
Re: Third party model usage - please help
kaplounovski wrote: Hello, I'm trying to use the National LMC6484A opamp model in LTSpice. I've downloaded their model and placed it into ..\LTC\SWCADIII\lib\sub directory under the name LMC6484A.sub. Then I created a simple test schematic where I used opamp2 symbol with Prefix = X, Spice Model = LMC6484A.sub, Value = LMC6484A.sub properties. I've also added the .inc LMC6484A.sub directive to the netlist.
Running the simulation produces the following error message: Error: Unknown subckt called in: xu1 ...... lmc6484a.sub lmc 6484a.sub
What am I doing wrong?
Thanks, Eugene.
To unsubscribe from this group, send an email to: LTspice-unsubscribe@...
Your use of Yahoo! Groups is subject to
Try leaving model blank and using value = lmc6484a without the .sub Good Luck Jim Stockton
|
Third party model usage - please help
Hello, I'm trying to use the National LMC6484A opamp model in LTSpice. I've downloaded their model and placed it into ..\LTC\SWCADIII\lib\sub directory under the name LMC6484A.sub. Then I created a simple test schematic where I used opamp2 symbol with Prefix = X, Spice Model = LMC6484A.sub, Value = LMC6484A.sub properties. I've also added the .inc LMC6484A.sub directive to the netlist.
Running the simulation produces the following error message: Error: Unknown subckt called in: xu1 ...... lmc6484a.sub lmc 6484a.sub
What am I doing wrong?
Thanks, Eugene.
|
Re: models for triodes and pentodes
Please post any replies to this question to the list. I'm interested in vacuum tube modeling. Thanks, Bill --- guille_bonh <guille_bonh@...> wrote: I'd appreciate any help on modeling valves. For example, I copy what I have for the triode 12AX7A:
* 12AX7A Triode PSpice Model 8/96, Rev. 1.0 (fp) * * ------------------------------------------------------------------- * This model is provided "as is", with no warranty of any kind, * either expressed or implied, about the suitability or fitness * of this model for any particular purpose. Use of this model * shall be entirely at the user's own risk. * * For a discussion about vacuum tube modeling please refer to: * W. Marshall Leach, jr: "SPICE Models for Vacuum-Tube Amplifiers"; * J. Audio Eng. Soc., Vol 43, No 3, March 1995. * ------------------------------------------------------------------- * * This model is valid for the following tubes: * 12AX7A/ECC83, 7025, 6EU7, 6681, 6AV6, 12DW7/7247 (Unit #1); * at the following conditions: * Plate voltage : 25..400V * Grid voltage : 0..-3.5V * Cathode current: 0..8mA * * * Connections: Plate * | Grid * | | Cathode * | | | .SUBCKT 12AX7A P G K E1 2 0 VALUE={45+V(P,K)+95.43*V(G,K)} R1 2 0 1.0K Gp P K VALUE={1.147E-6*(PWR(V(2),1.5)+PWRS(V(2),1.5))/2} Cgk G K 1.6P Cgp G P 1.7P Cpk P K 0.46P .ENDS 12AX7A.SUBCKT 12AX7A P G K E1 2 0 VALUE={45+V(P,K)+95.43*V(G,K)} R1 2 0 1.0K Gp P K VALUE={1.147E-6*(PWR(V(2),1.5)+PWRS(V(2),1.5))/2} Cgk G K 1.6P Cgp G P 1.7P Cpk P K 0.46P
... and the obvious question: How do I relate the previous info with the symbol. Thanks in advance,
Guillermo
To unsubscribe from this group, send an email to: LTspice-unsubscribe@...
Your use of Yahoo! Groups is subject to
__________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop!
|
models for triodes and pentodes
I'd appreciate any help on modeling valves. For example, I copy what I have for the triode 12AX7A:
* 12AX7A Triode PSpice Model 8/96, Rev. 1.0 (fp) * * ------------------------------------------------------------------- * This model is provided "as is", with no warranty of any kind, * either expressed or implied, about the suitability or fitness * of this model for any particular purpose. Use of this model * shall be entirely at the user's own risk. * * For a discussion about vacuum tube modeling please refer to: * W. Marshall Leach, jr: "SPICE Models for Vacuum-Tube Amplifiers"; * J. Audio Eng. Soc., Vol 43, No 3, March 1995. * ------------------------------------------------------------------- * * This model is valid for the following tubes: * 12AX7A/ECC83, 7025, 6EU7, 6681, 6AV6, 12DW7/7247 (Unit #1); * at the following conditions: * Plate voltage : 25..400V * Grid voltage : 0..-3.5V * Cathode current: 0..8mA * * * Connections: Plate * | Grid * | | Cathode * | | | .SUBCKT 12AX7A P G K E1 2 0 VALUE={45+V(P,K)+95.43*V(G,K)} R1 2 0 1.0K Gp P K VALUE={1.147E-6*(PWR(V(2),1.5)+PWRS(V(2),1.5))/2} Cgk G K 1.6P Cgp G P 1.7P Cpk P K 0.46P .ENDS 12AX7A.SUBCKT 12AX7A P G K E1 2 0 VALUE={45+V(P,K)+95.43*V(G,K)} R1 2 0 1.0K Gp P K VALUE={1.147E-6*(PWR(V(2),1.5)+PWRS(V(2),1.5))/2} Cgk G K 1.6P Cgp G P 1.7P Cpk P K 0.46P
... and the obvious question: How do I relate the previous info with the symbol. Thanks in advance,
Guillermo
|
Re: More on Burr Brown Models
--- polapart <sahawley@m...> wrote: I am trying to run a Burr Brown Op Amp, the OPA336. The transient analysis "sort of" runs but LTSpice notes a couple of problems, most notably unrecognized parameters, jssw and vfb. I couldn't find this model. Can you send it to me. --Mike Here's the link to the TI page. Thanks genericPartNumber=OPA336&pfsection=models Steve H
|
Re: Defining expressions for resistor values
By the way, here's my .ASC file. Sadly,
By the way, I'm including my .ASC version as an attachment. If that doesn't work in these posts, I'll just add it as text (but the darned word-wrapping will probably mess it up.)
In this example, what I'd like to do is set up R2 as an equation so that it is calculated. But I do *not* want to have to estimate Vbe. I want to use the exact value, computed by LT Spice, if possible. Since LT Spice must be using matrices to simulate, I figure it should be able to solve for the necessary values. But I don't know.
Thanks!
Jon
|
Re: Defining expressions for resistor values
On Tue, 18 Mar 2003 15:21:56 -0800 (PST), you wrote: I'm interested in calculating iterative values for resistors[...] The .asc file below might get you started there.
--Mike <snipped file>
Thanks, I took a look at that. But it uses a set Vbe, which I have to estimate beforehand and then measure and then re-edit into the .param and then re-run and then re-measure and ... I was wondering if there was a way to enter into an expression the equivalent of: V(N001,N003). Or some-such. Possible? Or am I stuck iterating to a solution, manually? Jon
|
Re: More on Burr Brown Models
--- polapart <sahawley@...> wrote: I am trying to run a Burr Brown Op Amp, the OPA336. The transient analysis "sort of" runs but LTSpice notes a couple of problems, most notably unrecognized parameters, jssw and vfb. I couldn't find this model. Can you send it to me. --Mike __________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop!
|
Re: Defining expressions for resistor values
Jon, I'm interested in calculating iterative values for resistors[...] The .asc file below might get you started there. --Mike Version 4 SHEET 1 892 900 WIRE 320 576 320 528 WIRE 320 448 320 400 WIRE 320 304 320 240 WIRE 320 240 128 240 WIRE 128 240 128 256 WIRE 128 336 128 352 WIRE 128 560 128 576 WIRE 128 464 128 480 WIRE 256 352 128 352 WIRE 128 352 128 368 WIRE 64 416 -304 416 WIRE -304 416 -304 448 WIRE -304 528 -304 560 WIRE 464 384 464 352 WIRE 464 272 464 240 WIRE 464 240 320 240 FLAG 128 576 0 FLAG 320 576 0 FLAG -304 560 0 FLAG 464 384 0 SYMBOL npn 64 368 R0 SYMATTR InstName Q1 SYMATTR Value 2N3904 SYMBOL pnp 256 400 M180 WINDOW 0 74 72 Left 0 WINDOW 3 76 34 Left 0 SYMATTR InstName Q2 SYMATTR Value 2N3906 SYMBOL res 112 240 R0 SYMATTR InstName R1 SYMATTR Value {R1} SYMBOL res 112 464 R0 SYMATTR InstName R2 SYMATTR Value {R2} SYMBOL voltage -304 432 R0 SYMATTR InstName V1 SYMATTR Value pulse(0 {Vdd} 0 10u 10u .5m 1m) SYMBOL voltage 464 256 R0 SYMATTR InstName V2 SYMATTR Value {Vcc} SYMBOL res 304 432 R0 SYMATTR InstName R3 SYMATTR Value {Rload} TEXT -288 672 Left 0 !.param load=10m R2=500 Vdd=2 Vbe=.7 TEXT -288 736 Left 0 !.param R1=(Vdd - Vbe)/(load/10+Vbe/R2+Ib) TEXT -266 604 Left 0 !.tran 3m TEXT -288 704 Left 0 !.param Ib=10u Rload = Vcc/load Vcc=5 __________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop!
|
More on Burr Brown Models
I am trying to run a Burr Brown Op Amp, the OPA336. The transient analysis "sort of" runs but LTSpice notes a couple of problems, most notably unrecognized parameters, jssw and vfb.
The AC analysis fails to converge. The comments in the deck offer some advice with regard to modifyng ITL and gmin via .OPTION which doesn't seem to help. Are these more PSPICE problems?
Thanks
|
Defining expressions for resistor values
I'm interested in calculating iterative values for resistors. For example, an emitter resistor's value may be based on the emitter voltage divided by some current I need to have. However, the emitter voltage is, of course, dependent on the emitter/collector current which will depend on the emitter resistor value. An iterative process could track down this value closely, but I don't know how to write the expression.
Here's an example of what I mean:
Vcc | ,------x | | \ | / R2 | \ | | | | |/e Q2 x----| PNP | |\c | | | '-----> to the load |/c Q1 >-----| NPN control |\e signal | at Vdd | or 0V, \ not at / R1 Vcc \ | | gnd
In this case, R1 needs to be:
R1 = (Vdd - Vbe(Q1))/(I(load)/10+Vbe(Q2)/R2+Ib(Q1))
I want to set up I(load) to some value and have R1 computed from that.
When I type V(N001,N003) as part of the expression, in order to get the Vbe(Q1) for example, it's rejected with "Unable to find definition of model v - default assumed." This isn't what I want, naturally.
Is there any way to set up the expression for R1, appropriately?
Jon
|
Re: Extending the model libraries for standard parts
On Tue, 18 Mar 2003 09:16:19 -0800 (PST), you wrote: Jon,
...But is it possible to extend the dialog box list for the NPN transistors, for example, so that I can simply select from the list rather than overriding the "Value" on the schematic, directly? ... And if there is a way, can it be secure against the automatic update process, so that I keep my additions in the face of regular updates? The selection dialogs for bipolars, jfets, diodes, and mosfets use the .model entries in the files ./lib/cmp/standard{.bjt,.jft,.dio,.mos} You can edit these with a text editor(or LTspice) to add new components. If you update with the menu item Tools=>Sync Release, your versions of these files should be merged with the new ones so you don't loose your models. Wonderful! That works better than I'd hoped. Glad you added the extra code to make that happen during updating. However, if LT now supplies a model with the same name as one you've added, you will loose your version of the model and it will be replaced with the version from LT. Okay. So this is a good reason why you might want to keep the count of your models low -- less likely to kill someone's personal models that they've added. In particular, I picked up my own copy of the 2N3391A, for example, which is also in your standard distribution. So if I placed it there in STANDARD.BJT, it would be replaced during updating. Luckily, your version is identical. I also noticed that if I have a version of 2N3391A in my own "BJT.LIB," for example, and your STANDARD.BJT also has that model, as well, then your dialog's list does *not* include the 2N3391A in it, at all. It recognizes that there is a definition in my own .LIB, so it removes it from its own list. Too bad it doesn't just give priority to my definitions and compile a composite list from both the STANDARD.BJT as well as my BJT.LIB, for example. Then I wouldn't need to modify STANDARD.BJT, at all. That's because the merge routine isn't smart enough to know which one's you added and which ones are just old versions from LT. Makes sense to me. It would be tough to solve, generally. (I suppose you could add a special parameter which only you'd use in your models.) That being said, I would like to recommend that you keep a version of your own edited standard.* files for safety. Will do. Note that if you don't use the Tools=>sync Release feature but reinstall, then the standard.* files will simply be replaced with those in the current distribution. Understood. Or if I should decide to forget about the standard components included with LT Spice and start building my own large library of parts with trusted parameters, can I get them to be popped into these selection lists? You'd have to maintain your own versions of the standard.* files and copy them over into the ./lib/cmp directory after every update.
Okay. While I'm at it, it might be nice, someday, if you'd support user designed .ASY's placed in lib\sym which could have lists of .SUBCKT attached to them which would be automatically supported as a selection list for that .ASY. So that I could develop a small list, for example, for the 2N6027 and 2N6028 or for other custom X-type circuits I might develop. (It's still incredible to me that I'm actually using and learning from a simulator which doesn't eat up my system memory or crash under WIN98 or otherwise complicate my life. So I'm glad for everything I'm already using.) BTW, only .model statements can be put in the standard.* files. Subcircuits can't be parsed there. Thanks! I wouldn't have guessed about that limitation. I'll be careful, then. (Chances are, and I'm guessing here, that this probably means that allowing user-created X-type list generation would be "difficult" under the current architecture. Oh, well.) Thanks again for the active support. I'm already feeling guilty. Jon
|
Re: Extending the model libraries for standard parts
Jon, ...But is it possible to extend the dialog box list for the NPN transistors, for example, so that I can simply select from the list rather than overriding the "Value" on the schematic, directly? ... And if there is a way, can it be secure against the automatic update process, so that I keep my additions in the face of regular updates? The selection dialogs for bipolars, jfets, diodes, and mosfets use the .model entries in the files ./lib/cmp/standard{.bjt,.jft,.dio,.mos} You can edit these with a text editor(or LTspice) to add new components. If you update with the menu item Tools=>Sync Release, your versions of these files should be merged with the new ones so you don't loose your models. However, if LT now supplies a model with the same name as one you've added, you will loose your version of the model and it will be replaced with the version from LT. That's because the merge routine isn't smart enough to know which one's you added and which ones are just old versions from LT. That being said, I would like to recommend that you keep a version of your own edited standard.* files for safety. Note that if you don't use the Tools=>sync Release feature but reinstall, then the standard.* files will simply be replaced with those in the current distribution. Or if I should decide to forget about the standard components included with LT Spice and start building my own large library of parts with trusted parameters, can I get them to be popped into these selection lists? You'd have to maintain your own versions of the standard.* files and copy them over into the ./lib/cmp directory after every update. BTW, only .model statements can be put in the standard.* files. Subcircuits can't be parsed there. --Mike __________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop!
|
Re: using vendor supplied P-spice op-amp models
--- In LTspice@..., Panama Mike <panamatex@y...> wrote: John,
I was really puzzled by the complicated G- source _expression. That all makes sense now. Yeah. I just put up a version, 2.00l. It lets you duplicate the leakage of PSpice current sources in LTspice. Go to Tools=>Control Panel=>SPICE and check "Add GMIN across current sources" Then you will see the input bias drop to zero on the -E models.
There's still a couple differences between PSpice and LTspice even after checking the box. PSpice does not report the current's gmin leakage current, which is just a dumb mistake that I don't duplicate. Also, in PSpice the current sources don't leak in the .ac analysis, just .op and .tran. Which is a complete inconsistency and just another error I didn't duplicate in LTspice.
There's one other thing to keep in mind when working with high impedance circuits. You might want to tighten abstol. That controls the absolute(vs. relative) acceptable current error. It defaults to 1pA.
--Mike
_ Mike, I downloaded the new release this morning and simulated my circuit again. Sure enough, the input bias current is now reasonable and the simulation behaves like the actual circuit. Thanks for looking into this and getting a fix up so quickly. - John _________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop!
|
Extending the model libraries for standard parts
I know that I can create my own library files and use .include to specify them. But is it possible to extend the dialog box list for the NPN transistors, for example, so that I can simply select from the list rather than overriding the "Value" on the schematic, directly? It's nice to look over the parameter list, sometimes, to look for the best of some particular parameter, without having to print out my library file.
And if there is a way, can it be secure against the automatic update process, so that I keep my additions in the face of regular updates?
Or if I should decide to forget about the standard components included with LT Spice and start building my own large library of parts with trusted parameters, can I get them to be popped into these selection lists?
Jon
|
Re: using vendor supplied P-spice op-amp models
John, I was really puzzled by the complicated G- source _expression. That all makes sense now. Yeah. I just put up a version, 2.00l. It lets you duplicate the leakage of PSpice current sources in LTspice. Go to Tools=>Control Panel=>SPICE and check "Add GMIN across current sources" Then you will see the input bias drop to zero on the -E models. There's still a couple differences between PSpice and LTspice even after checking the box. PSpice does not report the current's gmin leakage current, which is just a dumb mistake that I don't duplicate. Also, in PSpice the current sources don't leak in the .ac analysis, just .op and .tran. Which is a complete inconsistency and just another error I didn't duplicate in LTspice. There's one other thing to keep in mind when working with high impedance circuits. You might want to tighten abstol. That controls the absolute(vs. relative) acceptable current error. It defaults to 1pA. --Mike __________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop!
|
Re: using vendor supplied P-spice op-amp models
--- In LTspice@..., Panama Mike <panamatex@y...> wrote: John,
Are there any special considerations with using P-spice op-amp macro models with LTspice? I'm trying to simulate a circuit that uses a Burr Brown/TI electrometer op-amp (OPA128 or OPA129) and I'm getting incorrect results... As has been pointed out, the non-E version of the models do leak much more than the product. That's the model. The E versions are supposed model input bias current and it still leaked too much in LTspice.
I just found out why the E models have large bias currents in LTspice. It turns out that all current sources in PSpice are shorted out with a very small conductivity equal to GMIN which defaults to 1e-12.
All versions of the models have use JFETs for the input stage. The JFET supplies GMIN conductivity between gate-source and gate- drain. With +/-15V supply voltage this leads to an input bias current of 15pA. In LTspice you can set GMIN to zero, so you an turn off this leakage. But PSpice can't converge with GMIN=0.
So the -E versions of the models add a current source to cancel the JFET leakage. So far so good. Unfortunately, all current sources in PSpice also supply their own additional GMIN of conductivity. That is, PSpice shorts out all current sources with a resistivity of 1e12 Ohms. There's no reason for this, it's just bad SPICE design as far as I can tell. So the additional current source to cancel the JFET leakage has to cancel it's own leakage, too. That's what makes the expression of the G- sources so complicated. Also, when you run the -E version in LTspice, the bias current doesn't go to zero where if you run it in PSpice, it will. I will probably and an option in the control panel of LTspice to duplicate this leakage as an option in the near future.
Thanks to Helmut for help in isolating the problem.
Below is a deck that shows the PSpice vs LTspice leakage of currents. In LTspice you will get the correct answer, but in PSpice, you will get an error because the current sources don't have infinite impedance.
--Mike
* * V(y) should be 100KV R1 Y 0 1e11 G1 0 Y N001 0 1 Vin3 N001 0 1u
* V(x) should be -100KV R2 X 0 1e11 G2 X 0 value = { 1u }
* V(z) should be -100KV I1 Z 0 1u R3 Z 0 1e11 .tran 1m 1 .options gmin=1e-10 .probe .end
Mike, I was really puzzled by the complicated G-source expression. That all makes sense now. Thanks, John __________________________________________________ Do you Yahoo!? Yahoo! Web Hosting - establish your business online
|
Re: using vendor supplied P-spice op-amp models
Brain,
On one hand, I'm frustrated to learn there are so many issues with vendor supplied models. This sort of problem can send you down a rat hole for quite some time, and leave you worrying about the soundness of your design. On the other hand, I know that I'm going to only use simulation to validate my initial design and analysis, and not use it as a substitute for other analytical methods. This experience only supports my convictions and helps keep me honest. The golden rule in analogue design is that n simulators give n different answers, you have to be able to hand-verify results to some extent. I tell the engineers here, half-jokingly that simulation tools and models are for amusement only since both the tool and device vendors don't guarantee the accuracy of anything. Brian -- Brian Howie | Tel: 0131 343 5590 BAE SYSTEMS | Fax: 0131 343 5050 Sensor Systems Division | Email brian.howie@... Silverknowes | bhowie@... Edinburgh EH4 4AD | Web site www.baesystems.com *** This email and any attachments are confidential to the intended recipient and may also be privileged. If you are not the intended recipient please delete it from your system and notify the sender. You should not copy it or use it for any purpose nor disclose or distribute its contents to any other person. ***
|
Re: using vendor supplied P-spice op-amp models
John, Are there any special considerations with using P-spice op-amp macro models with LTspice? I'm trying to simulate a circuit that uses a Burr Brown/TI electrometer op-amp (OPA128 or OPA129) and I'm getting incorrect results... As has been pointed out, the non-E version of the models do leak much more than the product. That's the model. The E versions are supposed model input bias current and it still leaked too much in LTspice. I just found out why the E models have large bias currents in LTspice. It turns out that all current sources in PSpice are shorted out with a very small conductivity equal to GMIN which defaults to 1e-12. All versions of the models have use JFETs for the input stage. The JFET supplies GMIN conductivity between gate-source and gate- drain. With +/-15V supply voltage this leads to an input bias current of 15pA. In LTspice you can set GMIN to zero, so you an turn off this leakage. But PSpice can't converge with GMIN=0. So the -E versions of the models add a current source to cancel the JFET leakage. So far so good. Unfortunately, all current sources in PSpice also supply their own additional GMIN of conductivity. That is, PSpice shorts out all current sources with a resistivity of 1e12 Ohms. There's no reason for this, it's just bad SPICE design as far as I can tell. So the additional current source to cancel the JFET leakage has to cancel it's own leakage, too. That's what makes the expression of the G- sources so complicated. Also, when you run the -E version in LTspice, the bias current doesn't go to zero where if you run it in PSpice, it will. I will probably and an option in the control panel of LTspice to duplicate this leakage as an option in the near future. Thanks to Helmut for help in isolating the problem. Below is a deck that shows the PSpice vs LTspice leakage of currents. In LTspice you will get the correct answer, but in PSpice, you will get an error because the current sources don't have infinite impedance. --Mike * * V(y) should be 100KV R1 Y 0 1e11 G1 0 Y N001 0 1 Vin3 N001 0 1u * V(x) should be -100KV R2 X 0 1e11 G2 X 0 value = { 1u } * V(z) should be -100KV I1 Z 0 1u R3 Z 0 1e11 .tran 1m 1 .options gmin=1e-10 .probe .end __________________________________________________ Do you Yahoo!? Yahoo! Web Hosting - establish your business online
|