SPICE电路仿真(1)--ngspice

虽然博文题目是spice仿真,但这里是用ngspice实现的,而不是商业版的PSPICE或者其他基于SPICE实现的商业电路仿真器

ngspice简介

  • 官网 http://ngspice.sourceforge.net/
  • ngspice是一个mixed-level/mixed-signal的电路仿真器,他的代码基于三个开源软件库Spice3f5, Cider1b1 and Xspice.ngspice修复了很多bug和做了很多改进,使得ngspice成为一个稳定可靠的仿真器(simulator),因此,除了单独作为一个仿真器外,ngspice也被用到了其他项目中,ngspice是没有图形界面的,全部命令行输入,但是结果输出会有图形,其他开源免费的软件程序可以使用ngspice作为仿真器,这些软件在下面链接可以找到

    http://ngspice.sourceforge.net/resources.html

  • 以上是官网介绍的一点翻译,其他图形界面的程序就玩过QCUS,这篇博客主要讨论ngspice作为仿真器使用

下载安装

官网上下载,Linux和Win版本都有

编写仿真文件

ngspice就是SPICE的改进版,所以语法都差不多,网上很少SPICE中文资料,我自己参阅了书籍《电路–邹关源第五版》最后附录的内容写的,应该很多学校电子、电气专业的教科书都是那本,下面的三个示例都是参考那本书,有不懂的可以翻看书籍内容,因为写的博客有些内容作者知道略过了但是读者不一定理解。

电路图就不画了,熟悉之后看电路模型文件就能看懂。

(1)

EX1                 ;第一行标题
VIN 1 0 AC 2V       ;独立电源说明,AC表示交流,2V表示幅值2V
R1 1 2 0.45K        ;电阻R1,阻值0.45k欧姆,连接节点1,2
R2 2 0 1K           ;电阻R2,1K欧姆,连接节点2,0
RI 3 0 1MEG         ;电阻RI,阻值1M欧姆(MEGA是10^3),连接在节点3,0
R0 5 4 100          ;电阻R0,100欧姆,连接节点5,4
R3 3 4 500          ;电阻R3
R4 4 0 1K           ;电阻R4
C1 2 3 4U           ;电容C1,4微法,连接节点2,3
C2 2 4 4U           ;电容C2
E1 5 0 3 0 500K     ;电压控制电压源,系数A500k,输出端连接节点5,0,控制端连接节点3,0
.AC DEC 20 1 10K    ;DEC表示按数量级变化,20表示每一数量级取20个点,最后两个数表示起始频率和终止频率
                    *下面两条语句在ngspice没有用,*后面的也是注释,如果前面没有语句使用;做注释会报错
                    *.PLOT AC VM(4)     ;曲线打印语句,AC表示交流分析(正弦稳态分析),VM(4)表示节点4的电压 幅值
                    *.PROBE
.END                ;结束

(2)

EX2                 ;标题
VS 1 0 10           ;电源10V,连接在节点1和节点0
R1 1 2 20           ;电阻R1,20欧姆,连接在节点1和节点2
R2 2 0 20           ;电阻R2,20欧姆,连接在节点2和节点0
R3 3 0 4K           ;电阻R3,4k欧姆,连接在节点3和节点0
L 2 3 0.2 IC=0.2    ;电感L,0.2H,连接在节点2和节点3
C 3 0 0.5U IC=2     ;电容C,0.5微法,连接在节点3和节点0
.TRAN 0.1M 30M UIC  ;瞬态分析,打印时间间隔0.1ms,终止时间30ms,使用初始化条件
.END                ;结束

(3)RLC串联谐振

  EX3                   ;标题

VIN 1 0 AC 10V      ;交流电源10V,连接在节点1和节点0
L 1 2 0.2 IC=0      ;电感0.2H,初始条件(Initial Conditional)电流为0,连接在节点1和节点2
R 3 0 500           ;电阻,500欧姆,连接在节点3和节点0
C 2 3 0.1U IC=0     ;电容,0.1微法,初始条件电压为0,连接在节点2和节点3
.AC DEC 20 100 10K  ;交流分析,频率范围在100Hz~10KHz
.END

以上三段代码保存为三个文本文件,并将后缀名改为.cir,分别命名为EX1.cir,EX2.cir,EX3.cir(随自己喜欢怎么命名)

仿真运行

以windows版本为例(Linux下更简单,相信使用Linux的童鞋对命令行操作再熟悉不过了),下载的ngspice是一个压缩文件,解压后在bin目录打开
步骤如下:
1. 改变当前路径到仿真文件的目录下

cd d:\Files\spice

这里写图片描述

  1. source EX1.cir
  2. run
  3. plot v(5)

输出结果如下

这里写图片描述

这里写图片描述

这里写图片描述

最后一幅图可以看出电路的谐振频率在1kHz附件,因为那时的电阻两端的电压接近电源电压

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值