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

    Here's a strange filament change behavior!

    Scheduled Pinned Locked Moved Solved
    Using Duet Controllers
    bugs multimaterial
    2
    9
    460
    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.
    • printernoodleundefined
      printernoodle
      last edited by printernoodle

      So I have two tools set up on a duet 2 wifi.
      When Cura switches between them the strangest thing seems to happen. Here's the setup...

      When Cura calls "tool 0" or "tool 1" the printer executes "tfree1.g" or "tfree0.g" which both contain:

      M302 P1	;	allow cold fusion
      M98 P"/macros/moveto/filchange.g"
      M98 P"/macros/loadunload/unload.g"
      M302 P0	;	prevent cold fusion
      

      filchange.g contains:

      G91 ; rel moves
      G1 z.5 F99999 ; zhop
      G90 ; abs moves
      G1 x2 y140 F99999 ; move to purge spot
      

      unload.g contains:

      G1 E-8 F1000 ; initial retract
      G4 S10 ; dwell to cool filament
      G1 E-90 F99999 ; fully retract filament
      

      Then the machine calls "tpre0.g" which contains nothing at he moment.

      And then "tpost0.g" or "tpost1.g" is called which contains:

      M98 P"/macros/loadunload/load.g"
      
      

      load.g contains:

      M302 P1	;	allow cold fusion
      G1 E99 F3600 ;  quickly load back +1
      G1 E10 F150 ; slowly purge 10mm
      M302 P0	;	prevent cold fusion
      

      So what I'm observing is this

      on changing over to "tool1" there seems to be a strange pause after
      G1 E99 F3600 of load.g
      then the slow purge which follows it...well it happens really rapidly instead of following the F150 speed....

      This only happens on changing over to T1
      going from T1 back to T0 the slow purge works fine...

      THOUGHTS?

      fcwiltundefined 1 Reply Last reply Reply Quote 0
      • fcwiltundefined
        fcwilt @printernoodle
        last edited by

        @printernoodle

        Assuming each tool has it's on extruder stepper what are the stepper settings in config.g.

        On my printer, which has a max extruder speed of F3600, extruding 99 mm would take awhile.

        Frederick

        Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

        printernoodleundefined 2 Replies Last reply Reply Quote 0
        • printernoodleundefined
          printernoodle @fcwilt
          last edited by printernoodle

          @fcwilt

          you're on the right track....it was a slicer setting
          all aspects of each material profile are the same for both tools in this case....I missed one called "nozzle switch retraction distance" under dual extrusion in Cura....

          I had it set to 16mm so there's the issue....over retraction and then sudden over extrusion because of the extra 16.

          1 Reply Last reply Reply Quote 0
          • printernoodleundefined
            printernoodle @fcwilt
            last edited by

            @fcwilt

            Actually I take it back....trying now with settings adjusted and Cura is still over extruding on tool change to T1.

            fcwiltundefined 1 Reply Last reply Reply Quote 0
            • fcwiltundefined
              fcwilt @printernoodle
              last edited by

              @printernoodle said in Here's a strange filament change behavior!:

              @fcwilt

              Actually I take it back....trying now with settings adjusted and Cura is still over extruding on tool change to T1.

              Please cut-and_paste your config.g file using the </> tag.

              Thanks.

              Frederick

              Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

              printernoodleundefined 3 Replies Last reply Reply Quote 0
              • printernoodleundefined
                printernoodle
                last edited by printernoodle

                Must be slicer because when I manually switch the tools back and forth there's no problem....I wonder what I'm missing in Cura for this strangeness to be happening..

                1 Reply Last reply Reply Quote 0
                • printernoodleundefined
                  printernoodle @fcwilt
                  last edited by

                  @fcwilt

                  G90                                                  ; send absolute coordinates...
                  M83                                                  ; ...but relative extruder moves
                  M550 P"GEMLIN"                                       ; set printer name
                  M669 K1                                              ; select CoreXY mode
                  
                  ; Network
                  M551 P"**************************"
                  M552 S1                                              ; enable network
                  M586 P0 S1                                           ; enable HTTP
                  M586 P1 S0                                           ; disable FTP
                  M586 P2 S0                                           ; disable Telnet
                  
                  ; Drives
                  M569 P0 S1                                           ; physical drive 0 goes forwards
                  M569 P1 S1                                           ; physical drive 1 goes backwards
                  M569 P2 S0                                           ; physical drive 2 goes forwards
                  M569 P3 S1                                           ; physical drive 3 goes forwards
                  M569 P4 S1                                           ; physical drive 4 goes forwards
                  M584 X3 Y4 Z0 E2:1                                   ; set drive mapping
                  M350 X16 Y16 Z16 E16:16 I1                           ; configure microstepping with interpolation
                  M92 X80.00 Y80.00 Z400.00 E406.00:406.00             ; set steps per mm
                  M566 X200.00 Y200.00 Z600.00 E600.00:600.00           ; set maximum instantaneous speed changes (mm/min)
                  M203 X65000.00 Y65000.00 Z10000.00 E6000.00:6000.00  ; set maximum speeds (mm/min)
                  M201 X6000.00 Y6000.00 Z500.00 E300.00:300.00      ; set accelerations (mm/s^2)
                  M906 X2000 Y2000 Z750 E600:600 I75                   ; set motor currents (mA) and motor idle factor in per centI30 
                  M84 S30                                              ; Set idle timeout
                  
                  ; Axis Limits
                  M208 X0 Y0 Z0 S1                                     ; set axis minima
                  M208 X152 Y160 Z145 S0                               ; set axis maxima
                  
                  ; Endstops
                  M574 X2 S1 P"xstop"                                 ; configure active-high endstop for high end on X via pin !xstop
                  M574 Y2 S1 P"ystop"                                 ; configure active-high endstop for high end on Y via pin !ystop
                  M574 Z1 S1 P"zstop"                                 ; configure active-high endstop for low end on Z via pin !zstop
                  
                  ; Z-Probe
                  M558 P0 H5 F120 T6000                                ; disable Z probe but set dive height, probe speed and travel speed
                  M557 X15:135 Y15:135 S15                             ; define mesh grid
                  
                  ; Heaters
                  M308 S3 Y"mcu-temp" A"CPU" ; Board thermal sensor
                  M912 P0 S-8                  ; MCU tempurature sensor correction (subtract 8°c)
                  
                  ;Bed heater dual thermistor setup
                  M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 A"Bed Pad"      ; configure sensor 0 as thermistor on pin bedtemp
                  M308 S2 P"e0temp" Y"thermistor" T100000 B3950 A"Bed Plate"
                  M950 H0 C"bedheat" T2                                ; create bed heater output on bedheat and map it to sensor 2
                  M307 H0 B0 R0.135 C1478.8 D30.02 S1.00 V23.8         ; disable bang-bang mode for the bed heater and set PWM limit  M307 H0 B0 R0.135 C1478.8 D30.02 S1.00 V23.8
                  M140 H0                                              ; map heated bed to heater 0
                  M143 H0 P1 T0 A2 S130 C0                             ; Regulate (A2) bed heater (H0) to have pad sensor (T0) below 110°C. Use Heater monitor 1 for it
                  M143 H0 P2 T0 A1 S145 C0                             ; Shut off (A1) bed heater (H0) if pad sensor (T0) exceeds 120°C. Use Heater monitor 2 for it
                  M143 H0 S110                                         ; set temperature limit for heater 0 to 120C
                  ;hot end
                  M308 S1 P"e1temp" Y"thermistor" T100000 B3950        ; configure sensor 1 as thermistor on pin e0temp
                  M950 H1 C"e0heat" T1                                 ; create nozzle heater output on e0heat and map it to sensor 1
                  M307 H1 B0 R3.366 C143.3 D8.26 S1.00 V23.8           ; disable bang-bang mode for heater  and set PWM limit H1 B0 R3.366 C143.3 D8.26 S1.00 V23.8
                  M143 H1 S280                                         ; set temperature limit for heater 1 to 280C
                  
                  ; Fans
                  M950 F0 C"fan0" Q120               ; part cooler, set to 20Hz PWM
                  M106 P0 S0 H-1 C"TOOL FAN" L0.25 B0.1            ; Name it "PartCooler"
                  ;Hot End
                  M950 F1 C"fan1" Q120                                  ; create fan 1 on pin fan1 and set its frequency
                  M106 P1 H1 T45:270 C"HotEndFan" L0.25 B0.1               ; set fan 1 value. Thermostatic control is turned on
                  ; controller / electronics fan
                  M950 F2 C"fan2" Q120                                  ; create fan 2 on pin fan2 and set its frequency
                  M106 P2 H3 T20:35 C"ElectronicsFan" L0.40 B0.1           ; fan is activated when MCU reports 35°C; runs on full speed from 50°C on H100:101:102
                  
                  M950 F3 C"e1heat" Q120                                  ; create fan 2 on pin fan2 and set its frequency
                  M106 P3 H1 T45:190 C"Lights" L0.0 B0.0          ; fan is activated when MCU reports 35°C; runs on full speed from 50°C on H100:101:102
                  
                  ; Tools
                  M563 P0 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 D1 H1 F0                                     ; define tool 1
                  G10 P1 X0 Y0 Z0                                      ; set tool 1 axis offsets
                  G10 P1 R0 S0                                         ; set initial tool 1 active and standby temperatures to 0C
                  
                  
                  ; Custom settings are not defined
                  
                  ; Miscellaneous
                  M575 P1 S1 B57600                                    ; enable support for PanelDue
                  M501                                                 ; load saved parameters from non-volatile memory
                  M911 S23 R24 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
                  ;T0                                                   ; select first tool
                  M302 S160 R20
                  M572 D0:1 S0.2 ; pressure advance
                  
                  1 Reply Last reply Reply Quote 0
                  • printernoodleundefined
                    printernoodle @fcwilt
                    last edited by

                    @fcwilt
                    So I'm observing the change over on T1 and there's two moves on re-priming one short and then one the normal length...this cant be the slicer at this point in the code as the printer has full control...unless it's a buffered move? I just don't get it...how could the slicer be affecting things at this point.

                    1 Reply Last reply Reply Quote 0
                    • printernoodleundefined
                      printernoodle @fcwilt
                      last edited by

                      @fcwilt

                      Oh god...never friggin mind....
                      I had inserted a 16mm compensation in tpost1.g this morning at 4am which I forgot about....

                      All better now close post.....mark as solved.....revoke my 3dP license..😦

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