Duet 3 mini 5+ sensorless homing will not work
-
@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. -
@Alucardi said in Duet 3 mini 5+ sensorless homing will not work:
@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?
Yes.
When the end stop is activated the firmware needs to set the axis position - but where does it get that information from?
It gets the value from the M208 command which specifies the min and max for that axis - but which value does it use, the min or the max?
The M574 command for that axis specifies where the end stop is located. If it specifies the low end the min value from M208 is used. If it specifies the high end the max value from M208 is used.
It's a bit confusing because one piece of information is in the M574 command and the other piece is in the M208 command.
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?
In your Duet 2 config file you have this M574 X1 Y1 S1 which specifies low end for both X and Y
But in your Duet 2 homing file you have this M574 X1 Y2 S3 which now specifies low end for X and high end for Y.
Later on in that same file you have G1 S1 X-400 F3000 which correctly moves X towards the low end and G1 S1 Y400 F3000 which correctly moves Y towards the high end.
When you moved to the Duet 3 you kept the G1 commands but changed the specified position of the X end stop, from low end to high end.
But I will test to set x to low end in a bit.
Thanks.
Frederick
-
@fcwilt BINGO!!! Issue was me not understanding the low and high setting. On my old duet config i had M574 set to X1 Y1 in my config and in homeall i had it M574 X1 Y2.
Now on to why probe don't recognize it being triggered It might be a wire that is connected wrong.
-
@Alucardi said in Duet 3 mini 5+ sensorless homing will not work:
@fcwilt BINGO!!! Issue was me not understanding the low and high setting. On my old duet config i had M574 set to X1 Y1 in my config and in homeall i had it M574 X1 Y2.
Now on to why probe don't recognize it being triggered It might be a wire that is connected wrong.
Do you have your deployprobe.g and retractprobe.g files in place with the correct M280 commands?
Frederick
-
@fcwilt no I do not ️ There is not It much documentation setting up a probe on the mini. I guess some stuff changed but should be able to use same as on my duet 2? It was not running 3.xx though just 2.xx
-
@fcwilt i did have them not sure if the are correct or not but they was setup by the configurator.
in deployprobe i have
M280 P0 S10
in retractprobe i have
M280 P0 S90