Пружинно-депферная система с регулятором¶
Построим систему, в которой на массу действует усилие от источника силы, управляемого регулятором, и к которой подключены пружина и демпфер, что создает сложный режим движения системы.
Особенности модели¶
На вход системе подается импульсный сигнал с периодом 5 с, после которого находится PID регулятор, передающий в систему сигнал управления.
Изначальная скорость блока массы равна 10 м/с.
Регулятор управляет источником, который воздействует на массу с силой, пропорциональной разности между сигналом управления и положением блока массы согласно сенсору.
Запуск модели и анализ результатов¶
model_name = "mass-spring-damper-with-controller";
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
res = engee.run( model_name );
Fпружина = collect( res["Пружина.F"] );
Fдемпфер = collect( res["Демпфер.F"] );
ctrl = collect( res["PID Controller.1"] );
Fисточник = collect( res["Force Source.F"] );
Pмасса = collect( res["Relative Translational Motion Sensor.2"] );
gr()
plot(
plot( Pмасса.time, Pмасса.value, label="Положение" ),
( plot( Fисточник.time, Fисточник.value, label="Источник" );
plot!( Fпружина.time, Fпружина.value, label = "Пружниа" );
plot!( Fдемпфер.time, Fдемпфер.value, label="Демпфер" ) ),
layout=(2,1), lw=3
)
Заключение¶
Параметры этого PID регулятора можно настраивать вручную или в ходе автоматизированной процедуры. Можно также менять параметры механической части, но ориентир остается одинаковым: снизить расхождение реакции системы и сигнала управления.