此开源算法中滑膜计算电角度用到的两个系数:
Fsmopos = (s32)(exp((-RS/LS)/PWM_FREQ) * 32768);
Gsmopos = (s32)(U_RATED_VOLTAGE / 2 / ADC_SUPPLY_VOLTAGE / PHASE_RSHUNT / AMPLIFICATION_GAIN / RS *(1-exp((-RS/LS)/PWM_FREQ))*32768);
此两系数用于计算Iα_est,Iβ_est:
EstIalpha = (this->coef.Fsmopos * this->variable.EstIalpha + this->coef.Gsmopos * (Valfa_beta.nAlph-this->variable.Ealpha-this->variable.Zalpha))>>15;
EstIbeta = (this->coef.Fsmopos * this->variable.EstIbeta + this->coef.Gsmopos * (Valfa_beta.nBeta -this->variable.Ebeta -this->variable.Zbeta ))>>15;
其中F系数=exp(-(Rs/Ls)/PWM_FREQ)符合电机绕组电流一阶微分方程的解的表达式:
而G系数的后半段也符合电机绕组电流一阶微分方程的解的表达式:/ RS *(1-exp((-RS/LS)/PWM_FREQ)),
但其前面还乘了一段数:(U_RATED_VOLTAGE / 2 / ADC_SUPPLY_VOLTAGE / PHASE_RSHUNT / AMPLIFICATION_GAIN, 此段数的依据是什么?
请楼主不吝赐教, 多谢!
|