(華北理工大學(xué)建筑工程學(xué)院 河北 唐山 063210)
近些年來,地震頻發(fā),抗震工程中的結(jié)構(gòu)雖然可以通過結(jié)構(gòu)動力學(xué)理論進(jìn)行分析與計(jì)算,但其中需要解決龐雜的微分方程[1]。隨著科學(xué)的發(fā)展,建筑結(jié)構(gòu)的振動控制己經(jīng)成為上術(shù)工程及相關(guān)領(lǐng)域中重要的組成部分,結(jié)構(gòu)受外部激勵(lì)產(chǎn)生的振動往往是非線性的,求解非線性力學(xué)不借助MATLAB軟件的微分方程求解和可視化功能是很難實(shí)現(xiàn)的[2]。在采用智能材料結(jié)構(gòu)的振動控制研究中,F(xiàn)ung RF等[3]使用PID算法對安裝有電磁驅(qū)動裝置的末端集中質(zhì)量懸臂梁進(jìn)行振動控制。Rahmi Guclu等[4]將PID控制率先應(yīng)用到建筑結(jié)構(gòu)中來,并對采用電驅(qū)動設(shè)備的三層框架隔振結(jié)構(gòu)進(jìn)行了振動控制。Sadegh Etedali等[5]提出將經(jīng)典的PID /PD控制應(yīng)用到壓電摩擦阻尼器智能基礎(chǔ)隔振控制中,較好地控制了樓層加速度和隔振層最大位移。Suresh Thenozhi等[6]驗(yàn)證了PD /PID算法對線性和非線性結(jié)構(gòu)模型振動控制的有效性。木文重點(diǎn)利用Matlab強(qiáng)大的編程功能以及simulink平臺搭建模塊來解決這一求解問題,并通過多自由度振動控制動力方程在Simulink 模塊中的搭建,實(shí)現(xiàn)了PID主動振動控制的動力時(shí)程反應(yīng)分析。
PID 控制作為傳統(tǒng)控制策略的代表,由于其蘊(yùn)涵了動態(tài)控制過程的過去、現(xiàn)在和將來的信息,根據(jù)不同被控對象適當(dāng)整定 PID 三個(gè)參數(shù),可以獲得比較滿意的控制效果.因此 PID 控制算法的模擬輸入信號表達(dá)式為
(1)
PID控制器是一種線性控制器,它根據(jù)給定的輸出值r(t)與實(shí)際輸出值y(t)構(gòu)成的控制偏差e(t)=r(t)-y(t)制定控制律。
其中:kp為比例系數(shù),ki=kp×T/Ti為積分系數(shù),kd=kp×Td/T為微分系數(shù)。
PID參數(shù)控制是找出3個(gè)參數(shù)kp,ki和kd,在控制過程中通過不斷檢測e、ec,根據(jù)PID控制原理對3個(gè)參數(shù)進(jìn)行在線試算修改,以滿足不同e、ec對控制參數(shù)的要求,而使對象有良好的動態(tài)和靜態(tài)性能。
Matlab 是 Matrix Laboratory 的簡稱,意為是矩陣實(shí)驗(yàn)室。顧名思義 Matlab 是以計(jì)算矩陣和數(shù)組為核心軟件,對矩陣迭代編程計(jì)算的功能相當(dāng)強(qiáng)大[7]。Simulink 是 Matlab 中一個(gè)用來對動態(tài)系統(tǒng)進(jìn)行建模、仿真和分析的軟件包,它具有直觀、簡便、易于理解的特點(diǎn)。
N個(gè)自由度線性被控系統(tǒng)運(yùn)動微分方程為:
將(1)公式變形,左右兩邊乘M-1,整理得:
式中:M,K,C分別為結(jié)構(gòu)的質(zhì)量矩陣、剛度矩陣、阻尼矩陣
Matlab 強(qiáng)大的計(jì)算能力解決了此微分方程,但編程較為復(fù)雜,如果采用 Simulink 仿真方法來解決此微分方程則既簡便又快捷,省去了很多繁瑣的編程,只需要將已知的各個(gè)矩陣編輯完成,輸入其中矩陣模塊便可通過仿真信號求解一個(gè)動態(tài)的地震波荷載作用下的結(jié)構(gòu)動力學(xué)方程。
代碼為:
load EL.txt%讀取歸一化后的地震波數(shù)據(jù)。
xg=EL*4.;%將地震波數(shù)據(jù)調(diào)整為峰值4m/s2
dt=0.01;%輸入仿真時(shí)間步長
t=(0:length(xg)-1)*dt;%仿真時(shí)間步數(shù)
dzb=[t',xg];%地震波數(shù)據(jù)調(diào)整為一列時(shí)間,一列數(shù)據(jù)
M=[933*eye(10,10)];%質(zhì)量矩陣
C=10^3*(diag([6 6 6 6 6 6 6 6 6 3])+diag([-3 -3 -3 -3 -3 -3 -3 -3 -3],1)+...
diag([-3 -3 -3 -3 -3 -3 -3 -3 -3],-1));%阻尼矩陣
K=10^5*(diag([19 19 19 19 19 19 19 19 19 9.5])+diag([-9.5 -9.5 -9.5 -9.5 -9.5 -9.5 -9.5 -9.5 -9.5],1)+...
diag([-9.5 -9.5 -9.5 -9.5 -9.5 -9.5 -9.5 -9.5 -9.5],-1));%剛度矩陣
Ds=M*ones(10,1);
Gain1=inv(M)*Ds;
Gain2=inv(M)*K;
Gain3=inv(M)*C;
Bs=diag([1 1 1 1 1 1 1 1 1 1])+diag([-1 -1 -1 -1 -1 -1 -1 -1 -1],1);%作動器矩陣
Gain4=inv(M)*Bs;
圖1.無控程序框圖
圖2.PID控制程序框圖
圖3.pid控制與無控對比程序框圖
由于篇幅有限,僅提取了地震波作用下結(jié)構(gòu)頂層響應(yīng)時(shí)程曲線如下:
圖4.EIC400地震波作用下結(jié)構(gòu)頂層響應(yīng)時(shí)程曲線
為了考察PID控制的減振效果,以一個(gè)10層建筑結(jié)構(gòu)為例,簡化成一個(gè)10個(gè)集中質(zhì)量的離散多自由度系統(tǒng),在結(jié)構(gòu)每一層都設(shè)置一個(gè)作動器,結(jié)構(gòu)主要參數(shù)為:mi=933t,ki=950000kN/m,ci=3000kN/m.s。采用PID主動控制策略。輸入地震波為Elcentro波。最大水平地面加速度為4.0m/s2,地震烈度相當(dāng)于8度。運(yùn)行Simulink動力仿真程序得到如下結(jié)果。
表1 ELC400波輸入下無控結(jié)構(gòu)與PID控制下的動力響應(yīng)峰值控制減震效率
控制效果:從表1,圖4結(jié)果中可以看出,PID主動控制算法不僅降低了結(jié)構(gòu)的樓層位移、樓層速度,而且還減少了結(jié)構(gòu)的樓層加速度反應(yīng),起到了一定的減震控制效果。
本文提出了PID主動控制算法,仿真分析了10層鋼結(jié)構(gòu)在每一層設(shè)置作動器,結(jié)構(gòu)在PID主動控制算法下與無控作用下的控制效果,得到以下主要結(jié)論:
(1)文本采用試湊經(jīng)驗(yàn)法對pid 參數(shù)進(jìn)行調(diào)整,經(jīng)試算kp=100,ki=500,kd=3000時(shí)效果良好,隨著參數(shù)的不斷優(yōu)化,效果會更好,可以引入模糊自適應(yīng)調(diào)整參數(shù)來獲取最有的控制參數(shù),從而達(dá)到最優(yōu)控制力。
(2)為取得良好的結(jié)構(gòu)振動控制效果,應(yīng)保證驅(qū)動器提供盡可能大的驅(qū)動力,并應(yīng)合理地確定kp、ki、kd的控制參數(shù),合理的PID控制參數(shù)可以起到較好的控制效果,既能降低結(jié)構(gòu)的位移反應(yīng),又能降低結(jié)構(gòu)的加速度反應(yīng)。
(3)PID主動控制算法是一種線性控制,結(jié)構(gòu)各層最大主動最優(yōu)控制力,從底層往上逐層遞增。
(4)對PID主動控制與無控制作用下的地震動力反應(yīng)進(jìn)行比較,通過MATLAB仿真軟件結(jié)合Simulink平臺搭建模塊完成了PID主動控制算法的地震動力響應(yīng)分析。實(shí)驗(yàn)結(jié)果驗(yàn)證了PID主動控制算法的有效性。