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

M200 Volumetric issue, revisited

Scheduled Pinned Locked Moved
General Discussion
2
8
412
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
    paralepsis
    last edited by 19 Jul 2020, 19:42

    I've been trying to get my head around volumetric extrusion and the "filaments" features. Read this post, which is informative, but I could still use some help.

    I got volumetric printing working, with the appropriate filament-specific stuff buried in the Prusa Slicer filament start g-code. What I think I would like to do is have the all the filament-specific stuff in the appropriate filament config.g instead, like this:

    ; Filament diameter and extrusion multiplier
    M200 D1.71
    M221 D0 S84.15
    ; Firmware retraction
    M207 S0.30 F2400 T1800 R0 Z0.2
    ; Pressure advance settings
    M572 D0 S0.04

    Then I could just call M703 at the beginning of a specific gcode file for a print (e.g., in the custom gcode within Slicer), and if I need to switch mid-print I can just load that config file.

    I can see that the extrusion multiplier, retraction, and pressure advance settings are all being applied by calling the appropriate [M221|M207|M572] commands in the console, but an "M200" indicates that volumetric is off. This isn't helpful, but is explained in the linked post above.

    However, what I'm observing is that unless I actually place the M200 within the body of the top-level gcode file (i.e., the thing that Slicer is generating), that this value doesn't seem to be applied at all (i.e., the Duet overextrudes heavily). This is (a) pretty confusing, and (b) seems inconsistent given that all the other settings are applied and easily visible.

    So, I guess I'm wondering if I understand things correctly and really do need to make sure I have the right filament diameter applied via the "top-level" gcode file (whatever the term is, not down in the filament config.g)? Or is there something else going on that I've mucked up in this transition? And if I do understand things, is there a work-around?

    Thanks!

    Railcore II 300XL w/ Duet 3 & RRF 3.5rc4, Makerbot R2X w/ Duet 2 WiFi & RRF 3.4

    1 Reply Last reply Reply Quote 0
    • undefined
      dc42 administrators
      last edited by 19 Jul 2020, 20:23

      Volumetric extrusion is done or not on a per-input-channel basis. This is so that the extrusion commands on PanelDue and in DWC will work as normal even after you are doing a print with volumetric extrusion enabled, or when you pause a print which uses volumetric extrusion. So to use volumetric extrusion, put the M200 command in your slicer start GCode.

      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

      undefined 1 Reply Last reply 19 Jul 2020, 20:53 Reply Quote 0
      • undefined
        paralepsis @dc42
        last edited by 19 Jul 2020, 20:53

        @dc42 Thanks. So to be clear: I can put retraction, pressure advance, and extrusion multiplier wherever I want, but this one thing has to be in the slicer gcode?

        Is standard practice (when using volumetric) just to put in (e.g.) 1.75mm and do all the work with extrusion multiplier? Because if I cannot change the filament diameter during the print, then I have to have some other mechanism to get the extrusion rate right if I switch filament...

        Thanks again!

        Railcore II 300XL w/ Duet 3 & RRF 3.5rc4, Makerbot R2X w/ Duet 2 WiFi & RRF 3.4

        undefined 1 Reply Last reply 19 Jul 2020, 21:13 Reply Quote 0
        • undefined
          dc42 administrators @paralepsis
          last edited by 19 Jul 2020, 21:13

          @paralepsis said in M200 Volumetric issue, revisited:

          @dc42 Thanks. So to be clear: I can put retraction, pressure advance, and extrusion multiplier wherever I want, but this one thing has to be in the slicer gcode?

          Is standard practice (when using volumetric) just to put in (e.g.) 1.75mm and do all the work with extrusion multiplier? Because if I cannot change the filament diameter during the print, then I have to have some other mechanism to get the extrusion rate right if I switch filament...

          Thanks again!

          I haven't used volumetric extrusion except during testing, so I can't really advise you. Setting the filament diameter to 1.75mm and tweaking the extrusion multiplier using M221 sounds good to me, assuming that all your filament is nominally 1.75mm diameter.

          In fact, if you issue M200 from another channel, it will affect the extrusion. Volumetric extrusion on/off is handled per-input-channel, but the filament diameters are stored globally.

          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

          undefined 1 Reply Last reply 19 Jul 2020, 21:22 Reply Quote 0
          • undefined
            paralepsis @dc42
            last edited by 19 Jul 2020, 21:22

            @dc42 Heh ok...so I can in fact use M200 commands from outside the "input channel" (i.e., the slicer-generated gcode file) to change the filament diameter, and they will be applied, I just cannot observe the change anywhere?

            Railcore II 300XL w/ Duet 3 & RRF 3.5rc4, Makerbot R2X w/ Duet 2 WiFi & RRF 3.4

            undefined 1 Reply Last reply 19 Jul 2020, 22:26 Reply Quote 0
            • undefined
              dc42 administrators @paralepsis
              last edited by 19 Jul 2020, 22:26

              @paralepsis said in M200 Volumetric issue, revisited:

              @dc42 Heh ok...so I can in fact use M200 commands from outside the "input channel" (i.e., the slicer-generated gcode file) to change the filament diameter, and they will be applied, I just cannot observe the change anywhere?

              M200 without parameters should report the filament diameters.

              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
                paralepsis
                last edited by 19 Jul 2020, 22:53

                I'm pretty sure that when I use M200 outside the scope of the input channel, during a volumetric run, I just get the message about volumetric extrusion not being enabled.

                Railcore II 300XL w/ Duet 3 & RRF 3.5rc4, Makerbot R2X w/ Duet 2 WiFi & RRF 3.4

                1 Reply Last reply Reply Quote 0
                • undefined
                  paralepsis
                  last edited by paralepsis 20 Jul 2020, 01:18

                  Ok, I can confirm that this (in the input channel gcode):

                  ; Set dummy filament diameter and then load filament settings
                  M200 D1.75
                  M703
                  ; report filament diameter?
                  M200

                  Does get me into volumetric extrusion mode, and that the M703 does result in a change in the filament diameter. Somewhat bogus way to have to do things, but this does solve my problem for me.

                  Thanks for the discussion, it helped.

                  Railcore II 300XL w/ Duet 3 & RRF 3.5rc4, Makerbot R2X w/ Duet 2 WiFi & RRF 3.4

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