微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > PMSM例程中关于速度计算的问题

PMSM例程中关于速度计算的问题

时间:10-02 整理:3721RD 点击:


请教工程师和各位牛人:
void speed_frq_calc(SPEED_MEAS_QEP *v)
{

_iq Tmp1;

// Differentiator
// Synchronous speed putation
if ((v->ElecTheta < _IQ(0.9))&(v->ElecTheta > _IQ(0.1)))
// Q21 = Q21*(GLOBAL_Q-GLOBAL_Q)
Tmp1 = _IQmpy(v->K1,(v->ElecTheta - v->OldElecTheta));
else Tmp1 = _IQtoIQ21(v->Speed);
。。。。。。

if里的Tmp1的Q应该是GLOBAL_Q吧,但是else里的Tmp1是Q21,这样不是不一致了?

还有,// Q21 = Q21*(GLOBAL_Q-GLOBAL_Q)这句什么意思?

if里的Tmp1就是Q21的,你问的这句// Q21 = Q21*(GLOBAL_Q-GLOBAL_Q)就是对它下边那句的解释,意思是v->ElecTheta - v->OldElecTheta的结果是GLOBAL_Q,K1是Q21,他们相乘的结果也是Q21的,所以这里的Tmp1和else里的都是Q21的。

哦,明白了,谢谢LS

GLOBAL_Q是Q24的,那GLOBAL_Q*Q21为什么是Q21的呢,还是不明白

同楼上的问题,有知道的请赐教,还有就是为什么要将角度的值限定在0.1—0.9的范围内

同样请教角度为什么要把角度限定在0.1-0.9?这两个值如何确定?

为何没有人回答这一句呢

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top