数字PID控制器仿真.doc
- 文档编号:1207683
- 上传时间:2022-10-19
- 格式:DOC
- 页数:4
- 大小:328KB
数字PID控制器仿真.doc
《数字PID控制器仿真.doc》由会员分享,可在线阅读,更多相关《数字PID控制器仿真.doc(4页珍藏版)》请在冰豆网上搜索。
数字PID控制器仿真
一、实验目的
1、学习数字PID算法的基本原理;
2、掌握利用Matlab软件进行PID算法仿真的基本方法。
二、实验原理及内容
1、实验原理
计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。
因此连续PID控制算法不能直接使用,需要采用离散化方法。
在计算机PID控制中,使用的是数字PID控制器。
按模拟PID控制算法,以一系列的采样时刻点kT代表连续时间t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,可得离散PID位置式表达式:
式中,,e为误差信号(即PID控制器的输入),u为控制信号(即控制器的输出)。
对应控制器的脉冲传递函数:
同样,可采用离散PID增量式,对应表达式如下:
2、实验内容
已知某计算机控制系统如图1所示。
采样周期为T=0.1s,分别采用不同的调节器进行MATLAB控制仿真。
D(z)
R(s)
Y(s)
E(z)
U(z)
T
T
T
T=0.1s
图1带数字PID调节器的计算机控制系统
(1)若只采用比例控制,即D(z)=Kp,分别令Kp=1;Kp=2;Kp=5计算稳态误差、超调量及调节时间,并记录阶跃响应曲线。
(2)采用PI控制,即,令Kp=1,调整Ki数值观察稳态误差、超调量及调节时间变化过程,记录阶跃响应曲线。
(3)采用PID控制,即,令Kp=1,Ki=1;调整Kd的数值,观察稳态误差、超调量及调节时间,记录阶跃响应曲线。
三、实验要求
1、根据附录例子完成实验内容。
2、思考如何采用m函数实现增量式位置PID控制算法。
附录:
1、Simulink仿真
数字PID的MATLAB仿真被控过程的原理方框图,见图2所示。
图1系统对应系统广义z变换传递函数为:
图2数字PID的MATLAB仿真原理方框图
2、m函数仿真参考:
假设有一直流电机模型对象,传递函数为:
利用Matlab建立传递函数方法为:
sys=tf(2652,[1,25,490])
当采样间隔为ts=0.01s时,则其z变换(离散)传递函数为:
dsys=c2d(sys,ts,'z')
Matlab输出为(Transferfunction):
0.1217z+0.112
----------------------
z^2-1.736z+0.7788
获得分子和分母的函数为:
[num,den]=tfdata(dsys,'v')
如果电机输入电压状态为uk,输出转速状态为yk。
则
可得完整参考程序如下:
clearall;
closeall;
ts=0.01;%采样时间=0.001s
sys=tf(2652,[1,25,490]);%建立被控对象传递函数
dsys=c2d(sys,ts,'z');%把传递函数离散化
[num,den]=tfdata(dsys,'v');%离散化后提取分子、分母
e_1=0%上一偏差
Ee=0;%偏差累计
u_1=0.0;%上一控制器输出
u_2=0.0;
y_1=0;%上一状态输出
y_2=0;
kp=;%PID参数自己确定
ki=;%;
kd=;%;
fork=1:
100
time(k)=k*ts;%时间参数
r(k)=500;%给定值
y(k)=-1*den
(2)*y_1-den(3)*y_2+num
(2)*u_1+num(3)*u_2;
e(k)=r(k)-y(k);%偏差
u(k)=kp*e(k)+ki*Ee+kd*(e(k)-e_1);
ifu(k)>220
u(k)=220;
end
ifu(k)<=0
u(k)=0;
end
Ee=Ee+e(k);
u_2=u_1;
u_1=u(k);
y_2=y_1;
y_1=y(k);
e_2=e_1;
e_1=e(k);
end
holdon;
plot(time,r,'r',time,y,'b');
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 PID 控制器 仿真