超级详细的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;

睡觉了,顶不住了。

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