Main Content

使用推荐的硬件估计 PMSM 参数

此示例使用推荐的 Texas Instruments® 硬件确定永磁同步电机 (PMSM) 的参数。该工具确定以下参数:

  • 相电阻,${R_s}$(欧姆)

  • dq 轴电感,${L_d}$${L_q}$(亨)

  • 反电动势常量,${K_e}$(Vpk_LL/krpm,其中 Vpk_LL 是线电压峰值)

  • 电机惯量,$J$ (Kg.m^2)

  • 摩擦常量,$B$ (N.m.s)

该示例接受最少的必需输入,并在目标硬件上运行测试以显示估计的参数。

注意:此示例不支持仿真。请使用受支持的硬件配置来运行此示例。

前提条件

参数估计工具需要由正交编码器、霍尔传感器或无传感器磁通观测器检测到的电机位置。为了方便位置传感器正确检测电机位置,请校准连接到在测电机的正交编码器或霍尔传感器。

  • 确保 PMSM 处于空载状态。

如果您使用霍尔传感器,则需要:

  • 确保 PMSM 有霍尔传感器。

如果您使用正交编码器,则需要:

  • 确保 PMSM 有正交编码器。

注意:如果您将主机模型中的 Sensor Selection 字段设置为 Sensorless,您可以跳过位置传感器校准步骤。

支持的硬件

此示例仅支持以下硬件配置:

Texas Instruments™ F28069M 控制卡配置:

  • F28069M 控制卡

  • DRV8312-69M-KIT 逆变器

  • 具有霍尔传感器或正交编码器的 PMSM

  • 直流电源

注意:DRV8312-69M-KIT 板的电源部分存在已知问题。由于存在此限制,并非所有类型的霍尔传感器该板都支持。例如,它不支持 Teknic M-2310P 电机的霍尔传感器。

Texas Instruments LAUNCHXL-F28379D 配置:

  • LAUNCHXL-F28379D 控制器

  • BOOSTXL-DRV8305 逆变器

  • 具有霍尔传感器或正交编码器的 PMSM

  • 直流电源

必需的 MathWorks 产品

要运行参数估计,您需要以下产品:

  • Motor Control Blockset™

  • Fixed-Point Designer™

  • Embedded Coder®

  • C2000™ Microcontroller Blockset

准备硬件

对于 F28069M 控制卡配置,请执行下列步骤:

1.将 F28069M 控制卡连接到 DRV8312-69M-KIT 逆变器板的 J1。

2.将电机的三相连接到逆变器板上的 MOA、MOB 和 MOC。

3.将直流电源连接到逆变器板上的 PVDDIN。

4.如果使用霍尔传感器,将霍尔传感器输出连接到逆变器板上的 J10。

5.如果使用正交编码器,将正交编码器引脚(G、I、A、5V、B)连接到逆变器板上的 J4。

对于 LAUNCHXL-F28379D 配置,请执行下列步骤:

1.将逆变器板连接到控制器板,使 BOOSTXL 的 J1、J2 分别与 LAUNCHXL 的 J1、J2 对齐。

2.将电机的三相连接到 BOOSTXL 逆变器板上的 MOTA、MOTB 和 MOTC。

3.将直流电源连接到 BOOSTXL 逆变器板上的 PVDD 和 GND。

4.如果使用霍尔传感器,将霍尔传感器输出连接到 LAUNCHXL 上的 QEP_B(配置为 eCAP)。

5.如果使用正交编码器,将正交编码器引脚(G、I、A、5V、B)连接到 LAUNCHXL 控制器板上的 QEP_A。

有关这些连接的更多详细信息,请参阅硬件连接

有关模型设置的更多详细信息,请参阅模型配置参数

