TMC5160 - StealthChop versus SpreadCycle
-
Hi all,
I have a RatRig V-Core 3 500 CoreXY printer, with Duet 3 6HC and Toolboard 1.1.
Motor configuration is fairly simple:; Drives M569 P0.0 S1 D2 ; physical drive 0.0 goes forwards M569 P0.1 S1 D2 ; physical drive 0.1 goes forwards M569 P0.2 S1 D2 ; physical drive 0.2 goes forwards M569 P0.3 S1 D2 ; physical drive 0.3 goes forwards M569 P0.4 S1 D2 ; physical drive 0.4 goes forwards M569 P20.0 S1 D2 ; physical drive 0.5 goes forwards M584 X0.4 Y0.3 Z0.0:0.1:0.2 E20.0 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
Everything works well, in general, but I have one issue I might need some help with.
I have tested movement at various speeds, and I have noticed a resonance noise between F4000 and F6000.
Example:
Head is at X250, Y250.
Command isG1 X50 F5000.
The head moves to X50 as instructed, and while that happens, there is a loud "buzzing" noise which, interestingly enough, seems to come from the printing head assembly, not the motors themselves.
I have tested the limits at which this noise fades out to nothing. The lower limit seems to be around F3900 (65mm/s) and the upper limit is at around F6000 (100mm/s), for both X and Y, as well as motor-specific movement (forcing S1 and S2 to only rotate one of the motors). Above and below that speed, the buzzing noise disappears, I have tested up to F30000 (500 mm/s) and everything is fine.My question is, at speeds between 65 and 100mm/s (or, more generally, at speeds below 100 mm/s), would it be OK to use StealthChop instead? Or are those speeds too high for StealthChop?
Here's
M569 P0.4
output:M569 P0.4 Drive 4 runs forwards, active low enable, timing fast, mode spreadCycle, ccr 0x08053, toff 3, tblank 1, thigh 200 (46.9 mm/sec), hstart/hend/hdec 5/0/0, pos 312
I have read the documentation for M569:
Vnnn (firmware 2.02 and later) tpwmthrs parameter for those stepper driver chips that support it. This is the interval in clock cycles between 1/256 microsteps below which the drivers will switch from stealthChop to to spreadCycle mode. Only applies when the driver is configured in stealthChop mode. Typical value are from 100 (high speed) to 4000 (low speed). Send M569 P# (where # is the driver number) with no additional parameters to see how this translates into mm/sec.
I also looked at Tuning Stepper Motor Drivers article, and I don't need StallGuard or CoolStep features, I'd rather have them disabled for now.
My confusion is related to article's "StealthChop Tuning" section mentioning things such as "[parameter] low/high enough for the speeds you are using". The problem is, I am using speeds as low as 30mm/s (F1800) and as high as 250mm/s (F15000), depending on filament type, model, etc. I could, of course, add the relevant commands in filament's config.g file, and use M703 to load them specifically when printing with that filament, and also add relevant commands to a model's G-Code if I want that specific model to override default filament config for some reason, but before that, I'd like to have some ballpark minimum/maximum values for StealthChop.
Ideally, I'd like the X/Y motors to use StealthChop at all speeds under 100 mm/s, and switch to SpreadCycle at speeds above 100mm/s - would those speeds be too much for StealthChop?
And if not, what is the proper value for the M569 V parameter? The article says "100" is for high speed (how high is 100?) Should I just go gung-ho on it using trial and error?Thank you in advance for your replies, as always, I thoroughly appreciate your help.
-
@war4peace
To me the 'V' parameter is a bit cryptic. There's no default value? It seems to be thigh 200 = 46.9mm/s
By setting it to V100 it should switch at ~94mm/sIf that works for you might also depend on the steppers and the weight of the toolhead, I guess.
I read in another thread, that switching between modes at high speed causes a banging noise.@ Duet dev-team
Why not allow a 'V' parameter in mm/s? The math for it is already there. -
@o_lampe Yes, that's why I asked. It looks like a value of 100 would double the switch speed to around 94 mm/s, I just want to make sure before I start messing up with parameters.
My print profiles are either "fast" (everything above 100 mm/s, except first layer), or "slow" (80 mm/s maximum), so there would not be a problem switching modes mid-print.