第1章 电机数学模型:从物理到仿真

做运动控制这些年,我最大的体会就是——数学模型是控制环路设计的基石。你想想看,如果连被控对象长什么样都不清楚,怎么设计控制器?今天咱们就来聊聊电机数学模型这件事。

我个人习惯把电机模型分成两类:直流电机和永磁同步电机(PMSM)。前者结构简单,适合入门;后者是工业伺服的主流,也是我们课程的重点。

1.1 直流电机数学模型

直流电机其实是最直观的。电枢绕组通电后,在磁场中受力旋转。嗯,这里要注意,我们通常讨论的是他励直流电机,也就是励磁和电枢独立供电。

电压平衡方程:

Ua = Ra * Ia + La * dIa/dt + E

其中E是反电动势:

E = Ke * ω

转矩平衡方程:

Te = Kt * Ia
Te - TL = J * dω/dt + B * ω

我在项目中遇到过一个问题:很多人直接把La忽略掉,认为电感很小。但如果你做的是高响应伺服,La的影响其实挺大的,尤其是在电流环带宽设计时。

关键参数对应关系:

  • Ke(反电动势常数)和Kt(转矩常数)在SI单位制下数值相等
  • J是转动惯量,B是粘滞摩擦系数
  • TL是负载转矩,这是扰动输入

把上面两个方程联立,就能得到直流电机的传递函数:

G(s) = ω(s) / Ua(s) = Kt / [(La*s + Ra)(J*s + B) + Kt*Ke]

说白了,这就是一个二阶系统。但实际工程中,电气时间常数(La/Ra)通常远小于机械时间常数(J/B),所以很多时候可以降阶处理。

1.2 永磁同步电机(PMSM)数学模型

PMSM比直流电机复杂不少。为什么?因为它的磁场是旋转的,而且定子绕组是三相交流。我记得刚接触PMSM时,被那些αβ、dq坐标系搞得晕头转向。

先看电压方程(在自然坐标系下):

ua = Rs * ia + dψa/dt
ub = Rs * ib + dψb/dt
uc = Rs * ic + dψc/dt

磁链方程:

ψa = Ls * ia + ψf * cos(θe)
ψb = Ls * ib + ψf * cos(θe - 2π/3)
ψc = Ls * ic + ψf * cos(θe + 2π/3)

这里ψf是永磁体磁链,θe是电角度。你看,这方程里带着cos项,是非线性的。直接拿这个模型做控制?太复杂了。所以我们需要坐标变换。

我的经验:在Simulink里搭建PMSM模型时,千万别直接用自然坐标系。我早期犯过这个错,仿真跑得巨慢,而且数值稳定性差。一定要用dq坐标系下的模型。

1.3 坐标变换:Clark和Park变换

坐标变换说白了就是换个角度看问题。Clark变换把三相(abc)变到两相静止坐标系(αβ),Park变换再把它转到旋转坐标系(dq)。

Clark变换:

[iα]   [1   -1/2   -1/2 ] [ia]
[iβ] = [0   √3/2  -√3/2] [ib]
                          [ic]

Park变换:

[id]   [cosθe   sinθe] [iα]
[iq] = [-sinθe  cosθe] [iβ]

为什么要做这个变换?你想想看,在dq坐标系下,id和iq变成了直流量。直流量的控制比交流量容易太多了——PI控制器就能搞定。

避坑指南:我曾经在项目里搞错过Park变换的角度定义。有的资料用θe = ωe*t,有的用θe = ωe*t + θ0。一定要和你的反电动势零点对齐,否则电流环会出问题。

1.4 传递函数与状态空间

有了dq坐标系下的PMSM模型,我们就可以写出它的传递函数了。但说实话,PMSM是多变量、强耦合的系统,用传递函数描述并不方便。

我更推荐用状态空间模型:

d/dt [id] = [-Rs/Ld   ωe*Lq/Ld ] [id] + [1/Ld   0   ] [ud]
     [iq]   [-ωe*Ld/Lq  -Rs/Lq ] [iq]   [0    1/Lq] [uq]
                                      + [0         ]
                                        [-ψf/Lq   ] * ωe

你看,状态方程里id和iq是耦合的——ωe项把两个轴连在一起了。这就是为什么我们需要前馈解耦控制。

工程实用建议:

  • 电流环带宽通常设计在1/10~1/5的开关频率
  • 速度环带宽是电流环的1/5~1/3
  • 位置环带宽更慢,一般是速度环的1/5

在Simulink里搭建时,我习惯用S-Function或者直接拖模块。但要注意,离散化时要选对方法——我一般用Tustin变换,零阶保持器在某些场合会引入相位滞后。

知识体系总览

下面这张图是我自己整理的PMSM建模与控制的知识框架,你可以对照着看:

PMSM建模与控制知识体系 物理模型 三相电压/电流方程 坐标变换 Clark → Park 数学模型 dq坐标系下方程 传递函数 SISO系统分析 状态空间 MIMO系统分析 电流环设计 PI参数整定 速度环设计 前馈+反馈 位置环设计 P/PI控制 Simulink实现:S-Function / 模块搭建

这张图把整个知识链条串起来了:从物理模型出发,经过坐标变换得到dq数学模型,然后选择传递函数或状态空间作为分析工具,最后落实到电流、速度、位置三环控制设计。每个环节在Simulink里都有对应的实现方式。

一个小建议:刚开始学的时候,别急着在Simulink里搭复杂的模型。先把直流电机的模型跑通,理解传递函数和状态空间的关系。然后再切换到PMSM。我当年就是这么过来的,一步一个脚印反而更快。

好了,这一章的内容就到这里。电机数学模型是后面所有控制算法的基础,一定要吃透。下一章我们会深入Simulink建模的具体操作,包括怎么搭一个完整的PMSM仿真模型。

专注资料整理