Duet 3 mini 5+ sensorless homing will not work
-
This might be one thing that cause my issue. Changed to X2 and Y2 and it seem to work.
; Endstops M574 X1 S3 ; configure sensorless endstop for low end on X M574 Y1 S3 ; configure sensorless endstop for low end on Y M574 Z1 S2 ; configure Z-probe endstop for low end on Z
-
All these posts and we forgot to verify what firmware you were using?
That's a bit embarrassing.
Frederick
-
@fcwilt not firmware issue it was endstop issues. Card was on rc2 when it came, sensorless homing worked then.
I had this code though M574 X1 S3 but it should be M574 X2 S3. Now it homes x and y. Still get G28 homing failed though. After X and y it just sits there. Will not issue a move to center of the plate. So if you have any input on my z homing sequence that would be awesome. Z axis is reported as homed though. -
@Alucardi said in Duet 3 mini 5+ sensorless homing will not work:
So if you have any input on my z homing sequence that would be awesome. Z axis is reported as homed though.Do you still have this line of code:
G30 P0 G1 X167.5 Y167.5
Frederick
-
@fcwilt yes i do.
-
@Alucardi said in Duet 3 mini 5+ sensorless homing will not work:
@fcwilt yes i do.
OK then that is likely the problem.
You need to use G30 by itself.
Unfortunately G30 without a P parameter does not respect the X and Y parameters.
So you have to precede the G30 with a G1 command to move the probe to the correct XY location.
For my printer X=0 and Y=0 is the center of the bed so I can simply use the following G1 command:
G1 X{-sensors.probes[0].offsets[0]}, Y{-sensors.probes[0].offsets[1]}, F6000
to move the probe to the center of the bed.
A somewhat more complicated formula can be constructed for printers where X=0 and Y=0 is NOT the center of the bed.
Frederick
-
@fcwilt I did add and try this. But it just sit at 0 and then say z is homed. It does not even push the probe out.
G1 H1 X167.5 Y167.5 G30 P0 ; home Z by probing the bed
-
@Alucardi said in Duet 3 mini 5+ sensorless homing will not work:
@fcwilt I did add and try this. But it just sit at 0 and then say z is homed. It does not even push the probe out.
G1 H1 X167.5 Y167.5 G30 P0 ; home Z by probing the bed
Remove the H1 and the P0
Frederick
-
@fcwilt I works kinda, not moving the axis though.
-
@Alucardi said in Duet 3 mini 5+ sensorless homing will not work:
@fcwilt I works kinda, not moving the axis though.
You mean it is not moving the probe to the center of the bed?
I'm guessing X167.5 and Y167.5 are the center.
Does the bed get probed?
Thanks.
Frederick
-
@fcwilt Whit this code it will just sit in the back corner where i home the printer:
G1 X167.5 Y167.5 F5000 G30 ; home Z by probing the bed G90 ; absolute positioning M400 ; finishes all current moves and and thus clears the buffer M569 P0.0 D2 ; restore default for motor M569 P0.1 D2 ; restore default for motor M913 X100 Y100 ; return current to 100% M400 ; finishes all current moves and and thus clears the buffer
With this code it will at least move the Y axis and deploy the probe. But it will not detect that probe is activated. If i add - to X it will not move
G1 X167.5 Y-167.5 F5000 G30 ; home Z by probing the bed G90 ; absolute positioning M400 ; finishes all current moves and and thus clears the buffer M569 P0.0 D2 ; restore default for motor M569 P0.1 D2 ; restore default for motor M913 X100 Y100 ; return current to 100% M400 ; finishes all current moves and and thus clears the buffer
On my old setup it homed up in the back left corner but 0 was in the closest left corner. Not sure how to set this up. That might be why coordinates do not work as they used to. I will add my old home all and config for you to compare if you want.
mini 5+ homeall.g mini 5+ config.g Duet 2homeall.g Duet 2config.g
-
OK to be safe move the G90 to BEFORE the G1
And use X167.5 and Y167.5 as in the first example you posted.
Then try again.
Frederick
-
@fcwilt Using this code with or without a - sign makes it just sit in the corner and motor just rams the corner. I also edited my other post. Please read it.
G90 ; absolute positioning G1 X167.5 Y167.5 F5000 G30 ; home Z by probing the bed
-
@Alucardi said in Duet 3 mini 5+ sensorless homing will not work:
@fcwilt Using this code with or without a - sign makes it just sit in the corner and motor just rams the corner. I also edited my other post. Please read it.
When trying to move to X167.5 Y167.5 has the motor current perhaps been set so low that it is not adequate to run the steppers?
A more basic question is have G1 moves ever worked correctly? Do the move in the expected direction?
I downloaded the files but it will take sometime to compare them.
I did notice that for the Duet2 you defined the X and Y endstops to be at the low end of the axes which you changed for the Duet3 to be at the high end.
Was the intentional?
-
@fcwilt did not work until I did that. As soon as I switched to high it worked for x and y axis.
It was such a long time since I compiled the configs I don’t remover all I did. I have not updated to 3.0. Prolly over a year since I did that config. -
@Alucardi said in Duet 3 mini 5+ sensorless homing will not work:
@fcwilt did not work until I did that. As soon as I switched to high it worked for x and y axis.
OK I can see that happening.
Back to the other question: Ignoring the homing issue for now - do basic G1 moves work as expected?
I ask because in your Duet 3 config.g file you have this:
; Endstops
M574 X2 S3 ; configure sensorless endstop for low end on X
M574 Y2 S3 ; configure sensorless endstop for low end on YBut X2 and Y2 specify high end - which is fine and perhaps just the comment is wrong.
However in your Duet 3 homeall.g file you have these lines:
G1 H1 X-400 F3000 ; move to X
G1 H1 Y400 F3000 ; move to Y
If the M574s are correct both G1 moves should be toward the high end but the X move is toward the low end.
That doesn't seem correct.
Can you use the X and Y jog buttons on the DWC to verify that + and - moves are in the right direction?
Frederick
-
@fcwilt it is just the text that is wrong. I have not not spent time cleaning it all up until i get it to work as it should.
After running M564 H0 i can jog the axis around. Looking at the printer in the far back left corner is where it homes. Jogging -x it moves to the left and jogging y- it moves towards me.
-
@Alucardi said in Duet 3 mini 5+ sensorless homing will not work:
@fcwilt it is just the text that is wrong. I have not not spent time cleaning it all up until i get it to work as it should.
After running M564 H0 i can jog the axis around. Looking at the printer in the far back left corner is where it homes. Jogging -x it moves to the left and jogging y- it moves towards me.
OK good - if the jogging works then the basic kinematics are correct.
However as to the homing...
When, say, a G1 H1 Xnnn is used to move toward an endstop when the endstop is activated the current position of the X axis is set to the axis min or max depending on the specified location of the endstop, low end or high end.
With a physical endstop sensor if the G1 moved in the wrong direction the endstop sensor would never be activated and it would just reach the limit of motion and probably make unpleasant noises.
But with sensorless endstops you effectively have a sensor at either end of the axis since the movement can reach the limit in either direction and generate the stall condition.
So you have the X endstop set for the high end (M574 X2 S3) but you are moving towards the low end (G1 H1 X-400)
Perhaps the firmware doesn't notice this and when it stalls at the low end it sets the X position to X max?
Can you jog X and Y to the middle of the bed and home just X? I want to see what the result is. Does it home and stall as expected? Does it set the X position to X min or X max?
Thanks.
Frederick
-
Well I went and tested homing using a switch I could activate as a X axis end stop sensor.
Relevant settings:
M208 X-999:999 ; X axis range from -999 to 999 M574 X1 S1 ; X axis end stop at low end using a switch
I did the following for my first test:
- reset the board with M999.
- tried to "home" the X axis with G91 G1 H1 X-999 G90: X axis stepper started turning
- activated the end stop switch: X axis stepper stopped - X position set to -999
I did the following for my second test:
- reset the board with M999.
- tried to "home" the X axis with G91 G1 H1 X999 G90: X axis stepper started turning
- activated the end stop switch: X axis stepper stopped - X position set to -999
So regardless of which way I moved on the X axis (toward -999 or +999) the end stop switch terminated the move and set the X position to X min as controlled by the M574 settings
So I'm pretty sure one of the problems you are having is homing X toward the low end (G1 H1 X-400) instead of the high end (G1 H1 X400).
X ends up positioned at the low end of the X axis, whatever that physically is, but the firmware "thinks" it is at X max which according to your config.g file is X=330.
Frederick
-
@fcwilt so that is what high and low end means? It just tells us if it is going to the end of the axis or start of the axis. Like say my XY 0 are towards me in the left corner, which in fact should mean x should be low end and y should be high end. Cause I want it to home on the low end of x but high end on the y axis right?
But what I don’t get is that was working on my old card with booth at low end ️ Could it be that I swapped the motors around on the card? Since it is a coreXY it could be possible right?
But I will test to set x to low end in a bit.