Регулирование скорости упрощенного синхронного генератора¶
В данном примере продемонстрировано поведение трехфазного четырехпроводного упрощенного синхронного генератора переменного тока при коммутации нагрузки в сети при:
Наличии регулятора скорости вращения
Постоянном крутящем моменте — без регулятора скорости
Общий вид модели¶
В основе модели лежит библиотечный блок Simplified Synchronous Machine. Упрощенный синхронный генератор мощностью 2000 кВА (1600 кВт с учетом коэффициента мощности 0.8), 600 В, 1500 об/мин подключен к активно-индуктивной нагрузке мощностью 1600 кВт и 400 квар. Нейтральная точка обмотки статора машины заземлена. Внутреннее сопротивление генератора (Zg = 0.0036 + j0.16 о.е.) представляет собой сопротивление обмотки якоря Ra и переходное реактивное сопротивление X'd. Постоянная инерции генератора составляет H = 0.6 с, что соответствует J = 67.5 кг*м^2.
В модели предусмотрено переключение между постоянным моментом Тмех и ПИ-регулятором скорости. Регулирование скорости моделируется с помощью математических направленных блоков, реализующих ПИ-регулятор. Синхронная машина имеет постоянное напряжение на обмотке возбуждения.
Трехфазный выключатель используется для отключения активной нагрузки мощностью 800 кВт. Первоначально выключатель замкнут и размыкается в момент времени t = 1 с, что приводит к сбросу активной нагрузки на 50%.
Реализация запуска модели с помощью программного управления:¶
Загрузка нужных библиотек для импорта зависимости тока от времени:
using DataFrames
gr()
Запуск модели без регулирования скорости¶
Убедитесь, что ручной переключатель Manual Switch в положении приема сигнала от блока Constant - Tмех (о.е.). По умолчанию модель уже находиться в таком положении.
Загрузка модели:
model_name = "simplified_synchronous_machine_speed_regulation"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
Запуск загруженной модели:
results = engee.run(model_name)
Результаты моделирования¶
Импорт результатов моделирования:
simulation_time = results["Ia, А"].time;
ia = results["Ia, А"].value;
ib = results["Ia, А"].value;
ic = results["Ia, А"].value;
f = results["f, о.е."].value;
Pel = results["Pэл, о.е."].value;
Tel = results["Tэл, о.е."].value;
Tmec = results["Тмех, о.е."].value;
Отрисовка результатов:
plot(simulation_time ,ia, legend=true, label="ia")
plot!(simulation_time ,ib, legend=true, label="ib")
plot!(simulation_time ,ic, legend=true, label="ic")
plot!(title = "Мгновенное значение тока статора", ylabel = "Ток, А", xlabel="Время, c")
plot(simulation_time ,f, legend=true, label="f")
plot!(title = "Частота вращения", ylabel = "Частота, о.е.", xlabel="Время, c")
plot(simulation_time ,Pel, legend=true, label="Pel")
plot!(title = "Активная электрическая мощность", ylabel = "Мощность, о.е.", xlabel="Время, c")
plot(simulation_time ,Tel, legend=true, label="Электрический момент")
plot!(simulation_time ,Tmec, legend=true, label="Механический момент")
plot!(title = "Моменты машины", ylabel = "Момент, о.е.", xlabel="Время, c")
Обратите внимание, когда выключатель размыкается, электрическая мощность падает с 0,8 о.е. до 0,4 о.е., и машина начинает ускоряться. Поскольку чистый электромеханический крутящий момент теперь равен:
$$T_{mec} - T_{el}=0.8 - 0.4 = 0.4 о.е.$$
Увеличение скорости равно:
$${\frac{1}{2H}} * (T_{mec} - T_{el}) = 0.833*0.4 = 0.33{\frac{о.е.}{с}}$$
Через секунду после коммутации при t = 2 с ожидаемое увеличение скорости составляет 0.33 о.е. Фактически, скорость, измеренная при t = 2 с, немного выше теоретического значения (1.374 о.е. по сравнению с ожидаемыми 1.33 о.е.), так как электрический крутящий момент уменьшается по мере увеличения скорости, что приводит к электромеханическому крутящему моменту выше 0.4 о.е.
Запуск модели c регулированием скорости¶
Теперь дважды щелкните на блоке Manual Switch, чтобы ввести регулятор скорости в работу.
Запуск модели:
results = engee.run(model_name)
Результаты моделирования¶
Импорт результатов моделирования:
simulation_time = results["Ia, А"].time;
ia = results["Ia, А"].value;
ib = results["Ia, А"].value;
ic = results["Ia, А"].value;
f = results["f, о.е."].value;
Pel = results["Pэл, о.е."].value;
Tel = results["Tэл, о.е."].value;
Tmec = results["Тмех, о.е."].value;
Отрисовка результатов:
plot(simulation_time ,ia, legend=true, label="ia")
plot!(simulation_time ,ib, legend=true, label="ib")
plot!(simulation_time ,ic, legend=true, label="ic")
plot!(title = "Мгновенное значение тока статора", ylabel = "Ток, А", xlabel="Время, c")
plot(simulation_time ,f, legend=true, label="f")
plot!(title = "Частота вращения", ylabel = "Частота, о.е.", xlabel="Время, c")
plot(simulation_time ,Pel, legend=true, label="Pel")
plot!(title = "Активная электрическая мощность", ylabel = "Мощность, о.е.", xlabel="Время, c")
plot(simulation_time ,Tel, legend=true, label="Электрический момент")
plot!(simulation_time ,Tmec, legend=true, label="Механический момент")
plot!(title = "Моменты машины", ylabel = "Момент, о.е.", xlabel="Время, c")
Обратите внимание, что для поддержания скорости на ее опорном значении (1 о.е.) регулятор уменьшил механический крутящий момент до 0.4 о.е.
Выводы:¶
В данном примере была показана работа блока упрощенной синхронной машины при возмущении с и без регулирования скорости вращения. Были использованы инструменты для командного управления моделью, а результаты симуляций были импортированы в скрипт и визуализированы с помощью графиков библиотеки Plots.