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

    firmware retraction doubling

    Scheduled Pinned Locked Moved Solved
    Gcode meta commands
    5
    27
    1.2k
    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.
    • Phaedruxundefined
      Phaedrux Moderator
      last edited by

      How are you verifying that you're getting 2mm?

      Z-Bot CoreXY Build | Thingiverse Profile

      nanoplaneundefined 2 Replies Last reply Reply Quote 0
      • nanoplaneundefined
        nanoplane @Phaedrux
        last edited by

        @Phaedrux said in firmware retraction doubling:

        How are you verifying that you're getting 2mm?

        On the DWC I can see the Drive amounts reducing by 2mm and then going back up 2mm on unretract.
        Note: this is on a mixing head so I have 4 extruder drives. I'm noticing this on the drives that are not active in the current layer/object.

        1 Reply Last reply Reply Quote 0
        • nanoplaneundefined
          nanoplane @OwenD
          last edited by

          @OwenD said in firmware retraction doubling:

          Is pressure advance enabled?
          it can cause retractions if set high enough.

          Is firmware retraction enabled in the slicer?
          Is reprap flavour selected?

          If yes to both post the first 100 lines of so of a sliced file.

          slicer.png

          This is on a mixing nozzle with 4 drives (Crane Quad)

          Yes pressure advance is enabled:
          M572 D0:1:2:3 S0.22:0.22:0.22:0.22

          firmware retraction is enabled in the slicer

          But... I did not have RepRapFirmware as the G-Code flavor. could that be the cause??

          1 Reply Last reply Reply Quote 0
          • nanoplaneundefined
            nanoplane @OwenD
            last edited by

            @OwenD

            I did seem to be getting correct gCode:

            ; Filament gcode
            G1 Z0.280 F7800.000
            ;LAYER_CHANGE
            ;Z:0.28
            ;HEIGHT:0.28
            ; If this isn't the first layer, update the temperature for all tools to the correct temperature

            G1 Z0.280 F7800.000
            G10 ; retract
            G1 X222.625 Y140.000
            G11 ; unretract
            ;HEIGHT:0.280000
            ;TYPE:Wipe tower
            ;WIDTH:0.437500
            ;-------------------------------------
            ; CP WIPE TOWER FIRST LAYER BRIM START
            G1 X222.625 Y151.113 E0.7323 F2400
            G1 X220.377 Y151.490 F7000
            G1 Y139.623 E0.5735 F2100
            G1 X159.623 E2.9362
            G1 Y151.490 E0.5735
            G1 X220.377 E2.9362
            G1 X220.755 Y151.867 F7000
            G1 Y139.245 E0.6100 F2100
            G1 X159.245 E2.9726
            G1 Y151.867 E0.6100
            G1 X220.755 E2.9726
            G1 X221.132 Y152.245 F7000
            G1 Y138.868 E0.6465 F2100
            G1 X158.868 E3.0091
            G1 Y152.245 E0.6465
            G1 X221.132 E3.0091
            G1 X221.510 Y152.622 F7000
            G1 Y138.490 E0.6830 F2100
            G1 X158.490 E3.0456
            G1 Y152.622 E0.6830
            G1 X221.510 E3.0456
            ; CP WIPE TOWER FIRST LAYER BRIM END
            ;-----------------------------------

            G10 ; retract
            G1 X224.185 Y153.297 F7800.000
            G11 ; unretract
            ;TYPE:Skirt
            ;WIDTH:0.392
            ;HEIGHT:0.28
            G1 F1500.000
            G1 X223.860 Y154.015 E0.03045
            G1 X223.405 Y154.579 E0.02800
            G1 X222.828 Y155.017 E0.02800
            G1 X222.163 Y155.304 E0.02800
            G1 X221.448 Y155.422 E0.02800
            G1 X119.741 Y159.647 E3.93313
            G1 X107.567 Y159.496 E0.47043
            G1 X106.811 Y159.365 E0.02964
            G1 X106.114 Y159.045 E0.02964
            G1 X105.314 Y158.314 E0.04187
            G1 X104.82

            1 Reply Last reply Reply Quote 0
            • nanoplaneundefined
              nanoplane @OwenD
              last edited by

              @OwenD

              Here's the first lines of the gCode file:
              I've set up 4 tools, one for each primary color.

              ; generated by PrusaSlicer 2.3.0+ on 2021-02-09 at 00:01:31 UTC

              ;

              ; external perimeters extrusion width = 0.39mm
              ; perimeters extrusion width = 0.39mm
              ; infill extrusion width = 0.39mm
              ; solid infill extrusion width = 0.39mm
              ; top infill extrusion width = 0.35mm
              ; support material extrusion width = 0.31mm
              ; first layer extrusion width = 0.39mm

              ; external perimeters extrusion width = 0.39mm
              ; perimeters extrusion width = 0.39mm
              ; infill extrusion width = 0.39mm
              ; solid infill extrusion width = 0.39mm
              ; top infill extrusion width = 0.35mm
              ; support material extrusion width = 0.31mm
              ; first layer extrusion width = 0.39mm

              ; external perimeters extrusion width = 0.39mm
              ; perimeters extrusion width = 0.39mm
              ; infill extrusion width = 0.39mm
              ; solid infill extrusion width = 0.39mm
              ; top infill extrusion width = 0.35mm
              ; support material extrusion width = 0.31mm
              ; first layer extrusion width = 0.39mm

              ; external perimeters extrusion width = 0.39mm
              ; perimeters extrusion width = 0.39mm
              ; infill extrusion width = 0.39mm
              ; solid infill extrusion width = 0.39mm
              ; top infill extrusion width = 0.35mm
              ; support material extrusion width = 0.31mm
              ; first layer extrusion width = 0.39mm

              M107
              ;TYPE:Custom
              M190 S80 ; wait for first layer bed tempurature
              M104 S170 ; set extruder no-ooze temp
              G28 ; home all axes
              ;G29 ; Auto Bed Leveling...
              M104 S235 ; Heatup and Purge Nozzle
              G92 E0 ; reset extruder
              G1 X0 Y0 Z10.0 F5000 ; move to purge position

              T0
              ; bring it up to temperature
              G10 P0 R0 S235 ; Wait For Nozzle Heat
              M116

              ; machine standard purge - purges all nozzles on the left side of the platter.
              M98 PPrint_Start.g

              ; set up the tools for selected colors.. You can define as many as you want,
              ; just make sure you update their temperatures in the Before layer change G-Code and remove them in the End G-Code

              M563 P0 D0:1:2:3 H1 F1
              M563 P1 D0:1:2:3 H1 F1
              M563 P2 D0:1:2:3 H1 F1
              M563 P3 D0:1:2:3 H1 F1

              ;=============== Quad Fustion color support ===============
              ;Set the color for each of the defined "tools"
              M567 P0 E1.0:0.0:0.0:0.00 S"Cyan"
              M567 P1 E0.0:1.0:0.0:0.00 S"Magenta"
              M567 P2 E0.0:0.00:1.0:0.00 S"yellow"
              M567 P3 E0.0:0.0:0.0:1.0 S"White"
              ;==========================================================

              ;Init the tool temperatures for the first layer and wait.
              G10 P0 R0 S235
              G10 P1 R0 S235
              G10 P2 R0 S235
              G10 P3 R0 S235
              M116

              T0 ; Ensure Post Processing Gcode Generator Has something to convert if only one tool is used.
              G21 ; set units to millimeters
              G90 ; use absolute coordinates
              M83 ; use relative distances for extrusion
              T1

              1 Reply Last reply Reply Quote 0
              • nanoplaneundefined
                nanoplane @Phaedrux
                last edited by

                @Phaedrux
                on the DWC screen:

                from Idle:
                Pre G10 command
                alt text

                Post G10 Command

                alt text

                After sending G11 command
                alt text

                1 Reply Last reply Reply Quote 0
                • Phaedruxundefined
                  Phaedrux Moderator
                  last edited by

                  If you send M207 during a print, what does it reply with?

                  Z-Bot CoreXY Build | Thingiverse Profile

                  1 Reply Last reply Reply Quote 0
                  • nanoplaneundefined
                    nanoplane
                    last edited by

                    So... This is interesting..

                    I have no config-override.g file in my /sys directory but after I sent an M502 command, G10/G11 worked as expected.....

                    Is this a hidden file?

                    deckingmanundefined 1 Reply Last reply Reply Quote 0
                    • deckingmanundefined
                      deckingman @nanoplane
                      last edited by deckingman

                      @nanoplane said in firmware retraction doubling:

                      So... This is interesting..

                      I have no config-override.g file in my /sys directory but after I sent an M502 command, G10/G11 worked as expected.....

                      Is this a hidden file?

                      IIRC, M3D used to do very strange things with their configuration files. Basically they used to break each section into a separate macro and then call each of those macros from within the config.g file. Is that how yours is set up? If so, it's likely that the changes you make to config.g could be overridden by later macros. I might be best if you post you config.g file and the full code of any macros that are referenced in that file.

                      Ian
                      https://somei3deas.wordpress.com/
                      https://www.youtube.com/@deckingman

                      nanoplaneundefined 1 Reply Last reply Reply Quote 0
                      • nanoplaneundefined
                        nanoplane @deckingman
                        last edited by

                        @deckingman

                        it was for the 2.0 config, but for the 3.0 update I put everything in the one file. It loads with no errors, but I suspect maybe there was some override file hidden somewhere that had a different M207 command hidden in it??

                        1 Reply Last reply Reply Quote 0
                        • nanoplaneundefined
                          nanoplane
                          last edited by

                          So, it all seems to be working now... not quite sure what happened, but...

                          Thanks everyone who looked at this and scratched their heads...

                          --marcel

                          1 Reply Last reply Reply Quote 0
                          • OwenDundefined
                            OwenD
                            last edited by

                            @nanoplane said in firmware retraction doubling:

                            M98 PPrint_Start.g

                            Should be quoted

                            M98 P"Print_Start.g"

                            1 Reply Last reply Reply Quote 0
                            • nanoplaneundefined
                              nanoplane
                              last edited by

                              Thank you.

                              One more question. does the M207 command need to be sent after the tools are all created?..

                              I'm still getting the issue that the retract gets reset to 2mm whenever I start a new print from the "initial" state.

                              my custom gCode for PrusaSlicer at start creates the per color tools and after they start being used M207 command returns 2mm for retract amount even though I'm setting it in the config file to 0.5mm

                              1 Reply Last reply Reply Quote 0
                              • Phaedruxundefined
                                Phaedrux Moderator
                                last edited by

                                Please share your full config.g you slicer start gcode and any macros you call in it.
                                Also the results of M122 and M98 P"config.g" please.

                                Z-Bot CoreXY Build | Thingiverse Profile

                                nanoplaneundefined 2 Replies Last reply Reply Quote 0
                                • nanoplaneundefined
                                  nanoplane @Phaedrux
                                  last edited by

                                  @Phaedrux
                                  config.g

                                  Starting gCode from Prusa Slicer:

                                  M190 S[first_layer_bed_temperature] ; wait for first layer bed temperature
                                  G28 ; home all axes
                                  ;G29 ; Auto Bed Leveling...
                                  M104 S[first_layer_temperature] ; Heatup and Purge Nozzle
                                  G92 E0 ; reset extruder
                                  G1 X0 Y0 Z10.0 F5000 ; move to purge position

                                  T0
                                  ; bring it up to temperature
                                  G10 P0 R0 S[first_layer_temperature] ; Wait For Nozzle Heat
                                  M116

                                  ; machine standard purge - purges all nozzles on the left side of the platter.
                                  M98 P"Print_Start.g"

                                  ; set up the tools for selected colors.. You can define as many as you want,
                                  ; just make sure you update their temperatures in the Before layer change G-Code and remove them in the End G-Code

                                  M563 P0 D0:1:2:3 H1 F1
                                  M563 P1 D0:1:2:3 H1 F1
                                  M563 P2 D0:1:2:3 H1 F1
                                  M563 P3 D0:1:2:3 H1 F1

                                  ;=============== Quad Fustion color support ===============
                                  ;Set the color for each of the defined "tools"
                                  M567 P0 E1.0:0.0:0.0:0.00 S"Cyan"
                                  M567 P1 E0.0:1.0:0.0:0.00 ; Magenta
                                  M567 P2 E0.0:0.00:1.0:0.00 ; yellow
                                  M567 P3 E0.0:0.0:0.0:1.0 ; White
                                  ;==========================================================

                                  ;Init the tool temperatures for the first layer and wait.
                                  G10 P0 R0 S[first_layer_temperature]
                                  G10 P1 R0 S[first_layer_temperature]
                                  G10 P2 R0 S[first_layer_temperature]
                                  G10 P3 R0 S[first_layer_temperature]
                                  M116

                                  T0 ; Ensure Post Processing Gcode Generator Has something to convert if only one tool is used.

                                  1 Reply Last reply Reply Quote 0
                                  • nanoplaneundefined
                                    nanoplane @Phaedrux
                                    last edited by

                                    @Phaedrux

                                    Also at the end of a print, custom gCode is:

                                    ; remove the extra tools so we restore back to standard
                                    M563 P3 D-1 H-1
                                    M563 P2 D-1 H-1
                                    M563 P1 D-1 H-1

                                    M104 S0 ; turn off temperature
                                    G28 X0 ; home X axis

                                    M140 S0

                                    M84 ; disable motors

                                    1 Reply Last reply Reply Quote 0
                                    • Phaedruxundefined
                                      Phaedrux Moderator
                                      last edited by

                                      What's in M98 PPrint_Start.g?

                                      Z-Bot CoreXY Build | Thingiverse Profile

                                      nanoplaneundefined 1 Reply Last reply Reply Quote 0
                                      • nanoplaneundefined
                                        nanoplane @Phaedrux
                                        last edited by

                                        @Phaedrux

                                        print_start.g

                                        1 Reply Last reply Reply Quote 0
                                        • Phaedruxundefined
                                          Phaedrux Moderator
                                          last edited by

                                          If you send M98 Pprint_start.g on it's own do you get any errors?
                                          If you send M567 during the print does it respond with the expected mixing ratio?

                                          Have you enclosed the macro name in quotes as OwenD suggested? ""

                                          Z-Bot CoreXY Build | Thingiverse Profile

                                          nanoplaneundefined 1 Reply Last reply Reply Quote 0
                                          • nanoplaneundefined
                                            nanoplane @Phaedrux
                                            last edited by

                                            @Phaedrux said in firmware retraction doubling:

                                            If you send M98 Pprint_start.g on it's own do you get any errors?
                                            If you send M567 during the print does it respond with the expected mixing ratio?

                                            Have you enclosed the macro name in quotes as OwenD suggested? ""

                                            I get no errors
                                            Hmm sending M567 returns nothing... But it does mess up the mix ratio for the current print.. until the next tool changes.
                                            sending M567 P0 (P1 P2 P3) returns the correct mix ration for each of the "tools"

                                            The print_start.g on it's own doesn't work unless I've preheated the bed and the nozzle... but once that's done, print_startg works fine.

                                            Could it be because I'm redefining Tool 0 in my custom gCode forcing it to default the retraction settings??

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA