传递函数和控制Block(上)

电子说

1.2w人已加入

描述

1 背景描述

传递函数是经典控制理论中最常用和最重要的数学模型,用传递函数方块将控制系统全部变量联系起来,描述各环节之间的信号传递关系的图形,我们称为系统传递函数方块图。

本文中,我们将学习传递函数和控制块,研究由定义其传递函数的块表示的Plant在开环和闭环(反馈+控制)中的行为。通过本文的内容,用户可以掌握到:如何使用传递功能块、如何分析对典型信号的响应(单位步长)、如何通过PID控制器控制系统以符合动态要求,例如超调和稳态值、如何表征有源滤波器的性能并通过传递函数块重现其行为、如何在保守和非保守组件之间进行接口等。

本文将分别从开环响应、反馈响应、使用PID控制器的闭环控制、有源滤波器性能仿真等四个案例对上述内容进行阐述。

2 开环响应

首先,插入一个Simplorer的设计传递函数。启动Electronics Desktop,将项目另存为WS_3_1.aedt,使用图标插入Simplorer设计,将设计重命名为 Control_blocks,使用图标再次保存项目传递函数

传递函数

传递函数

将项目另存为WS_3_1.aedt

在组件库窗口中Simplorer Elements>>Basic Elements>>Blocks>>Sources Blocks,选中STEP:Step Function模块,选择阶跃函数(激励源),双击STEP块, 选择Parameters Tab,设置Step Time为0s,设置Final Value为1,设置Init Value为0,在AC-Parameters Tab选项卡,勾选Phase & Magnitude,设置Magnitude为1,设置Phase为0,最后点击OK键。

传递函数

Parameters Tab选项卡

传递函数

AC-Parameters Tab选项卡

然后传递函数。在组件库窗口中Simplorer Elements>>Basic Elements>>Blocks>>Continuous Blocks,选择GS: S-Transfer Function模块,将其拖放到原理图中,按Esc键退出插入模式。

传递函数

拖入传递函数模块

接下来进行传递函数属性设置。双击GS块并定义Plant的传递函数,如下图所示Numerator。Order设置为0,B[0]设置为4.87。同时设置Denominator,Order设置为2,A[0]设置为1,A[1]设置为5,A[2]设置为6.25,最后点击OK键。

传递函数

传递函数属性设置

接下来连接组件。将鼠标放在STEP1块的输出端子上,鼠标指针的形状变为十字形,按住LMB并移动十字直到GS1 Block的输入端。

传递函数

连接组件

传递函数

连接好的组件

接下来设置模拟分析设置。我们将执行瞬态分析以及交流分析,以便我们可以在时域和频域(波特图)中绘制设备响应。首先在瞬态分析设置窗口中,设置Tend为30s,设置Hmin为1ms,设置Hmax为10ms,最后点击OK键。然后插入AC分析选择菜单项,执行Simplorer Circuit>>Solution setup>>Add AC,在AC分析设置窗口中,设置Start Frequency - FStart为0.001Hz,设置Stop Frequency - FEnd为10Hz,设置Frequency Step - FStep为0.001Hz,设置AC sweep type为linear,最后点击OK键。

传递函数

传递函数

瞬态分析以及交流分析求解设置

接下来准备数据后处理。选择菜单项Draw>>Report>>Rectangular Plot并将绘图放置在Schematic中,例如放在Blocks的右侧,之后会自动弹出New Trace窗口,通过检查数量GS1.VAL选择GS1输出信号,然后单击“Add Trace ”按钮,最后单击“Close”。

传递函数

将绘图放置在Schematic中

传递函数

通过检查数量GS1.VAL选择GS1输出信号

接着选择菜单项,执行Draw>>Report>>Bode Plot操作,在原理图中放置第二个图,例如可在前一个图的底部。在New Trace窗口中,选择“Solution”为 AC,通过检查数量GS1.VAL选择GS1为输出信号,通过检查数量STEP1.VAL选择STEP1输出信号到“Base”,单击“Add Trace”按钮,然后单击“Close”按钮。

传递函数

将第二个绘图放置在Schematic中

传递函数

通过检查数量STEP1.VAL选择STEP1输出信号到“Base”

然后将每个图设置为仅显示标题,方法是选择每个图后,执行RMB>>View>>Visibility操作,转到Legends Tab选项卡,然后仅选择标题框,在“结果”部分下的项目管理器窗口中将图分别重命名为G(s)TR Output和G(s)Transfer Function(对于波特图)。

传递函数

将每个图设置为仅显示标题

传递函数

传递函数

将图分别重命名为G(s)TR Output和G(s)Transfer Function(对于波特图)

然后对分析的结果进行查看。选择菜单项,执行Simplorer Circuit>>Analyze操作,以运行仿真,从菜单中将Analysis type更改为AC并再次运行模拟,计算结果如下图所示。

传递函数

将Analysis type更改为AC并再次运行模拟

传递函数

G(s)TR Output结果

传递函数

G(s)Transfer Function结果

根据结果可知,瞬态输出上升到4.87作为稳态最终值(如TR图所示),请注意4.87>>13.75dB的直流增益(如幅度的波特图所示),由于是双极模型,因此相位趋向于-180度。

传递函数

瞬态输出上升到4.87的稳态结果

传递函数

13.75dB的直流增益结果(波特图)

用户可以重新排列和分解原始Plant G(s)以确定极点频率(双极在w=0.4 rad/s,F=w/2p=0.0637Hz),如下式所示。

传递函数

重新排列和分解原始的Plant G(s)

在Results结果下的程序管理器窗口中双击波特图,将鼠标移动到绘图区,执行RMB>>Marker>>Add X Marker操作,这将添加一个可以沿X轴移动的标记,方法是将光标放在X轴上的黄色框上并移动它(注意也可以选择它并用键盘“→”来移动它),然后按Esc键退出标记模式,将X标记移动到0.064Hz(双极位置)。

传递函数

Add X Marker操作

传递函数

将X标记移动到0.064Hz(双极位置)

3 反馈响应

首先,在项目管理器窗口中选择Design Control_block,通过Ctrl+C复制设计,选择项目WS_3_1,通过Ctrl+V粘贴设计,创建名为Control_blocks1的新设计,新设计与第一个相同但是未求解,然后保存项目。

传递函数

传递函数

创建名为Control_blocks1的新设计

然后,删除STEP1和GS1块之间的连接,在组件库中执行Simplorer Elements>>Basic Elements>>Blocks>>Signal Processing Blocks操作,选择SUM: Summation模块,将其拖放到Schematic中,垂直翻转SUM1块。然后将SUM1块移动到STEP1和GS1块之间并如图所示连接它们,双击SUM1块并选择来自GS1块的反馈符号为“-”,以此代表负反馈类型。用户需要注意的是,这个系统属于一个没有补偿的闭环系统。

传递函数

将SUM1块移动到STEP1和GS1块之间并如图所示连接它们

传递函数

负反馈

最后进行分析和查看结果。用户首先要确保选择了瞬态分析(TR),选择菜单项执行Simplorer Circuit>>Analyze操作,以运行仿真分析。结果如下图所示。

传递函数

选择瞬态分析(TR)

传递函数

瞬态分析(TR)结果

用户需要注意的是,现在稳态值是小于1的,因为当前情况下的整体传递函数为:

传递函数

然后计算s=0的函数,最终值计算值为0.8296。

传递函数

由上述结果分析可知,图上的标记达到了预期的计算结果,最后保存项目即可。(未完待续)






审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分