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

DAA Ringing help please

Scheduled Pinned Locked Moved
Tuning and tweaking
3
19
1.1k
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
    Phaedrux Moderator
    last edited by 12 Jan 2021, 17:16

    Well it definitely gets worse at the high end of acceleration.

    For my external walls if I want absolutely no sign of ringing I use 600 accel and 600 jerk (and then higher for other print moves). So maybe give that a shot.

    Though there still appears to be some additional mechanical noise that shows up in the repeating ridges on the long straight that don't seem to die down.

    Photo of your printer?

    Z-Bot CoreXY Build | Thingiverse Profile

    1 Reply Last reply Reply Quote 0
    • undefined
      dc42 administrators
      last edited by 12 Jan 2021, 20:48

      DAA works best when XY jerk is low, jerk mode is 0, and acceleration is high. Your slicer may insert commands to change the jerk (M205 or M566) or acceleration (M201 or M204), so check that your gcode print file doesn't contain those.

      The disadvantage of setting jerk too low is that it slows down curves.

      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
        MartinNYHC
        last edited by 14 Jan 2021, 14:09

        Did a lot of test prints and found out that especially decreasing the maximum printing acceleration (M204) is having a huge impact on ringing.

        Best values for outer shells I've found so far:

        M566 X300 Y300
        M201 X6000 Y6000
        M204 P500

        Added this to my S3D post-processing script:

        [...]
        elif line.startswith('; feature outer perimeter'):
        linesNew.append('; feature outer perimeter\nM566 X300 Y300\nM201 X6000 Y6000\nM204 P500\n')
        elif line.startswith('; feature inner perimeter'):
        linesNew.append('; feature inner perimeter\nM566 X1000 Y1000\nM201 X2000 Y2000\nM204 P10000\n')
        elif line.startswith('; ; feature solid layer'):
        linesNew.append('; feature solid layer\nM566 X1000 Y1000\nM201 X2000 Y2000\nM204 P10000\n')
        elif line.startswith('; feature infill'):
        linesNew.append('; feature infill\nM566 X1000 Y1000\nM201 X2000 Y2000\nM204 P10000\n')
        [...]

        Will test this further.

        1 Reply Last reply Reply Quote 0
        • undefined
          MartinNYHC
          last edited by 14 Jan 2021, 14:18

          Of course this will slow down the print massive but only for the outer shell. Let's see if this is something I can live with 😉 Beside of that I think I also have a Y axis issue because ringing is always a lot of "stronger" on the Y axis. X axis looks quite better.

          undefined 1 Reply Last reply 14 Jan 2021, 17:07 Reply Quote 0
          • undefined
            Phaedrux Moderator @MartinNYHC
            last edited by 14 Jan 2021, 17:07

            @MartinNYHC said in DAA Ringing help please:

            Beside of that I think I also have a Y axis issue because ringing is always a lot of "stronger" on the Y axis.

            Different mass compared to just X.

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • undefined
              MartinNYHC
              last edited by 15 Jan 2021, 10:47

              I think I cracked it down and found the best compromise between ringing and accel/jerk. It turned out that my ringing frequency is as low as 4.1.

              But bet? Now I have another problem 😲

              Gcode looks like

              [...]
              ; feature outer perimeter
              M566 X500 Y500
              M201 X6000 Y6000
              M204 P500
              G1 X155.200 Y174.800 F9000
              G92 E0.0000
              G1 X155.200 Y155.200 E0.6128 F900
              G1 X174.800 Y155.200 E1.2256
              G1 X174.800 Y174.800 E1.8384
              G1 X155.200 Y174.800 E2.4511
              ; feature solid layer
              M566 X1000 Y1000
              M201 X2000 Y2000
              M204 P10000
              G1 X156.789 Y173.760 F9000
              G92 E0.0000
              G1 X156.240 Y173.211 E0.0243 F1800
              G1 X156.240 Y172.645 E0.0420
              G1 X157.355 Y173.760 E0.0913
              G1 X157.921 Y173.760 E0.1090
              G1 X156.240 Y172.079 E0.1833
              G1 X156.240 Y171.513 E0.2010
              [...]

              Although the M566/M201/M204 values are set correctly at the right positions (and verified during printing via console) the solid layer is not printed with the current active values. It is as "lazy" as the outer permimeters. How can that be? Or is it not supported to change these parameters frequently during prints?

              undefined 1 Reply Last reply 15 Jan 2021, 17:19 Reply Quote 0
              • undefined
                MartinNYHC
                last edited by 15 Jan 2021, 11:26

                Got rid of it by disabling DAA for non outer permimeters. Will test this now.

                1 Reply Last reply Reply Quote 1
                • undefined
                  MartinNYHC
                  last edited by 15 Jan 2021, 11:30

                  If someone is interested here's the code snippet:

                  linesNew = []
                  for line in lines:
                  if line.startswith('M557'):
                  linesNew.append(re.sub(r'^M557 X\d+:\d+ Y\d+:\d+ S\d+:\d+', gridNew, line, flags=re.MULTILINE))
                  elif line.startswith('; feature'):
                  if "outer perimeter" in line:
                  linesNew.append(line + 'M566 X500 Y500\nM201 X6000 Y6000\nM204 P500\nM593 F4.1\n')
                  else:
                  linesNew.append(line + 'M566 X1000 Y1000\nM201 X2000 Y2000\nM204 P10000\nM593 F0\n')
                  else:
                  linesNew.append(line)
                  return linesNew
                  1 Reply Last reply Reply Quote 1
                  • undefined
                    Phaedrux Moderator @MartinNYHC
                    last edited by 15 Jan 2021, 17:19

                    @MartinNYHC said in DAA Ringing help please:

                    M201 X2000 Y2000 M204 P10000

                    Don't use M201 at all in this case as it's setting the upper limit. Just set it once in config.g. M204 is the intended way to change it during the print. So in your example, M204 isn't having any effect because 10000 is greater than the 2000 limit set.

                    Z-Bot CoreXY Build | Thingiverse Profile

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      MartinNYHC
                      last edited by 15 Jan 2021, 17:21

                      Makes sense. Thanks for pointing this out.

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