高速永磁同步电机 maxwell 50000到100000rpm 建模仿真
十年前第一次摸到高速永磁电机的时候,手抖得跟帕金森似的——这玩意儿转起来比我家微波炉还快十倍!现在用Maxwell折腾5万转以上的电机已经是家常便饭了。今天就跟大伙唠唠那些仿真时能救命的小技巧。
先说转子这事儿。前两天有个兄弟拿钛合金做转子套筒,结果仿真直接报错。为啥?在10万转下钛合金的杨氏模量根本扛不住离心力。这时候就得祭出碳纤维复合材料,像这样设置材料属性:
Material.AddMaterial( Name="CFRP_UD", CoordinateSystemType="Cylindrical", YoungsModulus=[230e9, 15e9, 15e9], # 各向异性参数 PoissonsRatio=[0.25, 0.35, 0.35], Density=1800 )注意坐标系类型必须选柱坐标,不然材料方向对不上。记得在Band设置里勾选Nonlinear选项,不然离心力算出来能差个零。
定子铁芯更是个坑货。普通硅钢片在5万转时涡流损耗能吃掉20%效率,这时候得用非晶合金。Maxwell里设置核心损耗的时候别直接用默认公式,改成改进的Bertotti模型:
CoreLossType = 3 Kh = 85.7 Kc = 0.65 Ke = 8.3e-5这几个参数得拿着材料商给的实测数据往里怼,实验室那台老掉牙的测功机数据根本不能用。
高速永磁同步电机 maxwell 50000到100000rpm 建模仿真
说到控制策略,传统id=0控制到8万转准崩。得用磁链观测器配合弱磁控制,仿真时记得把逆变器非线性特性加进去。分享个自己写的状态观测器代码片段:
def flux_observer(theta, i_d, i_q): Ld = 0.00015 # 别照搬参数,自己测去 Lq = 0.00023 psi_f = 0.12 psi_d = Ld*i_d + psi_f psi_q = Lq*i_q return np.sqrt(psi_d**2 + psi_q**2), np.arctan2(psi_q, psi_d)这观测器在仿真时要注意采样频率,低于200kHz就会在换相点出毛刺。遇到过最鬼畜的情况是仿真结果完美,实物一上电直接放烟花——后来发现是网格剖分时把永磁体边缘棱角给简化了。
最后说个血泪教训:做瞬态场仿真千万别用自动时间步长!10万转下机械时间常数和电气时间常数能差三个数量级。建议这样设置:
Setup.SetStopTime(0.02) Setup.SetTimeStep(0.000001, 0.000005) # 前5ms用1us步长记得在motion setup里勾选Consider mechanical transient,不然转子加速过程算出来比蜗牛爬还慢。有一次忘了勾这个选项,仿真显示电机从0到10万转用了半小时,导师差点把我当永动机申报诺奖。
总之玩高速电机就像走钢丝,参数设置差之毫厘,仿真结果谬以千里。建议新手先拿3万转练手,别上来就怼10万转——别问我怎么知道的,实验室的烟雾报警器已经认识我了。