对于 LAUNCHXL-F28379D,将一个示例程序加载到 CPU2(例如使用 GPIO31 操作 CPU2 蓝色 LED 的程序 c28379D_cpu2_blink.slx),以确保 CPU2 没有错误地配置为使用预留给 CPU1 的板载外设。有关示例程序或模型的详细信息,请参阅 Getting Started with Texas Instruments C2000 Microcontroller Blockset (C2000 Microcontroller Blockset) 中的“任务 2 - 为 TI Delfino F28379D LaunchPad(双核)创建、配置和运行模型”部分。

参数估计工具

参数估计工具包括目标模型和主机模型。这些模型通过串行通信接口相互通信。有关更多详细信息,请参阅Host-Target Communication

输入有关主机模型中硬件设置和在测电机的详细信息。目标模型使用算法对电机执行测试并估计电机参数。主机模型开始进行必需的测试,并显示估计的参数。

准备工作区

打开参数估计主机模型

在主机模型中输入以下详细信息以准备工作区:

  • Select Board - 选择目标硬件和逆变器组合。

  • Communication Port - 在 Host Serial Setup、Host Serial Receive 和 Host Serial Transmit 模块的模块参数对话框中,选择硬件连接的串行 Port。从列表中选择一个可用端口。有关更多详细信息,请参阅Find Communication Port

  • Required Inputs - 输入电机设定和硬件设置数据。您可以从电机数据表或电机铭牌上获得这些值。

- Input DC Voltage - 逆变器的直流电源电压(伏特)。

- Nominal Current - 电机的额定电流(安培)。

- Nominal Speed - 电机的额定转速 (RPM)。

- Pole Pairs - 电机的极对数。

- Nominal Voltage - 电机的额定电压(伏特)。

- Position Offset - (霍尔或正交编码器)位置偏移值(用标幺单位表示)(请参阅 PMSM 的霍尔偏移量校准PMSM 的正交编码器偏移量校准标幺制)。

- Sensor Selection - 您正在使用的位置传感器的类型。您可以选择以下值之一:

- QEP - 如果您使用连接到电机的正交编码器,请选择此选项。

- HALL - 如果您使用在电机中可用的霍尔传感器,请选择此选项。

- Sensorless - 如果您使用 Flux Observer 模块(无传感器位置估计)而不是位置传感器,请选择此选项。有关此模块的详细信息,请参阅Flux Observer

- Total QEP Slits - 正交编码器中可用的狭缝数量。默认情况下,此字段的值为 1000

注意:在更新 Required Inputs 时,请考虑以下限制:

  • 电机的额定转速必须低于 25000 RPM。

  • 这些测试旨在保护硬件免受过流故障的影响。但是,为了确保这些故障不会发生,请保持电机的额定电流(在 Nominal Current 字段中输入)小于逆变器支持的最大电流。

  • 如果您有基于 SMPS 的直流电源设备,出于安全原因,请对电源设置安全电流范围。

更新高级参数

