以前做电机驱动项目的时候,我一度觉得永磁同步电机就是天花板:效率高、功率密度大,调个 Id/Iq 就能跑。直到有次替客户调一台电励磁同步电机(EESM),才发现这家伙才是真正的“可玩性”担当。电励磁同步电机多了一副转子励磁绕组,等于给转子磁场装了个水龙头,励磁电流一拧,磁场强了弱了全在掌握。配合启动控制和能耗制动,你既能看到它启动时那股“抽风”劲儿,也能在刹车瞬间看着它反手当发电机往外送能量。今天这篇文章,我就用 Python 做了个简单仿真,把一台电励磁同步电机从开机、牵入同步到按下能耗制动刹停的全过程跑了一遍,顺手把里面的物理机制和坑都聊清楚。
1. 先说说电励磁同步电机好在哪
1.1 转子磁场是“拧出来”的,不是“印上去”的
永磁同步电机的转子磁极就是一块磁铁,磁场大小和方向在出厂那一刻就定死了。你想让它弱磁,只能往定子里灌 d 轴电流,用定子磁场去抵消转子磁场,又费电流又费功夫。电励磁同步电机不是这个路子,它转子上面是一套励磁绕组,磁场由励磁电流 If 产生,电流大一点磁场就强,电流小一点磁场就弱,甚至能把励磁电流直接切到零让转子“失磁”。
这个差异听起来不大,实际用起来完全是两种体验。拿高速运行来说,永磁电机到了弱磁区就得拼命灌 Id 去“顶着”,电流里相当一部分用来对付永磁体,铜耗白白上涨;电励磁电机只需把 If 调小,转子磁链直接降下来,弱磁范围能做到很宽。永磁电机如果控制器炸了或者短路,转子磁场还在,反电动势会一直存在,拖车时甚至能把你逆变器整流桥打穿;电励磁电机只要把励磁断开,转子磁场自然消失,故障处理上从容得多。
很多做驱动系统的人刚开始接触电励磁电机时都会眉头一皱:“多一套励磁回路,不是更麻烦?”确实,滑环、碳刷、励磁电源都是额外的维护点,无刷励磁方案成本也高。但换来的是转子磁场的“可操作性”——强磁、弱磁、灭磁、甚至刹车时反向用磁,这些都是永磁电机给不了的。更关键的是,这套磁场可调的“阀门”直接改变了电机的动态行为,启动和制动这两个最考验控制的环节,电励磁都能玩出花来。
1.2 永磁电机和电励磁,控制逻辑完全两个量级
先放一张对比表,大家感受一下两台电机在工程上最本质的区别。
| 对比维度 | 永磁同步电机(PMSM) | 电励磁同步电机(EESM) |
|---|---|---|
| 转子磁场来源 | 永磁体,固定不可调 | 励磁绕组,If 可调 |
| 弱磁控制 | 需要 Id 去抵消磁链,电流负担重 | 直接调小 If,简单高效 |
| 高速范围 | 受弱磁能力限制 | 可以做到很宽的恒功率区 |
| 故障安全性 | 短路后反电动势危险 | 切断励磁即灭磁 |
| 启动方式 | 通常依赖变频器 | 可异步启动、变频启动 |
| 制动方式 | 只能靠定子控制,磁场常在 | 可保持励磁做能耗制动/回馈制动 |
| 损耗构成 | 定子铜耗+铁耗+永磁体涡流 | 定子铜耗+励磁铜耗+铁耗 |
| 维护 | 无励磁回路,相对简单 | 有碳刷/滑环或励磁机,维护点多 |
这张表里最值得展开的就是“启动方式”和“制动方式”。永磁电机因为转子磁场永远存在,直接并网启动基本不要想,转矩会非常复杂地脉动,所以几乎都是变频器带着走。电励磁电机则多了一个选项:启动时先不给励磁,让定子旋转磁场在转子的阻尼绕组里感应电流,产生异步转矩把转子拖起来,等转速接近同步转速再投入励磁,完成牵入同步。这一套下来,就产生了标题里说的“启动抽风”问题——励磁投入的时机、阻尼绕组的设计、初始功角的大小,都可能导致转子在牵入同步的过程中来回振荡。
制动那边也是同样的道理。永磁电机想能耗制动,它转子磁场灭不掉,定子一短路就是发电制动,但制动转矩的控制很有限。电励磁电机切断定子电源后,只要励磁还挂着,整个电机就是一抬发电机,把转子的动能变成电能送到制动电阻上,励磁电流大小直接决定制动功率。这种“磁场阀门”带来的自由度,是我觉得电励磁比永磁耐玩的核心原因。
2. “启动抽风”的根源:同步牵入这关不好过
2.1 直接上电会发生什么
先说个场景:把一台电励磁同步电机直接接到工频电网上,转子静止,你同时把励磁合上。这时候定子旋转磁场以同步转速 1500rpm 飞转,而转子还停在原地,两者之间的相对位置关系——功角 δ——一直在变。电磁转矩近似正比于 sinδ,意味着前一秒还在拉着转子往前跑,下一秒就变成了反向拖拽,转矩在一个周期里正负交替,平均值非常接近零,转子只能原地“抽风”。
这个“抽风”表现为几种形式:电流冲击极大、电机强烈振动、甚至发出低频“嗡嗡”的噪声。如果转子像个扭摆一样被带着来回甩,转速会在零附近来回震,运气好一点能甩出一点异步转矩逐渐爬升,但绝大多数情况下直接启动就失败了。你们想想,一个磁场转速每分钟 1500 转,转子从头开始一动没动,靠一个平均值为零的转矩怎么可能把它拉到同步呢。
这里还要注意一个细节:电励磁电机启动时励磁绕组不能就这么敞着。因为定子旋转磁场会在静止的励磁绕组里感应出很高的电动势,弄不好就把励磁回路绝缘打穿或者把励磁电源干趴。工程上要么把励磁绕组短接,要么通过一个放电电阻闭路,等转子转速起来以后再切换回路。这些措施都是为了避免“抽风”变成真正的“炸鸡”。
2.2 那实际工程里怎么解决
传统同步电机解决启动问题靠的是转子上加阻尼绕组,也就是在转子磁极表面嵌一套类似鼠笼条的导条。启动时励磁回路短接,定子接电源,阻尼绕组里感应出转子电流,产生异步转矩,电机先当“异步机”跑起来。等转速升到接近同步转速,转差变小,再投励磁,让转子磁场与定子磁场逐渐“锁住”,最终牵入同步。
牵入同步这个过程就是“抽风”的高发区。励磁投入太早,转差还太大,磁场锁不住,转子会剧烈振荡;励磁投入太晚,转速可能又掉回去,前功尽弃。阻尼绕组在这里面还承担了另一个角色:衰减振荡。当转子在平衡位置附近来回摆动时,阻尼绕组感应电流产生的异步转矩会对振荡起到阻尼作用,就像给钟摆加了油阻尼,让转子迅速稳定下来。
现代变频驱动其实绕过了很多这种问题。变频器可以从 0Hz 开始逐步升频,让定子磁场慢悠悠地转,转子磁场始终跟着跑,不存在从静止直接暴露在 50Hz 旋转磁场下的尴尬。但大容量高电压同步电机直接并网启动仍然常见,所以你才会在那些变电站、大型压缩机现场听到电机启动时一阵一阵的“哼声”——那就是转子在牵入同步的边缘反复试探。
2.3 简化的数学表达
在进入仿真之前,先把电磁转矩和功角的关系理一理。对于隐极同步电机,忽略饱和,电磁转矩写为:
Te = K · sinδ
其中 δ 是定子磁场轴线与转子磁场轴线之间的夹角,K 与定子电压、励磁磁链和同步电抗有关。转速 ω 和功角 δ 的关系满足:
dδ/dt = ω_s - ω_r
ω_s 是定子旋转磁场的电角速度,ω_r 是转子电角速度。
这两个式子放一起就能看出启动的本质:如果转子没跟上定子磁场,δ 就在不断变化,sinδ 时正时负,转矩平均值趋近于零。变频启动时,ω_s 从零开始慢慢增加,转子始终被转矩拉着同步增加,δ 保持一个小值,所以 Sinδ 近似为一个正值,电机平稳加速。仿真的核心,就是把这类方程在计算机里一小步一小步地积分,看系统如何演化。
3. 能耗制动:松油门变发电机
3.1 从电动工况到发电工况的切换
电机运行的乐趣在于,同一台电机既可以当电动机,也可以当发电机,区别只在于能量流的走向。电励磁同步电机在电动工况下,转子磁场超前定子磁场,把电网的电能变成转子的机械能;到了能耗制动时,你切断定子的电网电源,把定子绕组接上一组三相制动电阻,同时保持励磁电流不切断。
这时候转子上还带着刚才跑出来的机械动能,转子磁场仍然在转。它在定子绕组里感生出电动势,电动势加在制动电阻上就产生了电流,电流与转子磁场作用产生制动力矩,方向正好与旋转方向相反。你仔细想想,这个过程中转子靠惯性转,定子在“发电”,电能都给了电阻变成热量,这不就是一台地地道道的发电机吗。同步电机削峰填谷、抽水蓄能有很大一部分就是利用这种可逆运行能力,只是能耗制动时我们把发出来的电直接烧掉了,不送电网也不回馈,图的是简单和可靠。
用功率语言来描述,制动功率 P 等于制动力矩 T 乘以转速 ω:
P = T · ω
而 P 同时又是流过制动电阻的电功率:
P = 3 · I² · R
所以转速越高,制动电阻上的电流和功率就越大,制动力矩也越大;随着转速下降,制动功率和力矩同步减小。这就是为什么能耗制动在低速段会显得“没劲”,最后一段往往要靠机械刹车完成停机。
3.2 动能去哪了
转子的转动动能是 E = 0.5 · J · ω²。能耗制动就是把这部分动能一点一点搬走。举个具体数值,一台转子转动惯量 J = 0.05 kg·m² 的小电机,额定转速 1500rpm(电角速度 157 rad/s),它转子里存的动能大概是:
E = 0.5 × 0.05 × 157² ≈ 616 J
如果希望 1 秒内刹停,平均制动功率就是 600W 左右。这些功率不会凭空消失,而是变成制动电阻的温度,电阻表面可能烫得手都不能碰。实际中你还要留出足够的安全裕量,电阻选小了直接在制动时烧红甚至烧断。
能耗制动另一个坑是停机后必须把励磁电流断开,否则转子磁场还在,只要外部有微小扰动,定子绕组上依然可能感应出电压,既费电又有安全隐患。永磁电机的麻烦就在这:你没法“关掉”永磁体,停机后反电动势始终存在。电励磁电机只需要断开励磁,转子立刻“退磁”,安全得多。
3.3 为什么电励磁在制动时优势明显
电励磁同步电机做能耗制动时,励磁电流 If 可以实时调节,这意味着制动力矩可以被控制。If 大一点,转子磁场强,同样转速下定子感生电动势高,制动电阻电流大,制动力矩猛,停机快;If 小一点,制动力矩柔和,适合要求平稳停车的场景。更极端一点,如果让励磁电流反向,转子磁场反相,制动更快,甚至可以反向启动,电机里管这叫“反向励磁制动”。
永磁电机很难做到这一点。转子磁场大小固定,想快速制动只能依靠定子侧的矢量控制主动施加负转矩,逆变器要处理大量的制动电流,母线电压还可能被泵升,稍不留神就过压报警。所以好多永磁电机驱动系统还得额外配制动电阻和制动单元,麻烦得很。而电励磁电机天然适合做能耗制动,因为它本身就是一台可控磁场的发电机,接上电阻就烧电、切断励磁就灭磁,逻辑干干净净。
4. Python仿真:把电机塞进脚本
4.1 物理模型该取多细
做仿真最忌讳一上来就上满复杂度。电磁场有限元、磁饱和、齿槽转矩、集肤效应,这些细节对分析启动抽风和能耗制动的大趋势都不是必须的。我们要看的是:转速怎么变化、电流大概什么幅度、制动时功率怎么衰减。所以用 dq 坐标系下的同步电机动态模型就足够。
忽略磁饱和,假设隐极,模型可以写为:
dId/dt = (Vd - Rs·Id + ωe·Lq·Iq) / Ld
dIq/dt = (Vq - Rs·Iq - ωe·(Ld·Id + λf)) / Lq
电磁转矩:
Te = 1.5 · p · (λf·Iq + (Ld - Lq)·Id·Iq)
机械方程:
J · dωm/dt = Te - T_load - B·ωm
其中 λf = Lmd · If,ωe = p · ωm。这一套式子已经能反映出同步电机牵入、振荡、失步等核心行为。对于能耗制动阶段,为了让模型不至于复杂到失去教学意义,我会把制动效果等效成一个与转速成正比的附加制动力矩 Tb = Kb·ωm,同时把同一部分功率记为制动电阻消耗的功率 P = Kb·ωm²。实际能耗制动在忽略电感、认为制动电阻为纯电阻时,制动力矩确实近似与转速成正比,所以这个等效是站得住脚的。
4.2 代码主体与关键注释
下面是一段可以直接复制运行的 Python 脚本,用来模拟三种情况:直接启动(失败)、软启动(成功)、软启动稳定后能耗制动(停机)。参数注释我写得比较细。
import numpy as np import matplotlib.pyplot as plt # 电励磁同步电机参数(示例值,非具体某台电机) Rs = 1.2 # 定子电阻,欧姆 Ld = 0.02 # d轴电感,H Lq = 0.02 # q轴电感,H Lmd = 0.02 # 电枢反应互感,H J = 0.05 # 转动惯量,kg·m^2 B = 0.01 # 摩擦阻尼系数,N·m·s/rad p = 2 # 极对数 Vm = 110.0 # 定子相电压幅值,V f_n = 50.0 # 额定频率,Hz # 仿真控制参数 dt = 2e-5 # 步长,越小越稳 K_brake = 0.15 # 能耗制动等效阻尼系数 def run_case(mode="soft", brake_time=None, total_time=1.5): steps = int(total_time / dt) history = { "t": np.zeros(steps), "wm": np.zeros(steps), "Te": np.zeros(steps), "Id": np.zeros(steps), "Iq": np.zeros(steps), "Pe": np.zeros(steps), } # 初始状态 Id, Iq = 0.0, 0.0 wm = 0.0 theta_r = 0.0 theta_v = 0.0 f_cur = 0.0 for i in range(steps): t = i * dt # 决定当前阶段 is_brake = brake_time is not None and t >= brake_time if is_brake: # 能耗制动阶段:定子脱离电网,转子保持励磁,接制动电阻 Vd, Vq = 0.0, 0.0 If = 8.0 elif mode == "direct": # 直接启动:一上来就给额定频率满励磁 f_cur = f_n Vd, Vq = park_transform(theta_r, theta_v, Vm, f_cur, dt) If = 8.0 elif mode == "soft": # 软启动:0.2秒内频率从0线性升到额定 f_cur = min(f_n, f_n * t / 0.2) Vd, Vq = park_transform(theta_r, theta_v, Vm, f_cur, dt) If = 8.0 else: raise ValueError("未知模式") # 更新电压角度 theta_v += 2 * np.pi * f_cur * dt # 励磁磁链 lam_f = Lmd * If w_e = p * wm # dq电流微分方程 dId = (Vd - Rs * Id + w_e * Lq * Iq) / Ld dIq = (Vq - Rs * Iq - w_e * (Ld * Id + lam_f)) / Lq # 电磁转矩 Te = 1.5 * p * (lam_f * Iq + (Ld - Lq) * Id * Iq) # 制动转矩与制动功率 Tb = 0.0 Pe = 0.0 if is_brake: Tb = -K_brake * wm Pe = K_brake * wm * wm # 电阻上消耗的电功率 # 机械方程 dwm = (Te + Tb - B * wm) / J # 欧拉积分更新 Id += dId * dt Iq += dIq * dt wm += dwm * dt theta_r += w_e * dt # 记录数据 history["t"][i] = t history["wm"][i] = wm history["Te"][i] = Te history["Id"][i] = Id history["Iq"][i] = Iq history["Pe"][i] = Pe return history def park_transform(theta_r, theta_v, Vm, f_cur, dt): # 三相电压转dq,幅值不变约定 w_v = 2 * np.pi * f_cur theta_v_local = theta_v va = Vm * np.cos(theta_v_local) vb = Vm * np.cos(theta_v_local - 2 * np.pi / 3) vc = Vm * np.cos(theta_v_local + 2 * np.pi / 3) # 以转子电角度做Park变换 vd = 2 / 3 * (va * np.cos(theta_r) + vb * np.cos(theta_r - 2 * np.pi / 3) + vc * np.cos(theta_r + 2 * np.pi / 3)) vq = -2 / 3 * (va * np.sin(theta_r) + vb * np.sin(theta_r - 2 * np.pi / 3) + vc * np.sin(theta_r + 2 * np.pi / 3)) return vd, vq # 仿真三个案例 cases = { "direct": run_case(mode="direct", total_time=0.8), "soft": run_case(mode="soft", total_time=0.8), "soft_brake": run_case(mode="soft", brake_time=0.5, total_time=1.5), } # 绘图 fig, axes = plt.subplots(4, 1, figsize=(10, 12), sharex=True) for name, res in cases.items(): axes[0].plot(res["t"], res["wm"] * 60 / (2 * np.pi), label=name) axes[1].plot(res["t"], res["Id"], label=name) axes[2].plot(res["t"], res["Iq"], label=name) axes[3].plot(res["t"], res["Pe"], label=name) for ax, ylabel in zip(axes, ["转速/rpm", "Id/A", "Iq/A", "制动功率/W"]): ax.set_ylabel(ylabel) ax.legend(loc="upper right") ax.grid(alpha=0.3) axes[-1].set_xlabel("时间/s") plt.tight_layout() plt.show()需要说明的是,这段代码是教学简化版。直接启动时因为没有阻尼绕组,模型会表现出“转子转速起不来、定子电流很大”的失步状态,这正是现实中不采取措施的电励磁同步电机启动表现。如果想模拟带阻尼绕组的异步启动,还需要在转子方程里加入阻尼绕组等效电路,本次不展开。
4.3 参数怎么设
参数的选取要奔着“能看到现象”去。定子电阻 Rs 我取 1.2 欧姆,比真实大电机略大,好处是启动冲击电流被天然压一压,仿真不容易发散。励磁电流 If 取 8 安培,配合 Lmd=0.02,得到励磁磁链 0.16 Wb,额定电角速度 314 rad/s,对应的反电动势幅值大约 50V,离 110V 的定子电压还有一些余量,能正常建立电流和转矩。转动惯量 J=0.05 代表一台小功率实验室电机,机械时间常数在几十到几百毫秒范围,仿真总时长取 1.5 到 2 秒刚好能看完整个动态过程。步长 dt 取 2e-5 秒,电流环和机械环的时间尺度差很大,固定步长法里必须保证步长远小于电气时间常数 Ld/Rs 才能稳定。
还有一个小技巧:仿真曲线如果出现高频数值毛刺,先别急着怀疑物理,多半是步长太大或者阻尼太小。把 dt 减半跑一遍,如果曲线明显变化,说明数值积分还需要加密,这也是做电机动态仿真最容易踩的坑。
5. 跑起来看:开机到牵入同步的两种命运
5.1 直接启动失败
我先把 mode 设成 direct,跑 0.8 秒,这天花板级别的“抽风”就全出来了。转速曲线从零开始,没有像异步机那样平滑爬升,而是在零点附近反复震荡。原因是模型中没加阻尼绕组,电磁转矩平均值趋近于零,只有脉动转矩在那里“锤”转子。与此同时,定子电流 Id、Iq 的幅值非常大,甚至超过正常运行时的好几倍。这个状态如果放在真机上,热保护和过流保护基本都会狂叫,电机会带着振动发出沉闷的嗡嗡声,这就是“启动抽风”最直观的画面。
这里要插一句:实际同步电机出厂时转子都有阻尼绕组,直接并网启动时借助异步转矩是能爬起来的。但大家不要觉得“反正能起来就随便干”,牵入同步的一瞬间同样可能因为功角振荡太猛导致保护跳闸甚至机械轴系冲击。我仿真里故意把阻尼绕组拿去,是为了让失步这个危险状态更显眼,方便把“为什么启动这块要谨慎”讲清楚。
5.2 软启动平稳开机
把 mode 切成 soft 再跑一遍。前 0.2 秒定子频率从 0 线性升到 50Hz,转子磁场从一开始就被低频旋转磁场带着走,功角始终保持在一个很小的角度内。转速曲线不再是震荡,而是一条从 0 平滑升到 1500rpm 的斜坡,几乎没有超调。电流也温和很多,启动瞬间没有那种刺眼的冲击尖峰。
从方程角度看,变频启动把 ωs 从 0 开始抬升,让 dδ/dt = ωs - ωr 始终很小,电磁转矩 Te ≈ K·sinδ 一直保持在一个可控的正值上,转子被持续加速。我们仿真里用的方法是“开环压频比启动”,本质上就是给电压同时给频率,不要求电机初始相位对齐,只要升频过程够慢,就能自然牵入。如果升频太猛,一样会看到功角拉大、电流冲高、转速掉头之类的失步前兆。
5.3 曲线怎么读
看仿真曲线的顺序是:先看转速是否稳定在同步转速,再看功角/电流是否收敛,最后看转矩脉动有没有衰减。转速能稳在 1500rpm 不代表开机成功,还得看电流和转矩是否进入稳态。软启动案例里,转速到达同步转速后,Id、Iq 逐渐稳定到一个小电流水平,Te 保持在克服摩擦转矩的水平附近,这套曲线就是“牵入成功”的标志。
如果看到转速已经爬上去了,但转矩还在周期性地大起大落,说明系统阻尼不够,转子还在平衡点附近摆动。这时候你增大 B 或者加阻尼绕组项,都能看到振荡衰减变快。这个现象对后续做控制器有直接的参考意义:同步电机的动态品质很大程度上就是“阻尼够不够”的问题,电励磁的好处是你可以通过调 If 临时增强或者削弱磁场,间接改变阻尼特性,这在永磁电机上没那么容易做到。
6. 刹车仿真:能耗制动把转速拽到零
6.1 制动阶段模型怎么切
在仿真里,我从 t=0.5 秒开始让电机进入能耗制动:定子电压 Vd、Vq 全部置零,也就是说电网被切掉,定子绕组等效接在制动电阻上。模型保持励磁电流 If=8A,同时我额外加入一个与转速成正比的制动力矩项 -Kb·ωm,并把对应的功率 Pe = Kb·ωm² 记录下来,代表制动电阻上消耗的电功率。
这个等效的本体逻辑是:转子带着励磁磁链继续转,定子绕组感生电动势,电流流过电阻,产生与转速成正比的制动转矩。用 Kb=0.15 跑出来的停车时间大概在 0.5 到 0.6 秒。如果你把 Kb 调大,相当于减小了制动电阻值,制动电流更大、停车更快,但电阻发热更猛;Kb 调小,停车柔和,但电机长时间处于“低速发电”状态,系统整体效率不高。
6.2 制动曲线的几个关键节点
制动阶段转速曲线的形状有点像指数衰减,一开始斜率很陡,后面越来越平。原因是制动转矩本身正比于转速,转速越高制动力矩越大,转速低了力矩也小,所以最后那一段“拖尾”特别明显。对应到制动功率 Pe 上,它是一个开口向下的抛物线形状:刚切入制动时转速高,功率最大,随着转速下降功率逐渐收窄,最后趋近于零。
如果你去看现场实验数据,能耗制动停机末期确实会有个“总算停下来了”的漫长感。这也是为什么很多系统在低速段会再把机械刹车带上,把最后那点残余动能靠摩擦吃掉。我这里仿真的是一台小惯量电机,拖尾现象还不算夸张;换成大风机、大压缩机那种转动惯量巨大的负载,能耗制动最后 5% 转速可能要拖好几秒,那时你就知道机械刹车有多重要了。
6.3 改变励磁/制动参数的影响
用励磁电流 If 控制制动强度是电励磁电机的核心竞争力。我试过把同一台电机的 If 从 8A 调到 4A,制动功率峰值大概缩到原来的四分之一,停车时间拉长将近一倍。这很好理解:反电动势正比于励磁磁场,磁场减半,制动电阻上的电流减半,电功率变成原来的四分之一。想要又猛又稳的制动,关键是 If 和 Kb 的配合,If 提供“势能”,Kb 相当于“放水闸”。
| 励磁电流 If | 制动等效系数 Kb | 停车时间趋势 | 制动电阻峰值功率 |
|---|---|---|---|
| 较大 | 较大 | 短 | 很高,风险大 |
| 较大 | 较小 | 中等 | 峰值低,拖尾长 |
| 较小 | 较大 | 中等 | 峰值低,时间长 |
| 较小 | 较小 | 很长 | 最低 |
这张表足以说明,能耗制动不是简单地“断电停车”,它有一套需要整定的参数逻辑。真机上的制动电阻阻值、功率等级、励磁电流的下降曲线,都必须根据电机惯量和运行工况来算,不能拍脑袋。我在给客户做方案时,通常先用仿真把所有极限工况跑一遍,找出最严酷的制动时刻,再拿这个峰值功率去选电阻,安全裕量至少留 30%。
7. 仿真之外:这些坑真机上一个也躲不掉
7.1 仿真“能转”不等于真机“能跑”
我见过不少人拿到仿真曲线觉得万事大吉,结果一上真机就翻车。为什么?因为仿真里你可以把参数设成理想值,但是真机的电感会随着电流饱和掉一截,永磁体会退磁,电励磁电机的励磁回路有温度系数,转子转速高了以后还有通风损耗和铁耗。这些非线性因素在简单模型里统统看不到。
举一个最典型的差异:能耗制动时,制动电流流经定子绕组会发热,发热后定子电阻上升,在恒电压情况下电流反而会降一点,制动力矩跟着变软。仿真里的 Rs 是常量,体现不出这种“热软”现象。把这一层考虑进去,你才能理解为什么真机在做连续多次能耗制动时,第二次制动效果明显不如第一次,因为绕组还没凉透。解决方案也很朴素,要么降额使用,要么在控制策略里根据温度修正制动力矩指令。
7.2 启动与制动整定时最容易翻车的三件事
第一件是启动时励磁投入时机。无论你是直接并网还是变频启动,If 都不能提前瞎给。并网启动时 If 提前投入,转子可能直接被脉动转矩“打”得反向转动,保护直接跳闸;变频启动时 If 和频率如果配合不好,功角拉大,电流飙高,情况类似。第二件是制动电阻选型。只看功率峰值不看热容量,是制动电阻烧毁的头号原因。制动电阻要看“多久一次”和“每次多少能量”,脉冲负载和连续负载完全是两个选型思路。第三件是停机后不灭磁。电励磁电机制动结束后,If 必须快速切到零或者反压灭磁回路,不然电机本身还在“发电”,电动机会变成一台带着残余电压的空转发电机,检修时干活的人不知道,伸手就可能触电。
7.3 后续想继续加戏的方向
这个仿真模型往上走还有不少扩展空间。比如把阻尼绕组方程加进去,你就能看到真实直接并网启动的异步-牵入全过程;把磁饱和考虑进去,可以模拟大电流工况下电感下降导致的转矩衰减;把温度模型加进去,就能做出制动电阻连续脉冲的热累积曲线。更进阶一点,可以在 dq 模型外面包一层矢量控制环,把转速环和励磁环都闭环,看看用户给定的启动曲线和停车曲线能不能被平滑跟踪。
我自己的体会是,电励磁同步电机最大的魅力在于它把所有电机最基本的原理都摊开放在你面前:磁场、转速、转矩、功角,每一样都可以靠一个励磁电流去调节。永磁电机很多地方是“硬件固化”的,电励磁给的是“软件控制”的自由度。你用 Python 把它跑起来的时候,对电机内部能量流动的感觉比看一百页公式都直观。