Help needed with Duet 3 6hc TMC5160 StealthChop config
-
From my reading of the datasheet, you should always have THIGH < TPWMTHRS. Have you tried setting THIGH to values below 34?
-
@dc42 said in Help needed with Duet 3 6hc TMC5160 StealthChop config:
THIGH
I think I had done is the H parameter right?
I will try again. -
@danym21 said in Help needed with Duet 3 6hc TMC5160 StealthChop config:
@dc42 said in Help needed with Duet 3 6hc TMC5160 StealthChop config:
THIGH
I think I had done is the H parameter right?
I will try again.Yes. Use M569 with just a P parameter to check that you have set it.
-
@dc42 I have tried with H10 for X and Y achses (P0.0 and P0.1) nothing changed, StealthChop only works below F119 all above only Spreadcycle from the noise.
M569 P0.0 Drive 0 runs in reverse, active low enable, step timing fast, mode stealthChop, ccr 0x08053, toff 3, tblank 1, hstart/hend/hdec 5/0/0, pos 548, tpwmthrs 34 (110.3 mm/sec), thigh 10 (375.0 mm/sec) M569 P0.1 Drive 1 runs in reverse, active low enable, step timing fast, mode stealthChop, ccr 0x08053, toff 3, tblank 1, hstart/hend/hdec 5/0/0, pos 884, tpwmthrs 34 (110.3 mm/sec), thigh 10 (375.0 mm/sec)
to be sure also tested :
; Drives M569 P0.0 S0 D3 V34 H50 ; physical drive 0 goes forwards D2=Spread cycle (x-achses) M569 P0.1 S0 D3 V34 H50 ; physical drive 1 goes forwards D2=Spread cycle (y-achses)
13.5.2020, 22:17:07 M569 P0.1 Drive 1 runs in reverse, active low enable, step timing fast, mode stealthChop, ccr 0x08053, toff 3, tblank 1, hstart/hend/hdec 5/0/0, pos 972, tpwmthrs 34 (110.3 mm/sec), thigh 50 (75.0 mm/sec) 13.5.2020, 22:17:01 M569 P0.0 Drive 0 runs in reverse, active low enable, step timing fast, mode stealthChop, ccr 0x08053, toff 3, tblank 1, hstart/hend/hdec 5/0/0, pos 540, tpwmthrs 34 (110.3 mm/sec), thigh 50 (75.0 mm/sec) 13.5.2020, 22:16:07 G0 X130 Y130 F90 13.5.2020, 22:15:51 G0 X135 Y135 F90
now also G0 X130 Y130 F90 runs only in SpreadCycle
-
@dc42 was you able to test?
I have also tried to change the D settings on a test print to hear some changes, but nearly nothing has changed only on D0 (constant off-time)
he goes a little bit louder but not much. D1 (random off-time) is not supported by TMC5160.
can it be that my board is faulty or that the Firmware has a Bug and only shows the corect mode but not send to the stepper drivers? -
I have seen the source code "/src/Movement/StepperDrivers/TMC51xx.cpp"
constexpr float SenseResistor = 0.050;
when I right on other firmware´s I use 0.075, can this create a difference?
Is it possible to play with over the M569 command or is it needed to compile new, have not found in the Duet documentation. -
I'm experiencing the same thing @danym21.
-
Are there any updates on this?
-
@cjackson234
still not -
I'm sorry for the delay. This is still on my list to continue investigating. As it's a noise issue not a functionality issue, it has lower priotity then some others on my list.
-
Hello! The same thing on my CoreXY using Duet3. Does anyone have found a solution?
-
no sorry
-
My suspicion is that the issue is not following the tuning sequence specified by Trinamic. In particular, you are supposed to energise the motors, keep them still for a short while (but less than 130ms), then execute a medium speed move such as a homing move. Here is an extract from the datasheet:
Typically, homeall.g does something like this:
G91
G1 H2 Z5 Fxxx
G1 H1 X-400 Fxxx
...The initial pause at standstill is after powering up the motors is not present. So perhaps this would be better:
G91
G1 H2 Z0.02 Fxxx
G4 P50
G1 H2 Z5
G1 H2 X0.02 Fxxx
G4 P50
G2 H1 X-400Similarly for Y. The 0.02mm figure should be adjusted so that it is at least one microstep, but preferably not much more than that.
-
@dc42
it looks like it does not help, I have created the following test macro file, but I can´t hear any difference only on still stand after moves I can hear the motors a little bit when Spread cycle (D2) is enabled.
maybe I have done something wrong?; first test with stealh enabled M18 ; disable all motors to reset the stepper drivers M569 P0.0 S0 D3 V34 ; physical drive 0 goes forwards D2=Spread cycle (x-achses) M569 P0.1 S0 D3 V34 ; physical drive 1 goes forwards D2=Spread cycle (y-achses) M569 P0.2 S0 D3 V34 ; physical drive 2 goes backwards D2=Spread cycle (Z1) M569 P0.3 S0 D3 V34 ; physical drive 3 goes backwards D2=Spread cycle (Z2) M569 P0.4 S1 D3 V34 ; physical drive 4 goes backwards D2=Spread cycle (extruder) M569 P0.5 R-1 ; physical drive 4 goes backwards D2=Spread cycle (empty) M584 X0.0 Y0.1 Z0.2:0.3 E0.4 ; Driver 0 For X, 1 for Y, Z=2:3 U=4, Extruder 4 M350 X32 Y32 Z16 E16 I1 ; configure microstepping with interpolation - working M92 X400.00 Y400.00 Z400 E412.00 ; set steps per mm M566 X300.00 Y300.00 Z24.00 E300.00 ; set maximum instantaneous speed changes (mm/min) from config file thingiverse M203 X14000 Y14000 Z4520 E7000 ; set maximum speeds (mm/min) new test Z800 old M201 X1000 Y1000 Z1400.00 E5000 ; set accelerations (mm/s^2) own M906 X1150 Y1150 Z850 E600 I50 ; set motor currents (mA) and motor idle factor in per cent G91 ; relative positioning G1 H2 Z0.02 F3000 ; enable the Motor move at least one mircostep -- Problem Stealthchop? G4 P50 ; make a 50ms pause for the drivers -- Problem Stealthchop? G1 H2 Z15 F6000 ; lift Z relative to current position G1 H2 X0.02 ; enable the Motor move at least one mircostep -- Problem Stealthchop? G4 P50 ; make a 50ms pause for the drivers -- Problem Stealthchop? G1 H2 Y0.02 ; enable the Motor move at least one mircostep -- Problem Stealthchop? G4 P50 ; make a 50ms pause for the drivers -- Problem Stealthchop? G1 H1 X-355 Y355 F9000 ; move quickly to X or Y endstop and stop there (first pass) G1 H1 X-355 ; home X axis G1 H1 Y355 ; home Y axis G1 X5 Y-5 F9000 ; go back a few mm G1 H1 X-355 F360 ; move slowly to X axis endstop once more (second pass) G1 H1 Y355 ; then move slowly to Y axis endstop G90 ; absolute positioning G1 X177.713 Y144.526 F9000 ; go to first bed probe point and home Z --> own direct system G30 ; home Z by probing the bed G91 ; relative positioning G1 Z15 F6000 ; lift Z relative to current position G90 ; absolute positioning ;smal test moves G0 X0 Y0 F3000 G0 X0 Y310 F3000 G0 X310 Y310 F3000 G0 Y0 Y0 F3000 ; now again with Spread cycle M18 ; disable all motors to reset the stepper drivers M569 P0.0 S0 D2 ; physical drive 0 goes forwards D2=Spread cycle (x-achses) M569 P0.1 S0 D2 ; physical drive 1 goes forwards D2=Spread cycle (y-achses) M569 P0.2 S0 D2 ; physical drive 2 goes backwards D2=Spread cycle (Z1) M569 P0.3 S0 D2 ; physical drive 3 goes backwards D2=Spread cycle (Z2) M569 P0.4 S1 D2 ; physical drive 4 goes backwards D2=Spread cycle (extruder) M569 P0.5 R-1 ; physical drive 4 goes backwards D2=Spread cycle (empty) M584 X0.0 Y0.1 Z0.2:0.3 E0.4 ; Driver 0 For X, 1 for Y, Z=2:3 U=4, Extruder 4 M350 X32 Y32 Z16 E16 I1 ; configure microstepping with interpolation - working M92 X400.00 Y400.00 Z400 E412.00 ; set steps per mm M566 X300.00 Y300.00 Z24.00 E300.00 ; set maximum instantaneous speed changes (mm/min) from config file thingiverse M203 X14000 Y14000 Z4520 E7000 ; set maximum speeds (mm/min) new test Z800 old M201 X1000 Y1000 Z1400.00 E5000 ; set accelerations (mm/s^2) own M906 X1150 Y1150 Z850 E600 I50 ; set motor currents (mA) and motor idle factor in per cent G91 ; relative positioning G1 H2 Z0.02 F3000 ; enable the Motor move at least one mircostep -- Problem Stealthchop? G4 P50 ; make a 50ms pause for the drivers -- Problem Stealthchop? G1 H2 Z15 F6000 ; lift Z relative to current position G1 H2 X0.02 ; enable the Motor move at least one mircostep -- Problem Stealthchop? G4 P50 ; make a 50ms pause for the drivers -- Problem Stealthchop? G1 H2 Y0.02 ; enable the Motor move at least one mircostep -- Problem Stealthchop? G4 P50 ; make a 50ms pause for the drivers -- Problem Stealthchop? G1 H1 X-355 Y355 F9000 ; move quickly to X or Y endstop and stop there (first pass) G1 H1 X-355 ; home X axis G1 H1 Y355 ; home Y axis G1 X5 Y-5 F9000 ; go back a few mm G1 H1 X-355 F360 ; move slowly to X axis endstop once more (second pass) G1 H1 Y355 ; then move slowly to Y axis endstop G90 ; absolute positioning G1 X177.713 Y144.526 F9000 ; go to first bed probe point and home Z --> own direct system G30 ; home Z by probing the bed G91 ; relative positioning G1 Z15 F6000 ; lift Z relative to current position G90 ; absolute positioning ;smal test moves G0 X0 Y0 F3000 G0 X0 Y310 F3000 G0 X310 Y310 F3000 G0 Y0 Y0 F3000
-
I have also to reply here.
I have Moon Motors.
I think even the same as you. Need to check in detail, but i think so.I starte with a Duet Wifi clone and they were really noise in some higher speed (>70mm/s)
So i decided to go for the Duet3 and the advanced TMC5160, as noise is key for my MGN cube. (CoreXY)
In fact now, if i switch to stealthchop, it is even "noisier" than in spreadcycle.
No such a "high" noise, but louder....I am lost now...
-
i am having also the Problem, that I am not able to bring my stepper noise down, and I do not find any way to solve this.
Tried mechanicly already a lot of things, 3 different stepper Motor types, but all with more or less the same noise.
The are damn loud.
Was your issue solved?I also find in the documentation this:
Vnnn (firmware 2.02RC1 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.Values below 100, are not a Problem and get correct configured?
BR
Michael -
Have you seen this thread https://forum.duet3d.com/topic/18010/duet-3-stealthchop-2-tuning-for-nema23 ? The author of that thread was able to use stealthChop to quieten the motors, until the speed reached the value at which there was insufficient drive voltage for the motors.
-
Hey man I just noticed I had this lines in my config.g here for my sensorless homing;
it seems like Stealthchop would not engage unless these are in place
; Stealthchop parameters M915 P0 S3 F1 H134 T1 R0 M915 P1 S3 F1 H134 T1 R0
I do not not why, but my guess would be around T parameter that controls the coolstep register according to https://duet3d.dozuki.com/Wiki/Gcode#Section_M915_Configure_motor_stall_detection
Edit: Also the Hmin parameter; for which I made a calculator here:
https://docs.google.com/spreadsheets/d/1gCapl-1CZh7Zz267W_CFtLBbBV-UMDjpXMGDIyr5oE4/edit?usp=sharing
@dc42 thoughts?
-
@fractalengineer
Can you post your full motor related config.
My motors are extremly noisy on my MGN Cube.
I DIsassembled everything the last 2 days, and reassembled the full frame, and it is still 100% the same.When i switch beteen spreadcycle and stealthchop, i can not hear any difference, and i dont know why...
-
@fractalengineer
you mean I have to configure motor stall detection to get Stealthchop running?
This I have never tried,What I do not understand what T1 means
is this TCOOLTHRS?TCOOLTHRS ≥ TSTEP ≥ THIGH:
- CoolStep is enabled, if configured
- StealthChop voltage PWM mode is disabled
@empi00 I think the problem is that the vibration comes from the motors for a temporary solution I have add some Stepper damper to the X/Y Motors that has helped a lot. But you can still feel the vibration on the Motors with the hand, this will not fix the vibration problem it is only a "not so nice" work around.
and I was hoping that @dc42 will find the problem. My feeling was that stealthchoop is enabled but only up to F119 (that is verry slow) on F120 I had strange noices like it is jumping between steahltchop and spreadcycle. and F121 is noisy like only spreadcycle. When no motors are moving all is fine then spreadcycle (D2) is more noisy as steahltchop (D3).
Any M569 V and H parameters does nothing here for me.
The funny thing is when I use a other board with TMC5160 and klipper it was working, so I´m pretty sure it is not a hardware issue.
When I have time I and I have understand what the T parameter is doing on M915 I will play with.