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.

[参考译文] TMS320F28069M:SPINTAC ST 曲线和梯形运动精度之间的差异

Guru**** 2035740 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1257678/tms320f28069m-different-between-spintac-st-curve-and-trapezoidal-movement-accuracy

器件型号:TMS320F28069M


您好!

我设置 lab13C 来运行系统、以便在大约4mm 的2个点之间移动。 st 曲线与梯形曲线之间的位置移动似乎不同、我检查了编码器、但在梯形移动编码器计数小于 st 曲线期间似乎发生了变化。  
如何使两种方法 开始停止为同一个位置?  
我只是在侧面下面改变  


//建立速度、加速、减速和最大急冲
velMax =_iq24 (USER_MOTOR_MAX_SPEED_KRPM * ST_SPEED_PU_PER_KRPM);
accMax =_iq24 (10.0);
jrkMax =_IQ20 (62.5);

//配置 SpinTAC 位置规划:采样时间,LoopENB
STPOSPLAN_setCfg (stObj->posPlanHandle、_IQ (ST_SAMPLE_TIME)、false);
//配置 HALT 状态:PosStep[MRev]、PosStepFrac[MRev]、VelEnd、AccMax、JrkMax、 计时器
STPOSPLAN_setCfgHaltState (stObj->posPlanHandle、0、0、velMax、accMax、 jrkMax、1000L);

//示例:STPOSPLAN_addCfgState (handle、PosStep[MRev]、PosStepFrac[MRev]、StateTimer[ticks]);
STPOSPLAN_addCfgState (stObj->posPlanHandle、0、0、0L);// StateIdx0:A
STPOSPLAN_addCfgState (stObj->posPlanHandle、0、_IQ24 (0.2)、20L);// StateIdx1:B _iQ24 (0.584)
STPOSPLAN_addCfgState (stObj->posPlanHandle、0、_IQ24 (-0.2)、20L);// StateIdx2:C

//示例:STPOSPLAN_addCfgTran (handle、FromState、ToState、CondOption、CondIdx1、 pupIdx2、VelLim [pups]、AccLim [pups2]、DecLim [Conditions2]、JrkLim [pps3]);
//注释:减速限制必须设置在以下范围内[加速限制,10*加速 限制]
STPOSPLAN_addCfgTran (stObj->posPlanHandle、State_A、State_B、ST_COND_NC、0、 0、_IQ (0.3 * ST_SPEED_PU_PER_KRPM)、_IQ24 (11)、_IQ24 (11)、_IQ24 (5)); //从 StateA 到 Stateb
STPOSPLAN_addCfgTran (stObj->posPlanHandle、State_B、State_C、ST_COND_NC、0、 0、_IQ (0.6 * ST_SPEED_PU_PER_KRPM)、_IQ24 (7)、_IQ24 (7)、_IQ24 (5)); //从 Stateb 到 STATEC
STPOSPLAN_addCfgTran (stObj->posPlanHandle、State_C、State_B、ST_COND_NC、0、 0、_IQ (0.6 * ST_SPEED_PU_PER_KRPM)、_IQ24 (7)、_IQ24 (7)、_IQ24 (5)); //从 STATEC 到 Stateb


梯形是否低于 st 曲线? 两种移动方法是否对要移动的编码器计数器的计数量相同?

我可以指定电机进行4mm 移动并且可以正确操作、但是 ST 曲线与梯形移动曲线类型之间似乎没有什么不同(梯形移动小于4mm)

最佳

Reza

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    梯形比 st 曲线的精度低吗? 不是两种移动方法都计算相同数量的编码器计数器要移动吗?

    不同的轨迹规划。  您可以浏览    InstaSPIN-FOC 和 InstaSPIN-MOTION 用户指南 (https://www.ti.com/lit/spruhj1)中的第12章"InstaSPIN-MOTION 控制器"和第13章"轨迹规划"、这就是我们可以与您分享的所有信息。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢、有没有机会在调试窗口中看到编码器计数器值?

    我使用 Positionerror_mrev 作为参考误差、并在4mm 移动的0.2转子上得到0.012 Q24旋转误差、这意味着移动误差为0.24mm?

    我将 spirtTac 增益参数设置为100、以尽可能减小误差、还有什么其他方法可以帮助提高精度? 增大编码器 PPR 可以帮助 spinTac 梯形移动变得更准确吗? 电机转速约为1200。

    在 positionerror_mrv 显示几乎为0的单指令移动。我应该从 spinTac 移动并制作我自己的移动配置文件吗?


    谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您,有机会可以在调试窗口中看到编码器计数器值

    您可以在 eQEP 寄存器中读取计数值。

    [报价 userid="555021" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1257678/tms320f28069m-different-between-spintac-st-curve-and-trapezoidal-movement-accuracy/4762147 #4762147"]我设置 spirtTac 增益参数100以使误差尽可能小,任何其他方法都可以帮助提高准确度? 增大编码器 PPR 可以帮助 spinTac 梯形移动变得更准确吗? 电机转速约为1200。[/报价]

    这取决于您的系统要求。 请查看包含针对您的问题的中继指导的 InstaSPIN 用户指南。