TI中文支持网
TI专业的中文技术问题搜集分享网站

馬達定位問題

小弟我用28335做pmsm的定位控制,當轉子"定位"在Z相時會產生不穩定現象(如果是"經過"只會有pulse但正常轉動)如圖0~720度

而且更奇怪的是,從0度到720度有時會先逆轉半圈(-180度)載正轉一圈半(540)照理來說應該會正轉900度才會變720度(-180+900=720)有人可以分替小弟我解惑嗎?

Chien Chien Chou:

小弟我用28335做pmsm的定位控制,當轉子"定位"在Z相時會產生不穩定現象(如果是"經過"只會有pulse但正常轉動)如圖0~720度

而且更奇怪的是,從0度到720度有時會先逆轉半圈(-180度)載正轉一圈半(540)照理來說應該會正轉900度才會變720度(-180+900=720)有人可以分替小弟我解惑嗎?

Johnson Chen1:

回复 Chien Chien Chou:

请问你使用的是那个例程?有传感器还是无传感器?

小弟我用28335做pmsm的定位控制,當轉子"定位"在Z相時會產生不穩定現象(如果是"經過"只會有pulse但正常轉動)如圖0~720度

而且更奇怪的是,從0度到720度有時會先逆轉半圈(-180度)載正轉一圈半(540)照理來說應該會正轉900度才會變720度(-180+900=720)有人可以分替小弟我解惑嗎?

Chien Chien Chou:

回复 Johnson Chen1:

 有感

float tmp1;unsigned long t2_t1;Encoder_Var.Direction=EQep1Regs.QEPSTS.bit.QDF;	//方向Encoder_Var.RawTheta=EQep1Regs.QPOSCNT+Encoder_Var.CalibrateAngle;	//位置補償if(Encoder_Var.RawTheta < 0){Encoder_Var.RawTheta=Encoder_Var.RawTheta+EQep1Regs.QPOSMAX;}if(Encoder_Var.RawTheta > EQep1Regs.QPOSMAX){Encoder_Var.RawTheta=Encoder_Var.RawTheta-EQep1Regs.QPOSMAX;}Encoder_Var.MechTheta=360-(Encoder_Var.Mech_Scaler*Encoder_Var.RawTheta*360);Encoder_Var.out=Encoder_Var.round*360+Encoder_Var.MechThetaEncoder_Var.ElecTheta=(Encoder_Var.PolePairs*Encoder_Var.MechTheta);//-floor(Encoder_Var.PolePairs*Encoder_Var.MechTheta);if(EQep1Regs.QFLG.bit.IEL == 1){Encoder_Var.Index_sync_flag=0x00F0;if(EQep1Regs.QEPSTS.bit.QDF==0){Encoder_Var.round=Encoder_Var.round+1;}if(EQep1Regs.QEPSTS.bit.QDF==1){Encoder_Var.round=Encoder_Var.round-1;}EQep1Regs.QCLR.bit.IEL=1;}

赞(0)
未经允许不得转载:TI中文支持网 » 馬達定位問題
分享到: 更多 (0)