Does M574 S4 work ?
-
After trying numerous different ways to define my Z axis and in the absence of other input I can only conclude that the S4 when applied to a single axis with multiple motors doesn't work.
Currently I have no choice but to manually drive the Z axis manually and disable stall detection on it.
-
I wonder if this one works now? I encountered a similar problem with S4 command on my triple motor Z axis bed.
-
@astrn said in Does M574 S4 work ?:
I wonder if this one works now? I encountered a similar problem with S4 command on my triple motor Z axis bed.
What firmware version are you running?
-
What board do you have? It's labeled as Duet 3 but you're still running RRF2? Regardless you should upgrade to at least the stable branch of RRF 3.1.1
-
I'd forgotten about this one entirely - well almost entirely- I've never had to mechanically zero things since so it has become something of a none issue. The three axis bed leveling works extremely well, so much so that I've never needed to.
I'm reluctant to list my config because my machine and yours may have very little in common but it is here config.g
What I would like is a live Z similar to Prusa because I'm really fighting with 1st layers at the moment - but only with PETG ... I'm still trying to figure this out - I can print PETG flawlessly on the MK3S my coreXY won't play ball.
-
@Garfield said in Does M574 S4 work ?:
What I would like is a live Z similar to Prusa
Do you mean babystepping?
-
Not entirely, we have the babysteps but once it is established some way to commit the adjustment to permanent storage - a permanent Z offset so that I don't need to mess around in the slicer and can send to either printer. I currently have a Fusion360 drawing I use that is essentially just a series of lines, I have one that is a series of squares all 1 layer in height, partly visual and also measured.
Problem with materials like PET-G is avoiding nozzle pickup / contamination and getting a good lay down of the 1st layer. If you apply an offset as recommended with PETG i.e. -.2mm 'printing in air' the first layer flat out doesn't work, if you lay down at the prescribed layer height i.e. 0.15 the filament builds up on the nozzle. if you babystep in 0.02 increments you can prevent the filament build up but then a 0.2mm layer becomes 0.26.
Once I've baby stepped to a level that works I'd like to store it as a permanent offset in the machine against the currently loaded filament so that I don't need to mess around in the slicer.
-
but you can just add
G31 Z<new offset>
to your filament config.is that not what you want?
-
No that isn't what I require. I do not want to interfere with the trigger height.
I want to add a permanent offset to printed Z co-ordinates, basically if I print a layer height of 0.15 I need the head to be at 0.23. Yes I can set this in the slicer, no I don't want to so that I have a minimum number of adjustment needed to send to any of my printers.
My trigger height and the machine are 100% accurate, verified with feeler gauges, I do not want to mess with those, I could theoretically adjust the trigger height but then it isn't as intuitive as simply applying an offset + or -
-
ok then just set the babystepping in the filament config
https://duet3d.dozuki.com/Wiki/Gcode#Section_M290_Baby_stepping
-
This isn't the same thing - I don't want to adjust the babystep increment - if I run a test where I use babysteps to get things to where I need them I then need an option via 'M500' or something to set the established co-ordinate offset - this needs to happen with the printer running.
Run test print, babystep until settings are where you require 'save' - this is no different to setting a zero point on a lathe or CNC with an edge finder - you don't need to mess with the machines base configuration and it becomes 'per filament' without the need to manually edit files. It could be done as an adjustment to the trigger height but I think it more intuitive if it just offsets the Z co-ordinate.
-
@Garfield said in Does M574 S4 work ?:
becomes 'per filament'
yes use the filament config as i said.
https://duet3d.dozuki.com/Wiki/Filaments -
Aware of but that isn't what I'm asking for ..
Consider
G31 P1 X-21 Y0 Z0.868 C0.002 S29 H3
This shows the trigger height for 'normal' - and it is really the trigger height, if I move Z -0.868 the nozzle tip touches the bed 'just'. Thus Z0 really is 0.
To use G31 P1 X-21 Y0 Z0.768 C0.002 S29 H3 will provide a +0.1 offset - but it is a fake and any baby stepping isn't really working around 0 it is based off a fake zero and Z0 is actually 0.1 which is fine.
If I set this to G31 P1 X-21 Y0 Z0.968 C0.002 S29 H3 then Z0 is actually -0.1 which is below the bed surface - the machine will be able to violate the bed surface - I've no intention of destroying any more beds because of this. My Z0 because of the machine architecture cannot be a 'hard' stop.
Just hypothetical of course - trying to explain why I want an offset from Z - I don't want to confuse the machine with regards where absolute 0 really is 'Z0' will be below the bed surface with the last G31 line. If I screw around with babystepping with a false trigger point I could create the same problem.
My Z0 needs to remain a rigid boundary to protect the machine from my stupidity. I need an offset that maintains Z0 integrity.
-
so additionally set the M208 Z0.1 S1 in this case.
-
Agreed but do you see where this is going - now you have two settings to deal with.
None of which can be updated with a simple command post babystepping - there is no OK I'm happy with that save the results and apply permanently - M500 type stuff. M500 stores in the config-override and not against the currently loaded filament.
-
@astrn said in Does M574 S4 work ?:
I wonder if this one works now? I encountered a similar problem with S4 command on my triple motor Z axis bed.
I have tested M574 X1 S4 on a Duet WiFi with 3 X motors connected, and it is working as intended.