Better power MOSFET models in LTSpice

Updated Exicon models

Here are the latest 10N20 and 10P20 models using the Exicon datasheets
Code:
.model 10N20_ VDMOS (Rg=60 Vto={0.17-(1.6m-1m)*(Temp-25)} Lambda=3m Rs={0.245*(1+2.6m*(Temp-25))} Kp={1.33*((Temp+273)/(273+25))**-(2-1.5)} Ksubthres={0.095*(1+2.9m*(Temp-25))} Mtriode=0.3 Rd={0.6*(1+3m*(Temp-25))} Cgdmax=500p Cgdmin=10p a=0.25 Cgs=500p Cjo=300p m=0.7 VJ=0.75 IS=4n N=1 Eg=1.5 Rb=0.2 Vds=200 Ron=1 mfg=IHKT2007)
.model 10P20_ VDMOS (pchan Rg=60 Vto={(-0.535+(1.7m-1m)*(Temp-25))} Rs={0.37*(1+3.4m*(Temp-25))} Kp={0.995*((Temp+273)/(273+25))**-(2-1.5)} Ksubthres={0.12*(1+3.1m*(Temp-25))} Mtriode=0.4 Rd=0.2 Lambda=5m Cgdmax=900p Cgdmin=25p a=0.25 Cgs=900p Cjo=400p m=0.7 VJ=0.75 IS=4u N=2.4 Eg=1 Rb=1 Vds=-200 Ron=1 mfg=IHKT2007)

.model 20N20_ VDMOS (Rg=30 Vto={0.155-(1.6m-1m)*(Temp-25)}  Rs={0.12*(1+2.5m*(Temp-25))} Kp={2.40*((Temp+273)/(273+25))**-(1.9-1.5)}  Ksubthres={0.09*(1+1m*(Temp-25))} Mtriode=0.3 Rd=0.16 Lambda=3m  Cgdmax=1n Cgdmin=20p a=0.25 Cgs=1n Cjo=1n m=0.7 VJ=0.75 IS=8n N=1 Eg=1.5  Rb=0.1 Vds=200 Ron=500m mfg=IHKT2007)
.model 20P20_ VDMOS (pchan Rg=30 Vto={-0.61+2.2m*(Temp-25)} Rs={0.17*(1+2.0m*(Temp-25))} Kp={1.85*((Temp+273)/(273+25))**-(2-1.5)} Ksubthres={0.105*(1+5m*(Temp-25))} Mtriode=0.35 Rd=0.05 Lambda=5m Cgdmax=1.9n Cgdmin=50p a=0.25 Cgs=1.8n Cjo=1n m=0.7 VJ=0.75 IS=8u N=2.4 Rb=0.5 Vds=-200 Ron=500m mfg=IHKT2007)
You can remove the underscore in the name if you want. I use the underscore to differentiate it from my other LT-XVIII models which don't have the underscore. The version above works on both LT-IV and LT-XVII.

My apology for not noticing the capacitance values got messed up:eek:.
Thanks wtnh for noticing this. Please let us know if there any other issues.
 
  • Like
Reactions: 1 user
Hi oreo382,

To operate the models at 75C add Temp=75 after the name, eg "10N20_ Temp=75"

This offsets this MOSFET temperature by 75-27 or 48 degrees. It only affects each instance with the Temp=75 added. So all other parts on the circuit are at 27 deg (the default for SPICE).

Then when you use .Temp 27 37 card you step all parts on the circuit by 10 deg. And the 10N20_ Temp=75 statement gets 10 deg added, so the MOSFET Temp=75 is stepped from 75 deg to 85 deg.

In other words the Temp=75 for the MOSFET is an offset.

I hope that's not too confusing:confused:. If it is maybe keantoken can explain it better.

A test file is attached so you can try the .Temp 27 37 card
 

Attachments

  • Temp-test.zip
    920 bytes · Views: 107
Ian,thank you for your help.I tried adding the temp=75 after the name as you suggested and spice came back with "can't find definition of model 10n20_temp". I changed the spice model designation as you said ie: .model 10n20_temp=75 in notepad and saved it to my spice directory.
 
Here are the latest 10N20 and 10P20 models using the Exicon datasheets
Code:
.model 10N20_ VDMOS (Rg=60 Vto={0.17-(1.6m-1m)*(Temp-25)} Lambda=3m Rs={0.245*(1+2.6m*(Temp-25))} Kp={1.33*((Temp+273)/(273+25))**-(2-1.5)} Ksubthres={0.095*(1+2.9m*(Temp-25))} Mtriode=0.3 Rd={0.6*(1+3m*(Temp-25))} Cgdmax=500p Cgdmin=10p a=0.25 Cgs=500p Cjo=300p m=0.7 VJ=0.75 IS=4n N=1 Eg=1.5 Rb=0.2 Vds=200 Ron=1 mfg=IHKT2007)
.model 10P20_ VDMOS (pchan Rg=60 Vto={(-0.535+(1.7m-1m)*(Temp-25))} Rs={0.37*(1+3.4m*(Temp-25))} Kp={0.995*((Temp+273)/(273+25))**-(2-1.5)} Ksubthres={0.12*(1+3.1m*(Temp-25))} Mtriode=0.4 Rd=0.2 Lambda=5m Cgdmax=900p Cgdmin=25p a=0.25 Cgs=900p Cjo=400p m=0.7 VJ=0.75 IS=4u N=2.4 Eg=1 Rb=1 Vds=-200 Ron=1 mfg=IHKT2007)

