- 积分
- 26
- 回帖
- 0
- 西莫币
-
- 贡献
-
- 威望
-
- 存款
-
- 阅读权限
- 5
- 最后登录
- 1970-1-1
该用户从未签到
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
void speed_frq_calc(SPEED_MEAS_QEP *v)
{
_iq Tmp1;
if ((v->ElecTheta < _IQ(0.9))&(v->ElecTheta > _IQ(0.1)))//v->ElecTheta是电角度还是机械角度呀 ,为啥要和_IQ(0.9)0.1比较 ?
Tmp1 = _IQmpy(v->K1,(v->ElecTheta - v->OldElecTheta));//K1是个啥东西呀?看文档说是1/fb*T,fb是基准频率,基准频率是个啥东西?
else Tmp1 = _IQtoIQ21(v->Speed);//
// Low-pass filter
// Q21 = GLOBAL_Q*Q21 + GLOBAL_Q*Q21
Tmp1 = _IQmpy(v->K2,_IQtoIQ21(v->Speed))+_IQmpy(v->K3,Tmp1);
if (Tmp1>_IQ21(2))//Tmp1和2比较是个啥意思?V-speed算出来的是个啥?
v->Speed = _IQ(2);
else if (Tmp1<_IQ21(-2))
v->Speed = _IQ(-2);
else
v->Speed = _IQ21toIQ(Tmp1);
// Update the electrical angle
v->OldElecTheta = v->ElecTheta;
// Change motor speed from pu value to rpm value (GLOBAL_Q -> Q0)
// Q0 = Q0*GLOBAL_Q => _IQXmpy(), X = GLOBAL_Q
v->SpeedRpm = _IQmpy(v->BaseRpm,v->Speed); //baserpm是个啥变量呀,怎么就把V-speed给转换成了转速。
} |
|