1  前言

MWORKS是面向数字工程的新一代科学计算与系统建模仿真平台,可提供机械、电子、液压、控制、热、信息等多领域统一建模仿真环境。经过同元持续攻关,全新推出的MWORKS.Sysplorer嵌入式代码生成器,现已支持面向电子控制器的产品级的嵌入式代码生成功能,其仿真与代码生成支持多种范式建模并且运行效率高,同时兼容多操作系统以及封装硬件底层驱动,并且在机器人控制、工业控制、白色家电、汽车电子以及航空航天行业中有切实的落地案例。

MWORKS.Sysplorer嵌入式代码生成器具有以下特点:

  • SysplorerEmbeddedCoder模型库提供图形化建模便于统一规范设计,团队分工并行开发,提高整体开发效率;

  • 图形化建模更利于保存逻辑思维,方便修改;

  • 模型仿真提供变量监测,早期验证设计结果,不需要编译运行;

  • 代码生成与模型一致性强,有效避免人为编码引入的bug;

  • 代码生成兼容性高,支持多操作系统以及封装硬件底层驱动。

文章《基于MWORKS.Sysplorer的电子控制器应用案例》分为上中下篇,内容包括建模工具、模型仿真、数据字典绑定以及嵌入式C代码生成并集成到电子控制器实际运行过程。本文为上篇,主要围绕基于MWORKS.Sysplorer搭建的永磁同步电机控制模型展开讲述,模型如下图所示:

△ 永磁同步电机(FOC)可视化模型

2  背景介绍

本篇使用MWORKS.Sysplorer嵌入式代码生成工具中的SysplorerEmbeddedCoder模型库,基于矢量控制(FOC)原理建立了永磁同步电机(PMSM)的控制器模型,其中包括克拉克变换(Clarke)、帕克变换(pake)、帕克反变换、基于正交锁相环的滑膜观测器、电流PI控制和空间矢量脉宽调制(SVPWM)等模块,以及将控制器模型与MWORKS.Sysplorer电机模型库中的永磁同步电机(PMSM)模型相连,进行控制算法模型在环(MIL)仿真验证。

△ 控制器设计流程

3  状态机

MWORKS.Sysplorer支持状态机模型建模,SysplorerEmbeddedCoder模型库中提供的状态机模块支持用户为控制器搭建状态转移模型,搭建状态逻辑方式比传统编程语言中的嵌套条件分支语句更加高效。图形化界面可帮助用户轻松了解其中的逻辑关系,也方便设计的交接,便于新人后期对于逻辑的修改。

在状态机中,用户不仅能够设置默认状态,还能够在转移连线上设置转移条件来实现状态之间的切换。

△ 状态机模块建模

除此之外,状态机还提供了用户自定义输入输出端口。在完成状态机建模之后,用户可以为所需要的状态变量设置输入输出、数据类型以及初始值等,并且会在状态机外观形成对应端口。

△ 状态变量设置

MWORKS.Sysplorer提供模型仿真、信号观测等功能,用户可在仿真结果中监测不同的状态变量。

△ 仿真结果监测

小到LED开关,大到百万级的复杂系统状态切换,状态机在其中都起着至关重要的作用。利用可视化模型能够很大程度上减少传统代码设计系统的人工与时间成本,从而提高建模与设计效率。

4  FOC控制

矢量控制(FOC)的基本思想是模仿直流电机的磁场定向方式。其原理为:以转子磁链方向作为旋转坐标系的参考方向,依据该坐标系,将定子电流分解为与转子磁链同方向的定子电流励磁分量和与磁链方向正交的定子电流转矩分量。其中克拉克变换(Clarke)、帕克变换(Park)、帕克反变换、基于正交锁相环的滑膜观测器、电流PI控制以及空间矢量脉宽调制算法(SVPWM)等都包含在整个FOC的控制器模型中。

△ FOC整体模型

其中,所有的算法都可以拆分成为基础的数学表达式。SysplorerEmbeddedCoder模型库中包含MathOperation库,它可提供大量的基础数学计算包括三角函数等模块来满足用户对于控制器算法功能的需求,目前已支持150个各类型模块。

△  ECG数学计算库

克拉克变换(Clarke):

三相系统中的电压、电流等状态变量存在不同程度的耦合,通过三相坐标变换可以将耦合的对称三相系统解耦为可以独立控制的两相系统,从而降低控制器设计的复杂程度。

△ 克拉克变换公式

