第1章:电机基础——直流电机与交流电机原理、数学模型、传递函数与状态空间方程

各位同学,欢迎来到《电机控制中的速度环与位置环设计》课程。我是你们的老朋友,一个在电机控制领域摸爬滚打十几年的工程师。

今天咱们聊点最基础,但也最核心的东西——电机本身。你想想看,不管你的控制算法写得多么花哨,最终驱动的是谁?还是那个转子。所以,把电机吃透,后面的速度环、位置环设计才能得心应手。

1.1 直流电机:最朴素的动力源

直流电机,说白了就是给电就转,反向供电就反转。我刚开始做项目时,第一个接触的就是它。结构简单,控制也直观。

它的核心原理,就是通电导体在磁场中受力。你给电枢绕组通电,它在定子磁场里就会受到一个力,从而旋转起来。这个力的大小,跟电流成正比。这就是为什么我们控制直流电机,最直接的手段就是调电流。

核心公式:

电磁转矩:Te = Kt · ia

反电动势:Eb = Ke · ω

其中,Kt 是转矩常数,Ke 是反电动势常数。在理想情况下,Kt = Ke

嗯,这里要注意。反电动势是电机转起来之后自己产生的,它跟转速成正比。你想想看,电机转得越快,反电动势越大,最终会限制电流的进一步增加。这就是为什么空载时电机转速会稳定在一个值上。

1.2 直流电机的数学模型

做控制,不能光靠感觉。我们需要一个数学模型来描述它。直流电机的动态行为,可以用两个方程来描述:一个电的,一个机械的。

电枢回路方程:

V_a = R_a · i_a + L_a · (di_a/dt) + E_b

机械运动方程:

T_e - T_L = J · (dω/dt) + B · ω

这里,Va 是电枢电压,Ra 是电枢电阻,La 是电枢电感,J 是转动惯量,B 是阻尼系数,TL 是负载转矩。

我在项目中遇到过一个问题:电机低速运行时抖动得厉害。后来排查发现,是忽略了阻尼系数B的影响。低速时,阻尼效应相对明显,如果不补偿,系统就容易振荡。

1.3 从数学模型到传递函数

有了微分方程,我们就可以拉普拉斯变换,得到传递函数。这是经典控制理论的基础。

对电枢回路方程做拉氏变换(假设初始条件为零):

V_a(s) = (R_a + sL_a) · I_a(s) + K_e · ω(s)

对机械方程做拉氏变换:

K_t · I_a(s) - T_L(s) = (sJ + B) · ω(s)

把这两个方程联立,消去电流Ia(s),就可以得到从电压Va(s)到转速ω(s)的传递函数。我建议你亲手推导一遍,这对理解系统动态很有帮助。

最终结果长这样:

G(s) = ω(s) / V_a(s) = K_t / [(sL_a + R_a)(sJ + B) + K_t · K_e]

这个传递函数,说白了就是一个二阶系统。它的极点位置,决定了电机的响应速度。你想想看,如果电感La很大,电流响应就慢,整个系统的带宽就会受限。

个人经验: 在设计电流环时,我通常会把电枢电感La和电阻Ra的比值(即电气时间常数τe = La/Ra)作为一个关键参数。这个值越小,电流环能跑得越快。

1.4 状态空间方程:现代控制的基础

传递函数适合单输入单输出系统。但电机控制中,我们经常需要同时处理多个变量。这时候,状态空间方程就派上用场了。

我们选择状态变量:x1 = ia(电枢电流),x2 = ω(转速)。输入是电枢电压Va,输出是转速ω。

状态方程可以写成:

dx/dt = A · x + B · u
y = C · x + D · u

具体展开:

[di_a/dt]   =  [-R_a/L_a   -K_e/L_a] [i_a]   +  [1/L_a] [V_a]
[dω/dt]        [K_t/J        -B/J   ] [ω ]      [0    ]
y = [0  1] [i_a]
           [ω ]

