实验四、最少拍控制算法matlab仿真实验

这篇具有很好参考价值的文章主要介绍了实验四、最少拍控制算法matlab仿真实验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实验四、最少拍控制算法matlab仿真实验

一、实验目的

1.掌握最少拍有纹波、无纹波系统的设计方法;

2.学会最少拍控制系统的分析方法;

3.了解输入信号对最少拍控制系统的影响及改进措施

二、实验工具

MATLAB 软件( 2022a)  

三、实验要求

1、写出广义被控对象的脉冲传递函数G(z)。并求出广义被控对象的差分方程形式。

2、画出未加控制器时系统的单位阶跃响应图,分析系统是否稳定?若稳定,求稳态误差。

3、根据最少拍设计步骤,写出针对单位阶跃输入时的闭环脉冲传递函数实验四、最少拍控制算法matlab仿真实验和误差脉冲脉冲传递函数1-实验四、最少拍控制算法matlab仿真实验。给出设计出的最少拍控制器的脉冲传递函数D(z)。并求出最少拍控制器的差分方程形式。

4、画出串上最少拍控制器后的数字控制系统框图。

5、将上述所求的最少拍控制器代入系统,画出系统在单位阶跃输入信号作用下的响应图,以及数字控制器的控制量变化曲线。分析加入控制器后系统能否达到最少拍控制的要求。给出系统输出序列和控制器输出序列,并求出调节时间,讨论输出是否存在纹波。

6、若存在纹波,请设计最少拍无纹波控制器,并给出串上最少拍无纹波控制器后的闭环脉冲传递函数实验四、最少拍控制算法matlab仿真实验和误差脉冲脉冲传递函数1-实验四、最少拍控制算法matlab仿真实验。最少拍无纹波控制器的脉冲传递函数D(z)。

7、将得到的最少拍无纹波控制器代入系统,画出系统在单位阶跃输入信号作用下的响应图,以及数字控制器的控制量变化曲线。给出系统输出序列和控制器输出序列,分析加入最少拍无纹波控制器后系统能否达到消除纹波的目的。为消除纹波,调节时间变为多少。

8、写出针对单位斜坡信号输入时的闭环脉冲传递函数实验四、最少拍控制算法matlab仿真实验和误差脉冲脉冲传递函数1-实验四、最少拍控制算法matlab仿真实验。给出设计出的最少拍控制器的脉冲传递函数D(z)

四、实验内容

设单位反馈线性定常系统的连续部分和零阶保持器的传递函数分别为:

实验四、最少拍控制算法matlab仿真实验

 

,采样周期T=1秒。要求系统在单位阶跃输入时实现最少拍控制,求数字控制器的脉冲传递函数实验四、最少拍控制算法matlab仿真实验。讨论加上控制器后的系统输出在采样点之间是否存在纹波,若存在纹波,请设计最少拍无纹波控制器。系统结构如图:

 

实验四、最少拍控制算法matlab仿真实验

 

  1. 对未加控制器时的闭环系统分析其是否满足最少拍要求

实验四、最少拍控制算法matlab仿真实验

 

  

由开环传递函数可知,开环脉冲传递函数有z=1的极点个数为1,系统为I型系统。

对于单位速度输入,稳态误差不为零。

即原来的闭环系统达不到最少拍系统中对某个输入稳定无静差的要求。

(3)通过matlab对函数进行绘制并得到具体的输出序列进行对比得到准确的结果。

实验四、最少拍控制算法matlab仿真实验

 

原闭环系统输出序列为:

实验四、最少拍控制算法matlab仿真实验

 

可知,系统输出在第十三拍以后,基本稳定为1,满足稳定性要求。调节时间为13s。动态过程为13拍,达不到最少怕的要求。

原闭环系统偏差序列为:

实验四、最少拍控制算法matlab仿真实验

 

可知,系统偏差输出在第十三拍(系统稳定)以后,基本保持0大小,无静差。

  所以可以从程序输出的内容分析可看出,原系统不满足最少拍要求。需要串入最少拍调节器。

实验四、最少拍控制算法matlab仿真实验

 实验四、最少拍控制算法matlab仿真实验

 

实验四、最少拍控制算法matlab仿真实验

实验四、最少拍控制算法matlab仿真实验 

实验四、最少拍控制算法matlab仿真实验 

 