了解理论之后,根据推断出来的矩阵公式可以得知:最终克拉克变换所使用到的数学操作只有加减法与乘法。基于MWORKS.Sysplorer中的模块,构建控制器模型,用户只需将其从模型浏览器中拖进编辑窗口进行连线与设置参数即可。

△ 克拉克变换模型

其仿真数据可以通过MWORKS.Sysplorer中的仿真界面来查看,最终的仿真结果能够达到预期。

△ 克拉克变换仿真结果

帕克变换(Park):

由于PID控制器对直流参考信号的跟踪效果更好,因此在克拉克变换之后需要将静止的α,β坐标系转换为旋转的d,q坐标系。

△ 帕克变换

得知理论,同理寻找SysplorerEmbeddedCoder模型库中的对应模块搭建算法模型:

△ 帕克变换模型

得到预期仿真结果:

△ 帕克变换仿真结果

空间矢量脉宽调制(SVPWM):

SVPWM的主要思想是以三相对称正弦波电源电压的矢量和所形成的标准矢量圆为参考,通过控制三相逆变器的IGBT开关不同导通顺序及时间,所形成的PWM波形,通过电压的时间积所形成的电压矢量来追踪标准的矢量圆。通过互差120度大小随着时间按正弦规律变化的3个分矢量,来合成一个大小不变旋转的总矢量。它们将360度的电压空间均分为6个扇区,可以合成任何方向上的空间矢量,使直流母线电压的利用率有了很大提高,且更易于实现数字化。

△ 恒定旋转磁场

由于逆变器三相桥臂共有6个开关管,为了计算各相上下桥臂不同开关组合时逆变器输出的空间电压矢量,又将电压矢量分为6个扇区,每个扇区对应不同算法,所有模块都是由SysplorerEmbeddedCoder模型库搭建完成。

△ SVPWM

经过处理后的仿真结果符合预期,而SVPWM作为算法中的最后一个模块,也使得最终电机的输出结果如同预期一样稳定。

△ SVPWM仿真结果

5  自动化脚本建模

此外,MWORKS还支持自动化脚本建模,这一功能对于有建模标准化需求的用户至关重要。自动化脚本建模不仅支持用户添加模块、添加连线、设置参数等,还能够做到批量绑定模型一键替换,减少因手动替换模型而造成的不必要误差。

△ 自动化脚本建模

6  结语

MWORKS.Sysplorer的嵌入式代码生成工具中的SysplorerEmbeddedCoder模型库为用户提供了基本的视图化建模能力,其中状态机提供了一种逻辑思维转图形化的建模功能,其余模块则为用户提供了基本视图化的算法建模能力,仿真结果监测的功能更是方便了用户对于模型的检查与调试,自动化脚本建模提高了用户建模的规范性、提供复用性和模型可读性。MWORKS.Sysplorer的灵活性适用于市场上所有主流控制器,从而帮助工程人员提升设计效率,支持实际航空航天、汽车、工业控制、智能家居、机器人等各行业工程应用。

由于篇幅限制,对于用户感兴趣的“在模型中变量如何处理”问题我们将在下期《基于MWORKS.Sysplorer的电子控制器应用案例——模型数据管理》为大家详细解答,并重点讲述数据字典绑定相关功能。后续还有“代码生成以及代码烧录运行功能”文章详解,敬请期待!

