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

Extruder motor stops during print…

Scheduled Pinned Locked Moved
General Discussion
7
91
11.0k
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.
  • undefined
    dc42 administrators
    last edited by 29 Jan 2018, 23:20

    Does extrusion stop at the same point in the print each time?

    The stepper drivers on the Duet can in theory detect when a motor wire is disconnected, but in practice we found it gave false positives, so I disabled that facility. If I can find a way to filter out the false positives, I will enable it again.

    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
    • undefined
      ofloveandhate
      last edited by 29 Jan 2018, 23:42

      another thought i had – maybe i should put a fan on the duet? is the board overheating?

      https://www.duet3d.com/wiki/Connecting_and_configuring_fans

      1 Reply Last reply Reply Quote 0
      • undefined
        ofloveandhate
        last edited by 29 Jan 2018, 23:43

        no, it is not the same point every time.

        1 Reply Last reply Reply Quote 0
        • undefined
          ofloveandhate
          last edited by 29 Jan 2018, 23:45

          here's a snippet of what my gcode looks like:

          G1 X-9.773 Y20.202 E0.0240
          G1 X-8.049 Y19.083 E0.0845
          G1 X-7.228 Y18.592 E0.0393
          G1 X-5.829 Y17.806 E0.0660
          G1 X-2.005 Y15.805 E0.1774
          G1 X-1.749 Y15.664 E0.0120
          G1 X-0.741 Y15.031 E0.0489
          G1 X-0.182 Y14.575 E0.0297
          G1 X0.225 Y14.087 E0.0261
          G1 X0.746 Y12.742 E0.0593
          G1 X0.847 Y12.526 E0.0098
          G1 X0.864 Y12.365 E0.0066
          G1 X0.745 Y10.941 E0.0588
          G1 X0.342 Y9.133 E0.0761
          G1 X-0.212 Y7.194 E0.0829
          G1 X-1.216 Y3.878 E0.1424
          G1 X-1.686 Y2.198 E0.0717
          G1 X-1.997 Y1.061 E0.0484
          G1 X-2.338 Y-0.306 E0.0579
          G1 X-2.657 Y-1.687 E0.0582
          G1 X-3.138 Y-4.143 E0.1029
          G1 X-3.300 Y-5.092 E0.0396
          G1 X-3.519 Y-6.570 E0.0614
          G1 X-3.767 Y-8.725 E0.0892
          G1 X-3.921 Y-10.510 E0.0736
          G1 X-4.038 Y-12.900 E0.0984
          G1 X-4.060 Y-14.016 E0.0459
          G1 X-4.047 Y-16.295 E0.0937
          G1 X-3.986 Y-17.935 E0.0674
          G1 X-3.894 Y-19.398 E0.0602
          G1 X-3.771 Y-20.858 E0.0602
          
          

          so it is a sequence of short extrusion moves the whole file. no long linear extrudes, just this.

          1 Reply Last reply Reply Quote 0
          • undefined
            ofloveandhate
            last edited by 29 Jan 2018, 23:52

            here are my four attempts at 'seepferdchen'

            1 Reply Last reply Reply Quote 0
            • undefined
              ofloveandhate
              last edited by 29 Jan 2018, 23:54

              another thought: should i prefer absolute or relative extrusions? i have only been using relative through this whole process.

              1 Reply Last reply Reply Quote 0
              • undefined
                ofloveandhate
                last edited by 2 Feb 2018, 17:21

                i am starting to think there is a bug in the reprap firmware, in the part that processes relative extrusion distances. i printed the same model, same supports and all settings, last night. only change was that in simplify3d, i switched to absolute extrusion.

                ok, there was another difference that i should have not let happen, and that was that i printed this one without the https://www.thingiverse.com/thing:2567240 bottom corner plates.

                i am re-printing the same file now. if it fails again, then we know that the relative / absolute distances had nothing to do with my problem. if it succeeds, we have stronger evidence that it is a firmware bug.

                1 Reply Last reply Reply Quote 0
                • undefined
                  ofloveandhate
                  last edited by 5 Feb 2018, 14:34

                  i am now convinced that there is a bug in the firmware dealing with relative extruder distances

                  another success with absolute extruder distances, print time was 36h 21m

                  video:
                  https://youtu.be/7BCaq2k_oJk

                  pic:

                  a little problem at the top. caused due to top layers being set to 0 for that process in simplify3d. (6 processes used total, to reduce the amount of plastic used by varying the infill %)

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    dc42 administrators
                    last edited by 6 Feb 2018, 00:02

                    Most Duet users - including me - only ever use relative extrusion distances.

                    Did you turn off "Allow zeroing of extrusion distance" in S3D? You should do that when using relative extrusion, although AFAIK it doesn't matter if you leave it enabled.

                    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
                    • undefined
                      ofloveandhate
                      last edited by 6 Feb 2018, 23:51

                      zeroing was indeed allowed in s3d, both in my relative and absolute prints.

                      brad at ultibots indicated that he thinks people mostly use absolute, where you think it is relative…

                      i have > 70 hours of absolute distance printing with no errors now, so am growing in confidence that i was experiencing something problematic with relative. i think some stress-test kinds of gcode files are merited. i was thinking that cylindrical circles or ellipses with ever-smaller faces might be useful, and mix in the zeroing.

                      are there known smallest distances that the extruder should be asked to perform? i read the code in the reprap firmware, and nothing immediately jumped out at me as risking underflow or rounding error. i was however concerned in GCodes.cpp at lines 2044 or so,

                      const float moveArg = eMovement[0] * distanceScale;
                      float requestedExtrusionAmount;
                      if (gb.MachineState().drivesRelative)
                      {
                        requestedExtrusionAmount = moveArg;
                      }
                      else
                      {
                        requestedExtrusionAmount = moveArg - virtualExtruderPosition;
                        virtualExtruderPosition = moveArg;
                      }
                      
                      

                      that in one case, the value of virtualExtruderPosition is adjusted, and not in the other. is it assumed to be always 0 if relative? where is it adjusted?

                      i just want to know exactly how to manifest this problem, as i am not content with absolute distances as a workaround.

                      1 Reply Last reply Reply Quote 0
                      • undefined
                        garyd9
                        last edited by 7 Feb 2018, 00:33

                        Taking a WAG based solely on the code you posted:

                        If doing relative extrusion, the "virtualExtruderPosition" variable is meaningless (simply because it's not needed: It's a variable only used to calculate requestedExtrusionAmount if and only if absolute extrusions.)

                        If relative, then the value of "E" is the amount that is extruded in this step.

                        If absolute, then the value of "E" (moveArg) is the amount that is extruded in this step and all the previous steps combined. So, in order to know how much THIS step extrudes (requestedExtrusionAmount), you have to subtract "all the previous steps combined" (virtualExtruderPosition) from moveArg. At that point, "all the previous steps combined" (virtualExtruderPosition) needs to be updated to reflect the added amount THIS step extrudes (requestedExtrusionAmount.)

                        That could be written any of the following ways, and all would be accurate:

                        virtualExtruderPosition = virtualExtruderPosition + requestedExtrusionAmount;

                        virtualExtruderPosition += requestedExtrusionAmount;

                        virtualExtruderPosition = moveArg; // because moveArg == (virtualExtruderPosition + requestedExtrusionAmount)

                        "I'm not saying that you are wrong - I'm just trying to fit it into my real world simulated experience."

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          ofloveandhate
                          last edited by 2 Jul 2018, 14:36 7 Feb 2018, 14:35

                          gotcha.

                          do you have references to any other places people have had problems with relative extrusion and zeroing on?

                          1 Reply Last reply Reply Quote 0
                          • undefined
                            ofloveandhate
                            last edited by 14 Feb 2018, 19:33

                            the drama continues.

                            i printed a surface called "tobel", and it failed, even with absolute extruder distances. we can rule out relative as the culprit.

                            added a heatbreak out of lexan, with a fan blowing directly across the duet.

                            the print still failed.

                            here is what it is supposed to look like:

                            i think we can rule out heat as the source of the problem. because the two prints failed at such a similar place, i am hopeful that i can develop a short gcode file that fails every time i run it. then, hopefully, someone else can also try it, and fail.

                            1 Reply Last reply Reply Quote 0
                            • undefined
                              ofloveandhate
                              last edited by 26 Feb 2018, 13:59

                              my journey continues. i have re-wired the extruder motor, used a heat shield and fan to cool the duet board, and played with various slicer settings. nothing has worked – i continue to experience failures.

                              is there an alternate firmware i can load on the board?

                              1 Reply Last reply Reply Quote 0
                              • whosrdaddyundefined
                                whosrdaddy
                                last edited by 26 Feb 2018, 14:49

                                Think about it, if this was a "firmware bug", this forum would be swamped with threads similar as yours, but it isn't ;).
                                Having read your thread @ultibots, I think you are having ordinary nozzle jams.
                                You use 185 deg, which seems to me a bit on the cold side, I use 205 for my PLA prints and never had any issue.

                                Can you share the STL for above model? I Can do a test print if you want…

                                Cheers,
                                Kris

                                1 Reply Last reply Reply Quote 0
                                • undefined
                                  ofloveandhate
                                  last edited by 26 Feb 2018, 17:35

                                  the absence of other bug reports is not evidence of no problem. to the contrary, my persistent problem is evidence of a problem. its not conclusive, i agree, but this problem has happened to me at least 19 times, and has persisted despite nearly 3 months of publicly documented problem-solving efforts, including swapping motors, re-wiring, heat shielding and actively cooling the duet, swapping duet boards, upgrading firmware, and twiddling nearly all possible slicer options (which shouldn't matter anyway because no gcode should do this).

                                  what is left? power supply / fluctuations, too low a temp, a firmware bug, some machine setting like acceleration or max speeds (again pointing to a firmware bug), or ??? i appreciate you helping me explore the remaining options, because i am about out of ideas.

                                  i do agree that few people with the problem makes it harder to tell whether this is indeed a firmware bug. but i point you to the famous case of the intel floating point arithmetic bug: https://en.wikipedia.org/wiki/Pentium_FDIV_bug . "1 in 9 billion floating point divides with random parameters would produce inaccurate results." to put it succinctly,

                                  absence of evidence is not evidence of absence

                                  furthermore, another d300vs user commented in my thread on the ultibots forum that they experienced a very similar problem. so, i am not alone in experiencing this problem. was their problem mine? we'll likely never know…

                                  sure, i'll try a higher temp. i must try everything, because 1) right now, i can only print trinkets on my machine, 2) i am a scientist and mathematician so i have to know what the solution is, and 3) i genuinely hope that it is not a firmware bug, but instead a simple matter of my temperature being too low. we'll see...

                                  here is a link to a folder of gcode files, all of which have failed for me at least once. they are set up for 1.75mm filament with a 0.4mm diameter tip on a delta bot with the origin at the center. if i can get even one other person to run my gcode, it'll do a long way to helping rule out a firmware bug. repeated success on anothes duet?
                                  my problem. another person gets a fail? clearly not my fault, points to firmware. another strong piece of evidence would be what happens if i use another firmware, so looking to install something else and give it a try.

                                  http://danibrake.org/gcode/failing/

                                  the 40% file takes like 5 hours, and i have had it fail on me 3/13 times. the 60% takes like 14 hours, and has failed 1/1 times. the 100% takes even longer, and has failed 4/4 attempts. if you want a sure fail, try the 100. the model is also posted to the same location.

                                  • http://danibrake.org/gcode/failing/tobel.3mf

                                  • http://danibrake.org/gcode/failing/tobel_small_40.gcode

                                  • http://danibrake.org/gcode/failing/tobel_small_60_norobust.gcode

                                  • http://danibrake.org/gcode/failing/tobel_100.gcode

                                  i am still on firmware 1.20, per forum recommendation. here is my config file:

                                  ; Configuration file for UltiBots D300 V-Slot Delta 3D Printer
                                  ; version 1.0 for RepRapFirmware version 1.18.1
                                  
                                  ; Communication and general
                                  M111 S0                             	; Debug off
                                  M550 PD300VS				; Machine name and Netbios name (can be anything you like)
                                  M551 XXXXX				; Machine password (used for FTP)
                                  ; *** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits
                                  M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xFF 	; MAC Address
                                  ; Wifi Networking
                                  M552 S1					; Enable Wifi by default
                                  
                                  M555 P2                           	; Set output to look like Marlin
                                  
                                  ; *** Uncomment if you have the optional PanelDue display
                                  ;M575 P1 B57600 S1			; Communication parameters for the PanelDue
                                  
                                  G21                                 	; Work in millimeters 
                                  G90                                	; Send absolute positional coordinates...
                                  M83                                 	; ...but relative extruder moves
                                  
                                  ; Axis and motor configuration
                                  M569 P0 S0				; Drive 0 goes forwards (X tower)
                                  M569 P1 S0				; Drive 1 goes forwards (Y tower)
                                  M569 P2 S0				; Drive 2 goes forwards (Z tower)
                                  M569 P3 S1				; Drive 3 goes forwards (extruder 1)
                                  
                                  M574 X2 Y2 Z2 S1			; Set endstop configuration (all endstops at high end, active high)
                                  
                                  ; *** The homed height is deliberately set too high in the following - these will be adjusted with delta auto-calibration
                                  M665 R216.411 L379.00 B140 H434.314 X0.101 Y0.295 Z0.0	; Set delta radius, diagonal rod length, printable radius and homed height
                                  ;H461.071
                                  M666 X1.79 Y0.20 Z-1.99			; Endstop offset adjustments, these will be adjusted with delta auto-calibration
                                  
                                  M350 X64 Y64 Z64 E16 I1			; Set microstepping to 32 for X, Y and Z and 16 for extruder stepper with interpolation
                                  M92 X800 Y800 Z800			; Set axis steps/mm
                                  M906 X1000 Y1000 Z1000 E400		; Set motor currents (mA)
                                  M201 X1000 Y1000 Z1000 E1000		; Accelerations (mm/s^2)
                                  M203 X20000 Y20000 Z8000 E20000	; Maximum speeds (mm/min)
                                  M566 X400 Y400 Z400 E400		; Maximum instant speed changes mm/minute
                                  
                                  ; Fans
                                  M106 P1 T50 S255 H1			; Set hotend heatsink FAN1 thermostatic control at 50°C
                                  
                                  ; Thermistors
                                  M305 P0 T100000 B3950 R4700 L54 H-97	; Kapton bed heater thermistor
                                  M305 P1 R4700 T100000 B4725 C7.06e-8	; E3D V6 Semitec GT-104 thermistor cartridge
                                  
                                  ; Heater configuration
                                  M307 H0 B1							; Heater 0 (bed) use bang-bang control		
                                  M307 H1 A512.9 C267.0 D9.0 B0		; Heater 1 (hot end) use PID
                                  
                                  ; Tool definitions
                                  M563 P0 D0 H1                       	; Define tool 0, the extruder
                                  G10 P0 S0 R0                        	; Set tool 0 operating and standby temperatures
                                  M92 E700	                       	; Set extruder steps per mm
                                  
                                  ; Z probe and compensation definition
                                  ; Change "H25" to "H3" AFTER commissioning your printer
                                  M558 P4 X0 Y0 Z0 H5 I1 			; FSRs with JohnSL board Z probe behaves as a switch and is not used for homing any axes
                                  G31 X0 Y0 Z-0.2 P500			; MUST READ: http://www.sublimelayers.com/2017/05/fdffsd.html
                                  
                                  T0					; Select tool 0, the hot end
                                  M501					; Load config-override.g
                                  
                                  

                                  thanks for helping me, i genuinely appreciate your time

                                  1 Reply Last reply Reply Quote 0
                                  • whosrdaddyundefined
                                    whosrdaddy
                                    last edited by 26 Feb 2018, 17:46

                                    May I ask why the steps for the extruder (M92) are missing?
                                    Also the M92 I1 parameter is a bit pointless as it only works for 16x microstepping…

                                    1 Reply Last reply Reply Quote 0
                                    • undefined
                                      dc42 administrators
                                      last edited by 26 Feb 2018, 18:14

                                      @whosrdaddy:

                                      May I ask why the steps for the extruder (M92) are missing?
                                      Also the M92 I1 parameter is a bit pointless as it only works for 16x microstepping…

                                      He has a separate M92 E700 command later in config.g. The I1 parameter on the M350 command will work for the E drives because they are set to x16 microstepping.

                                      But you have contributed many useful replies on this forum, so please don't let this stop you from contributing! I make mistakes in replies too.

                                      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
                                      • undefined
                                        ofloveandhate
                                        last edited by 27 Feb 2018, 17:25

                                        @dc42 my pronouns are she/her/hers, please

                                        here is the current default config.g from https://github.com/UltiBots/D300VS/blob/master/Firmware/171016-D300VS-1.19.2.zip. please confirm it contains the same error. i believe it does.

                                        ; Configuration file for UltiBots D300VS Delta 3D Printer
                                        ; version 1.0 for RepRapFirmware version 1.19.2
                                        
                                        ; Communication and general
                                        M111 S0                             	; Debug off
                                        M550 PD300VS				; Machine name and Netbios name (can be anything you like)
                                        M551 XXXXX				; Machine password (used for FTP)
                                        ; *** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits
                                        M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xEF 	; MAC Address
                                        ; Wifi Networking
                                        ; M552 S1					; Enable Wifi by default
                                        
                                        M555 P2                           	; Set output to look like Marlin
                                        
                                        ; *** Uncomment if you have the optional PanelDue display
                                        ;M575 P1 B57600 S1			; Communication parameters for the PanelDue
                                        
                                        G21                                 	; Work in millimeters 
                                        G90                                	; Send absolute positional coordinates...
                                        M83                                 	; ...but relative extruder moves
                                        
                                        ; Axis and motor configuration
                                        M569 P0 S0				; Drive 0 goes forwards (X tower)
                                        M569 P1 S0				; Drive 1 goes forwards (Y tower)
                                        M569 P2 S0				; Drive 2 goes forwards (Z tower)
                                        M569 P3 S1				; Drive 3 goes forwards (extruder 1)
                                        
                                        M574 X2 Y2 Z2 S1			; Set endstop configuration (all endstops at high end, active high)
                                        
                                        ; *** The homed height is deliberately set too high in the following - these will be adjusted with delta auto-calibration
                                        M665 R211.75 L360.31 B140 H445.00 X0.0 Y0.0 Z0.0	; Set delta radius, diagonal rod length, printable radius and homed height
                                        M666 X0.0 Y0.0 Z0.0			; Endstop offset adjustments, these will be adjusted with delta auto-calibration
                                        
                                        M350 X64 Y64 Z64 E16 I1			; Set microstepping to 32 for X, Y and Z and 16 for extruder stepper with interpolation
                                        M92 X800 Y800 Z800			; Set axis steps/mm
                                        M906 X1000 Y1000 Z1000 E500		; Set motor currents (mA)
                                        M201 X1000 Y1000 Z1000 E1000		; Accelerations (mm/s^2)
                                        M203 X20000 Y20000 Z20000 E3600		; Maximum speeds (mm/min)
                                        M566 X1200 Y1200 Z1200 E300		; Maximum instant speed changes mm/minute
                                        
                                        ; Fans
                                        M106 P1 T50 S255 H1			; Set hotend heatsink FAN1 thermostatic control at 50°C
                                        
                                        ; Thermistors
                                        M305 P0 T100000 B3950 R4700 L54 H-97	; Kapton bed heater thermistor
                                        M305 P1 R4700 T100000 B4725 C7.06e-8	; E3D V6 Semitec GT-104 thermistor cartridge
                                        
                                        ; Heater configuration
                                        M307 H0 B1							; Heater 0 (bed) use bang-bang control		
                                        M307 H1 A512.9 C267.0 D9.0 B0		; Heater 1 (hot end) use PID
                                        
                                        ; Tool definitions
                                        M563 P0 D0 H1                       	; Define tool 0, the extruder
                                        G10 P0 S0 R0                        	; Set tool 0 operating and standby temperatures
                                        M92 E780	                       	; Set extruder steps per mm
                                        
                                        ; Z probe and compensation definition
                                        ; Change "H25" to "H3" AFTER commissioning your printer
                                        M558 P4 X0 Y0 Z0 H25 I1 		; FSRs with JohnSL board Z probe behaves as a switch and is not used for homing any axes
                                        G31 X0 Y0 Z-0.25 P500			; MUST READ: http://www.sublimelayers.com/2017/05/fdffsd.html
                                        
                                        T0					; Select tool 0, the hot end
                                        M501					; Load config-override.g
                                        
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • undefined
                                          ofloveandhate
                                          last edited by 27 Feb 2018, 17:28

                                          upping the temp by 25° to 210 still yielded a failure last night.

                                          a big lingering question i have – if my browser disconnects from the printer while printing, is the gcode console still guaranteed to log correctly? that is, how do i know that i am not experiencing some other error, and simply not seeing it in the log the next time i connect?

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