可知,加数字控制器后,系统输出与系统输入在1s以后相等,说明系统是稳定的且稳态无静差。调节时间为1s,但观察其数字控制器输出曲线及输出序列发现,其控制器输出在28拍(28s)后才变为恒定值,说明输出在第3拍至第28拍间,仅能保证在采样点上与输入相同,在采样点间不相同,即输出有纹波。

实验四、最少拍控制算法matlab仿真实验

实验四、最少拍控制算法matlab仿真实验 

实验四、最少拍控制算法matlab仿真实验 

实验四、最少拍控制算法matlab仿真实验 

 实验四、最少拍控制算法matlab仿真实验

 

可以看出,此时调节时间变为2s,调节时间比原来延长1拍,但其控制器输出也在2拍后变为恒定值,可以保证2拍后,输出不仅在采样点上与输入相同,还在采样点间保证相同,实现输出无纹波。

五、实验思考

1. 最少拍受什么限制而使调整节拍增加?

答:调整节拍增加最少拍受输入函数R(z)的阶数限制。R(z)的阶数越高,调整时间越长。

2.分析不同输入信号对最少拍控制系统的影响。

答:与输入信号有关。输入信号的阶数越高,其调整时间越长。

3.无纹波系统对控制器有何要求。

答:有两个要求。

第一,被控对象G(s)要有足够的的积分环节,第二,D(z) 必须包含G(z)中的圆内圆外的全部零点N(z);

六、代码汇总

