delta Z motor goes clunk, regardless of motor or driver
-
@achrn We've already seen suspicious behaviour with some Delta printers when it moves to axis limits (or crossing them back and forth)
IsX64 Y64
still inside your max. bed radius? (tooldistance to center is > 90.nn)
Maybe the clunk indicates that the planner wants to stop at the max. limit, but moves on for some reason...(emptying the planner cue?) -
@o_lampe thanks for thoughts. Yes, 64,64 (with any combination of signs) is well within the bed. Bed is 150 radius, with 0,0 at the centre and standard 120 degree spaced towers.
It clunks at whatever X coordinate is in the second move, as long as it is enough that the motor moves. That is, because this is the Z motor at X=0 it isn't actually turning. If the second move is
G1 X-1.00 Y-64.00
there is no clunk, but the motor doesn't move at all (it's a theoretical move of less than a quarter of a microstep). If it'sG1 X-5.00 Y-64.00
(which is 5.8 microsteps of the motor - I don't know whether that will actually apply 5 or 6) it clunks (though more weakly).I've also found it clunks for Y= +/- 32 but not for Y= +/- 16 or Y= +/- 128. I'm going to do some more investigation about what coordinates trigger a clunk.
It clunks for any value of Z, whether Z is specified or not, and indeed for any motor position - if I home it to a random position (i.e. so the physical position of the motors is not what they would be when properly homed) it still clunks at the same coordinates.
-
@achrn said in delta Z motor goes clunk, regardless of motor or driver:
It clunks at whatever X coordinate is in the second move, as long as it is enough that the motor moves.
Ha! That's not true.
G1 X-5.00 Y-64.00
clunks
G1 X-6.00 Y-64.00
clunks
X-7 to -11 all clunkG1 X-12.00 Y-64.00
does not clunk
X-13 to -26 all do not clunkG1 X-27.00 Y-64.00
clunks
-28 to -69 all clunkThe pattern is same for positive X numbers, i.e.
G1 X5.00 Y-64.00
clunks,G1 X12.00 Y-64.00
does not clunk,G1 X27.00 Y-64.00
clunks etc. all the way up to X99 -
@achrn Can you try the 3.5.2-rc.1 firmware? @dc42 made changes to fix deltas going beyond the limits, may have an impact on this too. https://github.com/Duet3D/RepRapFirmware/releases/tag/3.5.2-rc.1
Ian
-
@droftarts Hello. 3.5.2-rc.1 also clunks, and in all the tests I've redone it clunks or not-clunks for teh same coordinates as 3.5.1.
-
-
I'm using code such as:
G1 X0.00 Y{var.yval} F9000 G4 P100 G1 X{var.xval} Y{var.yval}
wrapped in a loop altering xval or yval.
The clunk happens at the end of G4 or start of the second move (which I find slightly odd, because it means where the move ends affects the behaviour at the start of the move).This is what I've tested so far (xval across the page 5 to 99 and yval down the page -40 to -99). So far, if a given yval value clunks, it clunks at the same xval values, being 5 to 11 and 27 to 99 inclusive. Red is a clunk, blue is no clunk, white is untested.
-
@achrn I've created a script to try and replicate this behaviour. My delta is small, I only have a 75mm radius, so can only go to X53 Y53. However, this should cover at least some of the area where you have the clunk. My delta has a Maestro card, running 3.5.1 in standalone mode.
; clunk test.g var xval = 39 var yval = 0 while var.xval != 54 set var.xval = var.xval + 1 set var.yval = -39 while var.yval != -54 set var.yval = var.yval - 1 G1 X0.00 Y{var.yval} F9000 G4 P100 G1 X{var.xval} Y{var.yval} G4 P100 echo "X" , var.xval , "Y" , var.yval
I ran this with my standard settings, but couldn't discern any particular extra noise from Z. My standard settings are not far from yours:
M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation M92 X87.49 Y87.49 Z87.49 E419.00 ; Set steps per mm (MXL belt, 18 tooth pulley) M566 X1200.00 Y1200.00 Z1200.00 E1200.00 ; Set maximum instantaneous speed changes (mm/min) M203 X15000.00 Y15000.00 Z15000.00 E9000.00 ; Set maximum speeds (mm/min) M201 X4000.00 Y4000.00 Z4000.00 E4000.00 ; Set accelerations (mm/s^2) M906 X800.00 Y800.00 Z800.00 E1200.00 I30 ; Set motor currents (mA) and motor idle factor in per cent
One thing I noticed is that you have the jerk and acceleration set to the 'same' value. Obviously one is mm/min, the other is mm/s^2:
M566 X1200.00 Y1200.00 Z1200.00 E300.00 ; set maximum instantaneous speed changes (mm/min) M201 X1200 Y1200 Z1200 E3000 ; set accelerations (mm/s^2)
I set my acceleration the same as yours, and reran the test. I think I can hear extra noise from the Z motor (doesn't seem to come from the other two motors) on direction changes, that doesn't seem to be there at the faster acceleration, but I can't be sure, it could just be the linear bearings sticking a bit at the lower speed, and it seemed to be across all movement. Could you try either reducing jerk or increasing acceleration, and see if it makes a difference?
Ian
-
@droftarts thanks. I'm out of reach of the machine for a couple of days, so it will be a little while. I don't think you'd miss the clunk if it occurred - it's enough to make the print head visibly quiver on my printer.
-
@droftarts I've tried playing with accelerations, and there's a clear correlation, but not a helpful one (not one that lets me avoid the clunk).
To recap: with accelerations = 1200, at Y=-65, it doesn't clunk for movements to X=12 to X=26 inclusive, but does for all other coordinates.
I've tried various other accelerations and there is clearly a correlation. This is maximum (orange) clunk-free movement and minimum (blue) clunk-free movement against acceleration. So no clunk between the lines, but clunks outside them.
(at A = 300 I can't detect any movement at all at the lower limit, clunking or not)I note that you refer to bearings sticking - I have none, the motor clunks with nothing connected, so I'm confident it's not mechanics-related (i.e. not bearings, belts, interference, etc).
I've taken a video to show the difference between clunk and noclunk - there's no mistaking whether it clunks or not, the video is playing a move to 26, then one to 27, then one to 26, then one to 27. This is with the original 1200 acceleration where 27 clunks and 26 does not: https://vimeo.com/955477735
; test clunking for varying coordinates G1 X0.00 Y-65 F9000 G4 P100 G1 X26 Y-65 G4 S3 G1 X0.00 Y-65 F9000 G4 P100 G1 X27 Y-65 G4 S3 G1 X0.00 Y-65 F9000 G4 P100 G1 X26 Y-65 G4 S3 G1 X0.00 Y-65 F9000 G4 P100 G1 X27 Y-65 G4 S3
-
If you swap the motors around does it follow the motor or the driver?
-
I remember I had a similar problem with 3.4b6. It was fixed in 3.4b7. It was something with calculations of steps for deltas.
-
@Phaedrux it's on the Z-tower motor, regardless of which physical motor or which driver that is. I've tried three different motors and four of the drivers on the 6HC board, in various combinations, whatever is defined as Z-tower motor clunks. The motors and drivers that clunk when they are Z do not clunk when they are X or Y.
-
@achrn I'll set up a bench test with a 6HC and generic NEMA17 motors, and test standalone and SBC, using your config.g. Do you have a config-override.g as well?
Ian
-
@droftarts no, no config-override.
I've tried taking teh test case that clunks and rotating it 120 degrees about the global z-axis, and running taht to see if teh X tower motor then clunks. All teh moves are then teh same relative to X tower as teh clunking case were relative to Z tower. However, when I do that, nothing clunks.
This is my rotated test case:
; test clunking for varying coordinates ; rotated 120 degrees about Z G1 X56.292 Y32.500 F9000 G4 P100 G1 X43.292 Y55.017 G4 S3 G1 X56.292 Y32.500 F9000 G4 P100 G1 X42.792 Y55.883 G4 S3 G1 X56.292 Y32.500 F9000 G4 P100 G1 X43.292 Y55.017 G4 S3 G1 X56.292 Y32.500 F9000 G4 P100 G1 X42.792 Y55.883 G4 S3
-
@achrn said in delta Z motor goes clunk, regardless of motor or driver:
It's MB6HC (with toolboard) in SBC mode (Pi 4) running bookworm DuetPi and 3.5.1 firmware. It also clunks with 3.4.2 firmware and an older DuetPi.
Have you tried in standalone mode? Would you be able to go back through firmware versions to see if there is one were it doesn't happen? Totally understand if that's too much testing to try.
-
@achrn Okay, I set up a bench test with a 6HC on 3.5.1 with 3 large NEMA stepper motors, running standalone. I ran the clunking test from your post here https://forum.duet3d.com/post/340420
I get the rough/clunking Z move on the 4th and 8th move of that macro, just like your video. I noticed you were running input shaping, and the clunk disappears as soon as I turn this off withM593 P"none"
and rerun the test. So looks like an input shaping issue. I didn't try any other changes to your config.g. I'll report it to @dc42 for investigation.Ian
-
@droftarts Aha! Excellent, thank you. I was just about to figure out how to try it standalone, following @Phaedrux 's request. I confirm that if I run mine SBC mode without input shaping I have no clunks. Since the cause has been narrowed this far and repeated by someone else, I'm not inclined to work back through old firmware versions, unless really likely to make teh difference between solving it and never resolving it, but I could try some older versions if it will make a big difference to tracking down the problem - please let me know.
Input shaping as the 'cause' stacks up because I only relatively recently put on a toolboard, and it's only when I got the toolboard (with the accelerometer) that I enabled input shaping. So although I hadn't made the connection that that's when clunks started, with hindsight it's very credible it was at about that time. I don't run it fast enough to really need input shaping anyway - the quality enhancement is debatable, and it's more a case of enabling it because it's there, so disabling it is not a hardship.
Thanks everyone for input, I'm now clunk free (though I also have a printer in pieces, so I need to spend some time re-assembling).
-
It occurred to me to check some other input shapinng:
M593 P"zvd" F37
clunks more softly and at different movements: in the 1200 acceleration case (which clunks under zvddd other than 12-26) it clunks for movements above xval=22M593 P"zvdd" F37
clunks intermediately loudly, but at different movements: in the 1200 acceleration case (which clunks under zvddd other than 12-26) it clunks other than xval=8-24So I also tried varying teh frequency
M593 P"zvddd" F74
andM593 P"zvddd" F18
both clunk and not-clunks differently toF37
-
@achrn Thanks. I've raised an issue for this on Github: https://github.com/Duet3D/RepRapFirmware/issues/1015
Ian