开关磁阻电机铁损耗分析与建模解析方案【附仿真】
✨ 长期致力于开关磁阻电机、铁损耗建模、等效磁路建模、多目标优化设计研究工作擅长数据搜集与处理、建模仿真、程序编写、仿真设计。✅ 专业定制毕设、代码✅如需沟通交流点击《获取方式》1多项式拟合变系数铁损耗计算模型PF-VC针对传统常系数损耗模型无法精确反映开关磁阻电机非正弦磁化下铁损变化的问题提出基于多项式拟合的变系数损耗模型。将定子轭部、定子齿、转子齿分别测试其在不同磁密频率下的损耗数据拟合得到损耗系数随磁密幅值的函数关系k_eddy(B)0.0320.019*B0.008*B^2k_hyst(B)0.0210.084*B^0.8。采用有限元法提取电机各部分的磁密波形通过FFT分解得到基波与谐波分量分别计算每个分量的损耗后叠加。在6/4结构SRM样机测试中PF-VC模型预测的铁损耗为34.2W实测值为35.1W误差2.6%而常系数模型误差为11.3%。计算速度比纯有限元法快约200倍。2等效磁路与高斯-赛德尔迭代的磁密快速获取方法EML-GS针对有限元法获取磁密耗时长的问题建立包含定子轭、定子齿、气隙、转子齿、转子轭的集中参数等效磁路模型。磁路方程个数为15个采用改进的高斯-赛德尔迭代求解节点磁位超松弛因子取1.2收敛精度设为1e-5。每次迭代更新磁阻时根据当前磁密查表得到磁导率。在典型工况转速1500rpm电流50A下EML-GS计算单次磁密分布仅需0.3秒而二维有限元需18秒。将获取的磁密代入PF-VC模型计算铁损结果与有限元法基本一致平均偏差小于5%。3考虑铁损耗的SRM多目标分层优化设计方法MLO-SRM针对SRM设计参数众多且铁损耗与转矩脉动相互矛盾的问题采用分层优化策略。第一层对定子外径、定子内径、定子极弧系数、转子极弧系数、轴向长度等五个高敏感参数进行全局优化优化目标为效率最大化和转矩脉动最小化使用NSGA-II算法种群80迭代100代。第二层对气隙长度、转子齿高、绕组匝数等低敏感参数进行局部细化。建立电-磁-热耦合模型铁损耗作为热源输入到热网络限制温升不超过150°C。优化后的样机在额定工况下铁损耗为41.3W比初始设计降低23.7%转矩脉动系数从0.41降至0.28实测效率从86.2%提升到89.5%。import numpy as np from scipy.optimize import differential_evolution def PF_VC_loss(B_waveform, freq, B_peakNone): if B_peak is None: B_peak np.max(np.abs(B_waveform)) k_eddy 0.032 0.019 * B_peak 0.008 * B_peak**2 k_hyst 0.021 0.084 * B_peak**0.8 # FFT harmonic decomposition from scipy.fft import rfft, rfftfreq N len(B_waveform) B_fft rfft(B_waveform) freqs rfftfreq(N, d1/(2*freq)) P_eddy 0 P_hyst 0 for i, f in enumerate(freqs): if f 0: continue B_h np.abs(B_fft[i]) * 2 / N P_eddy k_eddy * (B_h**2) * (f**2) P_hyst k_hyst * (B_h**1.8) * f return P_eddy P_hyst class EML_GS_magnetic_circuit: def __init__(self, R_list, F_list, omega1.2, tol1e-5): self.R R_list self.F F_list self.omega omega self.tol tol self.n len(R_list) def solve(self, phi_initNone): phi phi_init if phi_init is not None else np.zeros(self.n) for iter in range(500): phi_old phi.copy() for i in range(self.n): sum_Rphi np.sum(self.R[i,:] * phi) phi[i] (1 - self.omega) * phi[i] (self.F[i] - sum_Rphi self.R[i,i]*phi[i]) / self.R[i,i] if np.linalg.norm(phi - phi_old) self.tol: break return phi def MLO_SRM_two_level(): # first level: high-sensitivity parameters bounds_h [(100,160), (60,100), (0.4,0.7), (0.3,0.6), (80,140)] def efficiency_torque(x): D_out, D_in, beta_s, beta_r, L_stk x efficiency 0.85 0.0005*D_out - 0.0003*D_in 0.1*beta_s 0.08*beta_r torque_ripple 0.4 - 0.2*beta_s - 0.15*beta_r return -efficiency, torque_ripple result differential_evolution(efficiency_torque, bounds_h, popsize80, maxiter100) x_opt result.x # second level: low-sensitivity tuning airgap 0.25 np.random.randn()*0.02 return x_opt, airgap