0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MBD的界限和范围

冬至子 来源:autoMBD 作者:autoMBD 2023-07-13 14:38 次阅读

1 什么是基于模型的设计

基于模型的设计(Model-Based Design,MBD)是一种围绕模型来展开的项目开发方法,其开发理念越来越受到关注。

虽然,人的想象力是无穷的,但肉眼可见的模型往往更能让人理解和接受。

简单的说,MBD就是对 项目的开发对象或目标产品进行精确建模 ,项目的需求分析、功能设计、系统框架设计、代码生成、产品测试验证等开发环节,甚至项目流程管理、项目迭代开发管理、自动化文档管理等管理环节, 部分或全部在所建模型的基础上展开的一种开发方式

在MBD开发中,模型是最终产品的高度数字化具现,而最终产品的主要组件或功能都基于搭建的模型进行设计和开发。

图片

基于模型的设计

作为对比,传统的开发方法是线性展开的。由于传统的开发中没有对开发对象进行建模,不能形成一个中心点,项目的每一次推进,必须保证前面阶段的开发工作已经验收完成。这种情况下,前期的设计缺陷如果没能及时发现,到了项目后期,其修复成本就会非常高。

图片

传统线性开发

此外,传统的开发方法由于没有中心模型,非常依赖前期的顶层设计和系统框架设计,这是抽象、不具体的任务,需要依赖以往的经验。

而MBD的具象化可不仅仅体现在产品形态上,产品的代码、产品的测试都是可以直接由模型生成和实现的,方便实现产品功能迭代。模型的具象化和可视化能大大提高开发者的效率。

2 MBD的界限和范围

对于初学者,弄清楚MBD的界限和范围(Scope)是有意义的,即要知道MBD能做什么,哪些不是MBD覆盖的内容。

Tips :在项目中,Scope一词常用来描述一个事物能做什么,不能做什么,那些内容是属于它的,那些内容不属于它。但在中文语境没有一个含义接近的词语,因此这里的“界限和范围”使用的是Scope的直译。

从大的范围来说,MBD本质上属于嵌入式开发领域,但它不适用于所有的嵌入式项目。MBD适用于具有 控制器 (Controller)和 执行器Actuator)的嵌入式电控装置。

这些应用中一般具有特定的算法信号处理、控制执行、通讯等组成要素。例如无人机电机控制电池管理系统、机器人等。如下图所示:

图片

MBD的界限和范围

Tips :不适合MBD的应用包括各种穿戴设备、影音设备等,因为它们并不适合建模,MBD也不适合桌面端的软件开发。

MBD支持的嵌入式软件开发,包括DSPMCUFPGA等不同的芯片

由于作者能力有限,接触最多的是在MCU上的MBD开发,文章介绍的也以这种为主。不过不同芯片的MBD本质是相同的,它们更多的体现在工具链的使用是不同的。

MBD的核心——模型——便是对控制器和执行器进行的建模,有时候还包括执行器的运行环境,所建的模型可以称为 控制器模型执行器模型 (被控对象模型)和 环境模型

控制器、执行器和运行环境之间,以及所建模型和被建模的实际对象之间的界限和范围,也需要有清晰的定义。

2.1 控制器、执行器和运行环境的界限

首先要弄清楚控制器和执行器的界限在哪里。

我认为可以 以MCU为界限 :在MCU中的所有操作都应属于控制器模型;在MCU以外的所有数字电路、功率电路、机械结构、电机等都应属于执行器模型。建模时可按照这个界限对控制器和执行器分别建模。

以基于MBD的电机控制开发为例,控制器模型包含ADC采样、信号处理、FOC算法等,执行器包含电源逆变器、电机等。

控制器模型和执行器模型的作用是不一样的:前者搭建的是算法模型、软件框架模型等,它属于软件,可以生成代码。后者则是实际对象的数学模型(电机、整流电路、机械结构等),用于算法、功能的测试,是控制器的控制对象。

控制器模型和算法模型通过传感器信号和控制信号连接起来,如下图所示:

图片

控制器模型和执行器模型

控制器模型和执行器模型是相辅相成的,如果执行器增加、减少或改变了功能,控制器也会发生相应的改变。

相反,如果控制器中的算法得到了优化,也可以改进执行器的设计(例如改进电路、传感器的布置等)。

环境模型即执行器运行时所在的环境,是开发者不能控制的客观因素和变量。

一般情况下都可以不用考虑,但在一些特定的应用中,环境会影响控制器和执行器的设计,这时候就需要考虑搭建环境模型。

例如无人机,它的执行器包括电机、螺旋桨等,但环境因素也是影响飞控算法的重要因素,搭建模型时就需要考虑对环境建模。

2.2 模型和实际对象的界限

其次要把握好仿真模型和实际对象之间的界限和范围。实际对象是具体的,仿真模型则是实际对象的数学描述

控制器模型越准确,模型生成的代码在真正的MCU中运行时就越符合设计目标;执行器模型越准确,就可以对控制器算法、功能等进行更加全面的验证和测试。所以模型的准确性影响着MBD的实际效果。

但MBD不需要模型和实际对象保持完全一致,也不可能实现完全一致,模型所能覆盖的范围是实际对象的子集。

