Engee 文档
Notebook

使用离子电阻器建立系统模型

本示例将演示一个带有离子电阻器和直流-直流转换器的系统建模,直流-直流转换器的目的是保持负载上的电压稳定。起初,转换器向负载供电,导致离子晶体管上的电压逐渐降低。当达到 4V 临界值时,保护电路被触发,断开负载。10 秒后,发电机开启,同时向负载和电容器供电,为其充电。

模型示意图:

ultracapacitor_converter_1743002263965.png

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

In [ ]:
function start_model_engee()
    try
        engee.close("ultracapacitor_converter", force=true) # закрытие модели 
        catch err # в случае, если нет модели, которую нужно закрыть и engee.close() не выполняется, то будет выполнена её загрузка после catch
            m = engee.load("$(@__DIR__)/ultracapacitor_converter.engee") # загрузка модели
        end;

    try
        engee.run(m, verbose=true) # запуск модели
        catch err # в случае, если модель не загружена и engee.run() не выполняется, то будут выполнены две нижние строки после catch
            m = engee.load("$(@__DIR__)/ultracapacitor_converter.engee") # загрузка модели
            engee.run(m, verbose=true) # запуск модели
        end
end
Out[0]:
start_model_engee (generic function with 1 method)

运行模拟

In [ ]:
start_model_engee();
Building...
Progress 0%
Progress 5%
Progress 11%
Progress 16%
Progress 21%
Progress 27%
Progress 33%
Progress 38%
Progress 43%
Progress 48%
Progress 53%
Progress 59%
Progress 64%
Progress 70%
Progress 75%
Progress 81%
Progress 86%
Progress 91%
Progress 97%
Progress 100%
Progress 100%

将模拟数据写入变量:

In [ ]:
t = simout["Load.i"].time[:]
load_current = simout["Load.i"].value[:]
ultracapacitor_current = simout["Ultra-capacitor.i"].value[:]
generator_current = simout["Generator/Diode.i"].value[:]
load_voltage = simout["Load.v"].value[:]
ultracapacitor_voltage = simout["Ultra-capacitor.v"].value[:]
Out[0]:
WorkspaceArray{Float64}("Ultra-capacitor.v").value

数据可视化

In [ ]:
using Plots
In [ ]:
plot(t, load_voltage, linewidth=2, label="Нагрузка")
plot!(t, ultracapacitor_voltage, linewidth=2, label="Ионистор", xlabel="Время, с", ylabel="Напражение, В")
Out[0]:
In [ ]:
plot(t, load_current, linewidth=2, label="Нагрузка")
plot!(t, ultracapacitor_current, linewidth=2, label="Ионистор")
plot!(t, generator_current, linewidth=2, label="Генератор", xlabel="Время, с", ylabel="Ток, А")
Out[0]:

结论

在这个例子中,我们考虑了一个带有逆变器的离子晶体管模型。直流-直流转换器为负载供电。当离子晶体管上的电压降至 4V 以下时,低电荷保护电路会断开负载。第 10 秒,发电机接通,开始为负载供电并为离子晶体管充电。