主要内容

自定义硬件的算法导出工作流

这个示例允许您使用任何定制的电机控制硬件(在电机控制模块™示例中未使用的硬件),使用磁场定向控制(FOC)运行三相永磁同步电机(PMSM)。使用算法导出工作流程,包括使用Simulink®和Embedded Coder®生成控制算法的代码,然后将其与手工编写或外部生成的硬件驱动程序代码集成。金宝app这个示例解释了算法导出工作流以及中间步骤。

该示例使用以下硬件作为参考,但您可以使用任何电机控制硬件:

  • 控制器:意法半导体®STM32F302R8

  • 逆变器:意法半导体®X-NUCLEO-IHM07M1

  • 电机:BLY171D(含正交编码器传感器)

您可以使用这个示例来定制控制算法,并将其与电机控制硬件的驱动程序集成在一起。在这个例子中,我们使用STM32立方体MX为硬件驱动程序配置和生成代码的软件。这个例子支持任何三相PMS金宝appM。

实现FOC算法需要实时的转子位置反馈。这个例子使用一个正交编码器传感器来测量转子位置。关于FOC的详细信息请参见磁场定向控制(FOC)

该示例包括三个工作流程。

1.开环控制和ADC偏移校准-该工作流使用了一种算法,运行PMSM使用开环控制(也称为标量控制或电压/赫兹控制)。您可以使用此工作流检查硬件连接的完整性,并计算硬件上可用的当前传感器的ADC偏移量。

2.正交编码器偏移校准-这个工作流使用一个算法,计算之间的偏移d转子的-轴和由正交编码器传感器检测到的指数脉冲位置。控制算法(可用于面向磁场的控制工作流)需要这个偏移量来精确计算转子位置,这是实现FOC所必需的。

3.磁场定向控制-该工作流使用了一种算法,使用闭环磁场定向控制(FOC)运行PMSM。该工作流使用ADC和正交传感器偏移量作为输入。

每个工作流包括准备、部署和在硬件上运行算法的步骤:

1.使用Embedded Coder®生成控制算法代码

2.获取硬件驱动程序的C代码

3.控制算法代码与驱动代码集成

4.将集成代码部署到硬件

5.使用主机Simulink®模型控制电机。金宝app

开放MATLAB®项目

使用这些方法之一打开MATLAB项目:

  • 点击开放的例子

  • 运行以下命令mcb_FOCAlgorithmExportDemoStart在命令提示符处。

该项目包含三个文件夹,一个用于运行最终FOC算法所需的每个工作流。每个文件夹包含以下内容:

  • 数据脚本包含电机,逆变器,和目标硬件细节。

  • 用于生成控制算法代码的算法模型。生成的代码将在文件夹中可用[project_root] /工作/代码

  • 用于与目标硬件通信的主机模型。

  • C代码,展示了如何集成生成的算法代码和硬件驱动程序代码(具体到STM32F302R8和X-NUCLEO-IHM07M1)。

除了这三个文件夹外,该项目还包括一个.IOC文件。您可以将此文件与STM32 Cube MX一起使用,以配置目标的外围设备并生成代码。的.IOC项目中可用的文件特定于STM32F302R8和X-NUCLEO-IHM07M1硬件。

自定义硬件的工作流

按照顺序执行这些工作流程。

1.开环控制和ADC偏移校准

2.正交编码器偏移校准

3.磁场定向控制