.model 20N20_ VDMOS (Rg=30 Vto={0.155-(1.6m-1m)*(Temp-25)}  Rs={0.12*(1+2.5m*(Temp-25))} Kp={2.40*((Temp+273)/(273+25))**-(1.9-1.5)}  Ksubthres={0.09*(1+1m*(Temp-25))} Mtriode=0.3 Rd=0.16 Lambda=3m  Cgdmax=1n Cgdmin=20p a=0.25 Cgs=1n Cjo=1n m=0.7 VJ=0.75 IS=8n N=1 Eg=1.5  Rb=0.1 Vds=200 Ron=500m mfg=IHKT2007)
.model 20P20_ VDMOS (pchan Rg=30 Vto={-0.61+2.2m*(Temp-25)} Rs={0.17*(1+2.0m*(Temp-25))} Kp={1.85*((Temp+273)/(273+25))**-(2-1.5)} Ksubthres={0.105*(1+5m*(Temp-25))} Mtriode=0.35 Rd=0.05 Lambda=5m Cgdmax=1.9n Cgdmin=50p a=0.25 Cgs=1.8n Cjo=1n m=0.7 VJ=0.75 IS=8u N=2.4 Rb=0.5 Vds=-200 Ron=500m mfg=IHKT2007)
You can remove the underscore in the name if you want. I use the underscore to differentiate it from my other LT-XVIII models which don't have the underscore. The version above works on both LT-IV and LT-XVII.

My apology for not noticing the capacitance values got messed up:eek:.
Thanks wtnh for noticing this. Please let us know if there any other issues.

Many thanks!
 
Member
Joined 2017
Paid Member
My models are in the cmp directory under standard.mos. I change the text in notepad and save that file (standard.mos). I then right click my mosfet in the spice program and pick the appropriate one.This way has worked for me up till now.

I've never used that method. I usually either add from a ".model" statement on the schematic itself or from a ".include" statement pointing to the file name with the target file in the same folder as the asc file.

Using these methods, the model loaded correctly from me and supported the temp option.
 
My models are in the cmp directory under standard.mos. I change the text in notepad and save that file (standard.mos). I then right click my mosfet in the spice program and pick the appropriate one.This way has worked for me up till now.

That's the method I use too. I just append new models to the end of the proper file and right-clicking on the symbols allows me to pick the model I want.

Ian's revised models seem to be working fine (and better results than the old ones in terms of distortion).
 
Updated VDMOS models now in Bordodynov standard.mos libraries

My VDMOS models are in the cmp directory under standard.mos. I change the text in notepad and save that file (standard.mos). I then right click my mosfet in the spice program and pick the appropriate one.This way has worked for me up till now.
This works. Alexander Bordodynov (bordodynov) has added my+keantoken VDMOS models to Alexander's extensive 1500 'standard.mos' library (including the latest ADI models).

These libraries are available here: For LTspice users. Libraries of models, examples, etc

There are separate 'standard.mos' libraries for LT-XVII and LT-IV.
VDMOS for LTspiceXVII, file is standard.mos.XVII.txt ~322K
Save page as 'standard.mos.XVII.txt' Remove the suffix giving 'standard.mos'
This is installed into C:\Users\ME\Documents\LTspiceXVII\lib\cmp
(Do not install into the Program files directory for LT-XVII).
Restart LTspice

For VDMOS for LTspiceIV, file is standard.mos.IV.txt ~322K
Save page as 'standard.mos.IV.txt' Remove the suffix giving 'standard.mos'
Backup the original 'standard.mos' file in C:\Program Files\LTC\LTspiceIV\lib\cmp
Install into C:\Program Files\LTC\LTspiceIV\lib\cmp
Restart.

The LT-IV models give the same temp-co's as the LT-XVII models.
The LT-IV models can be run in LT-XVII.
LTXVII models are more compact so are preferred for LT-XVII.

Bob Cordell's MOSFET's have been updated with subthreshold conduction and temp-cos.

Not all Alexander MOSFET models are VDMOS. Some are NMOS or PMOS models and these don't have subthreshold effect. But they can be used as starters and you can request a conversion to VDMOS on this thread.

Most of my/keantoken VDMOS models are the latest versions but some still need updating. At this stage errors from duplicates have been removed.
 
