# Question about microstepping and mixing ratios

• Your microstepping limit for the extruder will be determined by the retraction/reprime and filament loading speeds you want to achieve, not by print speeds. For these extruder-only moves you should be able to get at least 200kHz step rate.

• @dc42

Thanks. Yes of course, I've just done a quick check and it looks like the extruder runs at about 5% of the speed of the axes (typically a 300mm long axis move use about 16mm of filament) so even at silly print speeds of 300mm/sec, the extruder would only be running at around 15mm/sec.

Ref retraction speed, can you just check my maths please? Assuming a desired retraction speed of 60mm/sec. Current steps per mm at 16x micro stepping is 415. Therefore steps per mm at 128x micro stepping would be (415/16128) = 3,320. So for 60mm/sec the step rate would be 332060 = 199,200 or just a tad under 200khz. Would that be a safe value or would I be safer limiting the micro-stepping to 64x ?

Given that 200kHz limit, I don't really see the benefit of changing to 0.9 degree motors, or is there some other benefit that I've missed?

Thanks

• How much retraction do you use, and what extruder acceleration? You may not even be reaching 60mm/sec.

0.9deg motors provide almost double the incremental torque per microstep, so more precise positioning. But that may not be relevant to this situation.

• How much retraction do you use, and what extruder acceleration? You may not even be reaching 60mm/sec.

0.9deg motors provide almost double the incremental torque per microstep, so more precise positioning. But that may not be relevant to this situation.

5mm @ 1,000 mm/sec^2 which, if my maths is correct, would give me a maximum speed of 70 mm/sec. So 128x micro stepping or 64x to be safe?

Ref 0.9 degree motors, I'd need short ones to fit my mount (cramming 5 extruders onto a carriage is a bit of challenge). Currently the motors I use are 25mm long and that's about the maximum length that I can realistically use. The nearest 0.9 degree motors I can find are 21mm long but have 30% less torque to start with. They are also about £12.25 each so 5 would cost £60+ which is a lot of dosh to find for what might be very little gain.

• Can I test this? I'm thinking that if I set a mixing ratio of 20% for all 5 extruders then with no filament loaded, command extrude and/or retractions of a reasonably long amount at say 60 mm /sec. Then run diagnostics. Then increases the micro-stepping and repeat until I reach the pulse frequency limit. What would I look for in the diagnostic report that would tell me? As I'll have to do it with no filament loaded, I may not be able to tell from physical observation. Thanks.

• Can I test this? I'm thinking that if I set a mixing ratio of 20% for all 5 extruders then with no filament loaded, command extrude and/or retractions of a reasonably long amount at say 60 mm /sec. Then run diagnostics. Then increases the micro-stepping and repeat until I reach the pulse frequency limit. What would I look for in the diagnostic report that would tell me? As I'll have to do it with no filament loaded, I may not be able to tell from physical observation. Thanks.

If you are running version 2.0 firmware then look at the Hiccup count in the M122 report. It should normally be very low, but it will rise dramatically when you hit the step pulse rate limit.

• @dc42

Thanks. That may have to wait a while as I'm on 1.20.1 RC2. I'm reluctant to update just at the moment as I'm in the process of printing a whole batch of parts that need to be identical and after that, I'm planning to change all my extruders so don't want to introduce too many variables at once.

• With older firmware versions, look at MaxReps in the M122 report.

• With older firmware versions, look at MaxReps in the M122 report.

Thank you.

• Just run some test as follows:

Tool 5 used throughout and defined with mixing ratio of 20:20:20:20:20.
Default firmware retraction of 5mm at 60mm/sec (M207 S5.0 R0 F3600 T3600)

Start with default extruder micro stepping of 16x with interpolation, do G10, then G11, then M122. Change micro-stepping and repeat.

Micro-stepping and Max reps as follows;

16x = 5
32x = 5
64x = 10
128 x = 40
256x = 744.

In all cases, step errors were zero.

Commanding 100mm of extrusion using 256x micro-stepping at 60mm/sec (G1 E100 F3600) gave 20mm of measured filament on one extruder so x 5, this would equate to a total of 100mm which is correct (despite 744 Max Reps).

Reducing extruder speed to 1800 (30mm/sec) and repeating G10 and G11 at 256x micro-stepping brings the Max Reps down from 744 to 40.

Questions:

1. I'm assuming that Max Reps of 744 is too high (despite the fact that 100mm of commanded filament move does in fact result in 100mm measured). Is that a safe assumption (that 744 Max Reps is too high)?

2. If (1) is correct then is Max Reps of 40 safe\OK?

3. I also noticed in the M122 report something called "SG min/max" for each drive. Typical values for drive 5 (extruder 0) are around 0/155. Typical values for drive 9 (extruder 4) are 0/175. But drives 6 to 8 all show values of 0/1023. Is this normal? Is it significant? Why are drives 5 and 9 so different to drives 6 to 8?

Thanks.

1. I also noticed in the M122 report something called "SG min/max" for each drive. Typical values for drive 5 (extruder 0) are around 0/155. Typical values for drive 9 (extruder 4) are 0/175. But drives 6 to 8 all show values of 0/1023. Is this normal? Is it significant? Why are drives 5 and 9 so different to drives 6 to 8?

Short: if you do not use stallGuard you do not have to worry about these numbers.

Long: SG stands for stallGuard. This is a value in the range of 0 to 1023 that is reported back from the TMC2660 to the Duet. The range is reverse to (at least my) intuitive understanding. 0 means a stall has been detected. The upper limit is always motor specific (though never above 1023). Also these values are dependent on the sensitivity of stallGuard as defined by `M915 Sxxx` parameter. Motors or rather drivers that are not used will always show a `0/1023` pair.
A value of 0 will only report a real stall if you have tuned stallGuard sensitivity before because otherwise you might have false positives, e.g. my X and Y motors need a value of `S10` or higher to not report false positives where my Z axis basically never reports any stalls even at the default `S1`.

What I forgot: the numbers listed in `M122` output are the minimum and maximum values of `SG` seen since the last time `M122` was called (or the Duet was reset).

• Yes, MaxReps 40 is OK but 744 is much too high.

If a motor has not been moved then there will be no Stallguard data for it, so it will show 0/1023.

• Yes, MaxReps 40 is OK but 744 is much too high.

If a motor has not been moved then there will be no Stallguard data for it, so it will show 0/1023.

Thanks.

Ref the stall guard report - I'm not concerned personally but it seems to do random things. I'm using all 5 extruders and can confirm that all five motors (5 to 9) definitely move when I do G1 E100 F3600 (tool 5 with mixing ratio of 20:20:20:20:20) but the SG report shows only one or two with values of around 0/150-170. It's not the same motors every time though - hence the "randomness" comment. The other 3 or 4 motors show 0/1023.

All the axis motors which haven't moved (0 to 4) report "SG min/max not available".

I'll check it again when I get around to updating to the latest firmware - it could be something that has already been fixed.

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.