Pulsating High Freq Observer
库:
Motor Control Blockset /
Sensorless Estimators
描述
Pulsating High Frequency Observer 模块通过使用脉动高频 (PHF) 注入和双脉冲 (DP) 方法来估计静止的内部 PMSM 的初始位置(以电弧度为单位)。此外,该模块还使用(低速)闭环控制检测转子运行时的实时位置。
有关模块算法的详细信息,请参阅算法。
示例
端口
输入
Iab hf — PHF 电流响应
矢量
电机对 PHF 电压注入的高频(相位 a 和 b)电流反馈,以安培或标幺为单位。
数据类型: single
| double
| fixed point
Enable — 触发模块运算的输入
标量
在此端口指定以下输入之一:
1
- 启用模块运算0
- 禁用模块运算
数据类型: Boolean
θin — 初始转子位置
标量
当模块跳过阶段 1 初始位置估计 (IPE) 运算时的初始转子位置输入。该位置以弧度、度或标幺表示。有关模块运行的两个阶段的详细信息,请参阅算法。
单位取决于 Position unit 参数。
数据类型: single
| double
| fixed point
IPEEn — 启用阶段 1 初始位置估计 (IPE) 运算
标量
启用阶段 1 IPE 运算的信号的端口。它支持以下输入之一:
1
- 允许模块运行阶段 1 IPE 运算,然后运行阶段 2 闭环脉动高频 (PHF) 注入操作。0
- 允许模块跳过阶段 1,直接运行阶段 2 闭环 PHF 注入。
有关模块运行的两个阶段的详细信息,请参阅算法。
数据类型: Boolean
输出
Vαβ hf — PHF 输出
标量
脉动高频电压(在 αβ 参考系中)输出,以标幺为单位。
数据类型: single
| double
| fixed point
θest — 估计的转子位置
标量
由模块估计的转子位置,以弧度、度或标幺为单位。
单位取决于 Position unit 参数。
数据类型: single
| double
| fixed point
PosEn — θest 端口的状态
标量
该端口提供以下输出之一:
1
- 指示模块已成功完成阶段 1 的初始位置估计 (IPE),并且 θest 端口显示准确的转子位置。0
- 指示阶段 1 IPE 运算仍在进行中(θest 端口输出尚不精确)或估计已失败。
数据类型: single
| double
| fixed point
Info — 总线信号
总线
总线信号包含以下模块计算。
信号 | 描述 | 单位 | |||
---|---|---|---|---|---|
sin θest 和 cos θest | 估计的转子位置的正弦和余弦 | - | |||
Id 和 Iq | 定子直轴和交轴电流 | A | |||
收敛 | θest 输出的当前采样和上一采样之间的差异。 接近于零的值表示 θest 的饱和度。 | 弧度 | |||
状态 | 0 | 模块未启用(Enable 输入端口为 0) | - | ||
1 | 模块正在寻找可能的最佳初始估计值(阶段 1 的 A 部分) | - | |||
2 | 模块正在运行 PHF 方法(阶段 1 的 B 部分) | - | |||
3 | 模块正在运行 DP 方法(阶段 1 的 C 部分) | - | |||
4 | 模块已成功完成阶段 1,并已开始阶段 2 闭环 PHF 注入 | - | |||
5 | 由于估计的转子位置存在较大误差,阶段 1 的 B 部分失败 | - |
参数
Discrete step size (s) — 采样时间,在此采样时间过后模块将再次执行
50e-6
(默认) | 标量
两次连续的模块执行之间的时间。
Input units — 模块输入的单位
Per-unit (默认) | SI
模块输入的测量单位。
Datatype — 输入和输出的数据类型
single (默认) | double | fixed point
模块输入和输出的数据类型。
Compute PHF parameters automatically using motor parameters — 自动计算 PHF 参数
off
(默认) | on
选择此参数可使模块使用指定的电机参数自动计算以下 PHF 参数(可在 PHF Parameters 选项卡上找到):
PHF frequency (Hz)
LP filter cutoff frequency (Hz)
Proportional gain
Integral gain
Expected settling time (s)
Expected damping ratio
Open loop duration (s)
Close loop duration (s)
Idle time (s)
有关该模块如何计算这些 PHF 参数的详细信息,请参阅计算 PHF 参数。
如果选择此参数,该模块将禁用 Compute PHF parameters 按钮。
Compute DP parameters automatically using motor parameters — 自动计算 DP 参数
off
(默认) | on
选择此参数可使模块使用指定的电机参数自动计算 DP 参数 Pulse duration (s)(可在 DP Parameters 选项卡上找到)。
有关模块如何计算 DP 参数的详细信息,请参阅计算 DP 参数。
如果您选择此参数,模块将禁用 Compute DP parameters 按钮。
电机参数
Stator resistance (ohm) — 电机电阻
0.1458
(默认) | 标量
定子的电阻(以欧姆为单位)。
Stator d-axis inductance (H) — 电机电感
0.00013016
(默认) | 标量
定子沿 d-q 参考系的 d 轴的电感。
Stator q-axis inductance (H) — 电机电感
0.00014098
(默认) | 标量
定子沿 d-q 参考系的 q 轴的电感。
Base voltage (V) — 额定电压
13.8564
(默认) | 标量
电机的额定电压(以伏特为单位)。
Base current (A) — 额定电流
21.4286
(默认) | 标量
电机的额定电流(以安培为单位)。
Compute PHF parameters — 手动计算 PHF 参数
button
当您点击此按钮时,模块会使用指定的电机参数手动计算以下 PHF 参数(可在 PHF Parameters 选项卡上找到):
PHF frequency (Hz)
LP filter cutoff frequency (Hz)
Proportional gain
Integral gain
Expected settling time (s)
Expected damping ratio
Open loop duration (s)
Close loop duration (s)
Idle time (s)
有关该模块如何计算这些 PHF 参数的详细信息,请参阅计算 PHF 参数。
依存关系
要启用此参数,请清除 Compute PHF parameters automatically using motor parameters 参数。
Compute DP parameters — 手动计算 DP 参数
按钮
点击此按钮时,模块会使用指定的电机参数手动计算 DP 参数 Pulse duration (s)(可在 PHF Parameters 选项卡上找到):
有关模块如何计算 DP 参数的详细信息,请参阅计算 DP 参数。
依存关系
要启用此参数,请清除 Compute DP parameters automatically using motor parameters 参数。
PHF 参数
PHF peak voltage (PU) — PHF 的峰值电压
0.2
(默认) | 标量
模块施加的 PHF 电压的峰值振幅,以伏特为单位。
PHF frequency (Hz) — PHF 电压频率
2000
(默认) | 标量
模块施加的 PHF 电压的频率,以 Hz 为单位。
LP filter cutoff frequency (Hz) — PHF 低通滤波器的截止频率
131.9037
(默认) | 标量
模块施加的 PHF 的低通滤波器的截止频率,以 Hz 为单位。
Select tuning parameters — 选择手动调节的控制参数
Controller gains (默认) | Time response variables
选择要手动调节的控制参数。
Controller gains - 选择此选项可启用以下控制参数:
Proportional gain
Integral gain
注意
选择 Control gains 会禁用时间响应变量。
Time response variables - 选择此选项可启用以下控制参数:
Expected settling time (s)
Expected damping ratio
注意
选择 Time response variables 会禁用控制增益变量。
要查看调节后的参数对禁用的控制参数的影响,您可以点击 Compute Control Parameters 按钮。有关更多详细信息,请参阅Compute Control Parameters。
Proportional gain — PHF 的 PI 控制器的比例增益
1954.6647
(默认) | 标量
模块施加的 PHF 的比例 PI 控制器增益 Kp。
依存关系
要启用此参数,请将 Select tuning parameters 参数设置为 Controller gains。
Integral gain — PHF 的 PI 控制器的积分增益
7392.5303
(默认) | 标量
模块施加的 PHF 的积分 PI 控制器增益 Ki。
依存关系
要启用此参数,请将 Select tuning parameters 参数设置为 Controller gains。
Expected settling time (s) — 估计的位置的预期稳定时间
0.66794
(默认) | 标量
B 部分期间模块输出 θest 达到饱和的预期时间。
依存关系
要启用此参数,请将 Select tuning parameters 参数设置为 Time response variables。
Expected damping ratio — 模块输出 θest 的预期阻尼比
0.99
(默认) | 标量
模块输出 θest 动态特性的预期阻尼比。
依存关系
要启用此参数,请将 Select tuning parameters 参数设置为 Time response variables。
Compute Control Parameters — 计算禁用的控制参数
按钮
计算 Control Parameters 部分中禁用的控制参数。此参数帮助您根据对启用的控制参数所做的编辑来更新禁用的控制参数。下表描述了模块用于计算禁用的控制参数的方程。
控制参数 | 表达式或值 | 备注 |
---|---|---|
Proportional gain,kp | | 当您启用时间响应变量进行手动编辑时,Compute Control Parameters 按钮会计算这些值。 |
Integral gain,ki | | |
Expected settling time (s),Tsettling | | 当您启用控制器增益进行手动编辑时,Compute Control Parameters 按钮会计算这些值。 |
Expected damping ratio,ẟ | |
在表达式中:
Vphf 是注入的高频电压信号的峰值振幅(以伏特为单位)。
Ld 和 Lq 是 d 和 q 轴定子电感(以亨为单位)。
fh 是注入的高频电压的频率。
注意
此表中的表达式使用基于参考文献和试验数据的元素和值。
Open loop duration (s) — 阶段 1 的 A 部分期间开环 PHF 注入的持续时间
0.0066794
(默认) | 标量
阶段 1 的 A 部分期间开环 PHF 注入的持续时间,以秒为单位。
Close loop duration (s) — 阶段 1 的 B 部分期间闭环 PHF 注入的持续时间
0.66794
(默认) | 标量
阶段 1 的 B 部分期间闭环 PHF 注入的持续时间,以秒为单位。
Idle time (s) — 算法步骤之间的持续时间
0.0066794
(默认) | 标量
算法中与阶段 1 的 A 部分和阶段 1 的 B 部分(允许瞬变动力学的衰减)相关的步骤之间的持续时间(以秒为单位)。例如,此模块在每次 PHF 注入(开环或闭环)之间停止运行(时间段为此持续期间)。
Error threshold (rad) — θerr 的最小误差阈值
4e-4
(默认) | 标量
估计的转子位置 θest 收敛完成时的最小误差值 θerr。
DP 参数
Pulse voltage (PU) — 注入脉冲的振幅
0.5
(默认) | 标量
注入脉冲的电压振幅,以伏特为单位。
Pulse duration (s) — 注入脉冲的持续时间
0.00066955
(默认) | 标量
注入脉冲的持续时间,以秒为单位。
Idle time (s) — 双脉冲注入期间两个脉冲之间的持续时间
50e-3
(默认) | 标量
双脉冲注入(阶段 1 的 C 部分)期间两个脉冲之间的持续时间(以秒为单位)。
算法
该模块使用开环脉动高频 (PHF) 注入来确定转子位置的最佳可能初始估计值,并使用该值运行闭环 PHF。
该模块通过将高频信号注入估计的转子位置来执行闭环 PHF,以在不旋转电机的情况下确定实际转子位置。当电机凸极率 (Lq/Ld) 大于 1 时,可以使用这种方法。由于 PHF 方法的局限性,估计的位置可能显示与 π
(pi) 值相等的模糊性。双脉冲 (DP) 方法使用极性检测来解决 π
的模糊性,如果存在误差,则应用 π
的补偿。估计的转子位置范围是从 0 到 2π 电弧度。
模块可以在以下两个阶段运行:
阶段 1 - 初始位置估计 (IPE),包括三个部分。
阶段 2 - 闭环脉动高频 (PHF) 注入。
在阶段 1 完成后,您可以继续运行阶段 2 中的模块,在此阶段中,它计算转子位置,同时电机使用闭环控制(例如磁场定向控制,即 FOC)运行。使用阶段 2 算法(闭环 PHF 注入),模块可以继续注入脉动高频(如 B 部分所述),并使用所得定子电流响应的数值分析来计算和跟踪闭环运行期间的转子位置。
第一阶段的重点是确定转子处于静态时的初始位置。此阶段包括以下三个部分。
A 部分:找到可能的最佳初始估计值
该模块使用 PHF 注入方法。PHF 注入需要初始估计值来开始算法。
如果对所有可能的实际转子位置仅使用一个初始估计值 θi_est(对于 PHF),则当电机凸极率较低时,模块算法可能无法准确确定某些实际转子位置。这些存在模糊性的位置有:
当 θactual 位于范围 内时
当 θactual 位于范围 内时
当 θactual 位于范围 内时
为了使 PHF 适用于低凸极率电机,该模块针对不同实际转子位置选择不同初始估计值。
该模块从以下三个备选方案中选择最佳的可能初始估计值:
θi_est =
0
θi_est =
2π/3
θi_est =
-2π/3
因此,该模块在前面的 3 个 θi_est 值上顺序注入三个高频电压信号(具有相同的峰值振幅 Vphf 和相同的频率 fh),并测量产生的 iq 电流。
注意
在 A 部分中,每次高频电压信号注入都会持续一段固定的时间(Open loop duration (s) 参数)。此外,两次连续注入之间有固定的延迟(Idle time (s) 参数)。
以下方程描述估计的 d-q 参考系中的注入电压:
以下方程描述估计的 α-β 参考系中的注入电压:
以下方程描述实际 d-q 参考系中的注入电压:
使用 IPMSM 电机动态方程,我们可以推导出适用于生成的 iq 电流的以下方程:
因此,
其中
θi_est - 转子位置的初始估计值(可以是 0
、2π/3
或 -2π/3
)(以度、标幺或弧度为单位)。
θactual - 实际转子位置(以度、标幺或弧度为单位)
θerr = θactual-θi_est(以度、标幺或弧度为单位)。
Ld 和 Lq 是 IPMSM 的 d 轴和 q 轴电感。
Vd_est 和 Vq_est 是估计的 d-q 参考系的 d 轴和 q 轴上注入的电压。
Vd 和 Vq 是实际 d-q 参考系的 d 轴和 q 轴上注入的电压。
Vα 和 Vβ 是在静止 α-β 参考系的 α 轴和 β 轴上注入的电压。
使用
iq1 = iq_peak(对于 θi_est = 0)
iq2 = iq_peak(对于 θi_est = 2π/3
)
iq3 = iq_peak(对于 θi_est = -2π/3
)
对于 θi_est = 0,如果 θactual 从 0 变为 2π,则当转子位于以下四个突出显示的区域时, 是 iq1、iq2 和 iq3 电流峰值之间的最大值。
如果 θi_est = 0 用于所有 θactual = 0
至 2π
,则该算法对于以下具有模糊性的区域会失败(当电机凸极率低时):
θactual 位于范围 内
θactual 位于范围 内
θactual 位于范围 内
由于上述四个区域中不存在这些具有模糊性的区域,因此您可以消除算法可能失败的区域。
对于 θi_est = (2π/3)
,如果 θactual 从 0
变为 2π
,则当转子位于以下四个突出显示的区域时, 是 iq1、iq2 和 iq3 电流峰值之间的最大值。
如果 θi_est = (2π/3)
用于所有 θactual = 0
到 2π
,则该算法对于以下具有模糊性的区域失败(当电机凸极率低时):
θactual 位于范围 内
θactual 位于范围 内
θactual 位于范围 内
由于上述四个区域中不存在这些具有模糊性的区域,因此您可以消除算法可能失败的区域。
对于 θi_est = -(2π/3)
,如果 θactual 从 0
变为 2π
,则当转子位于以下四个突出显示的区域时, 是 iq1、iq2 和 iq3 电流峰值之间的最大值。
如果 θi_est = -(2π/3)
用于所有 θactual = 0
到 2π
,则该算法对于以下具有模糊性的区域会失败(当电机凸极率低时):
θactual 位于范围 内
θactual 位于范围 内
θactual 位于范围 内
由于上述四个区域中不存在这些具有模糊性的区域,因此您可以消除算法可能失败的区域。
因此,使用这种方法时,有三组区域对应于三个不同的初始估计值。这三组区域覆盖了转子可能位于的所有电机扇区:
在 A 部分中,模块选择与 B 部分的 iq1、iq2 和 iq3 之间的最大 iq 峰值电流值对应的 θi_est。
B 部分:脉动高频 (PHF) 方法
在确定最佳初始估计值 θi_est 后,模块沿最终值 (θest | t = 0) = θi_est 注入正弦高频电压(峰值振幅为 Vphf,频率为 fh),并读取电机的 q 轴电流响应,如 A 部分中所述。但除此之外,它还对 q 轴电流响应应用信号处理例程,以在闭环配置中使用 PI 控制器对 θest 进行修正,如下图所示:
以下步骤描述模块使用的信号处理例程:
将测得的 iq 乘以余弦信号(具有单位振幅和频率 fh),得到如下信号:
应用低通滤波器 (LPF) 以提取上述结果中的偏置项。
对步骤 2 的输出求逆。
根据前面 3 个步骤的输出,我们可以推断出以下误差信号:
由于我们可以将 sin(θ) 逼近为 θ(当 θ 接近于零时),因此在考虑到 θerr 接近于零时,我们可以推断出以下逼近的误差信号:
因此,使用前面的结果,我们可以简化模型 1,如下所示:
以下项表示整个模型的传递函数(简化):
其中,kp 和 ki 为 PI 控制器的比例增益和积分增益。
因此,当模块执行时,估计的位置最初是 θi_est,但它会稳定上升(根据 G、kp 和 ki 增益动态上升)并在某个角度(相对于 a 轴)达到饱和,使得 Error_signal 接近于零。
注意
在 B 部分中,高频电压信号注入在给定的时间段(Close loop duration (s) 参数)内发生。选择此持续时间,使 θest 的动态特性达到饱和。
先前使用的逼近在 PHF 方法中引入了限制,由于有此限制,该算法可能以 π 的模糊度计算转子位置。如果转子位于 电弧度范围内(区域 1),则估计的位置是准确的(不需要 π 补偿)。
如果转子位于 电弧度范围内(区域 2),则估计的位置具有 π 的模糊度(需要 π 补偿)。
因此,模块使用双脉冲方法来确定估计的位置是否需要 π
补偿。
C 部分:双脉冲 (DP) 方法
模块会在以下位置注入两个持续时间非常短的电压脉冲(宽度和幅值相同):
B 部分中估计的转子位置处的脉冲 1
B 部分中估计的转子位置处的脉冲 2 +
π
由于脉冲宽度很短,电机不运转,在脉冲注入后转子保持静止。
由此产生的定子磁通量和转子永磁体之间的交互导致沿转子 d 轴的两个电流冲激快速上升和下降。
由于定子芯经过饱和处理,它表现出非线性行为。如果 Ld 值比较小,则会导致较高的电流 Id,如果 Ld 值较高,则会导致较小的电流 Id。因此,脉冲 1 和脉冲 2 生成的 Id 电流冲激显示不同峰值。
注意
注入电压脉冲的脉冲持续时间足够大,可以获得峰值电流值之间的可测量差异。同时,持续时间不能太长,因为当脉冲持续时间超出一定限制时转子可能就会开始旋转。
该模块会计算两个电流冲激的峰值之差 ΔId,以确定 A 部分中估计的位置是否需要 π 补偿。
ΔId = |Id1| - |Id2|
PHF 注入有利于需要转子保持静止或需要在不启动电机的情况下进行位置估计的用例。PHF 注入方法也有利于需要避免开环运行来估计位置(在转换为闭环转速控制之前)或需要电机在闭环模式下直接启动的情况。阶段 1 算法中的模块算法通过在保持转子静止和避免开环运行的同时估计位置来处理这些用例。
使用电机参数计算算法参数
下表描述当您选择 Compute PHF parameters automatically using motor parameters 或点击 Compute PHF parameters 按钮时模块如何计算 PHF 参数:
PHF 参数 | 表达式或值 | 备注 |
---|---|---|
PHF frequency (Hz),fh | | 在 A 部分和 B 部分都会用到。 |
LP filter cutoff frequency (Hz) | | B 部分会用到。 |
Proportional gain,kp | | B 部分会用到。 |
Integral gain,ki | | B 部分会用到。 |
Expected settling time (s),Tsettling | | B 部分会用到。 |
Expected damping ratio,ẟ |
| B 部分会用到。 |
Open loop duration (s) | | A 部分会用到。 |
Close loop duration (s) | | B 部分会用到。 |
Idle time (s) | | 在 A 部分和 B 部分都会用到。 |
其中:
Ts 是模块采样时间(以秒为单位)。
Ld 和 Lq 是 d 和 q 轴定子电感(以亨为单位)。
Ibase 是电机的基电流(以安培为单位)。
Vphf 是注入的高频电压信号的峰值振幅(以伏特为单位)。
Rs 是电机电阻(以欧姆为单位)。
注意
上表中的表达式使用了基于参考文献和试验数据的元素和值。
下表描述了当您选择 Compute DP parameters automatically using motor parameters 或点击 Compute DP parameters 按钮时模块如何计算 DP 参数:
DP Parameter | 表达式或值 | 备注 |
---|---|---|
Pulse duration (s), w | | C 部分会用到。 |
其中:
Ld 是 d 轴定子电感(以亨为单位)。
Rs 是电机电阻(以欧姆为单位)。
注意
上表中的表达式使用了基于参考文献和试验数据的元素和值。
参考
[1] W. Zine, L. Idkhajine, E. Monmasson, Z. Makni, P. Chauvenet, B. Condamin, and A. Bruyere, "Optimisation of HF signal injection parameters for EV applications based on sensorless IPMSM drives", IET Electric Power Applications, Volume 12, Issue 3, March 2018, p. 347 - 356 (doi:10.1049/iet-epa.2017.0228).
[2] Gaolin Wang, Guoqiang Zhang, and Dianguo Xu, "Position Sensorless Control Techniques for Permanent Magnet Synchronous Machine Drives", Springer, Singapore, 2020 p. 41 - 43 (doi: https://doi.org/10.1007/978-981-15-0050-3).
扩展功能
C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。
定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。
版本历史记录
在 R2022b 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)