From 4183bc6b71bc73abd1a4b3077f6fd036ece47135 Mon Sep 17 00:00:00 2001 From: Yuri D'Elia Date: Wed, 18 May 2022 02:58:41 +0200 Subject: [PATCH] Use higher acceleration to move out of the unstable SG zone faster --- src/config/config.h | 4 ++-- src/modules/movable_base.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/config/config.h b/src/config/config.h index 9cee3fa..d39c117 100644 --- a/src/config/config.h +++ b/src/config/config.h @@ -131,14 +131,14 @@ static constexpr AxisConfig selector = { .iHold = 5, /// 99mA .stealth = false, .stepsPerUnit = (200 * 8 / 8.), - .sg_thrs = 5, // 6 looks like too much on my MMU + .sg_thrs = 3, // 6 looks like too much on my MMU }; /// Selector motion limits static constexpr SelectorLimits selectorLimits = { .lenght = 75.0_mm, // @@TODO how does this relate to SelectorOffsetFromMin? .jerk = 1.0_mm_s, - .accel = 200.0_mm_s2, + .accel = 350.0_mm_s2, }; static constexpr U_mm SelectorSlotDistance = 14.0_mm; /// Selector distance between two slots diff --git a/src/modules/movable_base.cpp b/src/modules/movable_base.cpp index 813ce49..1d7032f 100644 --- a/src/modules/movable_base.cpp +++ b/src/modules/movable_base.cpp @@ -40,7 +40,7 @@ void MovableBase::PerformMove() { state = TMCFailed; } else if (mm::motion.QueueEmpty(axis)) { // move finished - // ml::leds.SetMode(4, ml::red, ml::off); // @@TODO - temporary signal of the finished move + ml::leds.SetMode(4, ml::red, ml::off); // @@TODO - temporary signal of the finished move currentSlot = plannedSlot; FinishMove(); state = Ready; @@ -48,7 +48,7 @@ void MovableBase::PerformMove() { // Beware - the ordering of these if statements is important. // We shall only check stallguard when motion queue is not empty for this axis - i.e. ! mm::motion.QueueEmpty(axis) // Such a check has already been done in the previous else-if branch. - // ml::leds.SetMode(4, ml::red, ml::on); // @@TODO - temporary signal of the stall guard + ml::leds.SetMode(4, ml::red, ml::on); // @@TODO - temporary signal of the stall guard // Axis stalled while moving - dangerous especially with the Selector // Checked only for axes which support homing (because we plan a homing move after the error is resolved to regain precise position) mm::motion.StallGuardReset(axis);