关于建模和仿真多域物理系统的分析和介绍

描述

Simscape提供了多物理域系统的建模仿真平台,包括机械、电气、液压和其他物理域。您可以使用它提供的各物理域基础模块来组装各种物理模型,如电机、反向运算放大器、液压阀和棘轮机构。因为Simscape组件之间使用物理连接,所以您的模型与您所开发的系统结构是匹配的。

Simscape模型可用于开发控制系统和测试系统级性能。您可以使用基于MATLAB的Simscape语言来扩展库,以文本的形式定义物理建模物理域和模块库。您可以使用MATLAB变量和表达式来参数化模型,以及为Simulink中的物理系统设计控制系统。Simscape可支持C代码生成,可以将模型部署到其他仿真环境,如硬件在环 (HIL) 系统。

主要特性

提供单一建模环境,可用于对机械、电气和液压、热场以及其他多域物理系统进行建模和仿真;

用于开发自定义组件的物理模块库以及数学运算库;

基于MATLAB的Simscape语言,支持使用文本定义物理建模组件、域和库;

提供参数和变量的物理单位,并自动进行单位转换;

仿真的模型可以包括相关物理建模工具提供的模块,而无需购买这些建模工具;

支持C代码的生成;

主要功能

1. 物理系统建模

Simscape可用于优化系统级性能以及被控对象建模。您所创建的模型支持您的整个开发流程,包括硬件在环仿真。

利用Simscape,建立系统模型就如同装配物理系统一样。Simscape采用物理网络方法(也称为非因果性建模)进行模型构建:模块相当于物理元器件,比如如泵、电机、运算放大器等。模块之间的连线相当于物理连接,用于传递能量。通过这种方法,您描述的是系统的物理结构,而非底层的数学原理。模型与原理图非常相似,Simscape可以从建立的模型中自动构造微分代数方程(DAE),描述系统动态性能。这些方程与Simulink模型的剩余部分集成,直接求解DAE。同时求解不同物理域组件变量,避免代数环问题。

网络连接

电液伺服阀的截面图(右),使用的喷嘴挡板放大器以黄色高亮显示。Simscape 模型(左)中彩色模块与彩色箭头对应,这些箭头代表典型的液体流动路径。

2. 组件库

您可以使用Simscape基础库中的基本元件来创建自定义组件模型。

3. 构件机械组件模型

Simscape提供与一维平动和一维转动相关的基本机械模块。除了质量、弹簧和阻尼等基本元件外,各种非线性效应比如反冲和摩擦也包括在内。SimMechanics和SimDriveline提供的接口模块可用于将Simscape模型与使用这些工具构建的模型连接起来。

4. 构建电气组件模型

Simscape提供表示电子元器件和回路的基本电气模块。除了电阻器、电容器和感应器等基本元件外,还包括运算放大器和变压器等更复杂的元件。更复杂的电子元件或机电元件可以在SimElectronics库中找到。

网络连接

构建四通液压阀和液压缸模型:液压和机械物理建模模块用于构建此模型。

5. 构建热效应模型

Simscape提供用于建模和仿真系统中热效应的基本热模块。可以模拟热传导,热对流,热辐射,以及元件的热质量。热源模块可以指定温度或热流;热传感器模块可以测量热流量或温度变化。

构建投影仪传热模型:热物理建模组件用于构建此模型。

6. 使用物理信号

使用Simscape搭建的模型可以包括带单位的物理信号。可以在模块参数对话框中指定参数值及其单位,Simscape在求解物理网络时会进行必要的单位换算。使用物理信号模块库的模块,可直接对物理信号进行各种数学运算,很方便的在物理网络模型中搭建方程。Simscape模块图使用物理信号端口,更好的将物理信号集成到物理系统中,加快了计算速度。

使用这些基本库里的元件,您可以构造出涉及多物理域的更复杂的组件。跟Simulink一样,你可以将这一系列模块组合为一个子系统,并将其参数化,以便重用和共享这些组件。

