各位工程师,您们好!
最近在做2812控制pmsm,参考pmsm_1来修改,其中还有几个参数及设置不明白,找别人也得不到正确的解答,特来向您们求助,真心感谢。
问题如下:
1.速度初始化模块中有这样一条语句 speed1.K2 = _IQ(1/(1+T*2*PI*30)); ,从这然后结合pdf可以算出这个滤波环节取的截止频率是30HZ,我想知道为什么要取30呢?而不是其他的数呢?这个数和电机的额定转速有关系吗?比如我电机的额定转速是3000,这个数要取多少呢?
2.在速度计算模块中有这样一条语句 ((v->ElecTheta < _IQ(0.9))&(v->ElecTheta > _IQ(0.1))) Tmp1 = _IQmpy(v->K1,(v->ElecTheta – v->OldElecTheta)),想请问您们为什么要限制在0.1和0.9之内呢,这是基于什么考虑,这个0.9和0.1为什么这样取呢?
3. 在速度环的设置中有pid1_spd.Ki = _IQ(T*SpeedLoopPrescaler/0.3; pid1_spd.Kd = _IQ(0/(T*SpeedLoopPrescaler));请问为什么KI的值要乘以SpeedLoopPrescaler,Kd却是除呢?我知道SpeedLoopPrescaler这个数是因为中断中的计数,但不知道KI和kd的取值和SpeedLoopPrescaler这个数有什么关系
问题可能有点多。描述的也有点多。怕您们不理解我的意思。我就写的清楚了点。谢谢您们了!