Main Content

分区多处理器单片机电机控制

此示例显示了如何将实时电动机控制应用程序划分为多个处理器,以实现设计模块化和改进的控制性能。

许多MCU提供多个处理器核心。可以利用这些其他核心来实现各种设计目标:

  • Divide the application into real-time tasks, such as control laws, and non-real time tasks, such as external communication, diagnostics, or machine learning

  • Partition the control algorithm to run on multiple CPUs to achieve higher loop rate

  • Run the same application in multiple CPUs for safety critical applications

此示例显示了如何在Ti Delfino F28379D的两个CPU上分配电动机控制应用,以实现较高的采样时间/PWM频率。

需要硬件:

  • Ti Delfino F28379D Launchpad或Ti Delfino F2837XD板

  • BOOSTXL-DRV8305EVM汽车驾驶员板

  • Teknic M-2310P-LN-04K PMSM motor

分区电动机控制算法

打开soc_pmsm_singlecpu_foc model。该模型模拟了一个单个CPU电动机控制器,其中包含soc_pmsm_singlecpu_ref model,用于永久磁铁同步机(PMSM)。

我们通过在CPU2上执行电流控制以及分别对CPU1上的速度控制和位置估计来分区控制算法。CPU之间的数据传输由Intercess Data Channel块处理。有关更多信息,请参见通过专用硬件外围设备进行解释数据通信

打开SOC_PMSM_DUALCPU_FOC模型

open_system('soc_pmsm_dualcpu_foc');

System on Chip选项卡,单击硬件设置打开配置参数窗户。在里面硬件实现标签,Processing Unitparameter is configured to "None" indicating it is the top-level system model.

打开SOC_PMSM_CPU1_REF模型并打开SOC_PMSM_CPU2_REF模型查看为每个CPU配置的算法。系统模型中包含的模型参考配置为在C28XCPU1(CPU1)和C28XCPU2(CPU2)上运行。

在“仿真”选项卡上,单击“运行”以模拟模型。打开仿真数据检查器并查看信号。该图显示了模拟和部署中的单个和双CPU模型的结果。

通过并发执行的性能改进

使用两个CPU执行控制算法使我们能够实现更高的控制器带宽。在原始的单个CPU模型中,控制算法仅需25US即可执行。为了提供安全保证金,单个CPU模型使用的PWM频率为20kHz,相当于50US时期。

After partitioning, the CPU1 and CPU2 execution times reduce to less than 20us. Allowing the PWM frequency to be increase to 40kHz. In themcb_pmsm_foc_sensorless_f28379d_data.m脚本,将PWM_FREQUENCY设置为40E3并运行脚本以将模型配置为新的PWM频率。通过对电流的更快采样,可以调整控制器的收益以达到更快的响应时间。

使用该模型将模型部署到Ti Delfino F28379D发射台上使用SOC建造者tool. To open the tool, on theSystem on Chip选项卡,单击Configure, Build, & Deploy,并遵循指导步骤。

This figure shows the controller response from simulation and deployment at 25us current loop with 40kHz PWM frequency compared with 50us current loop at 20kHz frequency. As expected, the rise time in speed improves with faster current loop by approximately 50 percent.

速度响应由于无传感器算法而具有振荡性,有关更多信息,请参见PMSM的无传感器现场控制(电动机控制区块)

对于更高的仿真颗粒,将PWM接口块输出设置为开关模式,并更改植物模型变体以使用MOSFET模拟。

也可以看看

Copyright 2020-2021 The MathWorks, Inc.