Unexepected Head movement after 1.19 update
-
PS:
2. To help diagnose this, please can you paste the gcode extract you provided in your first post into a file, then comment out the T0 line and all the following ones, by putting a semicolon at the start of each line. Try printing that file and see if the problem occurs. If it doesn't, then un-comment the T0 command, print the file again and see if it occurs. Let us know the results.Results of that test:
-
with T0 commented out: There is no X-axis crash, the part prints normally
-
with T0 re-enabled: The head crashes at max X-axis
So my question is, do I need that T0? What is its purpose?
The top of the gcode looks like this, (with T0 enabled)
[[gcode]] M107 M190 S57 ; set bed temperature G28 ; home all axes (if axis shifting bug is fixed!) G32 ; execute bed Z-plane compensation at bed.g 4 points G10 P0 X-16 Y-3 Z0.0 S-273 R-273 ; set extruder x,y offsets M83 ; set extruder to relative mode G10 P0 S195 R-273 ; Set tool 0 operating and standby temperatures T0 ; select tool ZERO G21 ; set units to millimeters G90 ; use absolute coordinates M83 ; use relative distances for extrusion G1 E-3.50000 F2400.00000
-
-
What's happening is that your last bed probe point leaves the head at X=148 from the 4th bed probe point; then you add a -16mm offset in the G10 command. So to be at 148mm in user space, the head has to move to 148-(-16) = 164mm. When it tries to move there, I presume that is beyond the physical bounds of your printer.
I suggest you work on getting the M208 offsets working. If you printer homes to Xmin and Ymin then it's the low end axis limits that you need to modify, which you do using M208 S1. For example, if your X homing switch triggers when the nozzle is 5mm off the low end of the bed, that's a -5mm offset, so M208 S1 X-5 will tell the firmware this. If also your Y axis triggers when the nozzle is 3mm off the low end of the bed, that's a -3mm offset, so use M208 S1 X-5 Y-3.
When you have the low end offsets set correctly, after homing if you send G1 X0 Y0 then the nozzle should be over the corner of the bed. Now find out how high X and Y can go before they hit the mechanical stops. Set the M208 S0 X and Y values slightly lower than those X and Y values.
HTH David
-
Thank you for that explanation. Tomorrow, I will try to set that up.
But just to be clear, what is the exact order of the commands, and do i put them in each file that I print, or somewhere in the config?
Currently, I have to reset the printer to cancel the offsets when starting a new print, otherwise they will add together.
But, why has this behaviour changed in release 1.19?
And why not just remove T0 from the file?
-
The M208 commands go in config.g.
You could remove the T0 command assuming you also have T0 in config.g, but you would still need to reset the printer before each print. Also the slicer may generate T0. Using M208 to set axis limits instead of using tool offsets will remove the need to set tool offsets.
The behaviour has changed because the previous behaviour caused serious problems with IDEX printers.
-
Thanks for all this help.
I'm sorry to be so dumb, but I don't understand what you are suggesting.
I remove all the offset commands from the gcode files that I print?
then, in those files I Home all axis, then set the lower limits asG28
M208 S1 X-16 Y-3 Z0and what values to give for the upper limits?
but now where will the head go when I tell it to do the bed compensation at these points?
X38 Y0
X38 Y130
X148 Y130
X148 Y0In other words, how are the x,y values affected by the limits?
I'm so sorry, but I really don't understand what you are suggesting…
Thanks so much for your help, I really do appreciate it.
Cheers,
Bob -
Once you have set the lower limits, homed the printer, and checked that X=0 Y=0 is the
centrecorner of the bed, see how far you can move each axis before it gets too close to the mechanical stop. For example, on my Ormerod I can do G1 X215 and it places the head just before mechanical stop at the top of the X axis; so in my M208 S0 command the X parameter is 215.Your bed probing positions will need to be defined relative to the corner of the bed. So in your example, you should add 16mm to the X coordinates and 3mm to the Y coordinates of the G30 commands in bed.g.
I've already told you that the M208 commands go in config.g. You don't need any offset command in your print files. You can keep the G28 homing commands in your print files if you wish.
HTH David
-
Ok, I'll try that tomorrow..
But shouldn't X=0, Y=0 be the left lower corner, not the center of the bed?
I still don't really understand how the limits and the homing interact, though.
If I put this in the config.g (my bed is 140x140):
M208 S0 X-16 Y-3 Z0
M208 S1 X155 Y142It will work as expected?
Then run homing, what will the extruder be set to the corner of the bed? And what will be the x,y position ? 0,0 or 16,3?
This would be so easy to explain if we were face to face.
Anyway, tomorrow is another day.
Thanks again,
Ciao,
Bob -
Yes of course I meant corner. xy position 0,0 will place the nozzle at the corner of the bed. When the X endstop switch is triggered during X homing, the X position will be set to -16.
-
I have now tried to use M208 but this does not seem to work as suggested.
After startup, I manually entered:
[[gcode]] M208 S1 X-16 Y-3 Z0
Then ran X and Y homing.
The Web display says the printer is at (X,Y) = (0,0) not (-16, -3) as expected.
I also tried to put the M208 S1 in the config.g, reboot and got the same result.
Am I doing something wrong? Or did I misunderstand?
Thanks again, and so sorry to be do dumb…
-
Please share your homex.g, homey.g and homeall.g files. I have a feeling that you may have G92 commands in them that prevent M208 working as it should.
-
Indeed, the problem in the homing files.
In fact, I have now updated the following sys files:
-
config.g
-
bed.g
-
homex.g
-
homey.g
-
homez.g
-
homeall.g
I also updated my slicer pre and post print gcode in accordance with what I learned in this discussion.
The result is that all problems are solved!
I did a test print and it worked perfectly!
Thanks to everyone!
With my most sincere appreciation,
Ciao,
Bob -