从零开始之了解电机及其控制(8)clarke和park变换

为了最大化无刷电机产生的扭矩,我们希望感应磁场与转子磁场正交并引导转子磁场,无刷电机定子产生的磁场矢量将与电流矢量逆时针旋转 90 度

但现在我们要稍微改变这个y电路的外观,我们不是将相位表示为电阻器,它会产生垂直于电流方向的磁场

而是将其更改为线圈,它会产生与电流运行方向相同的磁场,这样做的原因是因为它有助于使我们的磁场矢量和电流矢量彼此一致,

其实,电流的物理运行方向并不重要,重要的是电流感应的磁场方向,就测量和控制而言,考虑流经相位的电流比考虑产生的磁场更容易,

于是,进入A相的电流将对应于严格向左的电流矢量和磁场矢量,流入B的电流将产生东偏南60度的量,而C将产生东偏北60度的矢量

显然这是一个二维图,因为三相电流和磁场矢量可以在这个二维平面上描述,所以可以将结果描述为二维矢量, 然后我们理论上可以仅从两相生成任何等效的合成矢量。(clarke变换本质)

克拉克变换描述了从A、B和C绕组到alpha beta 框架的转变,我们可以在很大程度上从几何角度推导出这个变换,A严格指向alpha方向,

B指向负余弦60α、正弦60β方向,

C指负余弦60α、负弦 60β方向,

Clark变换还包括一个外部三分之二乘法器,这使得变换两侧的向量大小相等,如果我想在三相图中严格从右到左运行一个放大器,它将进入 A,然后因为这是一个平衡系统,遵循基尔霍夫电流定律,所以它需要从 B和C出来等比例。如果我们以几何方式求和,这个放大器就会被计算两次。它在通过A的途中被计数一次,然后由于几何形状的原因,当它通过B和C出来时,它会被计算到另一半的时间,然而,在我们的alpha beta表示中,我们只是讨论每个方向的实际电流,因此,我们需要采用ABC 总和表示的电流的三分之二来获得1安培。

这是矢量幅度不变的版本,

而功率分析版本,它使用三分之二而不是三分之二的平方根

还可以进一步简化,因为我们所讨论的三相系统再次被假定为平衡的,因此它遵循基尔霍夫电流定律,这意味着A 相电流加上 B 相电流加上C 相电流必须等于0。然后我们可以看到alpha 中的电流等于A中的电流,而beta中的电流是B中的电流减去C中的电流除以三的平方根。因此现在我们可以使用B轴中的a来描述电流和感应磁场的方向

现在我们将采用这个两轴表示并从转子的角度对其进行分析,引入park变换,首先创建一个坐标系,它将随转子一起旋转。

该坐标系的轴被称为直轴或离轴以及正交轴或Q轴,直轴指向转子磁场的方向,而交轴则逆时针旋转90度,因此,在正Q方向感应的磁场将产生逆时针扭矩,负Q方向的感应将产生顺时扭矩,而在正D方向上感应的磁场对应于加强转子的磁场,而在负 D方向上感应会减弱转子的磁场,

由于DQ轴与alpha beta 轴保持相同的原点,因此我们可以将两者之间的变换描述为简单的旋转矩阵,

这基本上只是一个三角关系矩阵,它可以采用 alpha beta 框架中描述的向量或方向,然后在 DQ框架中描述它,Q方向的电流为负 ialpha 正玄theta加 beta余孩theta万,D方的电流为ialpha余孩theta加ibeta E玄theta,其中该theta 值为a轴和 D轴之间的角度

如果我们想要优化每个电流获得的扭矩量,我们在任何时候都希望电流严格指向Q轴方向

然后让我们再次使用此图来运行我们的六块换向方案,从霍尔扇区零的中心开始并正确连接我们的相位,最初与 Q轴完美对齐并以最佳方式产生扭矩,当我们穿过该霍尔扇区的其余部分时,电流方向不再与 Q轴对齐

在整个换向过程中,仅与每个霍尔扇区中心的 Q轴完美对产,并且当我们越来越接近霍尔扇区的边缘时,当前的点越来越多正或负D方向,这会导致我们产生的扭矩量上下振荡,并产生我们在前一集中讨论过的扭矩脉动

### Clarke变换的概念及其电机控制中的应用 #### 1. Clarke变换的基本定义 Clarke变换是一种将三相交流信号从三相静止坐标系(ABC)转换到两相静止坐标系(αβ)以及一个零序分量(γ)的技术[^2]。该变换的核心在于通过线性代数的方式减少系统的维度,从而简化对称三相系统的分析。 其基本公式如下所示: ```python import numpy as np def clarke_transform(i_a, i_b, i_c): """ 实现Clarke变换的函数 :param i_a: A相输入值 :param i_b: B相输入值 :param i_c: C相输入值 :return: α轴、β轴零序分量γ """ T_clarke = (2 / 3) * np.array([ [1, -0.5, -0.5], [0, np.sqrt(3)/2, -np.sqrt(3)/2], [1/np.sqrt(2), 1/np.sqrt(2), 1/np.sqrt(2)] ]) abc_vector = np.array([i_a, i_b, i_c]) alpha_beta_gamma = np.dot(T_clarke, abc_vector) return alpha_beta_gamma[0], alpha_beta_gamma[1], alpha_beta_gamma[2] # 示例调用 alpha, beta, gamma = clarke_transform(1, -0.5, -0.5) print(f"Alpha: {alpha}, Beta: {beta}, Gamma: {gamma}") ``` 上述代码实现了基于矩阵运算的Clarke变换过程,其中`T_clarke`为Clarke变换的系数矩阵。 --- #### 2. Clarke变换的应用场景 Clarke变换广泛应用于电力电子电机控制系统中,尤其是在永磁同步电机(PMSM)其他类型的交流电机中。以下是具体应用场景: - **降低系统复杂度**:通过将三相系统映射至两相系统,减少了变量数量并降低了控制器设计难度[^3]。 - **支持后续Park变换**:Clarke变换通常作为Park变换的第一步,后者可以进一步将两相静止坐标系下的数据转化为旋转坐标系下便于实时控制的数据[^1]。 - **消除不平衡影响**:对于某些不对称负载情况,可以通过观察零序分量来检测异常状态或优化补偿策略。 --- #### 3. Clarke变换的具体实现方法 假设存在一组三相对称电流\( I_A \),\( I_B \),\( I_C \),则可通过以下步骤完成Clarke变换: 1. 构建Clarke变换矩阵 \( T_{\text{clarke}} \)[^2]: \[ T_{\text{clarke}} = \begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \\ \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \end{bmatrix}. \] 2. 将原始三相矢量写成列向量形式: \[ V_{abc} = \begin{bmatrix} I_A \\ I_B \\ I_C \end{bmatrix}. \] 3. 计算得到新的两相加一零序分量矢量: \[ V_{\alpha\beta\gamma} = T_{\text{clarke}} \cdot V_{abc}. \] 最终结果包括两个正交分量 (\(\alpha\) \(\beta\)) 以及一个反映系统平衡性的零序分量 (\(\gamma\))。 --- #### 4. Clarke变换的意义 在实际工程实践中,Clarke变换不仅能够有效简化复杂的多维问题,还提供了清晰直观的空间几何解释。例如,在PMSM驱动器的设计过程中,利用此技术可显著提升动态响应性能并改善能量效率。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值