模型可以省略一些不重要的因素,保留核心功能、最能体现实际对象的特征进行建模 。这样做是有意义的,它可以保证项目功能的开发以外,还能节约建模的时间。

例如,很多时候控制器模型中的ADC采样会被忽略,直接使用执行器模型返回的数据;在执行器模型中,往往也会采用简化的电机模型。

这种简化不会影响算法实现、软件框架或执行器的功能设计。

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

    关注

    112

    文章

    16191

    浏览量

    177350
  • 电池管理系统

    关注

    41

    文章

    495

    浏览量

    33298
  • 信号处理器
    +关注

    关注

    1

    文章

    251

    浏览量

    25249
  • MBD
    MBD
    +关注

    关注

    0

    文章

    24

    浏览量

    8939
  • FOC算法
    +关注

    关注

    1

    文章

    16

    浏览量

    9655
收藏 人收藏

    评论

    相关推荐

    MBD(基于模型设计)讲义 全英文

    一个关于MBD的讲义,不过是全英文的,主要是国内做这个方面的太少,资料都较少
    发表于 07-07 18:01

    【数据采集分享】数据采集: 输入界限

    在NI上面看到的这个问题和大家分享一下!什么是输入界限?输入界限对我的数据采集卡来讲,有什么意义? LabVIEW中用输入界限来定义你的模拟输入信号的期望输入范围。设定输入
    发表于 12-04 10:08

    基于模型的设计(MBD)的深入讨论

    讨论1:2016-6-14-基于模型的设计(MBD)_讨论1主要论述了MBD的自动生成代码的可用性,以及自动生成代买与手写代码的效率讨论2:2016-6-14-基于模型的设计(MBD)_讨论2深入介绍了基于模型的设计(
    发表于 06-14 18:30

    MBD设计模式

    机器人开发设计MBD设计模式(机器人开发,控制系统开发)掌握基于模型设计的六轴机械臂控制系统的开发方法掌握六轴机械臂的知识和控制器的软硬件实现MBD设计模式(机器人开发,控制系统开发)MBD是一种
    发表于 06-28 12:29

    使用MBD进行stm32开发

    MBD学习之路1——使用MBD进行stm32开发准备工作准备工作
    发表于 08-17 07:55

    MBD有哪几种设计模式?

    MBD有哪几种设计模式?
    发表于 10-13 06:35

    如何在stm32芯片上去实现MBD设计呢

    如何在stm32芯片上去实现MBD设计呢?求解答
    发表于 11-19 06:03

    如何在MBD中实现DAC?

    我正在使用 NXP S32k148 工具箱,我想在我想使用数模转换器(即 DAC)的地方构建模型。那么我可以在这里使用哪个工具箱?或者如何在 MBD 中实现 DAC(数模转换器)。
    发表于 04-07 12:50

    如何在s32k mbd中使用计时器?

    我想在 s32k mbd 中使用计时器,我必须在其中计算将轴原始值转换为陀螺仪角度的时间。我如何在 mbd 中使用它?
    发表于 04-10 09:39

    MBD模型设计的CAN通信步骤和方法

    本篇笔记主要记录基于MBD模型设计的CAN通信步骤和方法。前期工具箱的安装不在本文档讨论范围内。
    的头像 发表于 01-20 12:00 1152次阅读
    <b class='flag-5'>MBD</b>模型设计的CAN通信步骤和方法

    MBD模型设计的PWM输出步骤和方法

    本篇笔记主要记录基于MBD模型设计的PWM输出步骤和方法。前期工具箱的安装不在本文档讨论范围内。
    的头像 发表于 01-20 14:48 1432次阅读
    <b class='flag-5'>MBD</b>模型设计的PWM输出步骤和方法

    基于MBD模型设计的CAN通信步骤和方法

    本篇笔记主要记录基于MBD模型设计的CAN通信步骤和方法。前期工具箱的安装不在本文档讨论范围内。
    的头像 发表于 04-20 14:18 901次阅读
    基于<b class='flag-5'>MBD</b>模型设计的CAN通信步骤和方法

    基于MBD模型设计的PWM输出步骤和方法

    本篇笔记主要记录基于MBD模型设计的PWM输出步骤和方法。前期工具箱的安装不在本文档讨论范围内。
    的头像 发表于 04-20 14:19 998次阅读
    基于<b class='flag-5'>MBD</b>模型设计的PWM输出步骤和方法

    初识MBDMBD模型管理

    基于模型的设计( **Model-Based Design,MBD** )是一种围绕模型搭建展开的一种项目开发方法。
    的头像 发表于 07-13 09:16 2047次阅读
    初识<b class='flag-5'>MBD</b>及<b class='flag-5'>MBD</b>模型管理

    SOLIDWORKS 2024新功能——MBD

    SOLIDWORKS MBD是大家比较熟悉的解决方案了,在2024版本MBD的功能也做了很棒的提升。下面由众联亿诚为大家简单介绍一下。
    的头像 发表于 02-02 15:13 650次阅读
    SOLIDWORKS 2024新功能——<b class='flag-5'>MBD</b>