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

How to compensate for X/Y dimensional errors?

Scheduled Pinned Locked Moved
General Discussion
5
11
773
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
    Danal
    last edited by Danal 29 Mar 2020, 17:19

    As you suggested, change your steps/mm. As you pointed out, it accepts decimal fractions.

    Delta / Kossel printer fanatic

    1 Reply Last reply Reply Quote 0
    • undefined
      Danal
      last edited by 29 Mar 2020, 17:22

      Please post at least these sections of your config.g:

      ; Axis to driver mapping
      M584 X0 Y1 U2 Z3:4:5 ; X and Y for CoreXY. U for toolchanger lock. Z has three drivers for kinematic bed suspension.
      M584 E1.0:1.1:2.0:2.1 ; Extruders for four tools.
      M569 P0 S0 ; Drive 0 direction | X stepper
      M569 P1 S0 ; Drive 1 direction | Y Stepper
      M569 P2 S0 ; Drive 2 direction | U Tool Changer Lock
      M569 P3 S0 ; Drive 3 direction | Front Left Z
      M569 P4 S0 ; Drive 4 direction | Front Right Z
      M569 P5 S0 ; Drive 5 direction | Back Z
      ; End of main board drivers. Expansion boards have three each.
      ; Expansion 0
      M569 P6 S0 ; Drive 6 direction | Extruder T0
      M569 P7 S0 ; Drive 7 direction | Extruder T1
      ; Expansion 1
      M569 P8 S0 ; Drive 8 direction | Extruder T2
      M569 P9 S0 ; Drive 9 direction | Extruder T3
      ; Kinematics
      M669 K1 ; CoreXY mode
      ; Leadscrew locations (really, kinematic coupling locations) extracted from CAD model assuming back right build plate corner is (0, 0)
      M671 X300:5:152.5 Y316:316:-14 S10 ; Front Left: (300, 316) | Front Right: (5, 316) | Back: (-14, 152.5)
      ; Axis and motor configuration
      M350 X16 Y16 I1 ; Set 16x microstepping for axes. Use interpolation.
      M350 U4 I1 ; Set 4x for toolchanger lock. Use interpolation.
      M350 Z16 I1 ; Set 16x microstepping for axes. Use interpolation.
      M350 E16 I1
      M906 X2000 Y2000 Z1000 E1250 I30 ; Motor currents (mA) and Idle percentage
      M906 U1100 I40 ; Motor currents (mA) and Idle percentage
      M201 X600 Y600 Z10 E1000 U1000 ; Accelerations (mm/s^2)
      M203 X25000 Y25000 Z400 E4000 U10000 ; Maximum speeds (mm/min)
      M566 X700 Y700 Z2 E3000 U200 ; Maximum jerk speeds mm/minute
      ;M92 X200 Y200 ; Steps/mm for X,Y with 16 tooth pulleys (preferred).
      M92 X160 Y160 ; Steps/mm for X,Y with 20 tooth pulleys.
      M92 Z3200 ; Steps/mm for Z - TR8*4 / 0.9 deg stepper
      M92 U11.429 ; Steps/mm for tool lock geared motor.
      M92 E837 ; Extruder - 0.9 deg/step

      Delta / Kossel printer fanatic

      undefined 1 Reply Last reply 29 Mar 2020, 22:18 Reply Quote 0
      • undefined
        mrehorstdmd
        last edited by 29 Mar 2020, 17:55

        The data is based on your measurements with a caliper. Notice that the first couple measurements (around 10-20 mm) are the worst. When you measure things with a caliper, there is always some error on the part of the person doing the measuring. Maybe you didn't hold it perfectly square maybe you pushed harder on the caliper and caused it to flex or the object being measured to compress, etc. For small measurements, the error makes up a larger part of the reading. This is why all those 20 mm "calibration cubes" that people keep printing are just silly. If you base your settings on a 20 mm measurement, when you print something larger the absolute error will multiply. The percentage error remains constant, but in the real world, where parts have to fit together, the absolute error is what counts.

        If you ignore the first couple measurements, the others are pretty close. Maybe as close as variations in filament diameter and nozzle hole roundness will allow. Once the molten plastic leaves the nozzle, it does what it wants until it cools enough that it can't.

        https://drmrehorst.blogspot.com/

        1 Reply Last reply Reply Quote 0
        • undefined
          zapta
          last edited by 29 Mar 2020, 22:16

          @mrehorstdmd said in How to compensate for X/Y dimensional errors?:

          when you print something larger the absolute error will multiply.

          It depends what is the model of the error just (measured = A x expected), or (measured = A x expected + B). The fixed error B can occur for example due to extrusion width wider than expected.

          Anybody can comment of the proper error model for 3D printers?

          1 Reply Last reply Reply Quote 0
          • undefined
            zapta @Danal
            last edited by 29 Mar 2020, 22:18

            @Danal said in How to compensate for X/Y dimensional errors?:

            Please post at least these sections of your config.g:

            My config.g is here https://github.com/zapta/misc/blob/master/hevo/duet/sys/config.g . The printer is a corexy, 0.9degree steppers, 16T pulleys, 2mm pitch GT belts.

            1 Reply Last reply Reply Quote 0
            • undefined
              NitroFreak
              last edited by 29 Mar 2020, 22:33

              Nonono! Dont change your steps/mm. The steps/mm should only be based on the machine. Take your caliper, drive one axis 100mm and check how much it´s traveled. Based on this you should calculate your steps/mm.
              If the part is too small you need to tinker with the scale and horizontal offset in your slicer.
              Plastic shrinks, and you need to print it bigger for it to come out with the actual dimensions.
              I see this error done a lot.
              Here is quite a good video on it.
              https://www.youtube.com/watch?v=0dFThbwAx2Y

              1 Reply Last reply Reply Quote 0
              • undefined
                mrehorstdmd
                last edited by 29 Mar 2020, 22:59

                Your prints are within a few 10s of microns of the designed values. That's as good as you're ever going to get. It's a 3D printer squirting out molten plastic, not a cutting tool. If you need better accuracy than you're already getting, you'd better find some other way to make the parts that you're printing.

                https://drmrehorst.blogspot.com/

                1 Reply Last reply Reply Quote 1
                • undefined
                  Danal
                  last edited by 29 Mar 2020, 23:00

                  You know, I just really looked at the numbers in the first post.

                  150mm - 149.89 = 0.11

                  A 0.4 nozzle generally prints a line at LEAST 0.4 wide, quite often wider, depending on slicer settings. Most default to around 1.125 * nozzle width = 4.5. Therefore, this is about 1/4, or less, of a single line width. Which means it is WELL within measurement error.

                  I would not adjust anything based on this. Either print a much longer sample, or figure out how to measure your carriage movement with more than 0.01 accuracy and repeatability.

                  Delta / Kossel printer fanatic

                  1 Reply Last reply Reply Quote 0
                  • ?
                    A Former User
                    last edited by 29 Mar 2020, 23:02

                    I'd suggest this has to do with shrinkage rather than steps/mm - but if you only print one type of filament then steps/mm will probably sort you out.

                    undefined 1 Reply Last reply 29 Mar 2020, 23:20 Reply Quote 0
                    • undefined
                      zapta @A Former User
                      last edited by 29 Mar 2020, 23:20

                      @bearer said in How to compensate for X/Y dimensional errors?:

                      I'd suggest this has to do with shrinkage rather than steps/mm

                      The shrinkage is proportional to the length of the object so is probably captured by the 0.999 scale error. It's a good point that I may also be able to compensate for it in the slicer.

                      The 0.13mm additive error seems to be something else since it is length independent.

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