Use higher acceleration to move out of the unstable SG zone faster

pull/172/head
Yuri D'Elia 2022-05-18 02:58:41 +02:00
parent 06d2c2bf7b
commit 4183bc6b71
2 changed files with 4 additions and 4 deletions

View File

@ -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

View File

@ -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);