Документация Engee
Notebook

Синхронный двигатель с постоянными магнитами

В данном примере будет продемонстрирована модель (модель motor_pmsm.engee) синхронного двигателя с постоянными магнитами (СДПМ) в генераторном режиме. Будет показан процесс запуска модели из среды разработки скрипта с помощью командного управления и визуализации результатов симуляции. В симуляции скорость вращения вала СДПМ меняется скачком от 100 до 200 об/мин.

Общий вид модели

Модель Engee:

motor_pmsm_engee_2.png

Реализация запуска модели с помощью программного управления:

Загрузка нужных библиотек и подготовка ядра MATLAB для сравнения модели Engee с моделью Simulink

In [ ]:
using Plots
using DataFrames
gr();

Загрузка модели:

In [ ]:
model_name = "motor_pmsm"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");

Запуск загруженной модели:

In [ ]:
results = engee.run(model_name)
Out[0]:
Dict{String, DataFrame} with 4 entries:
  "i_c" => 201×2 DataFrame…
  "i_b" => 201×2 DataFrame…
  "w"   => 201×2 DataFrame…
  "i_a" => 201×2 DataFrame

Чтение данных о мгновенных значения тока в нагрузке и скорости вращения вала:

In [ ]:
t = results["i_a"].time;
i_a = results["i_a"].value;
i_b = results["i_b"].value;
i_c = results["i_c"].value;
w = results["w"].value;

Загрузка и визуализация данных, полученных в ходе симуляции

Вывод графика зависимости мгновенных значений тока от времени:

In [ ]:
plot(t, [i_a i_b i_c], label=["Ток фазы А" "Ток фазы В" "Ток фазы С"])
plot!(title = "Результаты моделирования в Engee", ylabel = "Мгновенное значение тока, А", xlabel="Время, c")
Out[0]:

Вывод графика зависимости скорости вращения вала от времени:

In [ ]:
plot(t, w, label="Скорость вращения вала")
plot!(title = "Результаты моделирования в Engee", ylabel = "Скорость вращения, об/мин", xlabel="Время, c")
Out[0]:

Выводы:

В данном примере были использованы инструменты для командного управления моделью синхронного двигателя на постоянных магнитаз (СДПМ). Результаты симуляций были импортированы в скрипт, визуализированы, с помощью интерактивных графиков библиотеки Plots.