您好!
我设置 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