資源簡介
增量式PID的matlab實現,是simulinks仿真實現,網上的一般為位置式的PID,增量式PID的simulinks仿真我自己也找了很久,最終自己做了一個能用的
代碼片段和文件信息
clear?all;
close?all;
ts=0.001;
sys=tf([7.114295.6][11735107]);
dsys=c2d(systs‘z‘);
[numden]=tfdata(dsys‘v‘);
u_1=0.0;?u_2=0.0;?u_3=0.0;
y_1=0;?y_2=0;?y_3=0;
x=[000];
?kp=21;
?ki=2.21;
?kd=0;
error_1=0;
error_2=0;
for?k=1:1:200
????time(k)=k*ts;
????
????yd(k)=30.0;
???
????
????du(k)=kp*x(1)+ki*x(2)+kd*x(3);
????u(k)=u_1+du(k);
????
????if?u(k)>=1000
????????u(k)=1000;
????end
????if?u(k)<=-1000
????????u(k)=1000;
????end
????
????y(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;
????
????error=yd(k)-y(k);
????u_3=u_2;?u_2=u_1;?u_1=u(k);
????y_3=y_2;?y_2=y_1;?y_1=y(k);
????
????x(1)=error-error_1;
????x(2)=error;
????x(3)=error-2*error_1+error_2;
????
????error_2=error_1;
????error_1=error;
end
figure(1);
plot(timeyd‘r‘timey‘k‘‘linewidth‘2);
xlabel(‘time(s)‘);?ylabel(‘n(r/min)‘);
legend(‘期望值‘‘PID響應‘4);
????
????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????17870??2018-12-06?22:36??增量式PID的simuli
?????文件????????901??2018-11-29?11:21??增量式PID的simuli
?????目錄??????????0??2018-12-10?10:55??增量式PID的simuli
-----------?---------??----------?-----??----
????????????????18771????????????????????3
- 上一篇:個人財務管理系統軟件工程課設
- 下一篇:大數分解_橢圓曲線算法代碼
評論
共有 條評論