diff --git a/Core/Inc/machine.h b/Core/Inc/machine.h index 7c9c3fd..06c1f64 100644 --- a/Core/Inc/machine.h +++ b/Core/Inc/machine.h @@ -95,9 +95,8 @@ uint8_t Machine_MoveToOrigin(void); /** * @brief 步进电机从原点移动到中心点 - * @note 中心点就是原点位置(215.0mm处) - * 如果已经在原点,则不需要移动 - * @retval 0: 成功, 1: 失败 + * @note 从原点(传感器位置)向右移动215.0mm到达中心点 + * @retval 0: 成功, 1: 失败(到达限位点) */ uint8_t Machine_MoveToCenter(void); diff --git a/Core/Src/machine.c b/Core/Src/machine.c index c7d462a..ee38201 100644 --- a/Core/Src/machine.c +++ b/Core/Src/machine.c @@ -248,20 +248,18 @@ uint8_t Machine_MoveToOrigin(void) /** * @brief 步进电机从原点移动到中心点 - * @note 中心点就是原点位置(215.0mm处) - * 如果已经在原点,则不需要移动 - * @retval 0: 成功, 1: 失败 + * @note 从原点(传感器位置)向右移动215.0mm到达中心点 + * @retval 0: 成功, 1: 失败(到达限位点) */ uint8_t Machine_MoveToCenter(void) { - /* 如果已经在原点(中心点),直接返回成功 */ - if (Machine_IsAtOrigin()) - { - return 0; - } + uint32_t steps; - /* 否则移动到原点 */ - return Machine_MoveToOrigin(); + /* 计算需要的步数:215.0mm */ + steps = Machine_MmToSteps(MOTOR_ORIGIN_DISTANCE); + + /* 向右移动 */ + return Machine_MoveSteps(MOTOR_DIR_CCW, steps); } /**