3. 机电耦合仿真的数学基础
电机负载系统的机电耦合仿真,本质上是在时间轴上求解一组相互耦合的微分方程与代数方程。电机侧有电枢电流、磁链、转速等动态量,负载侧有惯量、弹性轴、间隙、摩擦等机械动态量,两者通过电磁转矩与负载转矩互相作用。要把这些物理关系交给计算机求解,必须先回答四个数学问题:用什么形式描述动态、方程是否“刚性”、是否存在不能微分的代数约束、以及不同坐标系与能量关系如何保持一致。
一、从物理方程到状态空间表达
以他励直流电机拖动弹性负载为例。电枢回路电压方程与机械转动方程可写为:
L_a * di_a/dt = u_a - R_a*i_a - K_e*omega_m
J_m * domega_m/dt = K_t*i_a - T_shaft - B_m*omega_m
T_shaft = K_s*(theta_m - theta_L) + C_s*(omega_m - omega_L)
J_L * domega_L/dt = T_shaft - T_L - B_L*omega_L
dtheta_m/dt = omega_m , dtheta_L/dt = omega_L
这组方程中,电流、转速、轴转矩、负载转速和两个角位移都是随时间变化的量。若把状态变量选为 x = [i_a, omega_m, theta_m, omega_L, theta_L]^T,输入选为 u = [u_a, T_L]^T,则上述方程可以统一写成标准状态空间形式:
dx/dt = A*x + B*u
y = C*x + D*u
状态空间表达的价值在于:它把“物理上分散的多个一阶方程”整理成矩阵形式,便于数值积分器统一处理,也便于分析特征值、稳定性和耦合强度。选择状态变量时要注意两点:一是状态变量必须能唯一确定系统储能;二是状态变量之间应尽量线性无关,避免把同一物理量重复计入。例如角位移 theta_m 与 theta_L 同时出现是必要的,因为弹性轴转矩取决于两者之差,若只保留转速就会丢失轴扭转变形这一储能环节。
二、刚性问题:为什么显式积分会“炸”
机电耦合系统常具有明显的多时间尺度特征。电气时间常数 L_a/R_a 可能在毫秒级,而机械轴系扭振周期可能在几十毫秒到秒级,负载惯量更大时机械时间常数还会更长。当最大与最小时间常数相差几个数量级时,状态方程的特征值实部跨度很大,这类方程称为刚性方程。
刚性带来的直接后果是:显式欧拉法或显式龙格-库塔法的稳定步长由最快模态决定。若电气时间常数为 1 ms,而仿真总时长 10 s,显式方法可能被迫使用远小于 1 ms 的步长,计算量急剧上升;一旦步长超过稳定边界,数值解会出现剧烈振荡甚至发散。工程上处理刚性问题通常有三条路径:改用隐式方法(如后向欧拉、梯形法、Gear 法、隐式 Runge-Kutta),使用变步长求解器并允许步长随误差估计自动调整,或者对快变量做准稳态近似以降低刚性。选择求解器时,应关注其是否支持刚性、是否自动估计局部误差、是否对代数约束有专门处理。
三、代数约束:不能微分的“硬关系”
机电耦合模型中常出现不含微分的代数关系。例如理想齿轮箱的转速比约束 omega_m = i * omega_L,理想刚性连接轴 theta_m = theta_L,或者电流控制环中 i_a = i_ref。这些关系不能写成 dx/dt 的形式,却必须在每一步求解中满足。若把代数约束直接代入微分方程,可能改变系统维数;若忽略约束,数值解会漂移,出现“轴越拉越长”或“转速比逐渐偏离”的现象。
处理代数约束的常见做法有三种。第一种是索引缩减:对约束求导,把代数变量消去,化为纯 ODE。例如对 theta_m = theta_L 求导得 omega_m = omega_L,再代入机械方程合并惯量。第二种是投影法:每步积分后把状态投影回约束流形,适合约束简单、维数不高的场合。第三种是直接使用 DAE 求解器,把微分方程与代数方程统一写成 F(t, x, x', z) = 0 的形式,由求解器内部处理约束。选择哪种方式,取决于约束是否可微、是否时变、以及是否允许微小违反。工程上,若约束来自理想化假设,通常优先索引缩减;若约束来自物理连接且难以消去,则用 DAE 求解器更稳妥。
四、坐标变换与能量守恒:保持模型一致性的两条底线
电机分析中广泛使用 Park 变换、Clarke 变换等坐标变换。以三相静止 abc 到两相旋转 dq0 的 Park 变换为例,若采用功率不变形式,变换矩阵前需乘 sqrt(2/3);若采用幅值不变形式,则系数不同。两种约定本身没有对错,但必须在整个模型中统一。若电气侧用功率不变变换,而机械侧转矩公式仍按幅值不变推导,电磁转矩会差一个常数系数,导致仿真出的转速与实测不符。因此,坐标变换的第一条底线是:变换系数、正方向、零轴定义在全文和代码中保持一致。
第二条底线是能量守恒。机电耦合系统的能量流为:电源输入电功率,一部分转为磁场储能,一部分经电磁转矩转为机械功率,机械侧再分为动能、弹性势能和损耗。数值积分中,若步长过大或方法不当,会出现能量凭空增加或减少。判断方法很简单:在仿真结束后统计输入电能、机械输出功、铜损、铁损和机械摩擦损耗,检查能量残差是否在合理范围内。若残差随时间单调增大,通常说明积分器耗散过大或约束违反严重;若残差剧烈振荡,则可能是刚性问题导致数值不稳定。把能量残差作为仿真可信度的一个量化指标,比只看曲线形状更可靠。
综合来看,状态空间表达解决“怎么描述”,刚性问题解决“怎么稳定求解”,代数约束解决“怎么保持物理关系”,坐标变换与能量守恒解决“怎么保证结果可信”。四者共同构成机电耦合仿真的数学基础,缺一不可。