首页 考试资料幻灯片工程技术公务员考试小学教学中学教学大学教学外语资料
倒立摆全套资料 word g格式


图 3-9 校正后的根轨迹图

从图中可以看出,系统的三条根轨迹都有位于左半平面的部分,选取适当的 K 就可以稳定系统。 系统的阶跃响应如下所示: ?Googol 2005
43

第 3 章 直线倒立摆建模、仿真及实验

图 3-10 校正后的阶跃响应

可以看出,系统有较好的稳定性,但系统存在一定的稳态误差,并且超调过 大,为使系统瞬态响应满足要求,可以采用以下的方法: 第一种方法:增加阻尼?? ,重复上面的设计方法(此时,以上编写的程序修 改即为方便),重新设计,直到系统的响应满足要求。请读者自行设计,这里不 再描述其过程。 第二种方法:在保持?? 角不便的情况下,将校正装置的零点向左侧偏移,以 减少闭环零点和极点的影响,实验者可以按此方法重新进行设计。 对于有经验的使用者,可以采用直接对系统增加零点和极点的方法: 为使位于右半平面的根轨迹进入左边平面,因此增加一个坐半平面的零点, 假设为-7,得到系统新的根轨迹如下:

图 3-11 手动校正后的根轨迹图(增加零点)

可以看出,增加零点后,系统的两条根轨迹都进入了左半平面,系统可以稳 定,但在实际系统中,传递函数分子的阶次必须比分母的阶次低,因此我们增加 一个远离零点的极点,增加极点后(例如增加极点-30),系统的根轨迹如下: ?Googol 2005
44

第 3 章 直线倒立摆建模、仿真及实验

图 3-12 手动校正后的根轨迹图(增加零点)

可以看出,系统的根轨迹都有位于左半平面的部分,选取适当的增益(计算 结果:236.1682),可以得到一个稳定的闭环控制系统。 闭环系统的脉冲响应如下图所示:

图 3-13 手动校正后的阶跃响应曲线

可以看出,系统在 1s 的时间内可以稳定,响应比较迅速,超调比较小。 上述根轨迹设计 MATLAB 程序如下: (进入 MATLAB Simulink 实时控制工具箱“Googol Education Products”打 开“Inverted PendulumLinear Inverted PendulumLinear 1-Stage IP Experiment Root Locus Experiments”中的“Root Locus Control M Files”)

?Googol 2005

45

第 3 章 直线倒立摆建模、仿真及实验

PRO 3-4 直线一级倒立摆根轨迹校正 MATLAB 程序 2

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Googol Linear 1 stage Inverted Pendulum Transfer Function % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear; num=[0.02725]; % Transfer function of the Linear 1 stage den=[0.0102125 0 -0.26705]; % inverted penulum numlead=-7; % Controller Zeros denlead=-30; % Controller Poles subplot(2,2,1) rlocus(num,den) [Z,P,K]=tf2zp(num,den); Za=[Z;numlead]; sysaddzero=zpk(Za,P,K); subplot(2,2,2) rlocus(sysaddzero) Pa=[P;denlead]; % Add Poles to the LIP system

% Add Zeros to the LIP system

[num2,den2]=zp2tf(Za,Pa,K); sys=tf(num2,den2); subplot(2,2,3) rlocus(sys); [KK,poles]=rlocfind(sys) % Find the K and Poles of the %KK=141.137 % compensated system sys2=zpk(Za,Pa,KK*K); % Open loop transfer function % of the compensated system subplot(2,2,3) axis([-60 10 -10 10]) rlocus(sys2) % Draw the root locus of the % compensated system sysc=sys2/(1+sys2); % Close-loop transfer function t=0:0.005:5; subplot(2,2,4); step(sysc,t) % Response of the Close-loop system 改变控制器的极点和零点,可以得到不同的控制效果,请实验者自行设计并 分析结果的差异。 ?Googol 2005
46

第 3 章 直线倒立摆建模、仿真及实验

3.1.3.2.3 MATLAB Simulink 仿真
MATLAB 提供了一个强大的图形化仿真工具 Simulink,下面在 Simulink 中 建立直线一级倒立摆的模型, ( 对于初次使用 MATLAB Simulink 实验者,请在进 行此实验之前熟悉 Simulink 相关的知识和使用方法),这里详细介绍一下模型的 建立方法: 1) 打开 MATLAB Simulink 窗口。 点击 MATLAB 窗口中“ ”图标进入 Simulink 环境,Simulink 窗口如下:

2) 点击“ ”新建一个模型,并命名,如“L1IPModelRLocus”。 从“Continuous”中选择“Transfer Fcn”并按住鼠标拖到新建窗口中,

?Googol 2005

47

第 3 章 直线倒立摆建模、仿真及实验

3) 将上面的传递函数模块改名为“L1IP Transfer Fcn”,点击鼠标右键,选 取“BackGround Color”为“Cyan”,并双击模块,打开参数设置窗口如 下,

4) 同样从 Simulink 模型库“Continuous”中拖一个“Zero-Pole”模块到窗 口中作为控制器,双击模块,设定零点、极点和上面程序计算得到的增 益 KK 值。

?Googol 2005

48

第 3 章 直线倒立摆建模、仿真及实验

5) 连接“Controller”模块和“L1IP L1IP Transfer Fcn”模块。

6) 从 Simulink 模 型 库 “ Math Operations” 中 拖 一 个 “ Sum ” 模 块 到 “L1IPModelRLocus”窗口中,并双击模块改为如下图所示(把其中的 “++”改为“+-”):

7) 从 Simulink 模 型 库 “ Sourses ” 中 拖 一 个 “ Step ” 信 号 模 块 到 “L1IPModelRLocus”窗口中,并双击模块设置阶跃信号参数:

?Googol 2005

49

第 3 章 直线倒立摆建模、仿真及实验

8) 从 Simulink 模 型 库 “ Sinks ” 中 拖 一 个 “ Scope ” 信 号 模 块 到 “L1IPModelRLocus”窗口中,如下图所示:

9) 连接各个模块如下图所示,构成一个闭环控制系统。

10) 点击“Simulation”菜单,在下拉菜单中选择“Simulation Parameters”,

打开如下窗口:

?Googol 2005

50

第 3 章 直线倒立摆建模、仿真及实验

在上面窗口中设置“Simulation time”以及“Solver options”等选项。设置 仿真步长为 0.005 秒。 11) 点击 运行仿真,双击“Scope”模块观察仿真结果:

图 3-14 直线一级倒立摆的根轨迹校正仿真结果(一阶控制器)

如果曲线超出界面范围,可以点击“ ”观察全图。 12) 可以看出,系统能较好的跟踪阶跃信号,但是存在一定的稳态误差,修 改控制器的零点和极点,可以得到不同的控制效果,请在多次改变参数后, 选取仿真结果最好的参数。例如修改控制为二阶的超前滞后控制器,给控 制器再增加一个极点和零点,具体的设计方法请参见相关教材。 13) 在“SimlulinkSignal Routing”中拉一个“Manual Switch”模块到窗口中,

12345678910111213141516171819202122232425262728

 


 

  【Top

最新搜索

 


 

热点推荐