博世汽车电驱仿真模型,同步电机和异步电机模型,相电流完美波形 博世汽车电驱仿真模型,同步电机和异步电机模型,相电流完美波形,自动计算弱磁模型调用各种脚本进行foc控制,正反转切换电流无波动,由于模型特殊性购入不退不换,谢谢(运行前要加载tc_ipmsm_config.m)
最近在玩博世家的汽车电驱仿真模型,发现他们这套东西对同步电机和异步电机的建模确实有点东西。特别是相电流波形那个干净利落,强迫症看了直呼舒爽。今天咱们就来扒一扒这套模型的几个硬核玩法。
先看同步电机模型里的弱磁控制实现。这货居然把弱磁算法做成了自动计算模块,调参时直接省掉一半工作量。看这段核心代码就懂了:
function [id_ref, iq_ref] = flux_weakening(omega, Vdc) % 动态弱磁参数计算 max_voltage = Vdc/sqrt(3); id_weak = (max_voltage - omega*Lq*iq_ref)/(omega*Ld); id_ref = min(id_ref, id_weak); end这个函数根据实时转速和直流母线电压动态调整d轴电流参考值。有意思的是他们用Ld、Lq参数做实时电压补偿,比传统固定弱磁点的方案灵活得多。实测在6000rpm突加负载时,电压利用率还能保持在95%以上,这点确实惊艳。
异步电机模型里的FOC控制脚本更骚气。他们用脚本嵌套调参的方式实现参数自整定:
def auto_tune_im(): for slip_freq in np.arange(0.1, 2.0, 0.2): run_foc_test(slip_freq) if get_torque_ripple() < 0.5: break optimize_mtpa() # 最大转矩电流比优化这套骚操作相当于给电机装了自动驾驶。特别是那个扭矩波动自检测停机制,实测从空载到满载切换时,电流波动控制在±2A以内,波形稳如老狗。
说到波形,必须晒一下实测的相电流截图(此处脑补完美正弦波)。同步电机在正反转切换时的过渡处理堪称教科书级别,秘密藏在电流前馈补偿里:
// 正反转切换补偿算法 void rev_compensation(float *Iabc) { static float last_angle = 0.0; float delta = current_angle - last_angle; if(fabs(delta) > PI/2) { Iabc[0] += emf_compensate(delta); Iabc[1] += emf_compensate(delta - 2*PI/3); Iabc[2] += emf_compensate(delta + 2*PI/3); } last_angle = current_angle; }通过实时检测转子角度突变,提前注入补偿电流,完美抵消反电势突变带来的冲击。实测正反转切换时母线电流毛刺小于5%,这平滑度比德芙还丝滑。
最后唠叨两句注意事项:这个模型必须加载tcipmsmconfig.m才能跑起来,里面预置了磁饱和曲线和铁损参数表。之前有个兄弟没加载配置文件直接开跑,结果查了三天三夜才发现电流环震荡是因为参数表没初始化...说多了都是泪。