Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    M669: S & T variables... my brain hurts!!!

    Tuning and tweaking
    3
    10
    180
    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.
    • CNCModeller
      CNCModeller last edited by

      Hi All,
      I've been tuning up my printer to increase print speed, having been unable to get the printer to reach desired speed with higher S and lower T I set them to the following:

      M669 S50 T0.5

      I'm using polar kinematics, the printer now prints at the demanded speed, but I have no idea why, in my mind 50 seg/s at 0.5mm/seg = 25mm/s but I'm getting much more than that. I obviously don't understand what these settings mean. Can anyone please enlighten me, it doesn't seem to be explained clearly in the documentation anywhere.

      M669: Set kinematics type and kinematics parameters
      Snnn Segments per second (because smooth XY motion is approximated by means of segmentation)
      Tnnn Minimum segment length (mm) (because smooth XY motion is approximated by means of segmentation)

      Any constructive thoughts would be much appreciated!!!

      Cheers
      Barry M

      Polar Printer Duet3 Mini + 1HCL
      https://youtube.com/playlist?list=PLWjZVEdMv1BY82izahK45qKh-hp3NFkix

      Wanhao D4S: Duet2
      https://forum.duet3d.com/post/296755

      Wanhao D5S & K40 Laser, Duet2 TBD
      https://www.youtube.com/CNCModellerUK

      oliof JoergS5 2 Replies Last reply Reply Quote 0
      • oliof
        oliof @CNCModeller last edited by

        @cncmodeller
        S is an absolute number of segments. So 50 segments per segment.

        T is the minimum segment length. So even if you were to set the number of segments per second to 1000, and printed at 50mm/sec, you'd still only get 100 segments with T0.5, because segments won't be shorter than 0.5mm.

        Let's say you print at 50mm/sec and 50 segments/per second. Then each segment is 1mm and longer than minimum segment length.

        (this is assuming that T is prioritized over S).

        <>Creality CR-20 IDEX Duet3 mini 5+<>RatRig V-Minion SKR RRF 1.1<>

        CNCModeller 1 Reply Last reply Reply Quote 0
        • CNCModeller
          CNCModeller @oliof last edited by CNCModeller

          @oliof, that makes sense to me, so what is a segment? Is it a chunk / packet of demand outputs to the drivers?

          Its now obvious to me that its not the minimum straight line length, i.e. like the triangle sizes in an STL file.

          I also don't understand why if I set S to 1 it doesn't seem to make any difference...???

          Brain still hurts lol

          Polar Printer Duet3 Mini + 1HCL
          https://youtube.com/playlist?list=PLWjZVEdMv1BY82izahK45qKh-hp3NFkix

          Wanhao D4S: Duet2
          https://forum.duet3d.com/post/296755

          Wanhao D5S & K40 Laser, Duet2 TBD
          https://www.youtube.com/CNCModellerUK

          oliof 1 Reply Last reply Reply Quote 0
          • oliof
            oliof @CNCModeller last edited by

            @cncmodeller The slicer makes GCode move commands from the STL. The GCode only coincidentally sometimes* recreates something where you can see the original STL on low resolution files.

            What GCode does not know is how the move command is actually executed by the 3d printer, because GCode is (usually) kinematics agnostic**

            Depending on the kinematics (how the printer actually positions the print head), it may be required that a GCode move command is split up into smaller moves. Those are called segments.


            *most of the time. Except if you use something like ArcWelder to re-approximate curved surfaces.

            ** experimental kinematics sometimes required GCode post processing.

            <>Creality CR-20 IDEX Duet3 mini 5+<>RatRig V-Minion SKR RRF 1.1<>

            1 Reply Last reply Reply Quote 0
            • JoergS5
              JoergS5 @CNCModeller last edited by JoergS5

              @cncmodeller said in M669: S & T variables... my brain hurts!!!:

              polar kinematics

              If you print a long straight line on a polar printer without segmentation, you'll get a curved line, because the stepper's speeds stay at a planned value and stepper to coordinates is non-linear.

              To solve this, the line is segmented into smaller lines, where the stepper's speeds are calculated for every segment. The result is, the smaller segments are nearly straight lines. Still not straight, but if you make enough segments, straight enough.

              Calculation of the segments needs additional computing power, so it depends on the Duet version which values can be set.

              CNCModeller 1 Reply Last reply Reply Quote 1
              • CNCModeller
                CNCModeller @JoergS5 last edited by

                Thanks @JoergS5 that's really interesting.

                So is it fair to say that course segmentation wouldn't affect small geometry?

                Is the minimum segment length that which if a move is shorter segmentation is not applied?

                Just trying to get a first principles feel for how it works. 🙂

                @joergs5 said in M669: S & T variables... my brain hurts!!!:

                @cncmodeller said in M669: S & T variables... my brain hurts!!!:

                polar kinematics

                If you print a long straight line on a polar printer without segmentation, you'll get a curved line, because the stepper's speeds stay at a planned value and stepper to coordinates is non-linear.

                To solve this, the line is segmented into smaller lines, where the stepper's speeds are calculated for every segment. The result is, the smaller segments are nearly straight lines. Still not straight, but if you make enough segments, straight enough.

                Calculation of the segments needs additional computing power, so it depends on the Duet version which values can be set.

                Polar Printer Duet3 Mini + 1HCL
                https://youtube.com/playlist?list=PLWjZVEdMv1BY82izahK45qKh-hp3NFkix

                Wanhao D4S: Duet2
                https://forum.duet3d.com/post/296755

                Wanhao D5S & K40 Laser, Duet2 TBD
                https://www.youtube.com/CNCModellerUK

                JoergS5 1 Reply Last reply Reply Quote 0
                • JoergS5
                  JoergS5 @CNCModeller last edited by JoergS5

                  @cncmodeller said in M669: S & T variables... my brain hurts!!!:

                  it fair to say that course segmentation wouldn't affect small geometry?

                  If you mean, small geometry is not affected by segmentation because they are small and you will not see a difference, so yes, if the object size is maybe in the 0.5 mm range. It depends how good your printer is, you'll your printer will have other imperfections which are weighing more. For nano printers it's different, of course.

                  Segmentation is a means to divide curved lines into short straight lines, so the Cartesian or CoreXY kinematics can print them, printing short straight lines. For straight lines, the stepper-coordinates is linear, so they don't need segmentation for the exactness of printing a long straight line.

                  For kinematics where stepper-coordinates are nonlinear, like Delta, polar, Scara, parallel scara, robots, segmentation is also necessary additionally to divide straight lines into segments, because the stepper-coordinates is nonlinear even for straight lines.

                  Your polar printer e.g. has one actuator rotating the plate: at the outer regions, the angle speed is higher than at the middle of the plate. This must be corrected while printing the line.

                  CNCModeller 1 Reply Last reply Reply Quote 0
                  • CNCModeller
                    CNCModeller @JoergS5 last edited by CNCModeller

                    @joergs5 so what does the T variable refer to?

                    i.e. how is it used in the polar kinematics?

                    I'm getting good small features even with the larger 0.5mm t variable. I'm printing a 720 tooth GT2 pulley (2mm tooth pitch) and the tooth profile looks great. It's approximately 450mm in diameter.

                    I'm guessing the smaller model segmentation means that kinematics segmentation isn't applied due to the model segments being less than 0.5mm long.

                    Polar Printer Duet3 Mini + 1HCL
                    https://youtube.com/playlist?list=PLWjZVEdMv1BY82izahK45qKh-hp3NFkix

                    Wanhao D4S: Duet2
                    https://forum.duet3d.com/post/296755

                    Wanhao D5S & K40 Laser, Duet2 TBD
                    https://www.youtube.com/CNCModellerUK

                    JoergS5 1 Reply Last reply Reply Quote 0
                    • JoergS5
                      JoergS5 @CNCModeller last edited by JoergS5

                      @cncmodeller I would propose testing different parameters with a line like so on your printer:

                      polar.jpg

                      The line crosses or is near the center, so you'll see whether it is straight enough with low segmentation.

                      I'm printing a 720 tooth GT2 pulley (2mm tooth pitch) and the tooth profile looks great

                      The teeth will be small, so you'll see no difference between different segmentation settings.

                      There may be limits of the segmentation in the firmware which I'm not aware of (minimum of T). But this is good to know when using Duet with a nano printer...

                      You have a fast Duet, so you can use high segmentation and check with M122, whether you touch any limits.

                      Your initial task was to speed up. In most cases, the reason is not the xyz speed of the actuators, but the maximum speed of the filament extrusion (the volume that can be heated up and extruded, the extruder stepper itself is fast enough) which limits the speed.

                      CNCModeller 1 Reply Last reply Reply Quote 0
                      • CNCModeller
                        CNCModeller @JoergS5 last edited by

                        @joergs5 yeah I've hit the hot end thermal limit on my 0.6mm volcano where I'm getting temperature drops, however the new beta firmware has extruder temp feed forward so I'm hoping that'll give me some more head room. I'm already printing pla at 245c to get better thermal transfer.

                        Polar Printer Duet3 Mini + 1HCL
                        https://youtube.com/playlist?list=PLWjZVEdMv1BY82izahK45qKh-hp3NFkix

                        Wanhao D4S: Duet2
                        https://forum.duet3d.com/post/296755

                        Wanhao D5S & K40 Laser, Duet2 TBD
                        https://www.youtube.com/CNCModellerUK

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