对未加控制器时的闭环系统分析其是否满足最少拍要求文章来源地址https://www.toymoban.com/news/detail-443052.html

  1. clear;  
  2. clc;  
  3. G=zpk([],[0,-1],1);           %零极点形式的被控对象  
  4.    
  5. T=1;                         %采样周期  
  6. Gd=c2d(G,T,'zoh')           %广义被控对象脉冲传函  
  7. [num1,den1]=tfdata(Gd,'v');  
  8. GG=feedback(Gd,1)           %原系统闭环传递函数  
  9.    
  10.  yd_1=0;yd_2=0;  
  11.  ed_1=0;ed_2=0;  
  12.    
  13. for k=1:1:35  
  14.     time(k)=k*T;  
  15.     rin(k)=1;      %单位阶跃信号  
  16.    %闭环系统的差分方程  
  17. yd(k)=num1(2)*ed_1+num1(3)*ed_2-den1(2)*yd_1-den1(3)*yd_2;  
  18.  ed(k)=rin(k)-yd(k);      %求偏差  
  19.    
  20. %数据更新  
  21.  ed_2=ed_1;ed_1=ed(k);  
  22. yd_2=yd_1;yd_1=yd(k);  
  23.    
  24. end  
  25. yd   %原闭环系统的输出序列  
  26. ed   %原闭环系统的偏差序列  
  27. figure(1);  
  28. plot(time,rin,'r',time,yd,'g',time,ed,'b');  
  29. xlabel('time');  
  30. ylabel('rin,yd');  
  31. title('闭环系统在单位速度信号下的响应');  
  32. text(3,23,'红线:输入信号;绿线:系统输出响应;蓝线:偏差');  
  33.   
  34. %-------------------------------设计最少拍控制器  -------------------------------
  35. clear all;  
  36. clc;  
  37. G=zpk([],[0,-1],1);           %零极点形式的被控对象  
  38.    
  39. T=1;                         %采样周期  
  40. Gd=c2d(G,T,'zoh');           %广义被控对象脉冲传函  
  41.    
  42. phi=tf([1],[1 0],T);     %闭环脉冲传函  
  43. phie=tf([1 -1],[1 0],T);    %误差脉冲传函  
  44. D=phi/(Gd*phie);               %数字控制器脉冲传函D(z)  
  45. phie,phi,Gd,D  
  46. [num1,den1]=tfdata(Gd,'v');  
  47. [num2,den2]=tfdata(D,'v');  
  48.    
  49.  ud_1=0;ud_2=0;ud_3=0;  
  50.  yd_1=0;yd_2=0;  
  51.  ed_1=0;ed_2=0;ed_3=0;  
  52.    
  53. for k=1:1:35  
  54.     time(k)=k*T;  
  55.     rin(k)=1;      %单位阶跃信号  
  56.    %加数字控制器的差分方程  
  57. yd(k)=num1(2)*ud_1+num1(3)*ud_2-den1(2)*yd_1-den1(3)*yd_2;  
  58.     ed(k)=rin(k)-yd(k);      %求偏差  
  59.    
  60. %数字控制器的差分方程  
  61. ud(k)=(num2(1)*ed(k)+num2(2)*ed_1+num2(3)*ed_2+num2(4)*ed_3-den2(2)*ud_1-den2(3)*ud_2-den2(4)*ud_3)/den2(1);  
  62.    
  63. %数据更新  
  64.     ud_3=ud_2;ud_2=ud_1;ud_1=ud(k);  
  65.     ed_3=ed_2;ed_2=ed_1;ed_1=ed(k);  
  66. yd_2=yd_1;yd_1=yd(k);  
  67.    
  68. end  
  69. yd,ud  
  70. figure(2);  
  71. plot(time,rin,'r',time,yd,'b',time,ud,'k');  
  72. xlabel('time');  
  73. ylabel('rin,yd,ud');  
  74. title('加数字控制器后单位阶跃信号的闭环响应及数字控制器的输出');  
  75. text(3,1.5,'红线:系统输入;蓝线:系统输出;黑线:控制器输出');  
  76. %-------------------------无纹波控制器设计-------------------------------  
  77. clear all;  
  78. close all;  
  79. clc;  
  80. G=zpk([],[0,-1],1);           %%零极点形式的被控对象  
  81. T=1;                         %采样周期  
  82. Gd=c2d(G,T,'zoh');           %广义被控对象脉冲传函  
  83.    
  84. %求误差脉冲传函及闭环脉冲传函  
  85. phi=tf([1/1.7183 0.7183/1.7183],[1 0 0],T);     %闭环脉冲传函  
  86. phie=tf([1 -1/1.7183 -0.7183/1.7183],[1 0 0],T);    %误差脉冲传函  
  87. D=phi/(Gd*phie);               %数字控制器脉冲传函D(z)  
  88. Gd,D,phie,phi  
  89.    
  90. [num1,den1]=tfdata(Gd,'v');%求脉冲传函的分子分母多项式  
  91. [num2,den2]=tfdata(D,'v');  
  92.    
  93.  ud_1=0;ud_2=0;ud_3=0;ud_4=0;ud_5=0;  
  94.  yd_1=0;yd_2=0;  
  95.  ed_1=0;ed_2=0;ed_3=0;ed_4=0;ed_5=0;  
  96.    
  97. for k=1:1:25  
  98.     time(k)=k*T;  
  99.     rin(k)=1;      %单位阶跃信号  
  100.    
  101.      %加数字控制器的差分方程  
  102. yd(k)=num1(2)*ud_1+num1(3)*ud_2-den1(2)*yd_1-den1(3)*yd_2;  
  103.     ed(k)=rin(k)-yd(k);  
  104.    
  105. %数字控制器的差分方程  
  106. ud(k)=(num2(1)*ed(k)+num2(2)*ed_1+num2(3)*ed_2+num2(4)*ed_3+num2(5)*ed_4+num2(6)*ed_5-den2(2)*ud_1-den2(3)*ud_2-den2(4)*ud_3-den2(5)*ud_4-den2(6)*ud_5)/den2(1);  
  107.    
  108.     ud_5=ud_4;ud_4=ud_3;ud_3=ud_2;ud_2=ud_1;ud_1=ud(k);  
  109.     ed_5=ed_4;ed_4=ed_3;ed_3=ed_2;ed_2=ed_1;ed_1=ed(k);  
  110. yd_2=yd_1;yd_1=yd(k);  
  111.    
  112. end  
  113. yd,ud  
  114.    
  115. figure(1);  
  116. plot(time,rin,'r',time,yd,'b',time,ud,'k');  
  117. xlabel('time');  
  118. ylabel('rin,yd,ud');  
  119. title('加数字控制器后单位阶跃信号的闭环响应及数字控制器的输出');  
  120. text(1.5,1.5,'红线:系统输入;蓝线:系统输出;黑线:控制器输出');  