您可以选择更新与参数估计算法相关的高级参数。点击主机模型中可用的链接以访问和更新这些参数:

  • Openloop Vd reference Voltage for Rs estimation - 输入参考电压 ${V_d}$,采用标幺单位 (PU)(伏特),用于算法用于估算相电阻 ${R_s}$ 的开环配置。${V_d}$ 值应足够高,以便将转子带到零位置并保持在那里。此值还应足够高到可从电机生成可读的电流反馈。${V_d}$ 值应足够低以避免电机温度快速升高。此参数使用默认值 0.1 PU。

  • Rs estimation time - 输入算法估计相电阻 ${R_s}$ 所需的时间(以秒为单位)。此时间应足够长,以便算法获得足够的采样来计算平均值(对于特定开关频率)。如果测得的电压和电流调试信号包含噪声,则增大该参数值,以便算法采集更多采样用于平均值计算。此参数使用默认值 2 秒。允许的最大 Rs 估计时间是 9 秒。

  • Frequency Sweep Range for Ld and Lq estimation - 输入算法用于测量电感 ${L_d}$${L_q}$ 的频率扫描范围(以赫兹为单位)。此范围的频率下限和上限应足够高以使转子不动。同时,这些频率应足够低,以便算法获得足够的采样(对于特定的开关频率)。非常高的频率值会导致较高的感抗,从而导致电流测量值不准确。此参数使用默认频率值 4001000 赫兹。

  • Frequency step size for Ld and Lq estimation - 输入算法用于测量电感 ${L_d}$${L_q}$ 的频率扫描的步长(以赫兹为单位)。该参数使用默认值 10 赫兹。

  • DC bias for Vd during Ld & Lq estimation - 输入算法用于测量电感 ${L_d}$${L_q}$${V_d}$${V_q}$ 电压扰动的直流偏置电压,采用 PU(伏特)。直流偏置电压应足够高以锁定转子轴。同时,它应足够低,以便算法在施加正弦电压扰动时避免过流。该参数使用默认值 0.1 PU。

  • Amplitude for Vd & Vq during Ld & Lq estimation - 输入算法用于测量电感 ${L_d}$${L_q}$${V_d}$${V_q}$ 电压扰动的振幅、峰间值,采用 PU(伏特)。此振幅应足够高,以避免在 ADC 测量过程中引入噪声。同时,它应足够低,以便算法在施加正弦电压扰动时避免过流。该参数使用默认值 0.05 PU。

  • Iq reference for torque control - 输入参考 ${I_q}$ 电流,采用 PU(安培),用于算法执行的闭环转矩控制测试。此电流应足够低以避免转子轴突然震动。同时,它应足够高以便算法克服转子轴的惯量。该参数使用默认值 0.2 PU。

  • Under Voltage limit - 输入算法为电机提供欠压保护的电压限制(以输入直流电压的百分比表示)。该参数使用 80 作为默认值。

  • Over Current limit - 输入算法为电机提供的过流保护的电流限制(以 PMSM 标称电流的百分比表示)。此值应足够高,以便算法在正常条件下使用配置的参数成功运行参数估计测试。同时,此值不应超出 100。该参数使用 100 作为默认值。

  • End speed for Inertia estimation - 输入电机转速,采用 PU (RPM),算法使用它来计算电机惯量。该参数使用默认值 0.25

部署目标模型

在使用参数估计工具开始测试之前,您需要将目标模型生成的二进制文件 (.hex/ .out) 下载到目标硬件中。下载二进制文件可使用两种工作流:

工作流 1:构建和部署目标模型

使用此工作流来生成和部署目标模型的代码。确保您按下 Ctrl+D 以使用主机模型中的必需输入值更新工作区。

在参数估计主机模型中点击以下超链接之一以打开(针对您使用硬件的)目标模型:

点击 Hardware 选项卡中的 Build, Deploy & Start 以将目标模型部署到硬件上。

注意:通过点击 Always Ignore 按钮忽略模型顾问显示的警告消息 Multitask data store option in the Diagnostics page of the Configuration Parameter Dialog is none。这是预期工作流的一部分。

工作流 2:手动下载目标模型

按照此工作流,通过使用第三方工具来手动部署目标模型的二进制文件 (.hex/ .out)(该工作流不需要生成代码)。此工作流仅适用于 Teknic M-2310P 电机。

  • 在以下位置找到二进制文件 (.hex/ .out):

- < matlabroot >\toolbox\mcb\mcbexamples\mcb_param_est_f28069_DRV8312.out

- < matlabroot >\toolbox\mcb\mcbexamples\mcb_param_est_sensorless_f28069_DRV8312.out

- < matlabroot >\toolbox\mcb\mcbexamples\mcb_param_est_f28379D_DRV8305.out

- < matlabroot >\toolbox\mcb\mcbexamples\mcb_param_est_sensorless_f28379D_DRV8305.out

