clear;
clc;
%Setpoint 给定值
%ActualPoint 目前测量值
%LastPoint 上一周期测量值
%Err 目前的误差
%Err_last 上一周期的误差
%Kp Ki Kd 比例 积分 微分 系数
%Voltage 输出
%Integral 积分值
%Derivative 微分项
%gama 微分滤波系数
PID=struct('SetPoint',0,'ActualPoint',0,'LastPoint',0,'Err',0,'Err_last',0,'Kp',0,'Ki',0,'Kd',0,'Voltage',0,'Integral',0,'Derivative',0,'gama',0,'ts',0);
PID.SetPoint=0.98;%给定值
PID.Kp=5;%比例系数
PID.Ki=0.1;%积分系数 0.1左右才能消除稳态误差
PID.Kd=1;%微分系数
PID.gama=0.5;%微分滤波系数
PID.ts=1;%采样周期
%sys=tf([1],[60,1],'inputdelay',80);
%dsys=c2d(sys,PID.ts,'zoh');
%[num,den]=tfdata(dsys,'v');
sys=tf([4*2.6,4],[34.3*6.5,34.3+6.5,1],'inputdelay',2);
dsys=c2d(sys,PID.ts,'zoh');
[num,den]=tfdata(dsys,'v');%建立系统模型
u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;%初始化输入,五个周期 时间顺序为5 4 3 2 1 即u_1为最目前的周期
y_1=0;y_2=0;y_3=0;%初始化输出 顺序同上
for k=1:1:400
time(k)=k*PID.ts;%运行时间
yout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_3+num(3)*u_4;%根据离散传递函数计算差分方程推导出递推式求每一周期的输出
%yout(k)=-den(2)*y_1+num(2)*u_5;
PID.ActualPoint=yout(k);%目前的测量值为当前输出(单位负反馈)
PID.Err=PID.SetPoint-PID.ActualPoint;%计算当前偏差
PID.Integral=PID.Integral+PID.Err*PID.ts;%计算积分项
% Td=PID.Kd/PID.Kp;
% c1=PID.gama*Td/(PID.gama*Td+PID.ts);
% c2=(Td+PID.ts)/(PID.gama*Td+PID.ts);
% c3=Td/(PID.gama*Td+PID.ts);
temp= PID.gama * PID.Kd + PID.Kp;
c3= PID.Kd/temp;
c2=(PID.Kd + PID.Kp)/temp;
c1= PID.gama*c3; %微分超前三项系数
PID.Derivative=c1 * PID.Derivative + c2 * PID.ActualPoint + c3 * PID.LastPoint;%计算微分项
PID.Voltage=PID.Kp * PID.Err + PID.Ki * PID.Integral + PID.Derivative;%计算PID输出
u(k)=PID.Voltage;%被控对象输入为PID的输出
PID.Err_last= PID.Err;%周期+1 Err_last上一周期的误差=Err这一周期的误差 为下一次循环做准备
PID.LastPoint= PID.ActualPoint;%与上同理
u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=PID.Voltage;%与上同理
y_3=y_2;y_2=y_1;y_1=yout(k);%与上同理
end
plot(time,yout,'g');
grid on
xlabel('time');
ylabel('y');
HaoNany
- 粉丝: 1
- 资源: 5
最新资源
- 2018年对口升学信息一类第一次联考试题(卷).doc
- 见证时代变迁的高考作文题.doc
- 江苏兴化一中2018年高考第四次模拟考试语文试题整理.doc
- 建筑试题3[识图答案].doc
- 静载检测技术基础理论考试(员)C.doc
- 跨境电商人才初级认证试题以与答案.doc
- 临床的护理文书规范模拟考试标准答案09_8_7.doc
- 垃圾分类知识问答.doc
- 六年级英语上[下册]知识点总结.doc
- 六年级写字教学案.doc
- 农业区位因素教学设计.doc
- 牛津译林版2018年_2018年学年8A英语期末专题练习_首字母填空.doc
- 人版小学数学六年级(下册)第3单元圆柱与圆锥教案.doc
- 巧用多媒体有效地复习有丝分裂和减数分裂考点.doc
- 人民教育出版社五年级语文(下册)易错字易错音.doc
- 山东省医学继续教育公共课程急诊及急救答案.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