Problem passing Temp=x in curly brace models

Ian,Thank you for this.Are these models the 75C ones? If not would it be something that I could easily change?I believe the 75C models more reflect actual running conditions in an amplifier such as the F7.
Hi oreo382, brian92fs, wtnh, all,

Since my Post 303 I found the curly brace equations I supplied do not work properly. They sort of work. To get correct operation at 75C use the hard-wired models below (don't use the Temp=<x> appendage):
Code:
.model 10N20-75_ VDMOS (Rg=60 Vto={0.17-(1.6m-1m)*50} Lambda=3m Rs={0.245*(1+2.6m*50)} Kp={1.33*((75+273)/(273+25))**-(2-1.5)} Ksubthres={0.095*(1+2.9m*50)} Mtriode=0.3 Rd={0.6*(1+3m*50)} Cgdmax=500p Cgdmin=10p a=0.25 Cgs=500p Cjo=300p m=0.7 VJ=0.75 IS=4n N=1 Eg=1.5 Rb=0.2 Vds=200 Ron=1 mfg=IHKT2007)

.model 10P20-75_ VDMOS (pchan Rg=60 Vto={(-0.535+(1.7m-1m)*50)} Rs={0.37*(1+3.4m*50)} Kp={0.995*((75+273)/(273+25))**-(2-1.5)} Ksubthres={0.12*(1+3.1m*50)} Mtriode=0.4 Rd=0.2 Lambda=5m Cgdmax=900p Cgdmin=25p a=0.25 Cgs=900p Cjo=400p m=0.7 VJ=0.75 IS=4u N=2.4 Eg=1 Rb=1 Vds=-200 Ron=1 mfg=IHKT2007)

.model 20N20-75_ VDMOS (Rg=30 Vto={0.155-(1.6m-1m)*50} Rs={0.12*(1+2.5m*50)} Kp={2.40*((75+273)/(273+25))**-(1.9-1.5)} Ksubthres={0.09*(1+1m*50)} Mtriode=0.3 Rd=0.16 Lambda=3m Cgdmax=1n Cgdmin=20p a=0.25 Cgs=1n Cjo=1n m=0.7 VJ=0.75 IS=8n N=1 Eg=1.5 Rb=0.1 Vds=200 Ron=500m mfg=IHKT2007)

.model 20P20-75_ VDMOS (pchan Rg=30 Vto={-0.61+2.2m*50} Rs={0.17*(1+2.0m*50)} Kp={1.85*((75+273)/(273+25))**-(2-1.5)} Ksubthres={0.105*(1+5m*50)} Mtriode=0.35 Rd=0.05 Lambda=5m Cgdmax=1.9n Cgdmin=50p a=0.25 Cgs=1.8n Cjo=1n m=0.7 VJ=0.75 IS=8u N=2.4 Rb=0.5 Vds=-200 Ron=500m mfg=IHKT2007)
The above models can be used in LT-XVII as well as LT-IV, but again don't add the Temp=<x> bit to the part name. You can repeat what I have done in these models if you need other models for 75C or whatever.

My apology for this messup. I had forgotten about this issue from way back 2015 when I first started doing VDMOS models.

However, the new LT-XVII models (without the curly brace equations and uses parameter 'Bex') do allow passing Temp=<x> appendage with the name -- and it works fine. For LT-XVII models for say 75C use eg 10N20 Temp=Temp+50
 
@Ian Hegglum, do you have a model for ZVN3310? The model I have does not pull the voltage to ground in my inverter circuit.



All,

The VDMOS model in LTspice is now updated with 6 temp co's for:

  • Bex Power of Kp temp dependence, default is -1.5
  • vtotc Vto tempco. If specified, the computation from 1st principles based on phi (-1mV/C) is ignored.
  • tksubthres1 linear tempco of Ksubthres
  • Trs1 Rs linear tempco
  • Trg1 Rg linear tempco
  • Trd1 Rd linear tempco
  • Trb1 Rb linear tempco
Update LTspice and you get the updated VDMOS model and the updated Help file.

Thanks Mike and Dave.

Cheers,:cheerful:
Ian Hegglun
 
Well done mike.

I usually get away with basic models.
The only one I ever had trouble with was a 12AX7 valve.
The sim worked but the first real circuit didn't.
I was running valve B+ off 12VDC and the valve wouldn't turn on.
Oddly some did so I was just maybe on the edge of a working model.
A fix was a 470k from grid to B+ and all worked with that.

Yes I know 12v is very low but that was the power supply available at the time.
12V also ran the heaters.
 
AX tech editor
Joined 2002
Paid Member
The issue with such low B+ is that the tube actually needs some pos. grid bias. So biasing the tube with a cathode bias resistor never turns it on.

Because of the pos. grid current, you need to drive the grid from a (very) low impedance, otherwise you get large distortion due to (non-linear) voltage drop across the driving impedance.

Jan