注意:文件 mcb_param_est_f28069_DRV8312.outmcb_param_est_f28379D_DRV8305.out 使用固定的正交编码器狭缝计数 1000。因此,当您在主机模型中将必需输入 Sensor Selection 设置为 QEP 时,您只能将这些文件用于连接到具有 1000 个狭缝的正交编码器的电机(例如 Teknic M-2310P 电机)。

  • 打开第三方工具来部署二进制文件 (.hex/ .out)。

  • 下载并在目标硬件上运行二进制文件 (.hex/ .out)。

估计电机参数

使用以下步骤运行 Motor Control Blockset 参数估计工具:

1.确保将从目标模型生成的二进制文件 (.hex/ .out) 部署到目标硬件。

然后更新主机模型中所需的详细信息。有关所需输入的信息,请参阅“准备工作区”一节。

2.在主机模型中,检查 Run-Stop 滑块开关位置是否为 Run。然后,点击仿真选项卡中的运行以运行参数估计测试。

3.参数估计过程执行测试需要不到一分钟的时间。您可以忽略测试过程中产生的蜂鸣声。

在紧急情况下,您可以手动将 Run-Stop 滑块开关转至 Stop 位置以停止参数估计测试。

4.成功完成测试后,主机模型显示估计的电机参数。

当计算电气参数(相电阻 ${R_s}$d 轴电感 ${L_d}$q 轴电感 ${L_q}$)时,参数估计工具保持电机静止。不过,参数估计工具运行电机来计算机械参数(反电动势常量 ${K_e}$、电机惯量 $J$ 和摩擦常量 $B$)。

注意:如果电机不运行,您可以忽略显示的机械参数。

  • 当参数估计测试成功完成时,Test Status LED 变为绿色。

  • 如果参数估计测试中断,则 Test Status LED 变为红色。该模型还会中断测试并使这些 LED 变为红色,以保护硬件免受以下故障的影响:

- 过流故障(当从电源汲取的实际电流超出主机模型的 Required Inputs 部分中提到的 Nominal Current 值时,会出现此故障)

- 欠压故障(当输入直流电压降至主机模型的 Required Inputs 部分中提到的 Input DC Voltage 值的 80% 以下时,会出现此故障)

- 串行通信故障

5.Test Status LED 变为红色时,再次运行主机模型以重新运行参数估计测试。

如果 Test Status LED 为绿色,请检查主机模型的 Parameter Validity 部分中的 LdLq LED。这些 LED 指示以下状态:

  • 绿色 - 表示计算出的 LdLq 值有效。

  • 琥珀色 - 表示计算出的 LdLq 值无效。再次运行主机模型以重新运行参数估计测试。

6.使用主机模型上的 Signal from Target 字段选择要监控的调试信号。选择信号后,打开 SelectedSignal 的时间示波器(在 Signal Conditioning, Scaling and Advanced Algorithm Parameters 子系统中可用)以查看选择的调试信号。

参数估计工具使用以下算法来估计参数:

  • 相电阻,${R_s}$ - 该工具使用欧姆定律来估算此值。

  • d 轴电感,${L_d}$ - 该工具使用频率注入方法来估算这些值。

  • q 轴电感,${L_q}$ - 该工具使用频率注入方法来估算这些值。

  • 反电动势常量,${K_e}$ - 该工具测量电流和电压并使用电机方程来估算此值。

  • 电机惯量,$J$ - 该工具通过使用减速测试来估计此值。

  • 摩擦常量,$B$ - 该工具通过使用恒速运行的电机的转矩方程来估计此值。

保存估计参数

您可以导出估计的电机参数,并进一步将其用于仿真和控制系统设计。

要导出,请点击 Save Parameters 以将估计的参数保存到 MAT (.mat) 文件中。

要查看保存的参数,请在 MATLAB® 工作区中加载 MAT (.mat) 文件。MATLAB 将参数保存在工作区中名为 motorParam 的结构体中。

点击 Open Model 以使用 PMSM 电机模块创建一个新 Simulink® 模型。该电机模块使用 MATLAB 工作区中的 motorParam 结构体变量。