全球旧事资料 分类
离散系统数字PID控制仿真
一、题目用数字PID控制传递函数为Gs的被控对象:Gs523500s38735s210470s二、分析过程:1、对Gs进行离散化即进行Z变换得到Z传递函数:GZ
1z3
2z2
3z
4m1z3m2z2m3zm4注:之所以为z的三次式,这是通过matlab进行z变换后,观察
umde
的数据得到z传递函数形式为z的三次式,若为其他次数
,则相应有
1项。
2、分子分母除以z的最高次数即除以z的3次得到:
YzUz
1
2z1
3z2
4z3m1m2z1m3z2m4z3m1m2z1m3z2m4z3Yz
1
2z1
3z2
4z3Uz
3、由z的位移定理ZetktzkEz逆变换得到差分方程:
m1ykm2yk1m3yk2m4yk3
1uk
2uk1
3uk2
4uk3
通常m11得:
ykm2yk1m3yk2m4yk3
1uk
2uk1
3uk2
4uk3ykm2yk1m3yk2m4yk3
1uk
2uk1
3uk2
4uk3
4、PID编程实现P:△yKp△εI
y1TI
dtD
yTD
ddt
由于是仿真采样此处为数字式故采样时间为1ms,时间很短,已经相当于微元化,所以可以按照以下程序实现PID控制:
x1errorkx2errorkerror_1ts数字控制器的P编程实现数字控制器的D编程实现数字式控制器需要采样已经微元化
fx3errorkts
数字控制器的I编程实现
三、程序清单
clearallcloseallts0001systf5235e005187351047e0040dsysc2dsystsz
umde
tfdatadsysvu_100u_200u_300y_100y_200y_300x000error_10fork111500timekkts设置输入信号类型和PID参数S2ifS1kp050ki0001kd0001ri
k1elseifS2kp050ki0001kd0001ri
ksig
si
22piktselseifS3kp15ki10kd001ri
k05si
22piktse
dukkpx1kdx2kix3ifuk10uk10e
difuk10uk10e
d数字控制器的采样时间写出控制对象的传递函数被控对传递函数离散化离散化后的数据矩阵转化为Z传函初始化差分方程的初始值PID的三个变量并赋予初值作为偏差的前一时刻的变量
StepSig
al
SquareWaveSig
alSi
eSig
al
PID控制器输出,作为被控对象的输入限制控制器的输出
关键点youtkde
2y_1de
3y_2de
4y_3
um2u_1
um3u_2
um4u_3被控对象传递函数的输出与输入的关系,由Z变换的位移定理的逆变换得到关键点
ferrorkri
kyoutku_3u_2u_2u_1u_1uky_3y_2y_2y_1y_1youtk参数反馈,差分方程得以继续
关键点r
好听全球资料 返回顶部