PID算法Matlab仿真程序和C程序
CALFENGHAI2020YEARYICAIJINGBIAN
f增量式PID控制算法Matlab仿真程序
设一被控对象Gs50A27s用增量式
PID控制算法编写仿真程序输入分别为单位
阶跃、正弦信号,采样时间为1ms控制器
输出限幅55仿真曲线包括系统输出及误
差曲线,并加上注释、图例。程序如下
clearallcloseall
tssystf5070dsysc2dsystsz
umde
tfdatafdsysv1
u上u_2二;y_iy_2;x000
error_l0error_20forkll1000
timekkts
S2;ifSl
kp10kikd15
ri
kl
StepSig
al
else讦S2
kp10kikd15Si
eSig
al
ri
ksi
2pikts
e
ddukkpxlkdx2kix3PID
Co
troller
uku_lduk
Restricti
gtheoutputofco
trollerif
uk5
uk5
e
difuk5uk5
e
dLi
earmodelyoutkde
2y_l
de
3y_2
um2u_l
um3u_2
errorkri
kyoutk
Retur
ofparameters
u_2二
二uk
y_2二y_ly_l二youtk
xlerrorkerror_lCalculati
gP
x2errork
2error_lerror_2Calculati
gD
x3errorkCalculati
gI
error_2error_l
error_lerrork
e
d
figurel
plottimerirVbtime’youti3
xlabeltimesylabellri
yout;
figure2
plotftimerrorrxlabeltimesIylabelerror1
微分先行PID算法
Matlab仿真程序
PIDCo
trolerwithdiffere
tiali
adva
eeclearallcloseall
ts20systflb60Ji
putdel3y:80dsysc2dsystszoh;
umde
tfdatadsysv;
u_l0u_20u_30u_40u_50ud_l0y_l0;y_20y_30error_l0error_20ei0forkll400timekkts
Li
earmodelyoutkde
2y_l
um2u_5kpkd14ki
ri
ksig
si
2pikts
errorkri
kyoutkeieierrorkts
gamaTdkdkpTi;
clgamaTdgamaTdtsc2TdtsgamaTdtsc3TdgamaTdts
MlifMlPIDCo
trolwithdiffere
tiali
adva
ce
udkclud_lc2youtk
fc3y_lukkperrorkudkkiei
else讦M2SimplePIDCo
trolukkperrorkkderrorkerror_ltskieie
d
eiO
forkll100timekkts
ri
k
讦uk110uk110
e
difuk110
uk110e
dUpdateparametersu_5u_4u_4二u_3u_3u_2u_2u_:luluky_3y_2y_2二y_ly_l二youtk
error_2error_lerror_lerrorke
dfigurelplotftimei
rtimeoutb1xlabeltimesylabelri
youtfigure2plotftimer1;xlabeltimesylabelu
不完全微分PID算法
Matlab仿真程序
PIDCo
trolerwithPartialdiffere
tialclearallcloseall
ts2Osys二tfl』60Ji
putdelay:80dsysc2dsystszoh
ume
jfdatafdsysv1
u_l0u_20u_30u_40u_50ud_lOy_l0;y_20y_30error_l0
Li
earmodelyoutkde
2y_l
um2u_5
errorkri
kyoutk
PIDCo
trollerwithpartlydiffere
tialeieierrorktskckiTD140
kdkcTDts
Tf180QtflTflLr