《计算机仿真技术》PPT课件.ppt_第1页
《计算机仿真技术》PPT课件.ppt_第2页
《计算机仿真技术》PPT课件.ppt_第3页
《计算机仿真技术》PPT课件.ppt_第4页
《计算机仿真技术》PPT课件.ppt_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,第四章 系统的辅助设计,系统设计的主要任務: 设计优化的控制器或某环节参数,使系统性能达到给定的性能指标.,系统设计的主要方法: 基于经典控制论:根轨迹法、 Bode图法(串联校正) 、PID控制器 基于现代控制论:极点配置法 、线型二次型最优控制,一.系统设计的MATLAB函数,MATLAB控制系统工具箱提供根轨迹法、极点配置法和线性二次型最优控制技术三种主要设计函数, 可直接用于系统设计. 通过MATLAB编程,可完成其他方法的系统设计.,(1) 根轨迹法,根轨迹图:描述了当系统开环增益由变化时,闭环特征根在复平面上移动的轨迹。 根轨迹法的MATLAB函数:rlocus、rlocfind 已知开环系统模型, 绘制根轨迹图rlocus: sys :系统开环模型 ; R:闭环极点 : K: 系统增益,系统增益 K,函数RLOCFIND用于由给定闭环极点求解 对应的开环增益大小.,用户可用鼠标在根轨迹图上选定极点或设置极点两种方式。函数返回极点实际值 和开环增益,函数 SGRID用来在根轨迹平面上绘制阻尼比和等固有频率网络,阻尼比从0.1至1.0间隔0.1;固有频率从 0 至 ,间隔 。,系统的根轨迹法设计,基于根轨迹的系统设计通常有增益设计法和补偿设计法。 增益设计法是根据系统的性能指标,确定希望闭环的极点位置,然后求出对应的开环增益 . 系统性能和系统参数 及极点位置有明确的关系。设计时,期望极点位置应落在图4.3中阴影区域范围内。,基于根轨迹的系统设计方法,利用MATLAB进行基于根轨迹法的系统设计步骤如下: (1) 建立系统开环模型; (2) 根据系统动态性能要求,确定期望闭环极点位置或其他参数 (3)利用MATLAB根轨迹函数rlocus或 rlocfind求取系统开环增益K; (4) 检验系统性能。,【例4-2】已知单位反馈系统的开环传递函数为 ,求阻尼比 时系统的极点和对应的开环增益值。用编写程序和运行结果如下: % MATLAB PROGRAM 4-2 sys=zpk(,0 -3 -1+i -1-i,1); rlocus(sys); sgrid; gain,poles=rlocfind(sys),selected_point = -0.3866 + 0.6965i gain = 2.6600 poles = -2.7667 -1.4299 -0.4017 + 0.7148i -0.4017 - 0.7148i,检验系统的动态特性,%MATLAB PROGRAM 4-3 % old system sys=zpk(,0 -3 -1+i -1-i,1); %New system sys_new=zpk(,-2.7667 -1.4299 -0.4017+0.7148i -0.4017-0.7148i,2.6600); step(sys_new);,(2).极点配置法, 极点配置法是基于现代控制论的系统设计方法.闭环系统的性能取决于闭环系统的极点分布。极点配置法就是通过状态反馈将系统的闭环极点配置到期望的极点位置上,从而使闭环系统特性满足要求。基于状态反馈的极点配置法要用系统的状态空间模型。,图中,K是一个与X同维的向量,X=,x1,x2,xn,K=,K1,k2,k3,kn,u,U=R-KX,假设原系统的状态空间模型为,若系统是完全能控的,则可引入状态反馈调节器,且,这时,闭环系统的状态空间模型为:,设计任务是要计算反馈 ,使 的特征值 和期望的极点 相同.,极点配置的MATLAB函数,函数ACKER是基于Ackermann算法求解反馈增益K。 其中,A,B为系统矩阵;P为期望极点向量;K为反馈增益向量。,函数PLACE用于单输入或多输入系统,在给定系统(A,B)和期望极点P配置情况下,求反馈增益 K,为实际极点偏离期望极点位置的误差; 是当系统某一非零极点偏离期望位置大于10%时给出警告信息。,基于极点配置的系统设计方法,利用MATLAB进行基于极点配置法的系统设计步骤如下: (1) 获得系统状态空间模型; (2) 根据系统动态性能要求,确定期望极点分布P; (3) 利用MATLAB极点配置设计函数PLACE或 ACKER求取系统反馈增益K; (4) 检验系统性能。,系统设计例,【例4-9】系统传递函数为 ,通过状态反馈使系统闭环极点配置在 位置上,求反馈增益K。,%MATLAB PROGRAM 4-12 %The original system: sys=zpk(,0,-6 ,-12,1); %The desired poles: P=-100,-7.07+7.07i,-7.07-7.07i; %Convert system model to state space sys=ss(sys); A,B,C,D=ssdata(sys);,disp(Feedback gain :) K=acker(A,B,P) %New open loop system: %= sysopen=ss(A,B,K,0);,%New closed-loop system: %= sysclose=ss(A-B*K,B,C,D); disp(Poles of new closed-loop system:); poles=pole(sysclose) step(sysclose/dcgain(sysclose),2);, amp412 Feedback gain : K = 1.0e+003 * 6.5375 0.0961 0.2883 Poles of new closed-loop system: poles = -7.0700 + 7.0700i -7.0700 - 7.0700i -100.0000,(3)线性二次型最优控制设计,线性二次型最优控制设计是基于状态空间原理设计一个优化的动态控制器。系统模型是用状态空间形式给出的线性系统,其目标函数是对象状态和控制输入的二次型函数。二次型问题就是在线性系统约束条件下选择控制输入使二次型目标函数达到最小。,线性二次型最优控制(LQ)问题,假设线性系统状态空间方程为 要寻求控制 最小. 式中,Q为半正定实对称常数矩阵;R为正定实对称常数矩阵;Q,R分别为X和u的加权矩阵。,根据极值原理,我们可以导出最优控制律 式中, 矩阵P必须满足黎卡提 代数方程: 线性二次最优调节器的另一种二次型目标函数具有交叉项,线性二次型调节器的设计,线性二次调节器的设计步骤如下: (1) 解式(4.5-4) 方程,求得矩阵P。若所求出P 为正定矩阵,则系统是稳定的。 (2) 计算反馈增益矩阵K (3) 在线的线性二次型最优控制,线性二次型调节器设计的MATLAB函数,函数LQR(Linear-quadratic regulator)用于计算连续状态空间方程 二次型控制的最优反馈矩阵K。其状态反馈控制律为 u=KX 调用格式为 A,B 系统矩阵 Q,R,N 为目标函数矩阵 K 最优反馈增益,线性二次型调节器的设计例,【例4-13】设系统状态空间表达式为 二次型性能指标为,若取,设计LQ控制器.,% MATLAB PROGRAM 4-16 A=0 1 0;0 0 1;-6 -12 -20; B=0 0 1; Q=diag(1 1 1); R=1; N= 0 0 1; K,P,E=lqr(A,B,Q,R); K Kn,Pn,En=lqr(A,B,Q,R,N); Kn K = 0.0828 0.1956 0.0348 Kn = 0.0828 0.1896 1.0090,二.系统仿真分析设计实例PID调节器,串联补偿校正,-直流电机转速控制 直流电机常作为控制元件使用,它可直接提供一个旋转运动。直流电机工作原理图如图4.29所示. 假设系统物理参数如下: 转子转动惯量 ,机械阻尼参数 电流力矩常数 ,电枢电阻 ,电枢电感 ,转子与轴为刚性连接。,以供电电压 为输入,转子转速 为输出。在稳态输出为 情况下,系统单位阶跃响应性能指标: 调整时间小于 , 超调量小于 , 稳态误差小于 。,设计要求:,(一).系统建模,直流电机转矩和电枢电流关系为 电枢旋转产生反电动势与旋转运动角速度的关系为,为简化起见,令,由牛顿定律,转子力矩平衡关系为,由克希霍夫定律,设系统状态 并建立以输入电压 为输入,转速 为输出的系统状态空间表达式为,(二)检验系统的瞬态性能看是否达到设计要求。,用编写程序如下: %Modelng DC motor J=0.01;b=0.1;K=0.01;R=1;L=0.5; A=-b/J K/J -K/L -R/L; B=0 1/L; C=1 0; D=0; sys=ss(A,B,C,D);,sys=tf(sys) %Step response of the open system %= step(sys) amp422 Transfer function: 2 - s2 + 12 s + 20.02,由阶跃响应曲线可见,对系统加电压,马达仅达到的最大转速,且达到这个速度需要3秒,这些都不满足期望的性能要求。,(三)设计一个PID控制器校正系统性能,PID,PID控制器的数学模型,PID控制器传递函数为,PID控制器的功能,比例环节:Kp增大等价于系统的开环增益增加,会引起系统响应速度加快,稳态误差减少,超调量增加。当Kp过大时,会使闭环系统不稳定; 积分环节: 相当于增加系统积分环节个数,主要作用是消除系统的稳态误差。积分环节作用的强弱取决于积分时间常数Ti,Ti增大,系统超调量变小,响应速度变慢;,微分环节:主要作用是提高系统的响应速度,同时减少系统超调量,抵消系统惯性环节的相位滞后不良作用,使系统稳定性明显改善。Td偏大或偏小,都会使超调量增大,调整时间加长。由于该环节所产生的控制量与信号变化速率有关,故对于信号无变化或变化缓慢的系统微分环节不起作用。,PID设计控制器设计是寻找优化的参数,通常采用试凑法. 步骤如下: (1) 先考虑 控制,不考虑积分和微分。 若 令 进行仿真, 阶跃响应超调和稳态误差均较大. (2) 采用 ,加入积分项 ,减小稳态误差. 取 进行仿真,系统稳态误差明显减小. (3) 采用 , 再加入微分项, 减小超调. 取 取 , 进行系统仿真,得到满意动态特性。 用编写仿真程序和运行结果如下:,PID设计的MATLAB仿真程序,%Model of DC motor J=0.01;b=0.1;K=0.01;R=1;L=0.5; A=-b/J K/J;-K/L -R/L; B=0; 1/L; C=1 0; D=0; sys=ss(A,B,C,D); sys=tf(sys);,%Design PID Controller Kp=100;Ki=200;Kd=10; sysc=tf(Kd,Kp,Ki,1 0); sysopen=sysc*sys; %Check step response of closed loop system sysclose=feedback(sysopen,1); step(sysclose),图4.32 控制系统阶跃响应,(四)串联补偿校正器设计,串联补偿校正器,三种串联补偿校正装置相位,相位超前校正装置:,相位滞后校正装置:,相位滞后超前校正装置:,系统设计时,根据系统的性能要求采用不同的校正装置。,利用相位超前校正,Open-loop systen model which meets steady traget: 2020 - = G(S) (s+9.975) (s+2.025) Model of the cpmpensater: 13.6568 (s+23.3) - = C(S) (s+318.2),Model_System=zpk(,-9.975 -2.025,2020); Model_Compensater=zpk(-23.3 ,-318.2, 13.6568); csys=feedback(Model_System*Model_Compensater,1); step(csys,1.0),(1)MATLAB编程,(2)SISOTOOL(SISO设计工具),SISOTOOL是一个交互式GUI,用于方便快捷地设计单输入单输出系统的设计. 以下用DC马达转速控制系统+串联校正装置为例说明SISOTOOL的使用原理和方法. 在MATLAB COMMAND窗口下,键入 sisotool 打开SISO Design Tool界面,根轨迹图,Bode图,反馈系统结构,补偿器设计,建立原系统模型并输入至SISO 设计工具,在Workspace建立原系统的MATLAB格式的模型 或将模型存储在磁盘的文件内 Model_System=zpk(,-9.975 -2.025,2020);,在SISO Design Tool 窗口下, File import,打开Import S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论