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.

[参考译文] CCS/DRV8312-69M-Kit:帮助在我的位置计划中实施分次旋转(STPOSPLAN)

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/658253/ccs-drv8312-69m-kit-help-to-implement-fractional-revolutions-in-my-position-plan-stposplan

部件号:DRV8312-69M-Kit

工具/软件:Code Composer Studio

您好,  

我目前正在使用DRV8312-F28069M模2.8069万模块测试Instaspine-Motion。 我正在使用1000 CPR正交编码器进行无传感器换向,以获得位置反馈。

1)我一直在 实验室13C测试运动曲线,但似乎在运行分次旋转时遇到了问题。 我已在下面为职位计划添加了我的代码:

//示例:STPOSPLAN_addCfgState (handle,PosStep[MRev],PosStepFrac[MRev],StateTimer[ticks]);

STPOSPLAN_addCfgState(stObj->posPlanHandle, 0,0,50L);// StateIdx0:一个200L的原始值
STPOSPLAN_addCfgState(stObj->posPlanHandle,-4,-LAN, 0.5 50L);// StateIdx1: b 200L原件
STPOSPLAN_addCfgState(stObj->posPlanHandle, 4, 0.5 ,50L);// StateIdx2:C 200L原件

如您所见,我希望运行我的电机-逆时针旋转4.5 ,然后顺时针旋转4.5。  

运行实验室时,我的电机仅运行4.0 转数的整数值。 有人能说我做的错误是不能得到革命的分数部分吗?

2)我想在我即将进行的项目中实施'归位'程序(启动时缓慢旋转以检测机械极限并将此位置设置为我的零(原位置))。 我理解这个问题非常模糊,但有没有人会就如何在CCS中完成此类例行程序提出任何示例或建议?

提前感谢。 如有任何帮助,我们将不胜感激。  

Mike M.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1.您是否使用lab2b来识别电机参数,使用lab12a首先识别惯性和摩擦? 然后在user.h中设置这些标识的参数

    2. PosStepFrac是_IQ格式,因此需要使用以下代码。
    STPOSPLAN_addCfgState(stObj->posPlanHandle,-4,_Iq (-IQ) 0.5 ,50L);// StateIdx1: b 200L原件
    STPOSPLAN_addCfgState(stObj->posPlanHandle, 4,_Iq (0.5),50L);// StateIdx2:C 200L原件
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢Yanming

    1)我使用Instaspine-Motion调整GUI建立电机参数和惯性/摩擦,然后更新到user.h文件进行匹配。 这是否会产生与运行lab2b和lab12a相同的结果?

    2)非常感谢您澄清我的代码中的错误。 这解决了我的问题。 非常乐于助人!