增量式PID控制算法
Matlab仿真程序
设一被控对象G(s)500125s27s用增量式PID控制算法编写仿真程序(输入分别为单位阶跃、正弦信号,采样时间为1ms,控制器输出限幅:55仿真曲线包括系统输出及误差曲线,并加上注释、图例)。程序如下
clearallcloseallts0001systf50012570dsysc2dsystsz
umde
tfdatadsysvu_100u_200y_100y_200x000error_10error_20fork111000timekktsS2ifS1
kp10ki01kd15
ri
k1
StepSig
al
elseifS2
kp10ki01kd15
Si
e
Sig
al
ri
k05si
2pikts
e
d
dukkpx1kdx2kix3
PIDCo
troller
uku_1duk
Restricti
gtheoutputofco
troller
ifuk5
uk5
e
d
ifuk5
uk5
e
d
Li
earmodel
youtkde
2y_1de
3y_2
um
2u_1
um3u_2
errorkri
kyoutk
Retur
ofparameters
u_2u_1u_1uk
y_2y_1y_1youtk
x1errorkerror_1
Cal
culati
gP
x2errork2error_1error_2C
alculati
gD
x3errork
Calculati
gI
error_2error_1
error_1errork
e
d
figure1
plottimeri
btimeyoutr
xlabeltimesylabelri
yout
figure2
plottimeerrorr
xlabeltimesylabelerror
微分先行PID算法
Matlab仿真程序
PIDCo
trolerwithdiffere
tiali
adva
ceclearallcloseall
ts20systf1601i
putdelay80dsysc2dsystszoh
umde
tfdatadsysv
u_10u_20u_30u_40u_50ud_10y_10y_20y_30error_10error_20ei0fork11400timekkts
1
fLi
earmodelyoutkde
2y_1
um2u_5
kp036kd14ki00021
ri
k10sig
si
0000252pikts
e
dfigure1plottimeri
rtimeyoutbxlabeltimesylabelri
youtfigure2plottimeurxlabeltimesylabelu
errorkri
kyoutkeieierrorkts
gama050TdkdkpTi05
c1gamaTdgamaTdtsc2TdtsgamaTdtsc3TdgamaTdts
M1
ifM1
PIDCo
trolwith
differe
tiali
adva
ce
udkc1ud_1c2youtkc3y_1
ukkperrorkudkkiei
elseifM2SimplePIDCo
trol
ukkperrorkkderrorkerror
_1tskiei
e
d
不完全微分PID算法Matlab仿真程序
PIDCo
trolerwithPartialdiffere
tialclearallcloseall
ts20systf1601i
putdelay80dsysc2dsystszoh
umde
tfdatadsysv
u_10u_20u_30u_40u_50ud_10y_10y_20y_30error_10ei0
fork11100timekkts
ifuk110uk110
e
difuk110
uk110e
dUpdateparametersu_5u_4u_4u_3u_3u_2u_2u_1u_1uky_3y_2y_2y_1y_1youtk
error_2error_1error_1errork
ri
k10
Li
earmodelyoutkde
2y_1
um2u_5
errorkri
kyoutk
PIDCo
trollerwithpartlydiffere
tialeieierrorktskc030ki00055TD140
2
fkdkcTDts
Tf180Qtf1Tf1Fir