资源描述
- 年第 1 学期
院 别: 控制工程学院
课程名称: 自动控制原理A
实验名称: pid控制特性实验研究
实验教室: 6111
指引教师: 瞿福存
小构成员(姓名,学号):
实验日期: 年 12 月 5 日
评 分:
一、实验目
1、学习并掌握运用MATLAB编程平台进行控制系统复数域和频率域仿真办法。
2、通过仿真实验研究并总结pid控制规律及参数对系统特性影响规律。
3、实验研究并总结pid控制规律及参数对系统根轨迹、频率特性影响规律,并总结系统特定性能指标下依照根轨迹图、频率响应图选取pid控制规律和参数规则。
二、实验任务及规定
(一)实验任务
设计如图所示系统,进行实验及仿真程序,研究在控制器分别采用比例(p)、比例积分(pi)、比例微分(pd)及比例积分微分(pid)控制规律和控制器参数(Kp、Ki、Kd)不同取值时,控制系统根轨迹和阶跃响应变化,总结pid控制规律及参数变化对系统性能、系统根轨迹、系统阶跃响应影响规律。详细实验内容如下:
1、比例(p)控制,设计参数Kp使得系统处在过阻尼、临界阻尼、欠阻尼三种状态,并在根轨迹图上选取三种阻尼状况Kp值,同步绘制相应阶跃响应曲线,拟定三种状况下系统性能指标随参数Kp变化状况。总结比例(p)控制规律。
2、比例积分(pi)控制,设计参数Kp、Ki使得由控制器引入开环零点分别处在:
1)被控对象两个极点左侧;
2)被控对象两个极点之间;
3)被控对象两个极点右侧(不进入右半平面)。
分别绘制三种状况下根轨迹图,在根轨迹图上拟定主导极点及控制器相应参数;通过绘制相应系统阶跃响应曲线,拟定三种状况下系统性能指标随参数Kp和Ki变化状况。总结比例积分(pi)控制规律。
3、比例微分(pd)控制,设计参数Kp、Kd使得由控制器引入开环零点分别处在:
1)被控对象两个极点左侧;
2)被控对象两个极点之间;
3)被控对象两个极点右侧(不进入右半平面)。
分别绘制三种状况下根轨迹图,在根轨迹图上拟定控制器相应参数;通过绘制
相应系统阶跃响应曲线,拟定三种状况下系统性能指标随参数Kp和Kd变化状况。总结比例积分(pd)控制规律。
4、比例积分微分(pid)控制,设计参数Kp、Ki、Kd使得由控制器引入两个开环零点分别处在:
1)实轴上:固定一种开环零点在被控对象两个开环极点左侧,使另一种开环零点在被控对象两个极点左侧、之间、右侧(不进入右半平面)移动。分别绘制三种状况下根轨迹图,在根轨迹图上拟定主导极点及控制器相应参数;通过绘制相应系统阶跃响应曲线,拟定三种状况下系统性能指标随参数Kp、Ki和Kd变化状况。
2)复平面上:分别固定两个共轭开环零点实部(或虚部),让虚部(或实部)处在三个不同位置,绘制根轨迹图并观测其变化;在根轨迹图上选取主导极点,拟定相应控制器参数;通过绘制相应系统阶跃响应曲线,拟定六种状况下系统性能指标随参数Kp、Ki和Kd变化状况。
综合以上两类成果,总结比例积分微分(pid)控制规律。
(二)实验规定
1、合理选取p、pi、pd、pid控制器参数,使开环系统极零点分布满足实验内容中规定。通过绘图展示不同控制规律和参数变化对系统性能影响。根轨迹图可以单独绘制,按照不同控制规律、不同参数将阶跃响应绘制于同一幅面中。
2、通过根轨迹图拟定主导极点及参数值,依照阶跃响应曲线拟定系统性能指标并列表进行比较,总结控制器控制规律及参数变化对系统特性、系统根轨迹影响规律。
3、总结在一定控制系统性能指标规定下,依照系统根轨迹图和阶跃响应选取pid控制规律和参数规则。
4、所有采用MATLAB平台编程完毕。
三、实验方案设计(含实验参数选取、控制器选取、仿真程序等)
1、比例(p)控制,设计参数Kp使得系统处在过阻尼、临界阻尼、欠阻尼三种状态,并在根轨迹图上选取三种阻尼状况Kp值,同步绘制相应阶跃响应曲线。
仿真程序:
p=[1];
q=[1 10 16];
rlocus(p,q);
rlocfind(p,q)
rlocfind(p,q)
rlocfind(p,q)
gtext('过阻尼');gtext ('临界阻尼');gtext('欠阻尼');
得到系统根轨迹图,在根轨迹图上选取点,即得到三个开环增益值Kp=2(过阻尼),Kp=7.0457(临界阻尼),Kp=22.5434(欠阻尼)。
绘制三种状态阶跃响应曲线
仿真程序:
kp=[1.3 4 4.4];
t=0:0.1:6;
hold on
for i=1:length(kp)
sys=tf([kp(i)],[1 8 12+kp(i)]);
subplot(2,2,i);step(sys,t)
end
hold off
grid on
gtext('Kp=2过阻尼');gtext('Kp=7临界阻尼');gtext('Kp=22.5欠阻尼');
hold on
2、比例积分(pi)控制:
1)被控对象两个极点左侧;则必要满足Ki>6Kp,令Ki=10Kp。
仿真程序:
p=[1 14];
q=[1 10 16 0];
rlocus(p,q);
rlocfind(p,q)
rlocfind(p,q)
rlocfind(p,q)
gtext('过阻尼');gtext ('临界阻尼');gtext('欠阻尼');
得到系统根轨迹图,在根轨迹图上选取点,即得到三个开环增益值Kp= 0.24444(过阻尼),Kp= 0.8051(临界阻尼),Kp= 31.9849(欠阻尼)。绘制相应阶跃响应曲线
仿真程序:
kp=[0.3 0.6 15.7];
t=0:0.1:20;
hold on
for i=1:length(kp)
sys=tf([kp(i) 10*kp(i)],[1 8 12+kp(i) 10*kp(i)]);
subplot(2,2,i);step(sys,t)
end
hold off
grid on
gtext('Kp=0.2过阻尼');gtext('Kp=0.8临界阻尼');gtext('Kp=31.9欠阻尼');
hold on
2)被控对象两个极点之间;则必要满足6Kp>Ki>2Kp,令Ki=4Kp.
仿真程序:
p=[1 14];
q=[1 10 16 0];
rlocus(p,q);
rlocfind(p,q)
rlocfind(p,q)
rlocfind(p,q)
gtext('过阻尼');gtext ('临界阻尼');gtext('欠阻尼');
得到系统根轨迹图,在根轨迹图上选取点,即得到三个开环增益值Kp= 2.1186(过阻尼),Kp= 2.3626(临界阻尼),Kp= 70.7843(欠阻尼)。绘制相应阶跃响应曲线
仿真程序:
kp=[1.3 1.7 85.0];
t=0:0.1:10;
hold on
for i=1:length(kp)
sys=tf([kp(i) 4*kp(i)],[1 8 12+kp(i) 4*kp(i)]);
subplot(2,2,i);step(sys,t)
end
hold off
grid on
gtext('Kp=2.1过阻尼');gtext('Kp=2.4临界阻尼');gtext('Kp=70.8欠阻尼');
hold on
3)被控对象两个极点右侧(不进入右半平面);则必要满足2Kp>Ki>0,令Ki=Kp。
仿真程序:
p=[1 1];
q=[1 10 16 0];
rlocus(p,q);
rlocfind(p,q)
rlocfind(p,q)
rlocfind(p,q)
gtext('过阻尼');gtext ('临界阻尼');gtext('欠阻尼');
得到系统根轨迹图,在根轨迹图上选取点,即得到三个开环增益值Kp= 4.5338(过阻尼),Kp= 10.8873(临界阻尼),Kp= 60.1969(欠阻尼)。绘制相应阶跃响应曲线
仿真程序:
kp=[3.3 5.4 47.5];
t=0:0.1:20;
hold on
for i=1:length(kp)
sys=tf([kp(i) kp(i)],[1 8 12+kp(i) kp(i)]);
subplot(2,2,i);step(sys,t)
end
hold off
grid on
gtext('Kp=4.5过阻尼');gtext('Kp=10.9临界阻尼');gtext('Kp=60.2欠阻尼');
hold on
3、比例微分(pd)控制:
1)被控对象两个极点左侧;则必要满足Kd<Kp/6;令Kd=Kp/10
仿真程序:
p=[0.1 1];
q=[1 10 16];
rlocus(p,q);
rlocfind(p,q)
rlocfind(p,q)
rlocfind(p,q)
rlocfind(p,q)
得到系统根轨迹图,在根轨迹图上选取点,即得到三个开环增益值Kp= 1.4199,Kp= 1.9100,Kp= 20.2324,Kp= 25.2324。绘制相应阶跃响应曲线
仿真程序:
kp=[5.7 36.5 203.1 233.1];
t=0:0.1:5;
hold on
for i=1:length(kp)
sys=tf([0.1*kp(i) kp(i)],[1 8+0.1*kp(i) 12+ kp(i)]);
subplot(2,2,i);step(sys,t)
end
hold off
grid on
gtext('Kp=1.4');gtext('Kp=1.9');gtext('Kp=20.2');gtext('Kp=25.3');
hold on
2)被控对象两个极点之间;则必要满足Kp/6<Kd<Kp/2,令Kd=Kp/5
仿真程序:
p=[0.2 1];
q=[1 8 12];
rlocus(p,q);
rlocfind(p,q)
rlocfind(p,q)
rlocfind(p,q)
rlocfind(p,q)
得到系统根轨迹图,在根轨迹图上选取点,即得到三个开环增益值Kp= 6.1009,Kp=13.2394,Kp= 20,Kp= 30。绘制相应阶跃响应曲线
仿真程序:
kp=[11.1 24.0 35.9 47.4];
t=0:0.1:5;
hold on
for i=1:length(kp)
sys=tf([0.2*kp(i) kp(i)],[1 8+0.2*kp(i) 12+ kp(i)]);
subplot(2,2,i);step(sys,t)
end
hold off
grid on
gtext('Kp=6.1');gtext('Kp=13.3');gtext('Kp=20');gtext('Kp=30');
hold on
3)被控对象两个极点右侧(不进入右半平面)。则必要满足Kd>Kp/2,令Kd=Kp,
仿真程序:
p=[1 1];
q=[1 10 16];
rlocus(p,q);
rlocfind(p,q)
rlocfind(p,q)
rlocfind(p,q)
rlocfind(p,q)
得到系统根轨迹图,在根轨迹图上选取点,即得到三个开环增益值Kp= 1.0114,Kp= 11.1884,Kp= 20,Kp= 30仿真程序:
kp=[1.1 4.0 7.5 11.2];
t=0:0.1:5;
hold on
for i=1:length(kp)
sys=tf([kp(i) kp(i)],[1 8+kp(i) 12+ kp(i)]);
subplot(2,2,i);step(sys,t)
end
hold off
grid on
gtext('Kp=1.0');gtext('Kp=11.2');gtext('Kp=20');gtext('Kp=30');
hold on
4.比例积分微分(pid)控制,Gc(s)=Kp+Ki/s+Kd*s,设计参数Kp、Ki、Kd使得由控制器引入两个开环零点分别处在:
开环传递函数为:(s^2+Kp*s+Ki)/[s(s+2)(S+8)],为了简化运算令Kd=1,
1)实轴上:
一种开环零点在被控对象两个开环极点左侧(s=-10) (100-10*K p+Ki=0) Ki=10*Kp-100
此时特性方程为:s(s+2)(S+8)+ (s^2+Kp*s+ 10*Kp-100)=0
仿真程序:
p=[1 10]
q=[1 0 -100]
rlocus(p,q)
rlocfind(p,q)
2)复平面上:
开环传递函数为:(s^2+Kp*s+Ki)/[s(s+2)(S+8)] 设开环传递函数共轭零点实部-10,-4,-1
仿真程序:
p=[1 ]
q=[1 11 36 0]
rlocus(p,q)
rlocfind(p,q)
四、实验成果(含仿真曲线、数据登记表格、实验成果数据表格及实验分析与结论等)
1、比例(p)控制,设计参数Kp使得系统处在过阻尼、临界阻尼、欠阻尼三种状态,并在根轨迹图上选取三种阻尼状况Kp值,同步绘制相应阶跃响应曲线。
系统根轨迹图
K= 22.5434 K = 7.0457 K= 2
三种状态阶跃响应曲线
实验分析与总结:在欠阻尼时,随着 kp 增长,系统超调量增长,稳态时间增长;在过阻尼时,随着 kp 增大,系统稳态时间减小。
2、比例积分(pi)控制:
1)被控对象两个极点左侧;则必要满足Ki>6Kp,令Ki=10Kp。
根轨迹
Kp =0.2444 Kp = 0.8051
Kp = 31.9849
阶跃响应曲线
2)被控对象两个极点之间;则必要满足6Kp>Ki>2Kp,令Ki=4Kp.
根轨迹图
Kp= 2.1186 Kp= 2.3626
Kp= 70.7843
阶跃响应曲线
3) 被控对象两个极点右侧(不进入右半平面);则必要满足2Kp>Ki>0,令Ki=Kp
根轨迹
Ki= Kp = 10.8873 Ki= Kp = 19.9081
Ki= Kp =60.1969
阶跃响应曲线
实验分析与总结:当pi 控制时,当增长零点在控制极点中间时,随着 kp 增长,超调量增长,稳态时间减小;当增长零点在控制极点右边时,随着 kp 增长,超调量不变,稳态时间减小。增长零点在控制极点左边,随着 kp 增长,超调量增长,稳态时间增长
3、比例微分(pd)控制,设计参数Kp、Kd使得由控制器引入开环零点分别处在Gc(s) =Kp+Kd*s
1)被控对象两个极点左侧;则必要满足Kd<Kp/6;令Kd=Kp/10
根轨迹图
Kp= 10Kd
Kd= 1.4199 Kd= 1.9100
Kd= 20.2324 Kd= 25.2324
阶跃响应曲线
2)被控对象两个极点之间;则必要满足Kp/6<Kd<Kp/2,令Kd=Kp/5
根轨迹图
Kd= 6.1009 Kd= 13.2494
Kd =20 Kd =30
阶跃响应曲线
3)被控对象两个极点右侧(不进入右半平面)。则必要满足Kd>Kp/2,令Kd=Kp,
根轨迹图
Kd = 1.0114 Kd = 11.1884
Kd =20 Kd =30
阶跃响应曲线
实验分析与总结:当pd 控制时,当增长零点在控制极点中间时,随着 kd 增长,超调量不变; 增长零点在控制极点左边,随着 kd 增长,超调量增长,稳态时间减小;当增长零点在控制极点 右边时,随着 kd 增长,超调 量减小,稳态时间减小。
4. 比例积分微分(pid)控制,设计参数Kp、Ki、Kd使得由个开环零点分控制器引入两别处在
开环传递函数为:(s^2+Kp*s+Ki)/[s(s+2)(S+8)]
1)实轴上:
根轨迹图 当 Kp= 22.2334时 此时Ki=10*Kp-100= 122.3340
另一种开环零点在被控对象两个极点左侧
当Kp=15.5151 Ki=55.1540 另一种开环零点 当Kp= 10.2903 Ki= 2.9030另一种开环零点在被在被控对在被控对象两个极点中间 象两个极点右侧
实验分析与总结(实轴上):PID 控制时,固定一控制零点 A=10,使另一零点分别位于 极点左,中,右时,当零点 B 在控制极点左边时,随着 kd 增长,超调量减小,稳态时间减小; 当零点 B 在控制极点中间时,随着 kd 增长,超调量减小,稳态时间减小;当零点 B 在控制极点 右边时,随着 kd 增长,超调量不变,稳态时间减小。
2)复平面上:
当实部为-10时,Kp=20
Ki= 231.9727 Ki= 57.7550 Ki= 23.1656
当实部为-4时,Kp=8
Ki=139.5025 Ki=86.9906 Ki=27.4299
当实部为-1时,Kp=2
Ki= 93.2458 Ki= 19.8106 Ki= 13.3003
实验分析与总结(复平面上):PID 控制时,假设新增零点在复平面上时,当实部固定 不变时,随着虚部增长,超调量增长,稳态时间增长;当虚部固定期,随着实部增长, 超调量增长,稳态时间减小到最小值时又增长。
综上所述:咱们得出,PID 控制中,随着 kp、ki、kd 变化,系统稳态特性不断发生 变化, 只有在固定一种变量条件下变化此外变量进行系统控制,不能同步变化来控制系统,因而,PID 控制也有其局限性,很难稳定达到使用最佳效果,由于PID局限性,因此在应用中会收到条件 限制而大大减小抱负性。
五、实验总结:(含建议、收获等)
比例控制器输出变化量与输入偏差成正比,在时间上是没有延滞。或者说,比例控制器 输出是与输入一一相应。比例放大系数 Kp 是可调。因此比例控制器事实上是一种放大系数可调 放大器。Kp 愈大,在同样偏差输入时,控制器输出愈大,因而比例控制作用愈强;反之,Kp 值愈小,表达比例控制作用愈弱。
当输入偏差是一幅值为 A 阶跃变化时,比例积分控制器输出是比例和积分两某些之和.。变化开始是一阶跃变化,其值为 KpA(比例作用),然后随时间逐渐上升(积分作用)。比例作用是即时 、迅速,而积分作用是缓慢、渐变。由于比例积分控制规律是在比例控制基本上加上积分控制,因此既具备比例控制作用及时、迅速特点,又具备积分控制能消除余差性能,因而是生产上惯用控制规律。
微分控制作用输出大小与偏差变化速度成正比。如果控制器输入是一阶跃信号,微分控制器输出在输入变化瞬间,输出趋于∞。在此后来,由于输入不再变化,输出及时降到零。这种控制作用称为抱负微分控制作用。由于控制器输出与控制器输入信号变化速度关于系,变化速度越快,控制器输出就越大;如果输入信号恒定不变,则微分控制器就没有输出,因而微分控制器不能用来消除静态偏差。并且当偏差变化速度很慢时,输入信号虽然通过时间积累达到很大值,微分控制器基本不起作用,因此普通此时很少用到抱负微分控制。在实际应用过程中,往往遇到问题就是理论知识不能和实际应用有机结合在一起,在此后学习过程当中更加注意这方面培养,通过一次次实验,尤加觉得重要,力求将理论知识更好应用于实际当中。
展开阅读全文