This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IDDK_PM_Servo_F2837x开发套件程序移植 Vq给定与实测park变化的Iq值,大小不等方向相反



TI工程师:

           您好!我们购买了开发套件IDDK_PM_Servo_F2837x,参考套件,开发了自己的伺服驱动器。完成了开环的相关测试,level1和level2的例程。现在有两个问题,期望能得到你们的协助。

         1、电机电流标定确定。在开发套件中选用不同传感器,电流采样值的归一化系数(或者叫比例系数)不一样。具体如下面代码所示。

             #define ADC_PU_SCALE_FACTOR 0.000244140625 //1/2^12
            #define ADC_PU_PPB_SCALE_FACTOR 0.000488281250 //1/2^11
            #define SD_PU_SCALE_FACTOR 0.000030517578125 // 1/2^15

          

                #define LEM_TO_SHUNT 1.206637 // (12.0/9.945)
              #define SDFM_TO_SHUNT 1.41131 // (12.5/0.8906)/9.945

        而我们自己构建的系统,如何选择标定值呢?在matlab建立了仿真文件,我的做法是将开环设定的VqTesting=1,采集电流的park,调节“电流采样值的归一化系数”,使得Iq也等于1。请问正确的做法应该如何做啊?真实的伺服系统如何找到准确的电流值归一化标定系数啊?有相关文档吗?

       2、我们使用的是类似多摩川的绝对值编码器。移植了例程里面的posEncoderSuite()和SPEED_FR_MACRO(speed1)两个函数,可以实现转速的正常采集。

电角度和程序自动产生的频率给定(posEncElecTheta 和   rg1.Out;),存在一个相位差。可能是相位差的原因,导致电流开环时候,测得的Park1.Qs和Park2.Qs值,一个是正值,一个是幅值。这个是什么原因?该如何解决呢?根据《Sensored FOC of PMSM_IDDK_v2.pdf》,Level 2E – Position Encoder Feedback / SPEED_FR test一节介绍,应该能正转和反转方向反了的问题吧?或者是U、V、W对应次序问题?

park1.Angle = rg1.Out;
ipark1.Sine=park1.Sine;
ipark1.Cosine=park1.Cosine;


speed1.ElecTheta = posEncElecTheta[POSITION_ENCODER];
//test own
park2.Alpha = clarke1.Alpha;
park2.Beta = clarke1.Beta;
park2.Angle = speed1.ElecTheta;
park2.Sine = __sinpuf32(park1.Angle);
park2.Cosine = __cospuf32(park1.Angle);
PARK_MACRO(park2)

例如将Vqtesting给定一个阶跃后,用rg1.Out做输入的park1.Qs和编码器反馈(posEncElecTheta)做输入的Park2.Qs,产生相反的跳变。幅值大小也不是很相等。请给予指点。

期望能达到您的帮助。