预订演示
前页 后页

运算放大器电路仿真示例

在本例中,我们为一个简单的电子电路创建了一个 SysPhS模型,然后使用模拟来预测和绘制该电路的行为。

先决条件

运行此模拟需要:

  • OpenModelica 或
  • MATLAB 的 Simulink 和 Simscape

图表

我们将要学习的电子电路模型如图所示,使用标准电子电路符号。

本例中的电路将包括一个sine信号源、一个接地、两个电阻和一个运算放大器集成电路。下图显示了使用 SysPhS 从 SysML 图生成到外部应用程序(在本例中为 Modelica)的结果图。

创建 SysML模型

这张表显示了我们如何构建一个完整的完成模型来表示电路,从最低级别的类型开始,一步一步地构建模型。

部件

行动

在 SysML 中,使用 SysPhS,电路和每个组件类型都表示为块。

在块定义图 (BDD) 中,创建电路组件块。该电路有五个部分:运算放大器、信号源、信号电压转换器、地和电阻。这些部分属于不同的类型,具有不同的行为。

关键模块,包括运算放大器、接地和电阻器,可作为预定义模块使用部件元件模式进行访问。但是,为了清楚起见,我们将运行开始运行它们的创建。

为每个部件类型创建一个部件块。电路内部块定义 (IBD) 的各个部分将通过端口连接,端口代表电气引脚。这些在 BDD 中定义。电阻器有一个正极和一个负极引脚。地只有一个引脚,它是正极。电流(电荷)通过引脚传输。这两个端口分别命名为“p”(正)和“n”(负),它们的类型为 ChargeFlowElement。

此图显示了 BDD,其中块定义了所用组件的类型。这包括信号源sine 、信号电压转换器、接地、电阻型和运算放大器型。

注记:这些模块是使用 Modelica Blocks 或 Simulink Blocks 从工具箱创建的。您可以在两个工具中键入每个块。有关详细信息,请参阅将模块设置为 Modelica 和 Simulink帮助主题。

端口

用于端口的值类型在端口仿真库中预先定义。使用的两个关键量是 ChargeFlowElement 和 RealSignalInElement ValueTypes,

此图显示了块定义图中的 OpAmp块,OpAmp块上的端口设置为 ChargeFlowElement ValueType,并且在浏览器窗口中引用了它。

公共类型包的导入连接器显示了如何设置这些。更多关于包导入(圈出)的信息,请参见引用SysPhS仿真库 帮助主题。

Phs 常数

电阻器和Sine模块都在 MATLAB 和 Modelica 中各自的组件中定义了属性。

让我们以电阻为例。对于这些组件,在它们各自的工具中,我们需要设置一个以欧姆为单位的电阻值。对于大多数电路,可能有多个电阻器部件源自此电阻器块,在 IBD 或参数图中建模为部件。因此,它们的值(以欧姆为单位)将在 IBD、参数图或可能在模拟数据集中设置。

要设置定义电阻的属性,我们需要创建一个 Phs 变量“r”。初始值未设置。

注记:SysPhS模式包括一个已构建的电阻类型块。

要在每个单独的组件 (元件) 中设置电阻值,请参阅此表中的Initial Values行,其中显示了使用端口和部件常量设置的块。

内部结构

对于内部结构,我们创建一个带有子 IBD 图的块。

  • 为反相运算放大器电路创建一个块
  • 在此下使用上下文菜单选项创建一个内部块图表(IBD):
    创建新子图表|内部块定义图
  • 双击打开 IBD
  • 将图表设置为仅显示端口的名称,使用:
    - F5 |元素|元素外观
  • 取消设置这两个选项:
    - 显示构造型
    - 显示属性类型
    这将只显示端口和类型
在 IBD 上,创建零件并连接它们:
  • 从浏览器中,将 Blocks 作为 Parts(属性)拖到 IBD 上
  • 要查看隔间中的部件,请将它们从图表中删除
    注记: 将粘贴选项 '结构元素' 设置为 'ALL'
  • 否则,在“属性”按钮的“特征视图”和“属性”选项卡的“交互”选项卡中单击“全部”选项卡
  • 为源信号、转换器、2 个电阻、运算放大器和接地添加属性,由相应的 Blocks 键入

绑定

到模型这些组件的接线:

  • 使用类型连接器的连接器设置端口之间的连接。

请注意,这遵循与原始电路图相同的结构,但每个组件的符号已替换为由我们定义的块键入的属性。

初始值

由于有两个电阻器,因此输入电阻器 (RIn) 和反馈电阻器 (Rf) 必须在 IBD 中创建为两个不同的(部分)属性,源自电阻器块,因为它们中的每一个都有不同的值。这些值必须在属性窗口、“属性”选项卡、“初始”字段中设置。

对于 InputControllingSignal,幅度和频率需要初始值。

返回 BDD 后,您现在应该将现在块显示为:

配置仿真行为

此表显示了 SysMLSim 配置的详细步骤。

行动

创建一个工件

  • 打开块定义图
  • 点击图中空白处
  • 按空格键
  • 从“配置”中选择“工件”子菜单
    这创建了一个新的配置工件

设置包

  • 在配置上工件
    这将打开配置SysML配置窗口
  • 在“包”字段中单击 [...] 按钮并选择包含 SysML 图的包:

设置 Modelica 或 Simulink

在顶部下拉菜单中,您可以选择要使用的模拟工具:

  • 模型
  • Simulink
有关这些设置的更多详细信息,请参阅配置SysML仿真帮助主题。

设置块为仿真

  • 在左侧列表的“名称”下,找到“InvertOpAmp”
  • 在“值”列中,单击下拉菜单并选择“SysMLSimModel”

选择要绘制的属性

您现在可以选择要绘制的属性:

  • 在右侧窗格中,选择要绘制的端口

运行仿真

在“仿真”选项卡上,单击求解按钮。此示例显示了在 Modelica 中生成的图:

在图例中,您可以看到绘制的属性和 '信号.v 属性,并将它们与在属性属性下选择的两个匹配。

在 Modelica 或 Simulink 中视图模型

要在外部应用程序、Modelica 或 Simulink 中查看生成的模型,请参阅查看帮助或 Simulink视图的模型帮助主题,以及调试生成代码中任何问题的提示。

学到更多