Height map does not match home position
-
Hey guys,
I did a search to see if I could find any info on how to manipulate this, but couldn't find anything that really matched my situation.
So, my machine homes to the back left, which I know is not normal, but I prefer it this way. Is there any way to get the height map to match? Also, is my current home position messing with the positions of my 3, Z lead screws?
My machine is a Ratrig Vcore3 500. I have also attached my config.
It will suck if I have to move my home switches.
-
Forgot to post the homing file. Here it is.
-
What exactly do you mean by the height map does not match the home position?
The 0,0 coordinate point and the homing position do not have to be the same place. The switches can be where ever you want.
Ideally the 0,0 point should be the front left of the machine as this preserves the right hand coordinate system used by CAD and slicer software. all other points on the machine are relative to this point.
The machine would be homed to the high end of travel at the rear right if that's where the endstops are located.
Looking at your config file it look like you're homing to the rear as if it were the low end of the axis, so your 0,0 point is rotated 180 degrees. It's find if you want to keep it that way, just orient the heightmap with that 0,0 position in mind.
Otherwise if you want to keep the 0,0 point at the front left, you'd need to change your M574 config to change X1 and Y1 to X2 and Y2.
; Endstops M574 X2 S1 P"io0.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io0.in M574 Y2 S1 P"io1.in"
Then in your homing file you'd need to flip the direction of travel from a negative move to a positive move.
-
@Phaedrux
Let me clarify, my 0,0 position for homing is back left. Height map shows front left. How do I orient the map to match my 0,0 position at the back left? I just want to correct what the height map is showing.Is there an easy way to move the 0,0 of the height map?
-
@Jered neither RRF nor DWC knows where you are standing relative to the machine, so it can't automatically rotate the height map to match your viewpoint. However, you can use the mouse to rotate the height map display in DWC, as I did to get this.
-
Here is my machine at home position:
Here is what my height map looks like when it is done:
Here is my height map if I rotate it:
Maybe this will help with ideas.
-
@Jered said in Height map does not match home position:
my 0,0 position for homing is back left.
If that’s the case, your printer is either rotated 90 degrees clockwise from ‘normal’, or is mirrored in the Y axis. 0,0 is usually front left. When you send a positive X move, does the nozzle move to the right, or towards you, when viewed from the same direction as your picture?
Ian
-
@droftarts
The picture is taken from the front of the machine. So, when I move x pos, it moves to the right from 0,0. When I move Y in the pos direction, it moves toward the camera. I have 0,0 set to the back left as pictured. The movement is correct, the height map should shows the Y at the back and not the front.If I need to move my sensors to correct this, just tell me
I like my machines to home this way, but if it is not correct, I will just change it.
-
@Jered your machine is set up using a left hand coordinate system. Your prints will come out mirrored, unless the slicer you use has an option to mirror prints and you enable it. If you really want X0 Y0 to be at the back left, then +X motion should be towards the front and +Y toward the right.
The simplest way to correct this is to move X0 Y0 to front left. You can do this by reversing the direction of Y motion and changing the Y endstop configuration to be a YMax endstop instead of YMin. You do not need to move any endstop switches.
Changing between left and right hand coordinate systems on a CoreXY machine requires swapping the X and Y motors, which you can do in the M584 command in config.g.
-
@dc42
I will move my home switches.Thanks for your help
-
@Jered you don’t need to move the switches. You can home y to the axis maximum, rather than the minimum.
Ian
-
See my post above. I describe what to change.
also see this guide for corexy setup and testing.
https://docs.duet3d.com/en/User_manual/Machine_configuration/Configuration_coreXY
-
@Phaedrux
Ok, I will have a closer look. -
@Jered There's also a description of a homing file for maximum end endstop here: https://docs.duet3d.com/User_manual/Machine_configuration/Configuration_cartesian#homing-files
See M574 for information on setting an endstop to the high end.Ian
-
One thing that would be different in my post based on what I see from your photo is that you have the switches at left and back, that would be X min, Y max. Which would be this in the config
; Endstops M574 X1 S1 P"io0.in" M574 Y2 S1 P"io1.in"
Then in your homing files the X movement would be negative, and the Y movement positive.
-X moves should go to the left, +X moves to the right
-Y moves to the front, Y moves to the backThat way the homing switches stay in the same place, but your 0,0 point becomes the front left.
That corexy guide I linked has a section on testing the motor movement to make sure things are going in the correct direction.
-
@Phaedrux
I have another question. Do you think this could also be messing with my G32 command. I have the ratrig with true bed leveling. -
Yes if the coordinate system is incorrect things may not behave how you'd expect.
-
I think I have this fixed now. I just want to make sure that the G32 comand is correct.
When this command is issued, my machine drives to the z leadscrew which is at the front right, then to the middle back, then to the front left leadscrew. Is my bed.g in the correct order?
Seems like it should starting at the closest z leadscrew to 0,0 then moving in order from there.
In other words, should P0 be closest to the 0,0 point?
Attached is my bed.g
At least this can be fixed easily if it is an issue.
-
See here: https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_auto_levelling
The order it probes them in bed.g is irrelevant but the order of the positions in the M671 command must match the order of the axis in M584.
You must use the M671 command to define the X and Y coordinates of the leadscrews. The M671 command must come after the M584 command and must specify the same number of X and Y coordinates as the number of motors assigned to the Z axis in the M584 command; and these coordinates must be in the same order as the driver numbers of the associated motors in the M584 command. The M671 command must also come after any M667 or M669 command.
-
Thank for your help guys! I think this is all sorted out. Everything seems to match now.
-
-