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相关推荐

  1. 双馈风力发电机DFIG滑模控制SMC MATLAB/Simulink仿真模型 采用PI调节器为外环滑模控制器SMC作为内环控制,跟传统的双PI环相比,功率的很随性更好

    双馈风力发电机DFIG滑模控制SMC MATLAB/Simulink仿真模型(成品) 1.采用非线性控制滑模控制策略 2.采用PI调节器为外环滑模控制器SMC作为内环控制,跟传统的双PI环相比,功率的 ...

  2. PI调节器与无差拍电流预测控制器性能对比

    导读:首先需要说明的是PI电流调节器和无差拍电流预测控制器的作用都是为了求得电压参考指令作为脉宽调制SVPWM模块的输入.本期文章以传统的PI和复矢量PI调节器与无差拍电流预测控制器作为分析对象,进行 ...

  3. 永磁同步电机矢量控制基础补充(四)——如何设定电流环PI调节器和转速环PI调节器的限幅值

    注: 1:此为永磁同步控制系列文章之一,应大家的要求,关于永磁同步矢量控制的系列文章已经在主页置顶,大家可以直接去主页里面查阅,希望能给大家带来帮助,谢谢. 2:矢量控制的六篇文章后.弱磁.MTPA. ...

  4. matlab中Nurbs库的简单使用

    文章目录 前言 一.简单例子 二.复杂一点的NUrbs曲面 nrbeval函数 前言 只是为方便学习,不做其他用途,记录matlab中Nurbs的使用,好像记得是添加的matlab中的一个Nurbs库 ...

  5. 用MATLAB中linprog函数解决简单问题的计算方法和实例

    matlab中用于线性规划优化计算的是linprog()函数,公式是[x,fval,exitflag,output,lambda]=linprog(f,A,b,Aeq,beq,lb,ub);,其中各个 ...

  6. matlab中noisbloc,基于小波变换的微弱信号检测技术的研究.doc

    毕业论文 基于小波变换的微弱信号检测技术研究 学生姓名: 学号: 学 院: 专 业: 指导教师: 2012年 6月 基于小波变换的微弱信号检测技术研究 摘要: 微弱信号检测的目的是要提取需要检测到的微 ...

  7. 模型计算机控制器的设计,模型计算机_控制器的设计.doc

    <计算机组成原理> 课 程 设 计 报 告 设计题目: 模型计算机控制器的设计 学 生: 学 号: 专业班级: 13计师X班 指导教师: 麦 山 提交日期: 2015 年 6 月 XX 日 ...

  8. 彩灯控制器课程设计vhdl_VHDL花样彩灯控制器的设计

    10 分 得 分 一.实验名称 实验 8 :花样彩灯控制器的设计 二.任务及要求 [基本部分] 5 分 1 .在 QuartusII 平台上,采用文本输入设计方法,通过编写 VHDL 语言程序,设计一 ...

  9. matlab中添加0向量,如何把在matlab中把a=0:0.1:pi变成列向量啊?

    A.'是一般转置,A'是共轭转置,顾名思义是对矩阵先做共轭运算,再进行转置,在A是实数矩阵时,两者没有区别,但是当A是复矩阵时,就有区别了,示例如下: A=[1 2 3;4 5 6] A = 1 2 ...

  10. MATLAB中的vpa函数简单实用记录——精度控制

    vpa函数有两种语法格式: vpa(x) vpa(x,d) 下面是MATLAB帮助文档上的解释: vpa(x) uses variable-precision floating-point arith ...

最新文章

  1. BC547 晶体管初步测试
  2. 《移动项目实践》实验报告——Android设备操作
  3. java之 Timer 类的使用以及深入理解
  4. 河源电大有考计算机等级的吗,河源电大有什么专业自考也有?
  5. excel快速填充_F4键,Excel中最强大的快捷键,没有之一
  6. php _get invalid,PHP 错误: ZipArchive::getFromName(): Invalid or unitialized Zip object in 解决方法...
  7. 鼠标、键盘键值对应表
  8. 协议 - 收藏集 - 掘金
  9. 浅谈 HTTPS 和 SSL -TLS 协议的背景与基础
  10. Ajax.net中的Web服务
  11. 计算机课堂热身游戏,电脑课我们常玩的13个小游戏
  12. ThreadPoolExecutor线程池终止
  13. Unity禁止多点触控
  14. 人工神经网络通过调整,神经网络怎么调参数
  15. 用什么软件编写html语言,可以用什么工具编写javascript?
  16. Android 环信 消息免打扰 实现
  17. Micro LED将引领小间距显示的未来。
  18. LeetCode-179
  19. STOP!运营小程序,不知道这4种方法,是不可能实现小程序裂变的
  20. cmd命令打印当前文件夹下所有文件的绝对路径并存到指定的文件内

热门文章

  1. 啊D注入工具是一种主要用于SQL的注入工具
  2. exe应用程序无法启动,因为应用程序的并行配置不正确
  3. python迅雷下载器_简单的迅雷VIP账号获取器(Python)
  4. js替换a标签href
  5. Nmap小技巧——探测大网络空间、局域网中的存活主机
  6. 希捷硬盘校准日志分析
  7. ssm mysql项目实战_ssm项目实战_ssm项目实战教程_ssm项目实战视频教程 _课课家
  8. 使用kubeasz自动化部署K8s
  9. matlab如何把正弦转化为余弦公式,余弦和正切的换算关系(正弦余弦正切转换公式大全)...
  10. 绩效打c被开除,员工将新东方告上法院,获赔416000元!