Welcome! Log In Create A New Profile

Advanced

Always 6 (micro)steps are used

Posted by Vovan3d 
Always 6 (micro)steps are used
October 12, 2022 05:36AM
Hi,

I build latest Marlin from branch bugfix-2.1.x (board BTT SKR 2 rev. B with TMC2225) and discovered, that all axis moves only with 6 microsteps (as we can see in M114 D output):

M114 D
X:-7.0000 Y:-3.0000 Z:0.2000 E:0.0000 Count X:-35 Y:-15 Z:0

Logical: X:-7.000 Y:-3.000 Z: 0.200
Raw:     X:-7.000 Y:-3.000 Z: 0.200
Leveled: X:-7.000 Y:-3.000 Z: 0.200
UnLevel: X:-7.000 Y:-3.000 Z: 0.200
Stepper: X:-35 Y:-15 Z:0 E:0
FromStp: X:-7.000 Y:-3.000 Z: 0.000 E: 0.000
Diff:    X: 0.000 Y: 0.000 Z:-0.200 E: 0.000

If we move little by little with G0, Stepper value has minimal increment six. So I decided to reduce microstepping (mainly to increase torque on Z axis), minimal step is always six, even with disabled microstepping. Thus minimal move for Z become 0.04*6 = 0.24mm.

What is this "magic number" - six steps move increment?

Microstepping was changed here:

#if AXIS_IS_TMC(X)
    #define X_CURRENT       800        // (mA) RMS current. Multiply by 1.414 for peak current.
    #define X_CURRENT_HOME  X_CURRENT  // (mA) RMS current for sensorless homing
    #define X_MICROSTEPS     16        // 0..256
    #define X_RSENSE          0.11
    #define X_CHAIN_POS      -1        // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
    //#define X_INTERPOLATE  true      // Enable to override 'INTERPOLATE' for the X axis
    //#define X_HOLD_MULTIPLIER 0.5    // Enable to override 'HOLD_MULTIPLIER' for the X axis
  #endif

(and corresponding steps per unit were updated).
Re: Always 6 (micro)steps are used
October 12, 2022 08:20AM
// Moves (or segments) with fewer steps than this will be joined with the next move
#define MIN_STEPS_PER_SEGMENT 6
Re: Always 6 (micro)steps are used
October 12, 2022 08:53AM
This stops you flooding the MPU with moves that wont actually move anyways.

You cannot move to any micro step, this is a commonly believed fallacy. Most 3d printer steppers will only let you step up to 1/4 steps anything more is more about noise reduction not resolution.

Edited 2 time(s). Last edit at 10/12/2022 09:48AM by Dust.
VDX
Re: Always 6 (micro)steps are used
October 12, 2022 09:38AM
... there are different types of microstepping drivers -- some have "complex" behaviour, like the Precitec/Berger-Lahr drivers, which can handle a high torque 3-phase-stepper with "full-steps" in the range of 200, 400, 500, 800 and 1000 steps per revolution (or this numbers all 10x for "microstepping") - here every single step or micro-step is performed.

Too have high high-precision drivers from IMS, which can be set from 1/2 to 1/256 microstepping, where too, every single microstep is performed (tested with geared high torque steppers with 4096lpi-encoders or 16384 encoder pulses per rev.) ...

Edited 1 time(s). Last edit at 10/12/2022 09:39AM by VDX.


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: Always 6 (micro)steps are used
October 12, 2022 02:54PM
#define MIN_STEPS_PER_SEGMENT 6
Great, thanks! I tried to search for "6" in code, but was flooded with result.


Quote
Dust
You cannot move to any micro step

And I don't want smiling smiley
What I tried to do is increase Z axis torque by reducing its microstepping. I've found out that sequence like

G0 Z50
G0 Z0.2

lowers hotend less than 0.2, and if repeated it even could crash to bed. So I suggested that torque is not enough to stop heavy gantry in the place, and decided to try decreasing microstepping.

Anyway why 6 is chosen, and not 8 (power of 2)?

Quote
Dust
anything more is more about noise reduction not resolution.

Sure. So I may set microsteps to 8, and steps to, let's say 4. Thus I have 1/2 full step resolution that is completely enough and increased torque (and may be reduced current).

Sounds reasonable? (and listen to steppers sound ))).

Edited 1 time(s). Last edit at 10/12/2022 02:54PM by Vovan3d.


My printer: Biqu B1 SE (not Plus!)
Re: Always 6 (micro)steps are used
October 13, 2022 07:11AM
Does MIN_STEPS_PER_SEGMENT affects autohome/leveling?

The only use of this value is in [github.com]
Sorry, only registered users may post in this forum.

Click here to login