Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    move outside of machine limits with G2 move, in tool 2

    Scheduled Pinned Locked Moved Solved
    Beta Firmware
    4
    6
    172
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • SanderLPFRGundefined
      SanderLPFRG
      last edited by

      when printing with tool 2, I often get a "outside of machine limits" error at the first G2 movement of a Gcode, even if the moves are well within these limits. Below I attached my config, the first part of the failing code, and the console with error.

      Testing I already did;

      • The same code does print correctly with Tool 1.
      • The same model (nothing else changed) does print when arc fitting is disabled

      Could this be a bug?

      Console;

      24/01/2025, 12:04:19: Connected to one.local
      24/01/2025, 12:05:07: Connection established
      24/01/2025, 12:05:57: M32 "0:/gcodes/ONE_P-0026789 v1_0.2mm_PETG_1d13h17m.gcode": File 0:/gcodes/ONE_P-0026789 v1_0.2mm_PETG_1d13h17m.gcode selected for printing
      24/01/2025, 12:06:01: : Warning: Tool 0 was not driven because its heater temperatures were not high enough or it has a heater fault
      24/01/2025, 12:07:58: : Leadscrew adjustments made: 0.715 1.917 0.735, points used 3, (mean, deviation) before (0.464, 0.433) after (-0.000, 0.000)
      24/01/2025, 12:08:33: : Leadscrew adjustments made: 0.283 0.278 0.292, points used 3, (mean, deviation) before (0.290, 0.004) after (-0.000, 0.000)
      24/01/2025, 12:10:09: : Cancelled printing file 0:/gcodes/ONE_P-0026789 v1_0.2mm_PETG_1d13h17m.gcode, print time was 0h 4m
      
      24/01/2025, 12:10:09: : Error: in GCode file line 53: G2: outside machine limits <---------------- this is the error I mean
      

      Gcode;

      ; generated by PrusaSlicer 0.1.0 on 2025-01-23 at 14:07:14 UTC
      
      ; Speed; **
      ; Visual; **
      ; Strengh ;*****
      
      ; external perimeters extrusion width = 0.44mm
      ; perimeters extrusion width = 0.44mm
      ; infill extrusion width = 0.44mm
      ; solid infill extrusion width = 0.44mm
      ; top infill extrusion width = 0.44mm
      ; first layer extrusion width = 0.44mm
      
      M201 X7000 Y7000 Z200 E10000 ; sets maximum accelerations, mm/sec^2
      M203 X24000 Y24000 Z720 E6000 ; sets maximum feedrates, mm / min
      M204 P4000 T5000 ; sets acceleration (P, T), mm/sec^2
      M566 X480.00 Y480.00 Z120.00 E1200.00 ; sets the jerk limits, mm/min
      
      ; printing object P-0026789 v1.stl id:0 copy 0
      ; stop printing object P-0026789 v1.stl id:0 copy 0
      
      ;TYPE:Custom
      ;Prusaslicer section;
      ; Define prusaslicer variables
      
      ; called with M98 P"0:/macros/print-start" 
      M98 P"0:/macros/print-start" A220 B240 C50 D243.852 E356.148 F193.852 H306.148 I1 J"false" K"true" L"FLEX" O"PETG" Q0.4 R0.4 S150 T170
      G21 ; set units to millimeters
      G90 ; use absolute coordinates
      M83 ; use relative distances for extrusion
      ;                                                     Begin toolchange script
      
      
      
      ;                                                     End toolchange script
      T1
      ; Filament gcode
      M107
      ;LAYER_CHANGE
      ;Z:0.2
      ;HEIGHT:0.2
      ; printing object P-0026789 v1.stl id:0 copy 0
      G1 E-.7 F2100
      ; stop printing object P-0026789 v1.stl id:0 copy 0
      G1 Z1.7 F720
      G1 X272.388 Y226.982 F24000
      G1 Z.2 F720
      G1 E.7 F1500
      M204 P2000
      ;TYPE:Skirt/Brim
      ;WIDTH:0.44
      G1 F3300
      G2 X303.244 Y214.197 I27.609 J23.006 E6.30864 ;< ------------- this is line 53, gives the error
      G2 X281.929 Y218.923 I-3.136 J36.289 E.73211
      G2 X272.427 Y226.936 I18.068 J31.065 E.41247
      M204 P4000
      

      Config;

      ;------------------------------ General settings --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      
      ; Preferences
      G90             ; send absolute coordinates...
      M83             ; ...but relative extruder moves
      M550 P"one"     ; set printer name
      
      G4 S5
      
      ; Set global variables
      global leftloadedfilament = "PLA"
      global rightloadedfilament = "PLA"
      global leftnozzlesize = "0.40"
      global rightnozzlesize = "0.40"
      global variableprobel = 10000
      global variableprober = 10000
      
      ; Reset probe trigger values on reset
      
      ;------------------------------ Drive and motion --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      
      ; Drive & motion definition
      M569 P60.0 S1     								        ; physical drive 60.0 goes backwards (E1)
      M569 P61.0 S0     								        ; physical drive 61.0 goes backwards (E2)
      M569 P0.0 S0      								        ; physical drive 0.0 goes backwards (X)
      M569 P0.1 S0                                            ; physical drive 0.1 goes backwards (Y1)
      M569 P0.4 S1                                            ; physical drive 0.4 goes forwards (Y2)
      M569 P0.5 S0      								        ; physical drive 0.5 goes forwards (U)
      M569 P50.0 S0 D3   								        ; physical drive 50.0 goes forwards (V)
      M569 P51.0 S0 D3       					     	        ; physical drive 51.0 goes forwards (W)
      M569 P1.0 S0    								        ; physical drive 1.0 goes forwards (Z1)
      M569 P1.1 S0   										    ; physical drive 1.1 goes forwards (Z2)
      M569 P1.2 S0                                            ; physical drive 1.2 goes forwards (Z3)
      
      M970 X1 U1 Y1
      
      M584 X0.0 U0.5 Y0.1:0.4 E60.0:61.0 Z1.0:1.1:1.2 V50.0 W51.0     ; set drive mapping
      M669 K11 X1:0:0:0 Y1:1:0:-1 Z0:0:-1:0 U0:0:0:1     		    ; set markforged kinematics
      M350 X16 U16 Y16 Z16 V32 W32 I1                            	; configure axis microstepping with interpolation
      M350 E16:16 I1                                              ; configure extruder microstepping with interpolation
      M92 X80 Y80 Y80 E800:800 Z800.00 V17777.78 W17777.78  ; set steps per mm
      M906 X2100 U2100 Y2100 E580:580 Z1900 V165 W165 I40         ; set motor currents (mA) and motor idle factor in per cent
      M84 S30                                                     ; set idle timeout
      
      ; Machine axis limits
      M208 X-70.5 U0 Y0 Z0 V0 W0 S1                           ; set axis minimal
      M208 X600 U672.5 Y510 Z600 V14 W14 S0                   ; set axis maximal
      
      
      M671 X702.75:300:-102.75 Y47.125:-537.35:47.125 S10     ; Z leadscrews are at (-41,-14), (130,325.5) and (601, -14) and set compensation allowance to 20mm
      
      ;M671 X-102.75:300:702.75 Y-47.125:537.35:-47.125 S10     ; Z leadscrews are at (-102.75,-47.125), (300,537,35) and (702,75, -47,125) and set compensation allowance to 20mm
      
      
      ; Machine movement limits
      M203 X30000 U30000 Y30000 E12000:12000 Z1200 V180 W180     ; set maximum speeds (mm/min)
      M201 X8000 U8000 Y8000 E2500:2500 Z100.00 V2 W2       ; set maximum accelerations (mm/s^2)
      
      ; Machine motion settings
      M593 P"MZV" F37 S0.05                                   ; set ZVD input shaping to cancel ringing at 40.5Hz
      M566 X540 U540 Y540 E1200:1200 Z900 V100 W100           ; set instantaneous speed changes (mm/min)
      M204 P1500 T8000                                       ; set actual accelerations
      
      ;------------------------------ Sensors and inputs ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      
      ; Endstops
      M574 X1 S1 P"^!50.io1.in"     ; configure switch-type endstop for low end on X via pin 2.io3.in
      M574 U2 S1 P"^!51.io1.in"     ; configure switch-type endstop for high end on U via pin 2.io1.in
      M574 Y2 S1 P"io2.in"      ; configure switch-type endstop for high end on Y via pin 2.io2.in
      M574 V2 S1 P"50.io0.in"      ; configure switch-type endstop for high end on V via pin 1.io2.in
      M574 W2 S1 P"51.io0.in"      ; configure switch-type endstop for high end on W via pin 1.io3.in
      
      ; Z-Probe
      M558 K0 P11 C"50.temp2" H7:1 F300:120 T21000 A3 S0.05 R1  ; Set E1 Z probe, set dive height, probe speed, required accuracy and travel speed
      set global.variableprobel = {sensors.probes[0].value[0]}+2750
      G31 K0 P{global.variableprobel} X0 Y0 Z-0.45						       ; Set Z offset of E1 probe
      
      
      M558 K1 P11 C"51.temp2" H7:1 F300:120 T21000 A3 S0.05 R1    ; Set E1 Z probe, set dive height, probe speed, required accuracy and travel speed
      set global.variableprober = {sensors.probes[1].value[0]}+2750
      G31 K1 P{global.variableprober} U0 Y0 Z-0.45							       ; Set Z offset of E1 probe
      
      M557 X25:575 Y25:475 P7:5                              ; define mesh grid
      M376 H10
      
      
      ; Filament control buttons
      ;M950 J1 C"2.io2.in"      ; define logical input for E1 filamentsensor
      ;M581 P1 T2 S0 R0         ; define trigger for filament auto load triggers trigger2.g
      ;M950 J2 C"2.io3.in"      ; define logical input for E1 filamentunload
      ;M581 P2 T3 S0 R0         ; define trigger for filament auto unload triggers trigger3.g
      ;M950 J3 C"2.io4.in"      ; define logical input for E2 filamentsensor
      ;M581 P3 T4 S0 R0         ; define trigger for filament auto load triggers trigger4.g
      ;M950 J4 C"2.io5.in"      ; define logical input for E2 filamentunload
      ;M581 P4 T5 S0 R0         ; define trigger for filament auto unload triggers trigger5.g
      
      
      ; Accelerometer inputs
      M955 P"50.0" I16   ; configure accelerometer sensor, set orientation, sampling and resolution
      M955 P"60.0" I46   ; configure accelerometer sensor, set orientation, sampling and resolution
      M955 P"51.0" I16   ; configure accelerometer sensor, set orientation, sampling and resolution
      M955 P"61.0" I46   ; configure accelerometer sensor, set orientation, sampling and resolution
      
      ;------------------------------ Heaters and Fan outputs -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      
      
      ; Heaters, Bed zones
      M308 S0 P"temp0" Y"thermistor" A"Bed zone 1" T100000 B3950 	; configure bed zone 1 temperature sensor
      M950 H0 C"out1" T0                           			        ; create bed heater output and map it to correct sensor
      M307 H0 R0.362 K0.500:0.000 D6.39 E1.35 S1.00 B0                ; enable and set PID temperature control for bed zone 1
      M140 P0 H0                                                      ; map bed zone 1 to correct heater
      M143 H0 S120                                                    ; set temperatare limit for heater 0 to 120C
      
      M308 S1 P"temp1" Y"thermistor" A"Bed zone 2" T100000 B3950    ; configure bed zone 2 temperature sensor
      M950 H1 C"out2" T1                           			        ; create bed heater output and map it to correct sensor
      M307 H1 R0.362 K0.500:0.000 D6.39 E1.35 S1.00 B0                ; enable and set PID temperature control for bed zone 2
      M140 P1 H1                                                      ; map bed zone 1 to correct heater
      M143 H1 S120                                                    ; set temperatare limit for heater 1 to 120C
       
      
      ; Heaters, extruder
      M308 S2 P"60.temp0" Y"thermistor" A"Nozzle1"                    ; configure left printhead temperature sensor
      M950 H2 C"60.out0" T2                                           ; create left printhead heater output and map it to correct sensor
      M307 H2 R2.581 K0.635:0.000 D4.58 E1.35 S1.00 B0 V23.7          ; enable and set PID temperature control for left printhead
      M143 H2 P1 S350                                 		        ; set temperature limit for left printhead to 280C
      M572 D0 S0.01                                                   ; set pressure advance for left printhead
      ;M308 S4 P"temp3" Y"thermistor" A"HeatsinkLeft" T100000 B4138
      
      M308 S3 P"61.temp0" Y"pt1000" A"Nozzle2"                           ; configure right printhead temperature sensor
      M950 H3 C"61.out0" T3                                              ; create left printhead heater output and map it to correct sensor
      M307 H3 R2.736 K0.422:0.391 D4.34 E1.35 S1.00 B0 V24.0          ; enable and set PID temperature control for lerightt printhead
      M143 H3 P2 S350                                                 ; set temperature limit for right printhead to 280C
      M572 D1 S0.01                                                   ; set pressure advance for right printhead
      ;M308 S5 P"temp2" Y"thermistor" A"HeatsinkRight" T100000 B4138
      
      ; Fans
      M950 F0 C"60.out1" Q317.5      ; create fan 0 (E1 part) on pin 2.out3 and set its frequency
      M106 P0 S0 H-1 C"Tool1 part"  ; set fan 0 value. Thermostatic control is turned off
      M950 F1 C"61.out1" Q317.5      ; create fan 1 (E2 part) on pin 2.out4 and set its frequency
      M106 P1 S0 H-1 C"Tool2 part"                ; set fan 1 value. Thermostatic control is turned off
      M950 F2 C"60.io0.out" Q500          ; create fan 2 (E1 heat) on pin out5 and set its frequency
      M106 P2 S1 H2 T45:50          ; set fan 2 value. Thermostatic control is turned on
      M106 P2 S1 H2 T45:50 C"Tool1 Heat"  ; set fan 2 value. Thermostatic control is turned on
      M950 F3 C"61.io0.out" Q500          ; create fan 3 (E2 heat) on pin out6 and set its frequency
      M106 P3 S1 H3 T45:50 C"Tool2 Heat"  ; set fan 3 value. Thermostatic control is turned on
      
      M950 F4 C"1.out3" Q500          ; create fan 4 (SBC) on pin out6 and set its frequency
      M106 P4 S1 H-1 C"PC"          ; create fan 4 value. Thermostatic control is turned on
      M950 F5 C"1.out4" Q500          ; create fan 5 (main) on pin out6 and set its frequency
      M106 P5 S1 H-1 C"Mainboard"   ; set fan 0 value. Thermostatic control is turned of
      M950 F6 C"1.out5" Q500        ; create fan 6 (exp1) on pin out6 and set its frequency
      M106 P6 S1 H-1 C"Expansion"              ; set fan 0 value. Thermostatic control is turned off
      
      M950 F8 C"out4" Q500          ; create fan 8 (Extraction) on pin out6 and set its frequency
      M106 P8 S0.1 H-1 C"Extraction"          ; set fan 3 value. Thermostatic control is turned on
      
      ;------------------------------ Miscellaneous -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      
      ; Configure chamber LED
      ;M950 F10 C"out3"            ; create chamber LED strip on correct pin
      ;M106 P10 C"LED" S1.0        ; define chamber LED name and set starting value
      
      ; Configure status LED
      M950 F11 C"1.io0.out" Q500     ; create red LED strip on correct pin
      M106 P11 C"RGB Red" S0.0    ; define red LED name and set starting value
      M950 F12 C"1.io1.out" Q500     ; create green LED strip on correct pin
      M106 P12 C"RGB Green" S0.0  ; define green LED name and set starting value
      M950 F13 C"1.io2.out" Q500     ; create blue LED strip on correct pin
      M106 P13 C"RGB Blue" S1.0   ; define blue LED name and set starting value
      
      
      ;------------------------------ Tool definition ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      
      ; Tool Left
      M563 P0 S"Left" D0 H2 X0 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
      
      ; Tool Right
      M563 P1 S"Right" D1 H3 X3 F1    ; define tool 1
      G10 P1 U0 Y0 Z0       ; set tool 1 axis offsets
      G10 P1 R0 S0                    ; set initial tool 1 active and standby temperatures to 0C
      
      ; Tool Duplication
      M563 P2 S"Dulplication" D0:1 H2:3 X0:3 F0:1     ; tool 2 uses both extruders, hot end heaters and fans, and maps X to both X and U
      G10 P2 X150 Y0 U-150 S0 R0                      ; set tool offsets and temperatures
      M567 P2 E1:1                                    ; set mix ratio 100% on both extruders
      
      droftartsundefined 1 Reply Last reply Reply Quote 0
      • droftartsundefined
        droftarts administrators @SanderLPFRG
        last edited by

        @SanderLPFRG which firmware version?

        Ian

        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

        SanderLPFRGundefined 1 Reply Last reply Reply Quote 0
        • SanderLPFRGundefined
          SanderLPFRG @droftarts
          last edited by

          @droftarts 3.6.0 beta 2 and beta 3 tried both

          T3P3Tonyundefined 1 Reply Last reply Reply Quote 0
          • T3P3Tonyundefined
            T3P3Tony administrators @SanderLPFRG
            last edited by

            @SanderLPFRG to help tie this down do you know if this worked in 3.5.x firmware?

            www.duet3d.com

            SanderLPFRGundefined 1 Reply Last reply Reply Quote 0
            • SanderLPFRGundefined
              SanderLPFRG @T3P3Tony
              last edited by

              @T3P3Tony Hey Tony,

              We found the issue to be regarding the V axis being too low.

              Why it triggered only with G2 enabled gcodes remains a question still, but since we adapted the starting codes to account for the V being out of bounds we have not had the issue.

              Maybe an improvement is to add the relevant axis number to the errorcode for future firmware?

              dc42undefined 1 Reply Last reply Reply Quote 1
              • dc42undefined
                dc42 administrators @SanderLPFRG
                last edited by

                @SanderLPFRG thanks, I'll flag this as solved.

                RRF treats out-of-bounds errors differently between straight moves and arc moves. The reasons for this are largely historical. Originally, on some machines it was convenient to allow extrusion outside the bed (but without reaching physical endstops) because when printing a part that filled the bed, it didn't matter if part of the skirt was extruded outside the bed. Whereas G2/G3 were originally used only in CNC applications, where out-of-bounds movements were more serious.

                Duet WiFi hardware designer and firmware engineer
                Please do not ask me for Duet support via PM or email, use the forum
                http://www.escher3d.com, https://miscsolutions.wordpress.com

                1 Reply Last reply Reply Quote 0
                • dc42undefined dc42 marked this topic as a question
                • dc42undefined dc42 has marked this topic as solved
                • First post
                  Last post
                Unless otherwise noted, all forum content is licensed under CC-BY-SA