Duet 3 mini 5+ sensorless homing will not work
-
@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
-
@Alucardi said in Duet 3 mini 5+ sensorless homing will not work:
@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
That looks good.
I haven't gotten to testing a BLTouch yet. It seems like it will be cleaner than with the Duet 2 as the five IO connectors seem to have everything needed in one connection - GND, +5V, IN and OUT.
I've got the probes on order - they should be here in a few days so I can verify how to configure one if you cannot get it sorted on your own.
Let me know.