c++

异步电机控制

Posted on May 10, 2026

超越开环

要不怎么说, AI 极大的促进了知识的传播。

我很多年前,就做了一个变频器。

但是,一直都是使用 V/F 开环控制。

使用开环控制,简单,好用,便宜。

但是,如何进行闭环控制呢?

滑差频率控制

我第一时间就想到了控制滑差率。

一开始,我的想法是这样的:

假设控制目标是一个转速。转速 S 是控制目标。

直接输出 S+转差 是不行的。 所以,需要几个 PID 控制环。

我最初的设想是这样的,如果是一台直流电机,做闭环转速控制是怎么做的?

答案是 转速环-》扭矩环(电流环)-》PWM 占空比。

或者,可以一步到位,转速环-》PWM 占空比。

转速高了,就降低 pwm 占空比,低了,就提高占空比。占空比本质上是控制电压。

于是,我在异步电机这里,这么设计:

转速环-》电压。

然后根据转差率,直接确定输出频率。频率不用一个闭环进行控制,而是通过测量转速,直接乘上一个转差率,得到输出频率。

这个转差率,由当前的负载情况,可以直接计算出一个最优转差率。所谓最优转差率,就是效率最高的转差率。低了,铁损增加,高了,铜损增加。

然后,我遇到了一个很现实的问题:就是转速环一开始就会输出一个很高的电压!

但是,我认为,可以加入一个恒流恒压控制。只要设定了最大电流,电压就自动被控制住了。

然而,现实的情况是,这种限制最大电流的模式,其实并不适用。这意味着启动的时候电机会一直处于磁通饱和状态。而且这种饱和状态,还使用个屁的最佳转差率,根本就破坏了最佳转差率的存在前提嘛。

经过和 AI 的反复沟通,推翻了各种方案,最终我确定了以下方案:

  1. 转速环(输出扭矩参考)-》扭矩环(输出频率)
  2. 电流环(维持励磁电流)-》输出电压

电流环是独立运行的一个控制环,他控制输出电压,以维持在当前频率下的励磁电流为一个定值。

扭矩环接受转速环(或者位置环)的输出,根据转子转速直接确定输出频率。

这个频率的确定方式是:输出频率 = 转子频率 + 扭矩参考*最大转差频率。

扭矩参考是一个 [-1,1] 的数值。最大转差频率是和电机有关的一个参数,计算方式是:最大转差频率 = 转子的电阻 ÷ (2π × 转子的电感)

滑差频率控制的底层物理原理

为啥是这个频率呢?因为异步电机的扭矩,说到底是定子磁场*转子磁场*攻角。

而转子磁场,就是由 转差频率 供电的。 当转子的电阻和电抗相等的时候,转子电流出现最大值。继续提高转差频率,转子电抗会增加导致电流下降。因此,使转子的电阻和电抗相等的频率,就是最大转差频率。

更进一步的来说,电机扭矩 = 定子磁场矢量 叉乘 转子磁场矢量。 这对任何电机都是成立的。

异步电机的转子磁场,是感应出来的。感应的方式类似无线充电。电机的转子其实就是一个短路的变压器副边。这个变压器原边,却直接是定子绕组。但是可以等效为定子+变频器。 把定子上的电流频率,变频后传给副边。这个变频的频率,就是转差频率。 也就是说,如果转子和定子的旋转磁场同步选择,这个转差频率=0,于是这个变压器实际上就不工作了。副边就没有电压。

变压器的电压,实际上 = 磁通变化率*匝比。 而 转差频率和定子磁场的强度,共同决定了副边感应到的磁通变化率。 在 V/F 控制下,维持了恒定的定子磁场,所以,在 固定的 V/F 下,也就是说,维持恒定的定子磁通,就可以由转差率频率唯一确定扭矩了。

在励磁电流恒定的情况下,

异步电机的扭矩,正比于转差频率。

而励磁电流恒定恰恰又是异步电机稳定运行的前提条件。

因此,在 FOC 控制永磁电机里,我们控制 Iq 来控制扭矩,并令 Id = 0。 在异步电机滑差频率控制下,我们控制转差频率来控制扭矩,并令 V/F = 固定值。

注意这里的 V/F 里的 V ,是定子电感的电压。因此,要扣除定子电阻造成的压降。
因此,变频器输出的 V , 需要针对电子电阻的压降进行补偿。

这种控制方式,也是完全解耦的。

变频器上有2个完全解耦的控制环路。一个曰转矩环,一个曰励磁环。

转子电转速

在滑差频率控制下,转子电转速是一个非常非常重要的数值。这个转速的精确获取,决定了控制的性能。

在有转速传感器的情况下,滑差频率控制完全不需要电机参数(唯2需要的参数,最大滑差频率,也可以由经验值给出,定子磁通,可以由额度电压额定频率给出,不太需要进行参数辨识。)。而传统的 FOC 控制,仍然需要精确的电机参数,以便计算转子磁场矢量,从而提供 park 变换所需的 D轴方向。而 foc 控制所需的电机参数,几乎无法从电机铭牌获得。 必须经过参数辨识过程。

但是,在无转速传感器的情况下,还是依赖精确的电机参数,来估算转子电转速。

无转速传感器的转子电转速估算方法

基于阻抗法可以计算出转子的电转速。

这个计算方法,基于异步电机的阻抗模型。

定子电压 (U_s) → 定子电流 (I_s,滞后角φ1) → 定子磁场 (与I_s同相) → 感应出转子电压 (E_r,与磁场变化率有关) → 转子电流 (I_r,滞后于E_r,角φ2) → 转子磁场 (与I_r同相)​​。

在这个过程中,​转子电流及其磁场,本质上是定子磁场(由定子电流产生)在转子回路中“感应”出的结果​。在异步电机的等效电路中,这一系列电磁感应关系最终体现为从定子端看进去的一个总阻抗。这个总阻抗的阻抗角,就是定子电压与定子电流之间的夹角,即电机的功率因数角​。

而这个总阻抗的实部,里面又包含了转差率。

因为, 总阻抗的实部 = 总阻抗 * cos(阻抗角) = 定子电阻 + 转子等效电阻。

转子等效电阻= 转子电阻/转差率。

这里面,只有 转差率 是未知数。

Comments