你看,状态空间方程把电流和转速的耦合关系表达得清清楚楚。我在做无刷直流电机控制时,特别喜欢用状态空间模型来做观测器设计,比如卡尔曼滤波器。它能同时估计出转速和负载转矩,非常实用。

避坑指南: 我曾经在搭建状态空间模型时,忽略了阻尼系数B。结果仿真时系统看起来稳定,实际跑起来却发散。后来才意识到,B虽然小,但它提供了必要的阻尼。千万别小看它。

1.5 交流电机:旋转磁场的艺术

聊完直流,咱们看看交流电机。交流电机,特别是永磁同步电机(PMSM),现在在伺服系统里用得最多。它的原理,说白了就是定子产生一个旋转磁场,拉着转子跟着转。

为什么定子能产生旋转磁场?因为通入的是三相交流电,相位互差120度。这三相电流在空间上产生一个合成磁场,这个磁场会随着时间旋转。转速由电源频率决定:

n = 60 · f / p

其中,f是电源频率,p是极对数。

我刚开始接触交流电机时,总觉得它比直流电机复杂。其实不然。你想想看,直流电机是机械换向,交流电机是电子换向。本质上,都是让磁场和电流保持一个合适的角度,从而产生最大的转矩。

1.6 交流电机的数学模型:Park变换与Clark变换

交流电机的数学模型,比直流电机复杂一些。因为它的电感、磁链都是随转子位置变化的。直接在三相坐标系下建模,方程里全是时变系数,很难处理。

所以,我们引入了坐标变换。Clark变换把三相静止坐标系(abc)变成两相静止坐标系(αβ)。Park变换再把两相静止坐标系变成两相旋转坐标系(dq)。

经过Park变换后,永磁同步电机的数学模型就简化成了:

V_d = R_s · i_d + L_d · (di_d/dt) - ω_e · L_q · i_q
V_q = R_s · i_q + L_q · (di_q/dt) + ω_e · (L_d · i_d + ψ_f)

电磁转矩:

T_e = 1.5 · p · [ψ_f · i_q + (L_d - L_q) · i_d · i_q]

你看,在dq坐标系下,电机模型变得跟直流电机很像了。d轴电流控制励磁,q轴电流控制转矩。这就是矢量控制(FOC)的核心思想。

关键点: 对于表贴式永磁同步电机(SPMSM),Ld = Lq,转矩只跟q轴电流有关。对于内置式永磁同步电机(IPMSM),Ld < Lq,可以利用磁阻转矩,效率更高。

1.7 交流电机的传递函数与状态空间

交流电机的传递函数,通常是在dq坐标系下推导的。但要注意,它是一个多变量系统。d轴和q轴之间有耦合项(ωe · Lq · iq 和 ωe · Ld · id)。

状态空间方程可以写成:

[di_d/dt]   =  [-R_s/L_d    ω_e·L_q/L_d] [i_d]   +  [1/L_d   0    ] [V_d]
[di_q/dt]        [-ω_e·L_d/L_q  -R_s/L_q ] [i_q]      [0      1/L_q] [V_q]

输出方程:

y = [1  0] [i_d]
           [i_q]

我建议你在做电流环设计时,一定要考虑解耦。如果不解耦,d轴和q轴会互相干扰。我在一个项目中就吃过这个亏,电流环带宽怎么都提不上去,后来加了前馈解耦,问题就解决了。

1.8 小结

这一章,我们从直流电机聊到了交流电机。直流电机模型简单,适合入门。交流电机虽然复杂,但通过坐标变换,可以简化成类似直流电机的形式。

无论是传递函数还是状态空间方程,它们都是我们设计控制器的工具。我个人习惯,做经典控制时用传递函数,做现代控制时用状态空间。两者各有优势,关键看应用场景。

下一章,我们会深入讨论速度环的设计。到时候,这些数学模型就会派上大用场了。

课后思考: 为什么直流电机的传递函数是二阶的?如果忽略电枢电感La,它会变成几阶系统?试试看,这对你理解电流环的简化设计很有帮助。