Engee 文档
Notebook

双极NPN晶体管的仿真

本例将演示双极晶体管在不同基极电流值下的仿真。

模型的一般视图:

npn_transistor--1709038559582.png

定义加载和运行模型的函数:

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]:
start_model_engee (generic function with 1 method)

加载、运行模型并记录结果

在0.001A的基极电流下进行仿真:

In [ ]:
Ib = 0.001 # 确定用于计算的基电流
start_model_engee() # 加载和启动模型
sleep(5)
data1 = collect(simout) # 从simout变量中提取描述集电极电流和集电极-发射极电压的数据
Vce = collect(data1[2]) # 记录集电极-发射极电压数据在一个变量
Ic1 = collect(data1[3]); # 在变量中记录采集器电流数据
Building...
Progress 0%
Progress 100%
Progress 100%

以0.002a的基极电流进行仿真:

In [ ]:
Ib = 0.002 # 确定用于计算的基电流
start_model_engee() # 加载和启动模型
sleep(5)
data2 = collect(simout) # 从simout变量中提取描述集电极电流和集电极-发射极电压的数据
Ic2 = collect(data2[3]); # 在变量中记录采集器电流数据
Building...
Progress 0%
Progress 100%
Progress 100%

以0.003A的基极电流进行仿真:

In [ ]:
Ib = 0.003 # 确定用于计算的基电流
start_model_engee() # 加载和启动模型
sleep(5)
data3 = collect(simout) # 从simout变量中提取描述集电极电流和集电极-发射极电压的数据
Ic3 = collect(data3[3]); # 在变量中记录采集器电流数据
Building...
Progress 0%
Progress 100%
Progress 100%

在0.004A的基极电流下进行仿真:

In [ ]:
Ib = 0.004 # 确定用于计算的基电流
start_model_engee() # 加载和启动模型
sleep(5)
data4 = collect(simout) # 从simout变量中提取描述集电极电流和集电极-发射极电压的数据
Ic4 = collect(data4[3]); # 在变量中记录采集器电流数据
Building...
Progress 0%
Progress 100%
Progress 100%

以0.005A的基极电流进行仿真:

In [ ]:
Ib = 0.005 # 确定用于计算的基电流
start_model_engee() # 加载和启动模型
sleep(5)
data5 = collect(simout) # 从simout变量中提取描述集电极电流和集电极-发射极电压的数据
Ic5 = collect(data5[3]); # 在变量中记录采集器电流数据
Building...
Progress 0%
Progress 100%
Progress 100%

结果可视化

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]:

结论:

在本例中,演示了双极晶体管在不同基极电流值下的仿真。 该模型还可用于确定负电压范围内晶体管的特性().