基于MWORKS.Sysplorer的电子控制器应用案例——永磁同步电机FOC算法建模相关推荐

  1. 基于积分型滑模控制器的永磁同步电机FOC 转速环基于积分型滑模面设计积分型滑模面结构控制器,采用指数趋近律来提高系统的动态性能

    基于积分型滑模控制器的永磁同步电机FOC 1.转速环基于积分型滑模面设计积分型滑模面结构控制器,采用指数趋近律来提高系统的动态性能. 2.提供算法对应的参考文献和仿真模型 ID:56486774298 ...

  2. 三体运动——基于MWORKS.Sysplorer研究初值对混沌系统数值求解的影响

    近期,根据作家刘慈欣同名科幻小说改编的电视剧<三体>热播,宏大的内容叙事.高燃硬核的科幻设定.危险幽深的宇宙观念......无一不令人热血澎湃,作为高中熬夜读小说的三体粉,笔者自然不会错过 ...

  3. 基于非线性观测器的表贴式永磁同步电机 无位置传感器控制

    基于非线性观测器的表贴式永磁同步电机 无位置传感器控制 基于非线性观测器的表贴式永磁同步电机 无位置传感器控制 摘要:非线性观测器观测通过sinθ.cosθ的估计值得到位置估计量.与龙格波观测器相比较 ...

  4. 基于超螺旋滑模观测器的内置式永磁同步电机ipmsm无位置(速度)传感器控制模型

    基于超螺旋滑模观测器的内置式永磁同步电机ipmsm无位置(速度)传感器控制模型 dq旋转坐标系建立滑模观测器 引入二阶滑模超螺旋算法替代一阶滑模 引入锁相环PLL估计转速及转子位置id=6509656 ...

  5. 基于maxwell的6极36槽永磁同步电机(永磁直流无刷)模型,水冷

    基于maxwell的6极36槽永磁同步电机(永磁直流无刷)模型,水冷,24.5kw, 绕组类型:分布式绕组,直流电压270Vdc,对6极 额定转速9000rpm,扭矩额定扭矩:输出扭矩不低于26Nm, ...

  6. 带负载转矩前馈补偿的永磁同步电机FOC 1.采用滑模负载转矩观测器,可快速准确观测到负载转矩。 赠送龙伯格负载转矩观测器用于对比分析

    带负载转矩前馈补偿的永磁同步电机FOC 1.采用滑模负载转矩观测器,可快速准确观测到负载转矩. 赠送龙伯格负载转矩观测器用于对比分析. 2.将观测到的负载转矩用作前馈补偿,可提高系统抗负载扰动能力: ...

  7. m基于simulink和S函数实现SVPWM永磁同步电机双PI转矩脉动控制系统仿真

    目录 1.算法仿真效果 2.MATLAB核心程序 3.算法涉及理论知识概要 3.1 PMSM的坐标变换 3.2基于SVPWM永磁同步电机的控制策略 3.3空间矢量扇区判断 4.完整MATLAB 1.算 ...

  8. 永磁同步电机弱磁控制建模仿真

    目录 1 绪论 1.1背景 1.2 永磁同步电机控制技术发展历史 1.3 弱磁控制的发展及现状 2 永磁同步电机的数学模型及控制技术 2.1 永磁同步电机结构      ​ 2.2 数学模型与矢量控制 ...

  9. 【2022年马上开课了】手撕永磁同步电机FOC矢量控制培训讲座

    课程大纲: FOC需要复杂的数学算法,这对于普通的设计人员来说可能并不熟悉,所以在过去,设计师们通常依赖于复杂的数字讯号处理芯片来实现控制. 并且,目前关于FOC技术而言,虽然有多家厂商开发了专用于电 ...

最新文章

  1. CentOS 7 修改时区例如上海时区
  2. [MySQL] 查询一段时间记录
  3. scikit-learn一般实例之一:绘制交叉验证预测
  4. 计算机组成原理汇编程序实验,计算机组成原理汇编实验(资料).pdf
  5. 启动mysql会遇到的问题_MySQL学习(一)——启动和登录MySql遇到的问题及解决
  6. 区块链 PoS 共识——Tendermint
  7. [转].NET学习网站收集
  8. git 修改本地用户名_git简单介绍
  9. 结构体的赋值和初始化与取出结构体变量中的成员
  10. python标准库之socket
  11. python吃显卡还是内存条_玩天际线吃U还是吃显卡或者还是吃内存?--天际线配置需求个人见解...
  12. MySQL : mysql连接报 Communications link failure
  13. gem ruby on rails 安装出错GemNotFoundException
  14. mybatis list为入参_Mybatis进阶学习
  15. 现代分类方法在医学诊断中的应用——基于R的实现
  16. IIS HTTP文件服务器搭建步骤
  17. php 学习笔记之日期时间操作一箩筐
  18. 简简单单认识call,apply,bind方法
  19. 【java】getWriter() has already been called for this
  20. bootmanager is missing

热门文章

  1. C/C++ 三种方式获得文件的大小
  2. 西安市物价局商品房房价公示网址
  3. c语言编译器运行窗口,Gcc编译器下载C语言编译器窗口(带有安装教程)v1
  4. ACDSee9 双击无法打开图片
  5. 使用VSTS的Git进行版本控制(四)——在Visual Studio中管理分支
  6. Compaq510系统安装问题
  7. 河北省网上报税系统使用心得
  8. 实体类多层嵌套 遍历_多层嵌套的json数据
  9. 荣辱不惊 看庭前花开花落;去留无意 望天上云卷云舒
  10. 多普达838使用简评