我是靠谱客的博主 怕孤单鞋子,最近开发中收集的这篇文章主要介绍MATLAB中PI调节器设计,简单的PI控制器的设计.doc,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.原控制系统的仿真

原被控对象传递函数为

(1)

在matlab中对原系统进行仿真,可得到其在单位阶跃输入的条件下的响应。

clear;

num=10;

den=conv([1 1],[1 3 4]);

g1=tf(num,den);

t=0:0.1:20;

sys=feedback(g1,1);

step(sys,t);

grid;

figure(1)

所得单位阶跃响应如图一所示,由图中可以看出此系统的超调量为43.2%,调节时间为8.45s,并且存在比较大的稳态误差.

图一 原系统单位阶跃响应

利用PID算法改进系统性能

设计一个PID控制,使得超调量小于10%,调节时间小于3s,单位阶跃输入下的稳态误差为0.加入PID控制器后系统的传递函数为

(2)

采用临界比例度法整定调节参数,此法是先求临界比例度δk和临界周期Tk,根据经验关系求出各参数。先把积分时间调至=,微分时间=0,调节器只利用纯比例作用。在干扰作用下整定比例度,使被调参数产生振荡,调到等幅振荡为止,记下这时的临界比例值,及临界 周期值,根据经验计算各参数的整定值。

经验关系:

PI控制时: EMBED Equation.KSEE3 * MERGEFORMAT (3)

PID控制时: EMBED Equation.KSEE3 * MERGEFORMAT (4)

在SIMULINK中搭建如图2模型,通过调整比例参数,当比例系数为2.38时,产生等幅振荡,如图3所示。

图2.改进后的结构图

图3.单位阶跃响应图

用临界比例度法,根据图3得=2.38,=2.5,代入公式4中得kp=1.428,ki=0.8,kd=0.3125

代入公式2中编程,如下:

clear

kp=1.428;

ki=0.8;

kd=0.3125;

g1=tf([10*kp*kd 10*kp 10*kp*ki],[1 4 7 4 0]);

t=0:0.1:20;

sys=feedback(g1,1);

step(sys,t);

grid;

figure(1)

得单位阶跃响应图4,可以看出超调量为30.5%,调节时间为4.66,稳态误差为零。

图4.单位阶跃响应图

明显的,上述设计依然不满足设计要求,超调量过大,为了减少超调量,减少比例系数,经过调试,当kp=0.428时,编写程序仿真。

kp=0.428;

ki=0.8;

kd=0.3125;

g1=tf([10*kp*kd 10*kp 10*kp*ki],[1 4 7 4 0]);

t=0:0.1:20;

grid;

sys=feedback(g1,1);

step(sys,t);

grid;

figure(1)

得到图5

图5.单位阶跃响应

由图5可得,超调量为1.25%,调节时间为2.58,稳态误差为0,满足设计要求。

编写程序得到根轨迹图6和伯德图7.

clear

kp=0.428;

ki=0.8;

kd=0.3125;

g1=tf([10*kp*kd 10*kp 10*kp*ki],[1 4 7 4 0]);

t=0:0.1:20;

bode(g1);

figure(1)

rlocus(g1);

figure(2)

rlocus(g1)

图6.根轨迹图

图7.伯德图

3在系统稳定后加入干扰,如图8所示。

.

图8.加干扰的系统结构图

示波器的波形如图9所示。

图9.加扰动的单位阶跃响应图

由上图可知,在稳定后加入干扰,系统会出现波动,但马上又恢复到稳态,说明此系统具有一定的抗干扰能力。

最后

以上就是怕孤单鞋子为你收集整理的MATLAB中PI调节器设计,简单的PI控制器的设计.doc的全部内容,希望文章能够帮你解决MATLAB中PI调节器设计,简单的PI控制器的设计.doc所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(120)

评论列表共有 0 条评论

立即
投稿
返回
顶部