实验二 数字PID控制器仿真

2020-04-17 18:47

实验二 数字PID控制器仿真

一、实验目的

1、学习数字PID算法的基本原理;

2、掌握利用Matlab软件进行PID算法仿真的基本方法。 二、实验原理及内容

1、实验原理

计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。因此连续PID控制算法不能直接使用,需要采用离散化方法。在计算机PID控制中,使用的是数字PID控制器。

按模拟PID控制算法,以一系列的采样时刻点kT代表连续时间t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,可得离散PID位置式表达式:

?Tu(k)?kp?e(k)??TI?k?e(j)?j?0k?TD(e(k)?e(k?1))??T?

?kpe(k)?ki?e(j)?kd?e(k)j?0式中,ki?kpTTI,kd?kpTD/T,e为误差信号(即PID控制器的输入),u为

控制信号(即控制器的输出)。

对应控制器的脉冲传递函数:

D(z)?U(z)1?kp?ki?kd(1?z?1) ?1E(z)1?Z同样,可采用离散PID增量式,对应表达式如下:

?uk?kp?(ek?ek?1)?ki?ek?kd?(ek?2ek?1?ek?2)

uk?uk?1??uk 2、实验内容

已知某计算机控制系统如图1所示。采样周期为T=0.1s,分别采用不同的

调节器进行MATLAB控制仿真。

R(s) T E(z) D(z) T U(z) 1?e?sTs 10 (s?1)(s?2)Y(s) T T=0.1s 图1 带数字PID调节器的计算机控制系统

(1) 若只采用比例控制,即D(z)=Kp,分别令Kp=1;Kp=2;Kp=5计算

稳态误差、超调量及调节时间,并记录阶跃响应曲线。

1(2) 采用PI控制,即D(z)?Kp?Ki,令Kp=1,调整Ki数值观察?11?Z稳态误差、超调量及调节时间变化过程,记录阶跃响应曲线。

1(3) 采用PID控制,即D(z)?Kp?Ki令Kp=1,Ki=1;?Kd(1?z?1),?11?Z调整Kd 的数值,观察稳态误差、超调量及调节时间,记录阶跃响应曲线。 三、实验要求

1、根据附录例子完成实验内容。

2、思考如何采用m函数实现增量式位置PID控制算法。

附录:

1、Simulink仿真

数字PID的MATLAB仿真被控过程的原理方框图,见图2所示。图1系统对应系统广义z变换传递函数为:

HG(z)?0.0453(z?0.904)

(z?0.905)(z?0.819)

图2 数字PID的MATLAB仿真原理方框图

2、m函数仿真参考:

假设有一直流电机模型对象,传递函数为:

y(s)u(s)? 1/Ce5.412652??TaTms2?Tms?10.00204s2?0.051s?1s2?25s?490利用Matlab建立传递函数方法为:

sys=tf(2652,[1,25,490])

当采样间隔为ts=0.01s时,则其z变换(离散)传递函数为:

dsys=c2d(sys,ts,'z')

Matlab输出为(Transfer function):

0.1217 z + 0.112 ---------------------- z^2 - 1.736 z + 0.7788

获得分子和分母的函数为:

[num,den]=tfdata(dsys,'v')

如果电机输入电压状态为uk,输出转速状态为yk。则

yk??den(2)?yk?1?den(3)?yk?2?num(2)?uk?1?num(3)?uk?2

可得完整参考程序如下: clear all; close all;

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=;%;

for k=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); if u(k)>220 u(k)=220; end if u(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 hold on;

plot(time,r,'r',time,y,'b');


实验二 数字PID控制器仿真.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《中国妇幼卫生事业发展报告(2011)》问答

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: