电机参数辨识(十六)

发布时间:2026/7/15 5:23:24

电机参数辨识(十六) 第 16 篇电机参数辨识——自动获取 Rs、Ld、Lq前面所有代码都需要电机参数Rs定子电阻、Ldd 轴电感、Lqq 轴电感、ψf磁链。手动测量麻烦且不准。这篇讲如何让驱动器自己测出来。1. 电阻辨识直流注入法给 d 轴施加一个直流电压稳态后测量电流欧姆定律直接算voididentify_resistance(float*rs_out){floatvd_test2.0f;// 2V 测试电压floatid_sum0;intsamples0;// 施加 Vd 2V, Vq 0, theta 0锁住转子for(inti0;i500;i){// ~25msphase_current_tcurrread_phase_currents();floatid,iq;park_transform(curr.ia,curr.ib,curr.ic,0,id,iq);id_sumid;samples;// 直接输出 Vd不用 PIfloatva,vb;inv_park_transform(vd_test,0,0,va,vb);// ... SVPWM 输出delay_us(50);}floatid_avgid_sum/samples;*rs_outvd_test/id_avg;// Rs Vd / Idprintf(辨识 Rs %.3f Ω\n,*rs_out);}注意测试电压 Vd_test 要足够大以克服死区效应但不能太大导致过流。2. 电感辨识高频注入法给 d 轴施加一个高频正弦电压测量电流响应通过阻抗计算电感voididentify_inductance(float*ld_out,float*lq_out){floatv_hf_amp1.0f;// 1V 高频注入floatf_hf500.0f;// 500Hzfloatomega_hf2.0f*3.14159f*f_hf;floatdt1.0f/PWM_FREQ;floatid_amp0,iq_amp0;floatt0;// d 轴注入for(inti0;i2000;i){// ~100mstdt;floatvd_injv_hf_amp*sinf(omega_hf*t);phase_current_tcurrread_phase_currents();floatid,iq;park_transform(curr.ia,curr.ib,curr.ic,0,id,iq);// 检波提取电流幅值floatid_demodfabsf(id*sinf(omega_hf*t));id_amp0.99f*id_amp0.01f*id_demod;// 低通滤波floatva,vb;inv_park_transform(vd_inj,0,0,va,vb);// ... SVPWMdelay_us(50);}*ld_outv_hf_amp/(id_amp*omega_hf*2.0f);printf(辨识 Ld %.4f mH\n,*ld_out*1000);}3. 磁链辨识让电机以恒定速度旋转开环测量反电动势voididentify_flux_linkage(float*flux_out){// 让电机以恒定速度旋转开环floattest_speed100.0f;// rad/s 电角度// ... 开环强拖到目标速度// 稳态后测量 Vqfloatvq_sum0;for(inti0;i500;i){vq_sumvq;// PI 输出的 Vqdelay_us(50);}floatvq_avgvq_sum/500;// ψf ≈ (Vq - Rs×iq) / ω*flux_out(vq_avg-MOTOR_RS*iq_ref)/test_speed;printf(辨识磁链 %.4f Wb\n,*flux_out);}4. 自动辨识流程voidauto_identify(void){printf(开始参数辨识...\n);floatrs,ld,lq,flux;identify_resistance(rs);delay_ms(100);identify_inductance(ld,lq);delay_ms(100);identify_flux_linkage(flux);printf(辨识完成:\n);printf( Rs %.3f Ω\n,rs);printf( Ld %.4f mH, Lq %.4f mH\n,ld*1000,lq*1000);printf( ψf %.4f Wb\n,flux);}上电自动跑一次辨识把结果存到 Flash后续直接用。5. 小结电阻辨识直流注入简单可靠电感辨识高频注入 检波注意频率选择磁链辨识恒速旋转测反电动势自动辨识省去手动测量的繁琐下一篇故障保护与鲁棒性——工业级驱动的最后一道防线下一篇故障保护与鲁棒性——工业级驱动的最后一道防线

相关新闻