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

    Extruder motor stops during print…

    Scheduled Pinned Locked Moved
    General Discussion
    7
    91
    10.9k
    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.
    • dc42undefined
      dc42 administrators
      last edited by

      Thanks. Please run M92 to check that the extruder steps/mm is still correct. Also M572 to check the pressure advance setting, and M201 and M203 to check the speed and acceleration settings.

      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
      • Kezatundefined
        Kezat
        last edited by

        In the error state are you able to get the extruder to move faster if you manually send a G1 commands that includes a faster speed or will it only move at one really slow speed for any move command?

        1 Reply Last reply Reply Quote 0
        • ofloveandhateundefined
          ofloveandhate
          last edited by

          still in errored state:

          M92
          Steps/mm: X: 800.000, Y: 800.000, Z: 800.000, E: 700.000:700.000:700.000:700.000:700.000:700.000:700.000:700.000:700.000
          
          
          M572
          Extruder pressure advance: 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000
          
          
          M201
          Accelerations: X: 1000.0, Y: 1000.0, Z: 1000.0, E: 1000.0:1000.0:1000.0:1000.0:1000.0:1000.0:1000.0:1000.0:1000.0
          
          
          M203
          Maximum feedrates: X: 20000.0, Y: 20000.0, Z: 8000.0, E: 20000.0:20000.0:20000.0:20000.0:20000.0:20000.0:20000.0:20000.0:20000.0
          
          
          1 Reply Last reply Reply Quote 0
          • ofloveandhateundefined
            ofloveandhate
            last edited by

            no, putting in higher feedrates doesn't really make it move faster. this is hard to measure. putting in longer extrudes and higher feedrates doesn't seem to make a difference.

            1 Reply Last reply Reply Quote 0
            • ofloveandhateundefined
              ofloveandhate
              last edited by

              no errors in the text log, but it did log the completion of the file. thus, i cannot trust the web interface's gcode console – things show up in the text file that don't in the web interface, when i am not connected to the machine.

              1 Reply Last reply Reply Quote 0
              • Kezatundefined
                Kezat
                last edited by

                @ofloveandhate:

                no, putting in higher feedrates doesn't really make it move faster. this is hard to measure. putting in longer extrudes and higher feedrates doesn't seem to make a difference.

                So strange, all other motors/fans/heater PIDs operate normally correct? Its only the extruder motor that stop/slows mid print yet the printer keeps on "printing" until the end of the gcode? Other then a tool change or full reset have you found any other way to clear the error state? Will another print without a reset start normally i wonder. Perhaps M92 E0 will clear it or even resending all the steps/mm, max speed, acceleration commands. (even though it tells you its correct) Also to test E movement in the error state are you heating the nozzle or enabling cold extrusion to let you test it?
                Are you able to tell if the error is happening at truly the exact same spot in the gcode or just around the same layer/print time?

                1 Reply Last reply Reply Quote 0
                • ofloveandhateundefined
                  ofloveandhate
                  last edited by

                  @Kezat – these are all good wonders. i still have the machine errored, so will try sending some gcodes to "restore" settings, see what happens.

                  1.

                  So strange, all other motors/fans/heater PIDs operate normally correct? Its only the extruder motor that stop/slows mid print yet the printer keeps on "printing" until the end of the gcode?

                  yep

                  2.

                  Other then a tool change or full reset have you found any other way to clear the error state? Will another print without a reset start normally i wonder

                  no, it's errored and nothing seems to fix it. the only way i know to get it working again is to M999 or power cycle. additional testing as you suggest it merited (re-sending machine parameters, etc). i will do that now.

                  3.

                  Also to test E movement in the error state are you heating the nozzle or enabling cold extrusion to let you test it?

                  A: heating it.

                  4.

                  Are you able to tell if the error is happening at truly the exact same spot in the gcode or just around the same layer/print time?

                  it is not the same spot every time. it varies wildly. i wish it was the same spot every time, we probably would've solved this by now, ha. repeatability / replicability is highly desirable. this is the major reason i doubt it is a firmware bug – otherwise, it would be repeatable. unless it's an intermittent problem caused by something like dynamic memory allocation, that stuff can be intermittent. so far, no-one's tried my gcode files on a duet delta machine, so i have no information on replicability.

                  1 Reply Last reply Reply Quote 0
                  • garyd9undefined
                    garyd9
                    last edited by

                    @ofloveandhate:

                    so far, no-one's tried my gcode files on a duet delta machine, so i have no information on replicability.

                    Not even the folks at UltiBots? That doesn't speak well for their support…

                    "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
                    • ofloveandhateundefined
                      ofloveandhate
                      last edited by

                      update: running

                      M350 X64 Y64 Z64 E16 I0
                      
                      ```allows me to extrude
                      i do not know how to return it to errored state without printing another object.
                      
                      tell me, what do you think of this idea: i insert this statement into my layer change gcode, and see if i can make it through a whole file? there will be gaps where the machine went error.
                      1 Reply Last reply Reply Quote 0
                      • ofloveandhateundefined
                        ofloveandhate
                        last edited by

                        @garyd9:

                        @ofloveandhate:

                        so far, no-one's tried my gcode files on a duet delta machine, so i have no information on replicability.

                        Not even the folks at UltiBots? That doesn't speak well for their support…

                        to their credit, my gcode files are long. some are 16-24 hour prints, with the error occurring anywhere in there, and not guaranteed to occur… brad has been very helpful to me so far, with a thread on the ultibots forum with > 70 posts, and several long phone calls. forum.ultibots.com/viewtopic.php?f=59&t=297

                        i would like someone to try my code, though… will you, dear reader? links above

                        1 Reply Last reply Reply Quote 0
                        • Kezatundefined
                          Kezat
                          last edited by

                          @ofloveandhate:

                          update: running

                          M350 X64 Y64 Z64 E16 I0
                          
                          ```allows me to extrude
                          i do not know how to return it to errored state without printing another object.
                          
                          tell me, what do you think of this idea: i insert this statement into my layer change gcode, and see if i can make it through a whole file? there will be gaps where the machine went error.
                          

                          Well that's something, did you try and have fail any of the other settings before you got the microstepping command to fix things? I wonder what bits and flags this command bumps that would cause it to start working.

                          Really sucks that it take so long to get back to the error state:( i would love to help test the Gcode but i only have 1 printer with the duet board and its the one I'm actively working on atm.

                          Not sure about the M350 resend each layer, what is that going to tell us we did not just find out, its a long time to tie up the printer and no error state to play around in at the end of it.

                          1 Reply Last reply Reply Quote 0
                          • ofloveandhateundefined
                            ofloveandhate
                            last edited by

                            i think i need to know the union of the things that are set by this command (M350…), and the things that can set those things. then, i can search in the gcode file, or insert debug statements into the firmware, and re-test.

                            to github i go. i am so glad the firmware is written in c++, cuz i can read that.

                            anyone know how i can insert my own print-to-file statements into the firmware, and how i go about compiling it, so i can run my custom firmware?

                            1 Reply Last reply Reply Quote 0
                            • ofloveandhateundefined
                              ofloveandhate
                              last edited by

                              Well that's something, did you try and have fail any of the other settings before you got the microstepping command to fix things? I wonder what bits and flags this command bumps that would cause it to start working.

                              i tried many reports, G92 E0 before extruding, and various speeds of extruding. the M350 command was the first i tried that should have modified any internally stored parameters.

                              1 Reply Last reply Reply Quote 0
                              • Kezatundefined
                                Kezat
                                last edited by

                                A way to test things faster could be to unplug XYZ motors from the bot, remove E motor, allow cold extrusion, tune accel and jerk up really high and increase print speed as high as you can, Or anyone with a spare board and motors. It would not prove anything if it works but if it still fails it might be a faster way to test things.

                                As a last resort you can swapping out the power supply and move the bot to another breaker/room that may help deduce if this is an interference issue.

                                When you get the error state again it might be worth attempting to sort out the true value that the motor is rotating at, maybe connect it to one of the bot axis so its easy to measure the movement.

                                After you test other things (like changing accel/max speed) in the error state it could be worth sending only one part of the M350 command at a time such as X Y and Z then I0 then last E16, to narrow down what really is fixing things. I wonder if the controller thinks its still at one microstepping/setting but the stepper drivers thinks it's in another.

                                1 Reply Last reply Reply Quote 0
                                • ofloveandhateundefined
                                  ofloveandhate
                                  last edited by

                                  unplug XYZ motors from the bot, remove E motor, allow cold extrusion, tune accel and jerk up really high and increase print speed as high as you can

                                  good idea. doing that now.

                                  i have requested an UPS to borrow to eliminate power line fluctuations… tech support is slow at my uni, tho, so that'll be a while.

                                  the idea of swapping the supply out is interesting. i have a spare 24v supply from another printer, so i'll see what it will take to wire it in. i also have a big-ole variable power supply i can try, which would be simpler than re-wiring the alt-printer supply.

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

                                    I'm glad you managed to track it down to the microstepping. Do you think it is possible that when the error occurs, it is running with x256 microstepping? That would cause extrusion to be 1/16 of the correct amount.

                                    If the stepper motors reset themselves then the microstepping will default to x256. But that should only happen if the supply voltage drops below about 9.5V, and if that happened then an under-voltage event should show up in the M122 report.

                                    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
                                    • ofloveandhateundefined
                                      ofloveandhate
                                      last edited by

                                      how often does the system poll the voltage?

                                      i experienced a power-related failure on my taz6 overnight (printer stopped mid-print), so now am thinking a UPS might solve this problem. argh.

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

                                        @ofloveandhate:

                                        how often does the system poll the voltage?

                                        Every 1ms.

                                        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
                                        • ofloveandhateundefined
                                          ofloveandhate
                                          last edited by

                                          Every 1ms.

                                          with a polling interval of 1ms, it is unlikely that the log would miss a brief failure.

                                          i got a fail on another attempt after using a spare 24v supply, so the stock supply is not to blame. nothing logged in the log file. i still don't want to rule out a local power line problem, maybe my building flickers or something. but, i think the extruder steps path is the fruitful one to go down. read on.

                                          as suggested, i ran 350's one-by-one, and with

                                          M350 E16 I1
                                          
                                          

                                          after the failure, it extrudes again. however, my attempts to run M350 while the printer was still printing the file were to no avail. it ignored them. it was only after I canceled the print that i was able to restore functionality. full disclosure: after canceling, the E command was the first i ran, before X|Y|Z, so i don't know if running a motion axis would have had the same effect.

                                          M122
                                          === Diagnostics ===
                                          Used output buffers: 4 of 32 (11 max)
                                          === Platform ===
                                          RepRapFirmware for Duet WiFi version 1.20 running on Duet WiFi 1.0
                                          Board ID: 08DDM-9FAM2-LW4SD-6JKD0-3SN6N-T2ZVY
                                          Static ram used: 15448
                                          Dynamic ram used: 99288
                                          Recycled dynamic ram: 4048
                                          Stack ram used: 1392 current, 8440 maximum
                                          Never used ram: 3848
                                          Last reset 07:42:21 ago, cause: power up
                                          Last software reset at 2018-02-28 21:32, reason: User, spinning module GCodes, available RAM 11880 bytes (slot 2)
                                          Software reset code 0x0003 HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0441f000, BFAR 0xe000ed38, SP 0xffffffff
                                          Error status: 0
                                          Free file entries: 8
                                          SD card 0 detected, interface speed: 20.0MBytes/sec
                                          SD card longest block write time: 19.4ms
                                          MCU temperature: min 37.0, current 54.7, max 57.0
                                          Supply voltage: min 23.9, current 24.4, max 24.7, under voltage events: 0, over voltage events: 0
                                          Driver 0: ok, SG min/max 0/1023
                                          Driver 1: ok, SG min/max 0/1023
                                          Driver 2: ok, SG min/max 0/1023
                                          Driver 3: open-load-A open-load-B, SG min/max 0/1023
                                          Driver 4: standstill, SG min/max not available
                                          Date/time: 2018-03-03 20:27:05
                                          Cache data hit count 4294967295
                                          Slowest main loop (seconds): 0.128808; fastest: 0.000044
                                          === Move ===
                                          MaxReps: 1436, StepErrors: 0, FreeDm: 123, MinFreeDm 120, MaxWait: 2078584986ms, Underruns: 5688, 3
                                          Scheduled moves: 754935, completed moves: 754905
                                          Bed compensation in use: none
                                          Bed probe heights: 0.000 0.000 0.000 0.000 0.000
                                          === Heat ===
                                          Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
                                          Heater 0 is on, I-accum = 0.0
                                          Heater 1 is on, I-accum = 0.6
                                          === GCodes ===
                                          Segments left: 1
                                          Stack records: 2 allocated, 0 in use
                                          Movement lock held by null
                                          http is idle in state(s) 0
                                          telnet is idle in state(s) 0
                                          file is doing "G1 X-25.458 Y4.488 F12000" in state(s) 0
                                          serial is idle in state(s) 0
                                          aux is idle in state(s) 0
                                          daemon is idle in state(s) 0
                                          queue is idle in state(s) 0
                                          autopause is idle in state(s) 0
                                          Code queue is empty.
                                          Network state is running
                                          WiFi module is connected to access point 
                                          Failed messages: pending 0, notready 0, noresp 0
                                          WiFi firmware version 1.20
                                          WiFi MAC address 2c:3a:e8:0b:20:8d
                                          WiFi Vcc 3.37, reset reason Turned on by main processor
                                          WiFi flash size 4194304, free heap 16720
                                          WiFi IP address 10.0.1.2
                                          WiFi signal strength -53dBm, reconnections 0, sleep mode modem
                                          HTTP sessions: 1 of 8
                                          Socket states: 2 0 0 0 0 0 0 0
                                          Responder states: HTTP(1) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
                                          
                                          

                                          i conjecture that if it is an outlet problem, then if two printers running on the same circuit would more likely both experience a problem than individually. testing now. i also discovered that i have been slicing in absolute mode, so switched just to keep testing things.

                                          1 Reply Last reply Reply Quote 0
                                          • ofloveandhateundefined
                                            ofloveandhate
                                            last edited by

                                            for that voltage threshold being crossed to be logged in my file, what debug level do i need to be at? is there one in this firmware? is it possible it was emitted but ignored?

                                            http://reprap.org/wiki/G-code#M111:_Set_Debug_Level
                                            https://duet3d.dozuki.com/Wiki/GCode#Section_M929_Start_stop_event_logging_to_SD_card

                                            also, does "stall detection" mean anything to my printer? is this functional on a d300vs?

                                            https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing

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