让PIL仿真更接近实际的Simscope

电子说

1.2w人已加入

描述

Tips :Simscape是Simulink中强大的物理模拟库,它可以搭建力学、电学、磁场、流体等多种物理场景,以物理量的方式进行仿真,可用于机器人、无人机、汽车的仿真。

如果已经在仓库中下载最新模型的读者应该能发现,最新的模型对FOC核心算法算法状态机分别都进行了PIL测试。仓库中最新的模型如下图所示:

FOC控制

仓库中最新的FOC电机控制模型 - From autoMBD

分别介绍一下上图中这些模型的作用:

  • FOC_Ctrl_CodeModel .slx
    集成式MBD开发中,用于生成模型代码,包括状态机和FOC核心算法使用的即为该模型。
  • FOC_Ctrl_MBD .slx
    所“建”即所得的最新模型,除了算法状态机和FOC核心算法,还包括底层驱动、外设初始化和中断管理等,该模型对所讲的模型进行了更新和优化。
  • FOC_PIL_Algth_model .slx & FOC_PIL_Algth_top .slx
    对FOC核心算法进行PIL测试的model模型和top模型。
  • FOC_PIL_StateMch_model .slx & FOC_PIL_StateMch_top .slx
    对电机控制状态机进行PIL测试的model模型和top模型。
  • FOC_Sub_CoreAlgoithm .slx
    FOC核心算法,为Subsystem模型。
  • FOC_Sub_StateMch .slx
    电机控制状态机模型,为Subsystem模型,且包含了FOC核心算法。

需要注意的是, 原来的MIL (Model In the Loop) 模型被移除了 ,该模型可以用PIL测试的top模型代替,只需要将Model Reference的仿真模式修改为Normal即可,如下图所示:

FOC控制

PIL和MIL的切换 - From autoMBD

两个PIL测试的目的是不一样的:

  • FOC核心算法PIL测试
    测试FOC算法是否能正常运行,控制性能是否满足要求,控制参数是否合理,以及开展不同工况的测试。
  • 电机控制状态机PIL测试
    测试状态切换是否正确,电机控制的功能和逻辑是否正确,验证FOC核心算法的调度是否正常,是电机控制的完整测试。

对这两个模型分开测试是有必要的,在不同的阶段检测不同的工作,同时也将算法和功能进行了隔离。

分别打开FOC核心算法模型和电机控制状态机模型的PIL top 模型,可以做一个对比:

FOC控制

FOC算法的PIL top模型 - From autoMBD

FOC控制

电机控制状态机的PIL top模型 - From autoMBD

可以发现,两个测试的电机模型是不一样的: 前者使用的是连续、理想的逆变器和电机模型;而后者使用的是Simcope模型搭建的逆变器和电机模型。 这就是本次补充的重点, 使用Simscape模型可以更加贴近实际情况进行PIL测试

那么更加贴近实际情况具体体现在哪里呢?我总结有以下三点:

1. 根据实际MOSFET电路,搭建实现逆变器模型

FOC控制

Simcope逆变器 - From autoMBD

2. 实际电路设计,搭建实现ADC采样电路,采样电阻的布置见上图

FOC控制

Simscape 运放和ADC采样电路 - From autoMBD

3. 根据芯片外设FTM的工作原理,搭建中心对齐PWM发生器

FOC控制

中心对齐PWM发生器(A相) - From autoMBD

上述三点的实现,均根据实际的电路设计(即DEVKIT驱动板PCB原理图)和芯片外设(FTM,FlexTimer Module)的工作原理进行搭建的,保证了最大限度的和实际情况一致,可以提高PIL的参考价值:此时的PIL除了底层驱动以外,其他所有的部分,包括状态机、FOC算法和电路硬件,都进行了验证和测试。

Tips :DEVKIT驱动板PCB原理图和S32K3手册均能在autoMBD的资源库中找到,私信回复关键词“ 资源 ”即可收到链接信息。

使用Simscape搭建硬件电路的模型,这样做是有意义的。在以前的文章中提到过,我追求的是尽可能减小****MBD的模型和代码之间的沟壑 ,Simscape至少能实现一部分。

把格局再打开一下,如果利用第三方软件与Simulink进行联合仿真,仿真环境会进一步逼近实际情况。

这种联合仿真有着广泛的实际案例,很多开发车道线保持、自适应巡航算法的工程师,首先会在电脑的虚拟环境中搭建汽车模型和道路模型(甚至还可以包括行人、路灯),然后通过Simulink联合仿真来验证算法。还有其他诸如机器人、无人机等场景。

这些实际场景中, 只需要搭建好算法和状态机,都能能实现PIL测试,从而同时或分别验证软件逻辑、功能、算法和电路硬件

上述的验证过程,如果 把复杂的受控对象放在实时机中运算 ,而不是在电脑中,这个过程就变成了HIL(Hardware In the Loop)。PIL和HIL相比,就是缺少了实时性。

虽然PIL不是实时运算,但实时性的验证可以通过PIL的软件运算耗时来评估,这一点在PIL是可以实现的。这样就可以最大限度的降低成本(通常实时仿真机价格几万到几十万不等),同时提高验证的可信度,最大限度挖掘PIL的作用。

还需要提的一点是,为了保证PWM的分辨率,算法状态机的PIL测试,其步长设置为:

Ts_simscape = 1/40000000

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

全部0条评论

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

×
20
完善资料,
赚取积分