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

    Big problem with1.17b that isn't present with 1.17RC3

    Scheduled Pinned Locked Moved
    Firmware installation
    4
    29
    4.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.
    • dc42undefined
      dc42 administrators
      last edited by

      @Dougal1957:

      S3D Does support Firmware retraction it just uses the M103/101 codes instead of G10 and G11 and this can be changed by adding the following 2 lines into the Post process box on the Scripts tab

      {REPLACE "M103" "G10; retract"}
      {REPLACE "M101" "G11; unretract"}

      I have been running like this for some time now

      HTH

      Doug

      Thanks, Doug! I have added support for M101 and M103 in the forthcoming 1.17c release.

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

        @deckingman:

        Hi David,

        I've tested the experimental firmware (1.17b+1 (2017-01-13)).

        M220 speed override works as expected during a print. However, the speed override still works for non print moves while the machine is idle. (Actually, I'm fine with that but I understand that other users want it changed).

        The over extrusion which seems to be caused by G11 after a G10 issue remains an issue - no discernable difference in print behaviour between this experimental version and 1.17b. I'll go back to 1.17rc3 for now,

        Cheers

        Ian.

        P.S. - Take the weekend off - this stuff can wait a while.

        Hi Ian,

        I'm sorry, I can't reproduce that. G11 un-retracts the same amount of filament as G10 on my printers, assuming I don't configure it to do otherwise.

        If you send G10 manually followed by G11, does it extrude more than it retracts? If it doesn't and you only see this problem in an actual print, can you send me a snippet of gcode showing the context of the G10 and G11 commands in your print?

        Are you doing anything else unusual, such as using absolute extruder coordinates?

        I have a 1.17c release almost ready to go and I'd really like to sort out this issue before I release it.

        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
        • deckingmanundefined
          deckingman
          last edited by

          Hi David,

          Sending G10 then G11 manually via the web interface works as expected in both 1.17rc3 and 1.17b - I checked by putting a Tipex mark on the extruder gear and it moves back and forth to the same position.

          I've uploaded the entire gcode file for the object that is in the pictures and which prints fine in 1.17rc3 but not in 1.17b. You can access it here https://drive.google.com/file/d/0B_MwtHtQR_ZveG45ek54Wld6cG8/view?usp=sharing. The problems (using 1.17b) become most noticeable after the solid base layers are printed, so from about line 8387 onwards.

          I can't see anything untoward in the gcode file but then I wouldn't expect to as it works fine in "rc3" but not "b" and no, I'm not using absolute extruder coordinates anywhere (except for M207 which is set to 2.0 mm).

          So maybe it isn't G11 but something else that happens immediately before or after which visually looks like the same thing. Could the firmware send multiple G11s instead of just the one? Could it be trying to do something with pressure advance even though I'm not using it?

          Is there a way to see what commands are sent to the printer to check them against the gcode file?

          What else can I do to help?

          Cheers

          Edit. If it makes any difference, my Web interface is 1.13 - had problems as reported using 1.14.

          Ian

          Further edit. Could it be anything to do with me using 3 extruders simultaneously? The tool definition I'm using is set to a mixing ratio of 90:05:05. I could change it to 100:0:0 if you think it's worth trying.

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

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

            I've just committed firmware 1.17c. Please check it in case the problem is fixed, although I doubt that it is.

            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
            • deckingmanundefined
              deckingman
              last edited by

              Hi David,

              Sorry to report that 1.17c has the same issues as 1.17b. Again, I had to abort the print dues to all the excess extruded filament causing the nozzle to collide.

              At least it's repeatable. That is to say that 1.17rc3 always produces good results and 1.17b (or c) always produces bad results.
              The sequence has been:

              1.17rc3 - good
              1.17b - bad
              1.17 rc3 - good
              1.17 "experimental" -bad
              1.17 rc3 - good
              1.17c - bad
              1.17rcs - TBA but I'll try it later and will be very surprised if it's not good. EDIT - result is good.

              Also, the good prints look identical to each other, and the bad prints look identical to each other (apart from the fact that they all have to be aborted early).

              The other little nagging thought I have is that this is all a bit reminiscent of the seeming over extrusion issues I had when I first started to commission the printer back in November. If you remember, I was running an extrusion multiplier of 70% to get good results. I tried just about everything imaginable but nothing worked. Then one day it magically cured itself after I had to make several changes due to my IR probe getting destroyed. I can't help but wondering if all along it might have been akin to the issue that I'm seeing now - i.e. something in the firmware?

              Maybe it's a red herring - just trying to give you as much info as possible.

              Ian

              Last reason for edit - latest print with RC3 was good (as expected)

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

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

                Hi Ian,

                Please can you try a print with mixing disabled (not just set to 100%/0/0). There may be a difference.

                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
                • deckingmanundefined
                  deckingman
                  last edited by

                  @dc42:

                  Hi Ian,

                  Please can you try a print with mixing disabled (not just set to 100%/0/0). There may be a difference.

                  Will do. I just need to wait for this print to finish then I'll define a tool with no mixing and try 1.17c again.

                  BTW this latest print with 1.17rc3 is looking fine (as expected).

                  Ian

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

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

                    Hi David,

                    OK I've commented out all of my old tool definitions and created a single tool with a single extruder (M563 P0 D0 H1) Tested with 1.17c and the problem still exists. It's not as extreme but I'd say that was only because using a single extruder I'm effectively only using a third of the retraction/recovery that I'd normally need. i.e. the other two extruders now remain stationary whereas with mixing enabled, they too retract and recover.

                    The other thing is, with a single extruder I cannot now visually be sure that recovery from retraction is greater because this single extruder moves a lot more than the extruders that were only feeding 5% of the total needed, but my guess is that it is acting the same because the print quality adversely affected the same way.

                    That being the case, I'm assuming it has nothing to do with mixing. Given that nobody else is reporting having these issues, I think it's also safe to assume that it must be related to firmware retraction.

                    I guess I could turn off firmware retraction and slice the object using "normal" retraction but I'd be reluctant to try. I don't like running the printer configured as it is. In my experience, I need to keep the filament moving on all the inputs (not just have it loaded) otherwise I can get blockages (hence the reason for using 90:05:05 as my normal mixing ratio).

                    I need to re-enable all 3 tools and purge some filament through all the inputs as matter of some urgency but if you want me to try a single tool again, let me know.

                    Ian

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

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

                      @dc42

                      David,

                      I have managed to capture what is going on in a video. I created a simple test piece which is just 4 off 10mm x 10mm x 10mm cubes, spaced in a square pattern about 20 mm apart. I also put 4 marks on the extruder gears with tipex about 90 degrees apart so that we can see what is happening.

                      The mixing ratio was set to 90:05:05 so extruder 0 (zero) does most of the work, extruders 1 and 2 only do 5% of the work each. Extruder 0 is at the front of the machine (has a plain wall behind it) then extruders 1 and 2 are in a clockwise pattern when viewed from above.

                      The video is just a series of clips, all hand held with no fancy editing so excuse the shaky nature. As you will see, the first part of the video up to about 1:30 is using 1.17 rc3 and is what I would describe as normal behaviour. The rest of the video is using 1.17c (the latest release). The difference is not hard to spot - it's like night and day. You'll see what I mean about it looking as if the recovery from retraction is greater than the retraction itself. It is most noticeable on extruder 2 which, because it only moves 5% of the total, looks like it's almost stationary during the print, then there is a step change in position after the retraction. Once you see this, it's easy to spot that extruder 0 is doing the same thing.

                      What is really flaky, is that extruder 1 seems not to be affected the same way and exhibits normal behaviour. There is a clip of it from about 4:48 in the video then from about 5:08 to 5.30 is me filming each extruder and walking around the machine. There is no doubt in my mind that only extrudes 0 and 2 are affected and the extruder 1 seems to be unaffected (or perhaps affected to far lesser extent so that it is not visually obvious). The final clip shows the result on print quality.

                      So, it seems that something happens immediately after retraction, it only affects extruders 0 and 2, extruder 1 does not exhibit the same behaviour. All extruders visually behave as expected using firmware 1.17 rc3 but exhibit the problem using 1.17c. I'd expect the same is the case using 1.17b. It is certainly true that extruders 0 and 2 behave the same way but I cannot confirm that extruder 1 is unaffected in 1.17b because I didn't consciously look at it.

                      Link to the video is here. https://drive.google.com/file/d/0B_MwtHtQR_ZvOUFBQ3o3YUtUSlE/view?usp=sharing

                      Hope that helps to shed some light.

                      Ian

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

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

                        Ian, thanks for the video. From a knowledge of the gearing, the steps/mm and the amount of retraction configured, can you tell whether it is under-retracting or over-priming?

                        Please can you do a few more tests:

                        1. Confirm that when you send G10 and G11 manually, the amounts of retraction and un-retraction are the same on all extruders.

                        2. Try reducing extruder max speed, acceleration and jerk, to rule out something mechanical.

                        3. Do you use Z hop? If you do, does the problem still occur without it?

                        4. During that print, after a few retracts send M122 and check that "Step errors" in the report is zero.

                        5. During that print , or a similar one, with a USB host connected send M111 S1 P4 amd M111 S1 P6. You will get copious amounts of debug to the USB port. Let it run long enough to do a few retracts, then pause the print or just reset the machine, copy and paste the debug output into a text editor, and make it available for me to look at.

                        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
                        • deckingmanundefined
                          deckingman
                          last edited by

                          Hi David - my comments in bold

                          @dc42:

                          Ian, thanks for the video. From a knowledge of the gearing, the steps/mm and the amount of retraction configured, can you tell whether it is under-retracting or over-priming?

                          That's a tough one to call but looking at the video, I'd say it's pretty conclusive that the retraction amount is the same for both versions of firmware and it's the recovery that is greater in 1.17c. For info, these are E3D Titan extruders, 3:1. No difference in settings between them. Here are the relevant settings from my config

                          M350 X16 Y16 Z16 E16:16:16 I1; Configure XYZ and 3 extruders microstepping with interpolation
                          M92 X80 Y80 Z3200 E405:405:405 ; Set steps per mm
                          M566 X600 Y600 Z10 E300:300:300 ; Set maximum instantaneous speed changes (mm/min)
                          M203 X70000 Y45000 Z300 E2400:2400:2400 ; Set maximum speeds (mm/min)
                          M201 X1200 Y1200 Z10 E1000:1000:1000 ; Set accelerations (mm/s^2)
                          M906 X1800 Y1800 Z1800 E350:350:350 I20 ; Set motor currents (mA) and motor idle factor in per cent

                          Please can you do a few more tests:

                          1. Confirm that when you send G10 and G11 manually, the amounts of retraction and un-retraction are the same on all extruders.

                          With 1.17c, 1.17rc3 or both?

                          2. Try reducing extruder max speed, acceleration and jerk, to rule out something mechanical.

                          Seriously? Why would it work fine with one version of firmware and not another?

                          3. Do you use Z hop? If you do, does the problem still occur without it?
                          No, don't use it - you asked me that before.

                          4. During that print, after a few retracts send M122 and check that "Step errors" in the report is zero.

                          Again, 1.17c, 1.17rc3 or both?

                          5. During that print , or a similar one, with a USB host connected send M111 S1 P4 amd M111 S1 P6. You will get copious amounts of debug to the USB port. Let it run long enough to do a few retracts, then pause the print or just reset the machine, copy and paste the debug output into a text editor, and make it available for me to look at.

                          …....and again, which firmware do you want me to do that on - or is it both?

                          Cheers

                          Ian

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

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

                            David,

                            Ref point 1 above. I did a series of G10 G11 with both 1.17rc3 and 1.17c and counted extruder teeth moved in each direction for all 3 extruders, Here are the results: This to the nearest whole tooth so allow +/- 1 tooth for measurement errors

                            1.17 rc3.

                            T0 G10=6, G11=6
                            T1 G10=5, G11=5
                            T1 G10=6, G11=6

                            1.17c

                            T0 G10=5, G11=8
                            T1 G10=6, G11=8
                            T2 G10=5, G11=9

                            I guess that's fairly conclusive in that G10 and G11 are consistently the same in firmware 1.17rc3. Also G10 is the same in 1.17rc3 and 1.17c but G11 is high in 1.17c.

                            What doesn't make sense is that this behaviour is the same for all 3 extruders, yet in the video it is clear that during a print, only extruders 0 and 2 exhibited this behaviour but extruder 1 appeared to be acting normally.

                            After the series of G10/G11s using 1.17c (the one with the high G11 compared to G10), I ran M122. There are no step errors or anything else untoward that I can spot. I have the entire file if you want it.

                            Ian

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

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

                              HI Ian,

                              As it appears that you can replicate the problem just by sending G10 and G11, please can you load firmware 1.17c, connect Pronterface, send M111 S1 P4 and M111 S1 P6, then do one G10 followed by one G11. Monitor the teeth during this to be sure that the problem has occurred. Then copy the debug output from Pronterface. Also send M207 to check that there is still no extra priming configured.

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

                                PS - the reason I suggested reducing speed/acceleration/jerk was in case the two firmwares were applying different limits. But send me the debug output first, that will tell me what is happening. Depending on what I see, I may ask for similar debug output from 1,17RC3.

                                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
                                • deckingmanundefined
                                  deckingman
                                  last edited by

                                  Hi David,

                                  All done as requested and you can get at the debug file here. https://drive.google.com/file/d/0B_MwtHtQR_ZvT19UcDNVMEQ2RFU/view?usp=sharing

                                  Interestingly, when I did the M207 at the end, as you'll see from the debug file, it reported back retract length of 2.0mm and unretract of 3.0 which I guess is the problem. When I tried this several posts before, I got 2.0 and 2.0 but I can't now be absolutely certain which version of firmware that was with. What I can say for sure is that there is no R parameter in my config/g setting.

                                  This is the M207 at the end of my config.g, so as you'll also see, the pressure advance is all commented out as well (tried it once but had issues so commented it out). This is copied and pasted from the system editor of DWC so we can be sure that is what the Duet board is seeing (and I have no config.g override)

                                  ; Custom settings
                                  M207 S2.0 F3000 ;set firmware retraction S=amount in mm, F=Feed rate mm/min(/60 to get mm/sec), R = additional length, Z = additional Z lift in mm
                                  ;M572 D0 S0.20 ; set pressure advance coefficient
                                  ;M572 D1 S0.20
                                  ;M572 D2 S0.20

                                  Ian

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

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

                                    So the problem is that the unretract length is somehow getting changed. Can you pin down what it is? I don't see it on my machine. I suggest you reboot the Duet, then run M207 to check. Then home the printer and check again. if the unretract length is still ok, try other things, e.g. running bed probing if you usually do that, and printing the first 50 or so lines of one of your gcode files.

                                    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
                                    • deckingmanundefined
                                      deckingman
                                      last edited by

                                      Yes but it never happens with 1.17rc3. When I update to 17.b (or c) I get the problem. When I go back to 1.17rc3, I don't see the problem. It isn't random. I'll do some more tests, just doing M207 to see if I can nail it down.

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

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

                                        OK. I cancelled the print I was about to start using 1.17rc3.

                                        At 20:06:53 did M207 and got Retraction settings length 2.00/2.00 (this is with 1.17rc3). At 20:07:21 I updated the firmware to 1.17c. Without doing anything else I did M207 and got retraction settings length 2.00/3.00. At 20:08:25 I "update" the firmware back to 1.17rc3 and without doing anything else, I did M207 and got retraction settings length 2.00/2.00 (back to normal).

                                        Here is a screen shot to prove it. The only commands other than M207 are M997 S0 when it updates the firmware.

                                        https://drive.google.com/file/d/0B_MwtHtQR_ZvQWZhdFhRem5QR1E/view?usp=sharing

                                        All I have to do is update the firmware from 1.17rc3 to 1.17c and the retraction (unretract) gets screwed.

                                        Edit. If you look at the output, using 1.17rc3 the words say "M207 Retraction settings:" etc. Unsing 1.17c the words are different too "M207 Retraction/un-retraction settings:" etc. Don't know if that's a clue. Trying to find anything to help but I feel like I'm just banging my head against a wall.

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

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

                                          Thanks, problem solved. Both the retract length and the extra unretract length are defaulted to 1.0mm, which isn't right. So when you send M207 S2 without the R parameter, it leaves the extra unretract length as 1mm. I'll change it to default the extra unretract length to 0 in the next release. Meanwhile, adding R0 to your M207 command will avoid the problem.

                                          I'm sorry it's taken so long to track down such a simple cause. I had R0 explicitly in my M207 command, which is why I didn't see the problem.

                                          EDIT: now that this is sorted, I'll release 1.17c+1 (with the fix included) which I was holding up to see if I could fix this issue 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
                                          • deckingmanundefined
                                            deckingman
                                            last edited by

                                            Phewwww. Glad we got there.

                                            TBH I can't fathom the need for extra length on unretract. I think the theory is that during retract, the hobbed bolt squashes the filament a tiny bit so that when it comes to unretract, that part of the filament is now a slightly smaller diameter so needs a bit more. It's probably another of those theories that have never actually been properly tested and evaluated and I'm guessing that in "real life" if any compensation is needed, it would only be a tiny amount - perhaps 1 or 2 percent?

                                            Anyway. Thanks for getting it sorted - I appreciate that it must be difficult because you can't possibly test everything on every combination of machine. - Always happy to beta test

                                            PS. I've already added R0 to the M207 in my config,g

                                            Ian

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

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