本人小白,对TI_pmsm_281x中例程有两个疑惑:
1,正交解码的中断,即捕获3的中断是外部信号触发还是EvaRegs.T2CNT达到了EvaRegs.T2PR的周期值之后软件触发了中断,如果是外部光电编码器旋转一周之后触发了捕获3的中断,那么为何要在定时器的周期寄存器中赋值呢?(qep1.LineEncoder = 2000……EvaRegs.T2PR = 4*p->LineEncoder; )如果不是 EvaRegs.T2CNT达到EvaRegs.T2PR后而触发捕获3的中断,那么对EvaRegs.T2PR赋初值的用意何在?
2,速度的计算问题。根据60f/np可以计算出pmsm的转速,初始化的时候已对 标幺基值赋初值(speed1.BaseRpm = 120*(BASE_FREQ/P)),如果BASE_FREQ=50,P=4,基值为1500,但是在速度频率( speed_frq_calc中)计算的时候,我对 Tmp1 = _IQmpy(v->K1,(v->ElecTheta – v->OldElecTheta));很不解,K1即 speed1.K1 = _IQ21(1/(BASE_FREQ*T));在初始化时已赋值为(1/(fb*Ts)),从而 根据Tmp1=IQmpy(Δtheta/(fb*Ts))得出的是Tmp1=IQmpy(Δw/fb),如果说我推导的是正确的话, 在速度的计算中 {v->Speed = _IQ21toIQ(Tmp1); v->SpeedRpm = _IQmpy(v->BaseRpm,v->Speed); }有效值=基值*标幺系数,但Δw/fb差了一个2*pi的关系,这又算是什么标幺?不是应该为f/fb,或是w/wb吗?不知道哪里推导错了,跪求大神解答?