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

    Firmware 3.4b7 - firmware retraction bug

    Scheduled Pinned Locked Moved
    Beta Firmware
    7
    57
    3.5k
    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.
    • Diamondbackundefined
      Diamondback @Phaedrux
      last edited by Diamondback

      @phaedrux said in Firmware 3.4b7 - firmware retraction bug:

      @Diamondback No it shouldn't damage anything. I think what happens is that the back emf equals the input voltage and the driver basically detects that as a possible disconnect.

      Have you shared your full config.g yet?

      Here you go:

      ; Configuration file for Duet WiFi (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun May 10 2020 15:03:19 GMT+0200 (Mitteleuropäische Sommerzeit)
      
      ; General preferences
      ;M929 S3                                        ;enable debug logging
      M575 P1 S1 B57600                               ;Enable PanelDue Port
      G90                                             ; send absolute coordinates...
      M83                                             ; ...but relative extruder moves
      M550 P"V-Core Pro"                              ; set printer name
      
      M669 K1                                         ; select CoreXY mode
      
      ; Network
      M552 S1                                         ; enable network
      
      ; Drives
      M569 P0 S0                                      ; stepper X/Y
      M569 P1 S0                                      ; stepper X/Y
      M569 P2 S1                                      ; stepper Coupler
      M569 P3 S0                                      ; stepper E1
      M569 P4 S0                                      ; stepper E2
      M569 P5 S0                                      ; stepper E3
      M569 P6 S0                                      ; stepper E4
      M569 P7 S0                                      ; stepper Z1
      M569 P8 S0                                      ; stepper Z2
      M569 P9 S0                                      ; stepper Z3
      
      M584 X0 Y1 C2 Z7:8:9                            ; set drive mapping (motion system)
      M584 E3:4:5:6                                   ; set drive mapping (extruders)
      
      ; Axis Limits
      if !exists(global.hasRunInit)
      	global minY = -266
      	global maxY = 115
      
      M208 X-148:160 Y{global.minY,global.maxY}       ; set axis minima & maxima				RRF 3.4
      M208 C0:250 Z-2:270                             ; set axis minima & maxima
      
      M671 X-203:-12:216 Y-179:222:-179 S30             ; set Z leadscrew positions
      
      M92 X80.00 Y80.00 C200.00 Z400.00               ; set steps per mm
      M350 X16 Y16 I1                                 ; configure microstepping with interpolation
      M350 C16 Z16 I1                                 ; configure microstepping with interpolation
      M566 X600 Y600 C2 Z70                           ; set maximum instantaneous speed changes (mm/min)
      M203 X30000 Y30000 C10000 Z3000                 ; set maximum speeds (mm/min)
      M201 X5000 Y5000 C500 Z500                      ; set accelerations (mm/s^2) was: 2k
      M204 P600 T5000
       
       
      M906 X2100 Y2100 I50                            ; set motor currents (mA) and motor idle factor in per cent
      M906 C500 I30                                   ; set motor currents (mA) and motor idle factor in per cent
      M906 Z1800 I50                                  ; set motor currents (mA) and motor idle factor in per cent
      M906 E500:500:500:500 I30                       ; set motor currents (mA) and motor idle factor in per cent (2x Flex3Drive 2x LGX)
      M84 S30                                         ; Set idle timeout    
      
      ;=================== Extruder ======================
      M92 E408:408:408:408                            ; set steps per mm 
      M350 E16:16:16:16 I1                            ; configure microstepping 
      M566 E500:500:500:500                           ; set maximum instantaneous speed changes (mm/min) ; used to be at 1200
      M203 E15000:15000:15000:15000                   ; set maximum speeds (mm/min) 
      M201 E3000:3000:3000:3000                       ; set accelerations (mm/s^2)
      ;====================================================
      
      ; Endstops
      M574 X2 S1 P"xstop"                             ; configure active-high endstop for high end on X via pin xstop
      M574 Y1 S1 P"ystop"                             ; configure active-high endstop for high end on Y via pin ystop
      M574 Z0                                         ; No Z-Endstop (use as probe instead)
      
      ; Z-Probe
      if !exists(global.hasRunInit)
      	global zProbeSpeedFeed = 250
      	global zProbeSpeedFeedLevel = 2100
      	global zProbeSpeedTravel = 20000
      	global zProbeDiveHeightLevel = 30
      	global zProbeDiveHeightMesh = 3
      	global zProbePin = "zstop"
      	global zProbeType = 8
      	global zProbeTriggerValue = 200
      	global minXMesh = -146 
      	global maxXMesh = 150
      	global minYMesh = -150
      	global maxYMesh = 150
      	global meshPointSpacing = 30
      
      M558 K0 P{global.zProbeType} C{global.zProbePin} H{global.zProbeDiveHeightMesh} F{global.zProbeSpeedFeed} T{global.zProbeSpeedTravel}  ; default Z probe with slow speed
      ;M558 K0 P8 C"zstop" H3 F250 T20000  ; default Z probe with slow speed
      ;M558 K1 P8 C"zstop" H30 F2100 T20000  ; high speed Z probe for initial leveling and homing runs
      M558 K2 P8 C"duex.e5stop" H10 F100 T20000  ; set Z probe type to unfiltered switch and the dive height + speeds
      
      G31 K0 X0 Y0 Z0 P200 
      ;G31 K1 X0 Y0 Z0 P200
      G31 K2 X0 Y0 Z0 P200 
      
      ;G31 K0 X0 Y0 Z0 P{global.zProbeTriggerValue}                               ; set Z probe trigger value, offset and trigger height, offsets here are hardcoded in leveling macro as well
      
      M557 X{global.minXMesh, global.maxXMesh} Y{global.minYMesh, global.maxYMesh} S{global.meshPointSpacing}   ; define mesh grid
      M376 H30                                        ; Set bed correction taper
      
      ; Heaters
      M308 S0 P"bedtemp" Y"thermistor" T100000 B3950  ; configure sensor 0 as thermistor on pin bedtemp
      M950 H0 C"bedheat" T0 Q10                       ; create bed heater output on bedheat and map it to sensor 0
      M143 H0 S121                                    ; set temperature limit for heater 0 to 121C
      M307 H0 B0 R0.676 C345.1 D2.68 S1.00 V24.3      ; Bed PID Tuning
      M140 H0                                         ; map heated bed to heater 0
      
      M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8  ; 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
      M143 H1 S301                                    ; set temperature limit for heater 1 to 301C
      
      M308 S2 P"e1temp" Y"thermistor" T100000 B4725 C7.06e-8  ; configure sensor 2 as thermistor on pin e1temp
      M950 H2 C"e1heat" T2                            ; create nozzle heater output on e1heat and map it to sensor 2
      M143 H2 S301                                    ; set temperature limit for heater 2 to 301C
      
      M308 S3 P"duex.e2temp" Y"thermistor" T100000 B4725 C7.06e-8  ; configure sensor 3 as thermistor on pin e2temp
      M950 H3 C"duex.e2heat" T3                            ; create nozzle heater output on e2heat and map it to sensor 3
      M143 H3 S301                                    ; set temperature limit for heater 3 to 301C
      
      M308 S4 P"duex.e3temp" Y"thermistor" T100000 B4725 C7.06e-8  ; configure sensor 2 as thermistor on pin e3temp
      M950 H4 C"duex.e3heat" T4                            ; create nozzle heater output on e3heat and map it to sensor 2
      M143 H4 S301                                    ; set temperature limit for heater 2 to 301C
      
      
      M302 S190 R190                                  ;Cold extrusion settings
      
      M307 H1 R4.637 K0.673:0.218 D2.31 E1.35 S1.00 B0 V24.2 ; PID Tuning T0
      M307 H2 R4.174 K0.555:0.276 D1.96 E1.35 S1.00 B0 V24.2 ; PID Tuning T1
      M307 H3 R4.301 K0.536:0.105 D1.89 E1.35 S1.00 B0 V24.2 ; PID Tuning T2
      M307 H4 R3.780 K0.576:0.060 D1.57 E1.35 S1.00 B0 V24.2 ; PID Tuning T3
      
      ; Fans
      M950 F0 C"fan0"                                 ; Hotend Fan Tool 0
      M106 P0 S255 L255 H1 T50 C"T0 Hotend"           ; Hotend Fan Tool 0
      M950 F1 C"duex.fan3" Q50                        ; Layer Fan Tool 0
      M106 P1 S0 H-1 C"T0"                            ; Layer Fan Tool 0
      
      M950 F2 C"fan2"                                 ; Hotend Fan Tool 1
      M106 P2 S255 L255 H2 T50 C"T1 Hotend"           ; Hotend Fan Tool 1
      M950 F3 C"duex.fan4" Q50                        ; Layer Fan Tool 1
      M106 P3 S0 H-1 C"T1"                            ; Layer Fan Tool 1
      
      M950 F4 C"duex.fan5"                            ; Hotend Fan Tool 2
      M106 P4 S255 L255 H3 T50 C"T2 Hotend"           ; Hotend Fan Tool 2
      M950 F5 C"duex.fan6" Q50                        ; Layer Fan Tool 2
      M106 P5 S0 H-1 C"T2"                            ; Layer Fan Tool 2
      
      M950 F6 C"duex.fan7"                            ; Hotend Fan Tool 3
      M106 P6 S255 L255 H4 T50 C"T3 Hotend"           ; Hotend Fan Tool 3
      M950 F7 C"duex.fan8" Q50                        ; Layer Fan Tool 3
      M106 P7 S0 H-1 C"T3"                            ; Layer Fan Tool 3
      
      ;Static layer fan
      M950 F8 C"duex.e4heat" Q65535                   ; static layer fan
      M106 P8 S0 H-1 I1 L0.2 C"RSCS"
      
      ; Tools
      M563 P0 D0 H1 F1                                ; define tool 0
      G10 P0 R0 S0                                    ; set initial tool 0 active and standby temperatures to 0C
      
      M563 P1 D1 H2 F3                                ; define tool 1
      G10 P1 R0 S0                                    ; set initial tool 1 active and standby temperatures to 0C
      
      M563 P2 D2 H3 F5                                ; define tool 2
      G10 P2 R0 S0                                    ; set initial tool 2 active and standby temperatures to 0C
      
      M563 P3 D3 H4 F7                                ; define tool 3
      G10 P3 R0 S0                                    ; set initial tool 3 active and standby temperatures to 0C
      
      M563 P4 S"Pen"                                  ; define tool 4 (Pen)
      
      ;Dock present switches
      M950 J0 C"e0stop"                               ; Tool 0 Dock switch
      M950 J1 C"e1stop"                               ; Tool 1 Dock switch
      M950 J2 C"duex.e2stop"                          ; Tool 2 Dock switch
      M950 J3 C"duex.e3stop"                          ; Tool 3 Dock switch
      
      ;additional tool related switches
      ;M950 J4 C"duex.e4stop"                          ;potential toolhead tool present switch
      ;M950 J5 C"duex.e5stop"                          ;Z Offset Calibration switch
      
      M950 S0 C"duex.pwm4"                            ;PebbleWiper Servo
      M950 P1 C"duex.pwm5"                            ;Light switch PWM
      
      ;Accelerometer
      M955 P0 C"spi.cs3+spi.cs4"
      
      ;M593 P"zvd" F60 ; Inputshaping
      
      ; Miscellaneous
      M98 P"/macros/Misc/Lights/On"
      M98 P"/sys/config-tools.g"
      
      if !exists(global.hasRunInit)
      	global pebbleFeedSpeedDefault = 400
      	global pebbleFeedSpeed = global.pebbleFeedSpeedDefault	
      	global deactivateToolAfterFilamentChange = false
      	global hasRunInit = true
      

      macros/Misc/Lights/On

      M42 P1 S230
      

      config-tools.g

      if !exists(global.hasRunInit)
      	global tool0NozzleSize = "0.0"
      	global tool1NozzleSize = "0.0"
      	global tool2NozzleSize = "0.0"
      	global tool3NozzleSize = "0.0"
      	
      	global tool0NozzleMaterial = ""
      	global tool1NozzleMaterial = ""
      	global tool2NozzleMaterial = ""
      	global tool3NozzleMaterial = ""
      
      M98 P"/sys/config-tools-size.g"
      M98 P"/sys/config-tools-material.g"
      
      
      ;Z-Offset: 	If nozzle is too close to bed _reduce_ offset (negative number becomes more negative)
      ;		If nozzle is too far away, _increase_ offset (negative number becomes less negative)
      ;Tool offsets
      G10 P0 X-8.400 Y39.180 Z-4.100
      G10 P1 X-8.340 Y39.260 Z-4.080
      G10 P2 X-7.880 Y38.880 Z-4.310
      G10 P3 X-7.810 Y39.040 Z-4.576
      
      G10 P4 X0 Y46.5 Z-20.000                        ; set tool 4 axis offsets
      

      config-tools-size.g
      (This file is auto generated from my nozzle size selection UI in BtnCmd)

      set global.tool0NozzleSize = "0.4"
      set global.tool1NozzleSize = "0.4"
      set global.tool2NozzleSize = "0.4"
      set global.tool3NozzleSize = "0.4"
      
      

      config-tools-materials.g
      (This file is auto generated from my nozzle material selection UI in BtnCmd)

      set global.tool0NozzleMaterial = "brass"
      set global.tool1NozzleMaterial = "brass"
      set global.tool2NozzleMaterial = "brass"
      set global.tool3NozzleMaterial = "nozzlex"
      
      
      dc42undefined 1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators @Phaedrux
        last edited by

        @phaedrux said in Firmware 3.4b7 - firmware retraction bug:

        @Diamondback No it shouldn't damage anything. I think what happens is that the back emf equals the input voltage and the driver basically detects that as a possible disconnect.

        That's correct.

        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 1
        • dc42undefined
          dc42 administrators @Diamondback
          last edited by

          @diamondback are you using mesh bed compensation with taper when this issue occurs?

          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

          Diamondbackundefined 1 Reply Last reply Reply Quote 1
          • Diamondbackundefined
            Diamondback @dc42
            last edited by

            @dc42 said in Firmware 3.4b7 - firmware retraction bug:

            @diamondback are you using mesh bed compensation with taper when this issue occurs?

            I am indeed using a tapered mesh bed compensation, however, that only gets activated prior to starting a job. I don't think it gets deactivated afterwards though, so it might very well be active sometimes when this happens.
            Maybe that explains the seemingly random nature, doing filament changes after power-up vs after a print job...
            If you suspect that the mesh has something to do with it, is there a specific gcode I should try to put in my post print macro that deactivates the mesh again?
            Or would changing something abuot the taper help?
            I can't really turn off the mesh for actual printing I'm afraid.

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

              @diamondback thanks. One of our collaborators has tracked down a cause of extruder-only moves happening too fast, but he can only make it occur when bed compensation taper is in use. I am working on a fix to include in 3.4.2. Meanwhile can you try disabling bed compensation taper, to see if the problem still occurs?

              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

              Diamondbackundefined 1 Reply Last reply Reply Quote 2
              • Diamondbackundefined
                Diamondback @dc42
                last edited by

                @dc42 said in Firmware 3.4b7 - firmware retraction bug:

                @diamondback thanks. One of our collaborators has tracked down a cause of extruder-only moves happening too fast, but he can only make it occur when bed compensation taper is in use. I am working on a fix to include in 3.4.2. Meanwhile can you try disabling bed compensation taper, to see if the problem still occurs?

                Ok, will disable it and see what happens 👍

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

                  @diamondback one more question: does the tool concerned have a nonzero Z offset?

                  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

                  Diamondbackundefined 1 Reply Last reply Reply Quote 1
                  • Diamondbackundefined
                    Diamondback @dc42
                    last edited by

                    @dc42 said in Firmware 3.4b7 - firmware retraction bug:

                    @diamondback one more question: does the tool concerned have a nonzero Z offset?

                    It's a toolchanger where all 4 tools have non-zero offsets in all axis. (the toolhead/coupling/toolplate system is the one from E3D)

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

                      @diamondback @natthapol-v @danzaywer I have put new 3.4.2rc2+ firmware builds to fix this at https://www.dropbox.com/sh/7tf55ax00ky1pyx/AAA_eVJE20oYUON_gjKhCHsja?dl=0. I have tested the fix on the Duet 3 MB6HC build.

                      I was only able to reproduce this issue after when using tapered mesh bed compensation. Thanks for your patience.

                      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 2
                      • Diamondbackundefined
                        Diamondback
                        last edited by

                        @dc42 said in Firmware 3.4b7 - firmware retraction bug:

                        @diamondback @natthapol-v @danzaywer I have put new 3.4.2rc2+ firmware builds to fix this at https://www.dropbox.com/sh/7tf55ax00ky1pyx/AAA_eVJE20oYUON_gjKhCHsja?dl=0. I have tested the fix on the Duet 3 MB6HC build.

                        I was only able to reproduce this issue after when using tapered mesh bed compensation. Thanks for your patience.

                        Awesome, so with that updated firmware, using a taper shouldn't be an issue anymore?

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

                          @diamondback said in Firmware 3.4b7 - firmware retraction bug:

                          Awesome, so with that updated firmware, using a taper shouldn't be an issue anymore?

                          Correct.

                          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 1
                          • Diamondbackundefined
                            Diamondback
                            last edited by

                            So far, no issues. 👏 But haven't printed/changed filaments a lot yet

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