你可以使用Simscape中的传感器模块来测量各物理量的值,如机械(力/扭矩、速度)、液压(压力、流量)或电气(电压、电流)变量,然后将这些信号传递到标准Simulink模块。Simulink信号可以通过源模块来给这些变量中的任何一个赋值。通过传感器模块和源模块,你可将Simulink开发的控制算法与Simscape模型网络连接起来。

网络连接

用于创建自定义组件模型的 Simscape 电气、机械、液压和热模块库。

Simscape语言

Simscape语言可用于定义新的物理域,以及创建自己的物理建模组件和库。它基于工程师们非常熟悉的MATLAB编程语言为基础。通过这种面向对象的建模语言,您可以定义自定义组件,包括参数化、物理连接端口以及非因果隐式DAE方程。您也可以使用MATLAB来分析参数值,进行一些初等运算以及初始化系统变量。这些Simulink模块及其对话框都是从Simscape源文件自动创建而来。

您创建的组件可以重用Simscape已定义的物理域,以确保您的组件与标准Simscape组件兼容。您也可以添加自己的物理域。可以自动创建Simscape组件和物理域的库,这样就可以在团队之间共享这些模型。也可以为包含自定义组件的Simulink模型生成C代码。

通过使用Simscape语言,您可以精确指定您的物理组件模型中需要考虑哪些影响。因此您可以在模型逼真度和仿真速度之间进行权衡。

网络连接

使用 Simscape 语言创建考虑能量损失的超级电容。图示方程(底部)使用 Simscape 语言(左)的实现方式。Simulink 模块图(右上)及其属性对话框(中)都是从 Simscape 源文件自动创建而来。

使用Simscape编辑模式共享模型

在Simscape编辑模式下,您可以使用Simscape及其附加工具箱来进行物理建模和仿真: SimDriveline、SimElectronics、SimHydraulics、SimMechanics和SimPowerSystems。即使只有Simscape许可证,只要您机器上安装了附加工具箱,您也可以打开、仿真、参数调节以及保存含有附加工具箱模块的模型。您不需要购买额外的许可证,就可以在团队之间共享您的模型。

将Simscape模型转换为C代码

Simscape可以将您的模型转换为C代码,以确保可使用Simulink加速模式来缩短仿真时间。您也可以使用Simulink Coder将Simscape模型转换为C代码,这样就可以:

实时仿真,进行HIL测试

将您的模型集成到其它仿真环境中

将Simscape模型编译为独立的可执行文件,这样可加速您的分析过程,比如参数分析和Monte Carlo仿真

将模型配置为实时运行,您可以使用硬件在环测试取代昂贵的原型机来进行系统测试。可以在开发流程的早期发现错误,降低成本和缩短设计周期。

网络连接

通过模型创建一个独立可执行文件,对可变参数模型的仿真进行加速。

网络连接

以 HIL 测试取代硬件原型对控制算法进行测试:合并了 MathWorks 物理建模产品模块的 Simulink 模型转换为 C 代码并下载到 Bachmann electronic M1 硬件控制器上。

MATLAB 与 Simulink 集成

Simscape扩展了对物理系统建模的功能。您可以使用物理连接的方式搭建物理对象模型,还可以将其直接连接到使用信号流的方式搭建的Simulink控制模型。Simscape模型还可以直接连接至MathWorks其它行业工具箱或者是其它物理的物理建模工具,这样你就可以模拟出不同物理域之间的复杂耦合关系。

您可以使用MATLAB来参数化模型、自动化仿真测试、分析输出数据以及优化系统性能。这样,您便可以在MATLAB和Simulink环境下测试整个系统(多物理域对象模型和控制器)。

网络连接


将 120 伏交流电压转换为 12 伏直流电压的全波桥式整流器的 Simscape 模型(顶部)。此模型可用于为特定负载确定电容值。下图(底部)显示了直流电压的波动。

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

全部0条评论

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

×
20
完善资料,
赚取积分