超級詳細的PSIM最小拍無波紋仿真,當作期末筆記了

因爲目前臨近計算機控制的考試,因此整理一下思路,方便複習。
首先給一下仿真的結構圖和結果:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

然後代碼就免了,主要是控制器傳遞函數的計算,然後把傳遞函數化爲微分方程。
整理一下思路,把這個問題分作 步:
1.一般都是由G0(S),仿真的話,將控制對象的傳遞函數分爲典型環節,然後RC電路實現。
2.本步在控制系統結構圖中爲控制器,即E->U
(1)PSIM中用Cblock實現,但需得到控制器輸出Ud(K)差分方程,因此需要先求控制器的脈衝傳函,即D(Z)=U(Z)/E(Z)。
(2)爲求脈衝傳函,一步步的話經歷詳細過程如下:
Ⅰ.G0(S)先變換爲離散函數,一般用零階保持器(zoh),也有其他階保持器,可以找下自控書。zoh=(1-e^-Ts)/s,注意PSIM中的採樣頻率1/T設置也就是zoh的頻率。回顧一下手算S->Z的三種方法:z變換,雙線性變化,第一種忘了,,,,
Ⅱ.由D(Z)=fi(Z)/(fie(Z)G(Z))公式求D(Z),因此我們需要關注fi(Z)的求取,也就是脈衝傳函,fie(Z)誤差脈衝傳函。關係是fie(Z)=1-fi(Z).
Ⅲ.fi(Z)的求取是重點!!!
很複雜,所以規定一下步驟:
one:m和d的選擇,m=d+1,選擇不同,設取fi(Z)不同。
m重數,d滯後環節數,m->G(Z)中分子Z^-1的次數.
two:得到這些參數:m,u.v.j,q
u,v->G(Z)單位圓上園外的零極點個數,
j->G(Z)的z=1的極點次數。
q->由輸出信號決定,輸出信號R(Z)的z=1的極點次數。
three:由決定的m重數,因此設的

**fi(Z)=Z^-m ×Ⅱ(1-bj
Z^-1)×F2(Z)**
*因爲是無波紋必須bj是G(Z)的全部零點,但有波紋只需要單位圓上或園外的即u次。由重數確定F2(Z)設爲
F2(Z)=a0+a1×Z^-1 +…… at×Z^-t
where: t=q+v-1-min(q,j)

關於此處-min,理解爲此處的t爲最小。
要求來源爲穩定性要求,因爲z=1的極點在單位圓上,不穩定,需要消去,而fi(Z)特徵方程需要沒有單位圓上或外極點。轉化爲G(Z)上的z=1極點需要由D(Z)消去,(有點循環論證了)總之,用fi(Z)的分母也就是極點,消去G(Z)的分母z=1極點。
four:兩種方法求t+1個未知數,未知數即a0……at
兩種方法,一種由fi(Z)=1-fie(Z)待定係數法
但我覺得不好,以後固定用第二種,即由:
在這裏插入圖片描述

供參考理解的公式:
在這裏插入圖片描述
3.好了,控制器傳函求出來了。再來差分方程:把U(Z)×Z^-n理解成U(k-n)即可,U(k)表示控制器當前輸出,E同樣
在這裏插入圖片描述

好了,來個代碼的例子:

/*最小拍有波紋*/
static double error;
static double error_1,error_2;
static double u_1,u_2;
static double u_out;

if(t<0.002){
error=0;
 error_1=0;
error_2=0;

u_1=0;
u_2=0;
}

error=x1;

u_out =error*0.454+error_1*(-0.658)+error_2*(0.204)+u_1*(0.566)+u_2*(0.434);

error_2=error_1;
error_1=error;

u_2=u_1;
u_1=u_out;
y1=u_out;

睡覺了,頂不住了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章