First cut success - with questions!
-
That's very kind @fcwilt, but please don't let this spoil your evening.
I've given up for the evening, anyway
-
@Nightowl999 said in First cut success - with questions!:
userPosition is already higher than (max-5)? Would it try to move +5 anyways and hit the upper limit or stop automatically at max?
getting the "Error: G0/G1: target position outside machine limits", which
The firmware is strict for laser/CNC mode to stop with the error if the target is not reachable. This is different to 3D printer mode, where it prints the adjusted range.*)
If your X and Y ranges are ok, then maybe the program wants to lift Z more than the M208 upper limit of 100. To analyse, the line which produces the error should be identified and the current position from M114 Count value and M92 setting.
*) for someone who is interested in the code: GCodes.cpp
case LimitPositionResult::adjusted: case LimitPositionResult::adjustedAndIntermediateUnreachable: if (machineType != MachineType::fff) { err = "G0/G1: target position outside machine limits"; // it's a laser or CNC so this is a definite error return true; } ToolOffsetInverseTransform(moveState.coords, moveState.currentUserPosition); // make sure the limits are reflected in the user position if (lp == LimitPositionResult::adjusted) { break; // we can reach the intermediate positions, so nothing more to do } // no break
adjusted stops for laser/CNC, but is accepted for 3D printers.
-
I wouldn't know the first thing about code, @joergs5, but I'll take a look at the Z height.
If it's relevant, the Z axis configuration sets the physical drive for Z as 'backwards'...
M569 P0.3 S0 ; physical drive 0.3 goes backwards - Z axis
...with the Z minima/maxima set at 0/100.
I'm not sure I fully understand what you're suggesting, but I'd be happy to run the code, if you could tell me exactly how!
Vielen dank.
-
@nightowl999 the first thing would be to find the line which produces the first error message and then proceeding the lines before and then
- run M114 and notify the Count values (the first being X position, second y, third Z)
- then tell me the count value and M92 and the G0/G1 command which fails. I'll tell you how to calculate and hope to give you an answer for the error
- if you want to verify homing, please home and after homing, run M114 and notify count values as well
To avoid ruining your workpieces, there is a simulation mode which should be possible to use. I didn't use it before, so just an idea. M37, but I don't know it, but maybe valuable to find the error line.
-
@JoergS5 Thank you.
Before homing, M114 reports the following:
X:0.000 Y:0.000 Z:0.000 E:0.000 Count 0 0 0 Machine 0.000 0.000 0.000 Bed comp 0.000Just a moment, and I'll home it...
-
@JoergS5
After homing, it's:
X:547.000 Y:784.000 Z:97.000 E:0.000 Count 218800 313600 38800 Machine 547.000 784.000 97.000 Bed comp 0.000 -
@nightowl999 said in First cut success - with questions!:
@JoergS5
After homing, it's:
X:547.000 Y:784.000 Z:97.000 E:0.000 Count 218800 313600 38800 Machine 547.000 784.000 97.000 Bed comp 0.000The 218800 is a value from your M92 setting and the homing position. What is your M92 setting, please?
-
@joergs5 All axes are set at 400 steps per mm
-
@joergs5 ok, I think it's 218800/547 = 400.
This means, for every mm your router moves, the Count value for X will be incremented by 400. So you can always see where the firmware thinks that your router is.
Now before you start the error G0/G1 move, you can make a M114 and know where the router is. (of course the G1 before will be this position also in most cases, but to be sure...).
NB the values being all 0 at the beginning is, because firmware doesn't know where your steppers are at the beginning. This is what homing is meant for: telling the firmware where the stepper's positions are. The only reason why the firmware Count values and true stepper position may vary is if there are lost steps (M122 hiccups hight numbers will tell you).
-
@nightowl999
X:547.000 Y:784.000 Z:97.000 E:0.000 Count 218800 313600 38800
547 * 400 = 218800
784 * 400 = 313600
97 * 400 = 38800or other round, from the Count value divide by your M92 (400) and you'll get the current mm position.
-
@JoergS5
Should I move the axes to the Work XYZ first, set Work XYZ, then run M114? -
@nightowl999 said in First cut success - with questions!:
@JoergS5
Should I move the axes to the Work XYZ first, then run M114?My proposal would be to move to the last position which is ok. Then make a M114 and notify the Count values, then verify that the next command throws an error.
-
@joergs5 Sorry, I edited the question as you answered...
I've now placed the spindle at the Work XYZ (without the cutter installed!) so should I set Work XYZ then run M114?
-
M114 before setting Work XYZ...
X:37.000 Y:204.000 Z:85.000 E:0.000 Count 14800 81600 34000 Machine 37.000 204.000 85.000 Bed comp 0.000Some more information:
Since installing the spoil board, my Z height has reduced to 75mm, but I haven't changed it in the config.g file yet.M114 after setting Work XYZ...
X:0.000 Y:0.000 Z:0.000 E:0.000 Count 14800 81600 34000 Machine 37.000 204.000 85.000 Bed comp 0.000 -
@nightowl999 said in First cut success - with questions!:
M114 after setting Work XYZ...
X:0.000 Y:0.000 Z:0.000 E:0.000 Count 14800 81600 34000 MachInteresting! I was not sure, whether it will be corrected or not.
So work change (did you make it by G54?) doesn't change the count values.
I've learned here something also!
XYZ are the values from the work XYZ view, and the Machine coordinates behind are the true original coordinates. -
@joergs5
I just clicked the Work XYZ button on the Dashboard. I don't know anything about G54?? -
@joergs5
The workzero.g file has the following lines:; workzero.g
; G90 ; set to absolute positioning
G53 G1 Z{move.axes[2].max} F1500 ; raise the Z to the highest position
G1 X0 Y0 F2400 ; go directly above the work zero position
G1 Z0 F2400 ; go to the work Z zero position -
@nightowl999 said in First cut success - with questions!:
@joergs5
I just clicked the Work XYZ button on the Dashboard. I don't know anything about G54??I think it's not so important now, we want to find the reason for the error message.
One possible reason could be that the M208 limits take the XYZ values. But let's verify by you searching for the first error G0/G1. -
@joergs5 OK. Shall I load and run the file?
Actually, what I did was upload the gcode file, then right-clicked it and simulated the project, with these results:
21/05/2022, 19:54:21 File 0:/gcodes/102 Avalon Pocket_1-102 Avalon Pocket.gcode will print in 0h 14m plus heating time
21/05/2022, 19:54:19 M37 P"0:/gcodes/102 Avalon Pocket_1-102 Avalon Pocket.gcode"
Simulating print of file 0:/gcodes/102 Avalon Pocket_1-102 Avalon Pocket.gcode -
@nightowl999 said in First cut success - with questions!:
G53
G53 is to clear coordinate changes and not using any machine coordinates, so I would not run it.
https://duet3d.dozuki.com/Wiki/Gcode#Section_G53_Use_machine_coordinatesThere should be G54 to G59 somewhere else, probably in your Cut2D software.
The problem now is that I don't know your software and which commands are run. I can only help to find out the reason why there is the G0/G1 error message.