到了这里,关于实验四、最少拍控制算法matlab仿真实验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Matlab实现 遗传算法 无向图结点分成两类使得两类间边数最少 数学建模作业

    输入:一个图的邻接矩阵G,n1,n2 (举例n1=16,n2=1) 输出:节点的分类id(第一类为0,第二类为1,0的个数为n1个, 1的个数为n2个) 目标:使得两类之间的边数最少 算法:遗传算法 目录 步骤1:初始化种群,种群个数,随机生成初始种群 步骤2:交叉算子 步骤3:突变算子 步骤

    2024年02月11日
    浏览(76)
  • 【预测控制】动态矩阵控制(DMC)及Matlab仿真

    相关文章: 【预测控制1】模型预测控制概论 【预测控制2】预测控制基本原理 【预测控制4】基于状态空间模型的预测控制 动态矩阵控制 (Dynamic Matrix Control, DMC )起源于20世纪70年代,是一种基于数学模型的先进控制算法,在化工、电力、冶金、制药等领域得到了广泛的应用

    2024年02月04日
    浏览(60)
  • 利用MATLAB控制HFSS进行仿真

    利用MATLAB控制HFSS联合进行仿真 HFSS是一款三维仿真软件,经常用在天线设计领域,在设计天线时我们经常为了使天线达到需要的性能指标使用各种优化算法来对天线进行优化,但是HFSS自带的optimetrics模块难以满足我们的要求,而MATLAB在优化算法领域强大的计算能力就能够弥补

    2024年02月05日
    浏览(44)
  • 基于证据理论的多源数据融合仿真实验matlab代码

    matlab源码链接见文章末尾 D-S证据理论是一种不确定性推理方法,所处理的数据信息大多是具有不确定性的,该方法能够摆脱对先验概率的依赖,把难以下手分析和处理的完整问题分解成很多易于处理的子问题,利用D-S证据理论将子问题的分析结论综合起来,采用数学推理推理

    2024年02月03日
    浏览(35)
  • Matlab实现PID控制仿真(附上30个完整仿真源码+数据)

    本文介绍了如何使用Matlab实现PID控制器的仿真。首先,我们将简要介绍PID控制器的原理和控制算法。然后,我们将使用Matlab编写一个简单的PID控制器,并使用仿真环境来验证其性能。最后,我们将通过调整PID控制器的参数来优化控制系统的响应。 PID控制器是一种经典的控制算

    2024年02月07日
    浏览(83)
  • SVPWM控制技术+Matlab/Simulink仿真详解

    本章节首先介绍SVPWM控制技术的原理,然后详细分析SVPWM控制算法的具体实现方式,并通过Matlab/Simulink对SVPWM控制算法进行仿真分析,最后通过永磁同步电机矢量控制的实例进行算法实现。 SPWM控制技术主要控制逆变器的输出电压尽量接近正弦波,并未顾及输出电流的波形。电

    2024年01月22日
    浏览(42)
  • MATLAB 模型预测控制(MPC)控制入门 —— 设计并仿真 MPC 控制器

    MATLAB 模型预测控制(MPC) 模型预测控制工具箱™ 提供了用于开发模型预测控制 (MPC) 的函数、应用程序、Simulink® 模块和参考示例。对于线性问题,该工具箱支持设计隐式、显式、自适应和增益调度 MPC。对于非线性问题,您可以实现单级和多级非线性 MPC。该工具箱提供可部

    2024年02月02日
    浏览(53)
  • Arduino控制RGB三色LED灯实验、程序代码、连线图、仿真

    RGB色彩模式包含红绿蓝三种,通过控制红(R)、绿(B)、蓝(G)三种颜色的变化使其相互叠加产生花式颜色。而其颜色值的输出是通过PWM来控制的。RGB三基色按照不同的比例相加合成混色称为相加混色,除相加混色法之外还有相减混色法。 PWM,即脉冲宽度调制,是英文“Pulse Wid

    2024年02月13日
    浏览(56)
  • 基于条纹投影的物体三维形貌测量理论与仿真实验-含Matlab代码

    基于光栅投影的光学三维面形测量具有非接触、精度高、速度快、低成本、全场测量和易于实现等特点,在逆向工程、工业检测、质量控制、虚拟现实、医学诊断、文物修复和物体识别等领域应用广泛。相移轮廓术(PSM)和傅里叶变换轮廓术(FTP)是两种传统方法。相移法计算简单

    2024年02月03日
    浏览(158)
  • 车辆行驶控制运动学模型的matlab建模与仿真,仿真输出车辆动态行驶过程

    目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 基本假设 4.2 运动学方程 5.完整工程文件 车辆行驶控制运动学模型的matlab建模与仿真,仿真输出车辆动态行驶过程. 版本:MATLAB2022a        车辆运动学模型从几何学的角度研究车辆的运动规律。包括车辆的空

    2024年01月20日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包