第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建模与控制的知识框架,你可以对照着看:
这张图把整个知识链条串起来了:从物理模型出发,经过坐标变换得到dq数学模型,然后选择传递函数或状态空间作为分析工具,最后落实到电流、速度、位置三环控制设计。每个环节在Simulink里都有对应的实现方式。
一个小建议:刚开始学的时候,别急着在Simulink里搭复杂的模型。先把直流电机的模型跑通,理解传递函数和状态空间的关系。然后再切换到PMSM。我当年就是这么过来的,一步一个脚印反而更快。
好了,这一章的内容就到这里。电机数学模型是后面所有控制算法的基础,一定要吃透。下一章我们会深入Simulink建模的具体操作,包括怎么搭一个完整的PMSM仿真模型。