g1/g2/g3 error but I can't identify it?
I'm doing the first alignment prints on my Duet 3 IDEX build, but I'm getting an error that I just can't chase down.
"Error: G1/G2/G3: intermediate position outside machine limits" is the specific message I receive.
I tried chopping up my gcode into pieces, and I get 23 instances of this error at the very end of the following first 500 lines of the gcode file. The errors all occur after the attempted tool change, and these are the offending lines.
T1 ; Filament gcode G1 E-8.00000 G1 X87.718 Y126.831 F15000.000 G1 E8.00000 F7200.000 ;TYPE:Skirt ;WIDTH:0.42 G1 F1800.000 G1 X87.495 Y125.218 E0.04850 G1 X87.500 Y94.648 E0.91057 G1 X87.647 Y93.481 E0.03505 G1 X87.975 Y92.350 E0.03505 G1 X88.475 Y91.285 E0.03505 G1 X89.135 Y90.312 E0.03505 G1 X90.211 Y89.218 E0.04569 G1 X91.480 Y88.368 E0.04549 G1 X92.901 Y87.791 E0.04569 G1 X94.410 Y87.515 E0.04569 G1 X125.007 Y87.492 E0.91137 G1 X126.347 Y87.613 E0.04007 G1 X127.637 Y87.970 E0.03987 G1 X128.843 Y88.550 E0.03987 G1 X129.933 Y89.339 E0.04007 G1 X130.864 Y90.310 E0.04007 G1 X131.603 Y91.426 E0.03987 G1 X132.135 Y92.662 E0.04007 G1 X132.437 Y93.966 E0.03987 G1 X132.508 Y94.985 E0.03042 G1 X132.501 Y125.332 E0.90392 G1 X132.356 Y126.506 E0.03525
Here's my config.g:
; Configuration file for Duet 3 (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Tue Jun 08 2021 18:16:58 GMT-0500 (Central Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Duet 3" ; set printer name G4 S5 ; PAUSE FOR EXPANSION BOARD BOOT ; Drives M569 P0.0 S0 ; physical drive 0.0 goes BACKWARDS M569 P0.1 S1 ; physical drive 0.1 goes forwards M569 P0.2 S0 ; physical drive 0.2 goes BACKWARDS M569 P0.3 S0 ;DRIVE 3 GOES BACKWARDS M569 P0.4 S1 ;DRIVE 4 GOES FORWARDS M569 P0.5 S1 ;DRIVE 5 GOES FORWARDS M569 P1.0 S1 ; physical drive 1.0 goes forwards M569 P1.1 S0 ; physical drive 1.1 goes BACKWARDS M569 P1.2 S1 ;DRIVE 1.2 GOES FORWARDS M584 X0.0 U0.5 Y0.1 Z0.2:0.3 E1.0:1.1 ; set drive mapping ADDED U AND Z2 AXES M671 X-25:245 Y0:0 S0.5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis M350 X64 U64 Y64 Z16 E64:64 I1 ; configure microstepping with interpolation ADDED U AXIS M92 X320.00 U320.00 Y320.00 Z800.00 E1650:1650 ; set steps per mm ADDED U AXIS M566 X900.00 U900.00 Y900.00 Z60.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min) ADDED U AXIS M203 X10000.00 U10000.00 Y10000.00 Z500.00 E1200.00:1200.00 ; set maximum speeds (mm/min) ADDED U AXIS M201 X1500.00 U1500.00 Y1500.00 Z30.00 E375.00:375.00 ; set accelerations (mm/s^2) ADDED U AXIS M906 X1600 U1600 Y1600 Z1360 E560:560 I30 ; set motor currents (mA) and motor idle factor in per cent ADDED U AXIS M84 S30 ; Set idle timeout ; Axis Limits M208 X-30.7 U0 Y-10 Z0 S1 ; set axis minima M208 X230 U254 Y220 Z250 S0 ; set axis maxima ; Endstops M574 X1 S1 P"io1.in" ; configure active-high endstop for low end on X via pin io1.in M574 U2 S1 P"io4.in" ; ADDED U AXIS ENDSTOP AT HIGH END M574 Y1 S1 P"io2.in" ; configure active-high endstop for low end on Y via pin io2.in ; Z-Probe M558 P8 C"io7.in+io7.out" H3 F300 T24000 ; set Z probe type to P8 FOR IR PROBE and the dive height + speeds G31 P50 X-30 Y0 Z2.1 ; set Z probe trigger value, offset and trigger height M557 X25:195 Y25:195 S17 ; define mesh grid ; Heaters M308 S0 P"1.temp0" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin 1.temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 R0.434 C246.1 D6.38 S1.00 V24.0 ; BED HEATER SETTINGS M140 H0 ; map heated bed to heater 0 M143 H0 S115 ; set temperature limit for heater 0 to 115C M308 S1 P"temp0" Y"pt1000" R2200 ; configure sensor 1 as PT1000 on pin temp0 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 R1.581 C270.2 D5.12 S1.00 V24.0 ; disable bang-bang mode for heater and set PWM limit M143 H1 S250 ; set temperature limit for heater 1 to 250C M308 S2 P"temp1" Y"pt1000" R2200 ; configure sensor 2 as PT1000 on pin temp1 M950 H2 C"out2" T2 ; create nozzle heater output on out2 and map it to sensor 2 M307 H2 R1.436 C261.8 D8.59 S1.00 V24.0 ; disable bang-bang mode for heater and set PWM limit M143 H2 S250 ; set temperature limit for heater 2 to 250C ; Fans M950 F0 C"1.out3" Q500 ; create fan 0 on pin 1.out3 and set its frequency M106 P0 S1 H1:2 T45 ; set fan 0 value. Thermostatic control is turned on M950 F1 C"out4" Q500 ; create fan 1 on pin out4 and set its frequency M106 P1 S1 H-1 ; set fan 1 value. Thermostatic control is turned off M950 F2 C"out5" Q500 ; create fan 2 on pin out5 and set its frequency M106 P2 S1 H-1 ; set fan 2 value. Thermostatic control is turned off ; Tools M563 P0 S"E0" D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C M563 P1 S"E1" D1 H2 X3 F0 ; define tool 1 ADDED X3 TO MAP U AXIS TO X AXIS G10 P1 X0 Y-0.6 Z0.265 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C M563 P2 S"DUPLICATE" D0:1 H1:2 X0:3 F0 ;ADDED DUPLICATE TOOL G10 P2 X40 Y0 U-40 ;SET OFFSETS TO KEEP CARRIAGES 80MM APART G10 P2 S0 R0 ;SET STARTING AND STANDBY TEMPS TO 0C M567 P2 E1:1 ; set mix ratio 100% on both extruders ; Custom settings are not defined ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue
I think it has something to do with the Z offset on the U axis? After those 500 lines, E1 has not moved at all, despite having 23 moves at the end of the file. (Same number of moves as I get errors...)
Also, if I try to switch to tool 1 when I've deselected tools after the print, a new error comes up, this time it reads:
Error: New tool too close to Z axis limit. Aborting tool change"
What am I missing? It seems like there's should be an obvious solution but I'm too dense to see it.
@terbospaghetti what does the Z coordinate read in DWC when you get these errors?
@terbospaghetti what happens if you change the lower Z axis limit from 0 to -1 in yur M208 command? I think the Z offset of 0.265mm for the second tool is stopping the print head going low enough, because at 0.2mm commanded Z height it would need to go to -0.65mm machine height.
@dc42 that seems to have done the trick! Thank you
o_lampe last edited by
X3 is correct, it means map the X axis to axis #3 which is U.
jltx last edited by
I'm not sure if this is a bug in 3.3 but was unexpected. I was running into same trouble as terbospaghetti expect while using baby stepping from DWC. It would take my command and update the Z offset in the display without actually accomplishing the move. I later saw the error messages in the console. But the odd behavior was that some Gcode streaming from the SD card would get dropped. I was adjusting Z during the skirt and suddenly it would jump into the part first layer. Then in the part I could get it to skip some moves if I produced too many errors from baby stepping.
@jltx that sounds as if it could be a new bug in RRF 3.3. Movement is handled by a separate Move task in 3.3, so it's quite possible that failure to sync the Main task (which does babystepping) and the Move task is the problem. I've added it to the investigations list.