双极NPN晶体管的仿真
本例将演示双极晶体管在不同基极电流值下的仿真。
模型的一般视图:
定义加载和运行模型的函数:
In [ ]:
function start_model_engee()
try
engee.close("npn_transistor", force=true) # 关闭模型
catch err # 如果没有模型关闭和engee。close()不执行,它将在catch之后加载。
m = engee.load("/user/start/examples/physmod/npn_transistor/npn_transistor.engee") # 加载模型
end;
try
engee.run(m, verbose=true) # 启动模型
catch err # 如果模型没有加载和engee。run()不执行,catch后最下面的两行将被执行。
m = engee.load("/user/start/examples/physmod/npn_transistor/npn_transistor.engee") # 加载模型
engee.run(m, verbose=true) # 启动模型
end
end
Out[0]:
加载、运行模型并记录结果
在0.001A的基极电流下进行仿真:
In [ ]:
Ib = 0.001 # 确定用于计算的基电流
start_model_engee() # 加载和启动模型
sleep(5)
data1 = collect(simout) # 从simout变量中提取描述集电极电流和集电极-发射极电压的数据
Vce = collect(data1[2]) # 记录集电极-发射极电压数据在一个变量
Ic1 = collect(data1[3]); # 在变量中记录采集器电流数据
以0.002a的基极电流进行仿真:
In [ ]:
Ib = 0.002 # 确定用于计算的基电流
start_model_engee() # 加载和启动模型
sleep(5)
data2 = collect(simout) # 从simout变量中提取描述集电极电流和集电极-发射极电压的数据
Ic2 = collect(data2[3]); # 在变量中记录采集器电流数据
以0.003A的基极电流进行仿真:
In [ ]:
Ib = 0.003 # 确定用于计算的基电流
start_model_engee() # 加载和启动模型
sleep(5)
data3 = collect(simout) # 从simout变量中提取描述集电极电流和集电极-发射极电压的数据
Ic3 = collect(data3[3]); # 在变量中记录采集器电流数据
在0.004A的基极电流下进行仿真:
In [ ]:
Ib = 0.004 # 确定用于计算的基电流
start_model_engee() # 加载和启动模型
sleep(5)
data4 = collect(simout) # 从simout变量中提取描述集电极电流和集电极-发射极电压的数据
Ic4 = collect(data4[3]); # 在变量中记录采集器电流数据
以0.005A的基极电流进行仿真:
In [ ]:
Ib = 0.005 # 确定用于计算的基电流
start_model_engee() # 加载和启动模型
sleep(5)
data5 = collect(simout) # 从simout变量中提取描述集电极电流和集电极-发射极电压的数据
Ic5 = collect(data5[3]); # 在变量中记录采集器电流数据
结果可视化
In [ ]:
using Plots # 启动图表库:
plot(Vce[:,2], Ic1[:,2], label="基极电流,Ib=0.001A", title="集电极电流对集电极-发射极电压的依赖关系图")
plot!(Vce[:,2], Ic2[:,2], label="基极电流,Ib=0.002A", xlabel="Vce,在", ylabel="Ic,以及")
plot!(Vce[:,2], Ic3[:,2], label="基极电流,Ib=0.003A")
plot!(Vce[:,2], Ic4[:,2], label="基极电流,Ib=0.004A")
plot!(Vce[:,2], Ic5[:,2], label="基极电流,Ib=0.005A")
Out[0]:
结论:
在本例中,演示了双极晶体管在不同基极电流值下的仿真。 该模型还可用于确定负电压范围内晶体管的特性().
