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

    Delta Fine Tuning

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    3
    9
    1.8k
    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.
    • zuspielundefined
      zuspiel
      last edited by

      Hoping to tap into the vast knowledge around here. I need help fine tuning my delta printer. My dimensions are getting pretty close but I'm struggling to get all the way there.

      Setup

      Ultibots D300VS Plus (TrickLaser arms, Titan Aero)
      FSRs under the bed
      The frame is straight(ish) but not measured with high precision

      Firmware Name: RepRapFirmware for Duet WiFi
      Firmware Electronics: Duet WiFi 1.0
      Firmware Version: 1.19.2 (2017-09-01)
      WiFi Server Version: 1.19.2
      Web Interface Version: 1.19.3

      bed.g:

      [[language]]
      M561						; clear any bed transform, otherwise homing may be at the wrong height
      G31 X0 Y0					; don't want any probe offset for this
      G28						; home the printer
      
      ; Probe the bed and do 6- or 7-factor auto calibration
      G30 P0 X-86.60 Y-50.00 Z-99999	; X tower
      G30 P1 X0.00 Y-100.00 Z-99999	; between X-Y towers
      G30 P2 X86.60 Y-50.00 Z-99999	; Y tower
      G30 P3 X86.60 Y50.00 Z-99999	; between Y-Z towers
      G30 P4 X0.00 Y100.00 Z-99999	; Z tower
      G30 P5 X-86.60 Y50.00 Z-99999	; between Z-X towers
      G30 P6 X-43.30 Y-25.00 Z-99999	; X tower
      G30 P7 X0.00 Y-50.00 Z-99999	; between X-Y towers
      G30 P8 X43.30 Y-25.00 Z-99999	; Y tower
      G30 P9 X43.30 Y25.00 Z-99999	; between Y-Z towers
      G30 P10 X0.00 Y50.00 Z-99999	; Z tower
      G30 P11 X-43.30 Y25.00 Z-99999	; between Z-X towers
      G30 P12 X0 Y0 Z-99999 S6		; center and auto-calibrate 6 factors
      
      G1 X0 Y0 Z50 F12000			; get the head out of the way of the bed
      
      

      Relevant(ish) parts of config.g:

      [[language]]
      ; M665 R206.536 L379.00 B140 H456.635 X-0.028 Y0.111 Z0.000	; Set delta radius, diagonal rod length, printable radius and homed height
      ; M665 R205.118 L374.840 H455.533 B140.0 X-0.429 Y-0.004 Z0.000  ; Arm length on Tricklaser arms
      ; M665 R203.452 L367.958 H455.316 B140.0 X-0.421 Y-0.067 Z0.000   ; After 7 factor optimization
      ; M665 R205.496 L374.581 H455.290 B140.0 X-0.442 Y-0.074 Z0.000   ; Rod length changed to 374.581 for size compensation from 100mm hexagon
      ; M665 R206.008 L376.079 H455.086 B140.0 X-0.442 Y-0.085 Z0.000   ; Rod length changed to 376.079 for size compensation from 100mm hexagon
      M665 R206.235 L376.944 H455.101 B140.0 X-0.420 Y-0.053 Z0.000   ; Rod length changed to 376.944 for size compensation from 100mm hexagon
      
      M666 X-1.35 Y1.55 Z-0.21		; Endstop offset adjustments, these will be adjusted with delta auto-calibration
      
      M350 X64 Y64 Z64 E16 I1			; Set microstepping to 32 for X, Y and Z and 16 for extruder stepper with interpolation
      M92 X800 Y800 Z800			; Set axis steps/mm
      M906 X1000 Y1000 Z1000 E1100		; Set motor currents (mA)
      M201 X3000 Y3000 Z1000 E800		; Accelerations (mm/s^2)
      M203 X20000 Y20000 Z8000 E1500		; Maximum speeds (mm/min)
      M566 X370 Y370 Z1200 E1000		; Maximum instant speed changes mm/minute
      
      ; Need to determine pressure advance at speed first...
      M572 D0 S0.07				; Set pressure advance
      
      

      config-override.g is empty.

      Tricklaser arms are (all) marked with 374.84.

      History

      I initially printed with the default setup from Brad. Loads of dialing in of various things. Wasn't too concerned about dimensional accuracy and was learning KISSlicer along the way. I got to the point where I was ready to use the printer for some prototypes. Final thing was to get the dimensions spot on. Things started out too small, so I thought I'd put the number on the arms in. Now things were too large. I ran a 7-factor optimization which yielded an even shorter diagonal. Tried it anyway but prints were too large (not surprising), so I started doing calibration prints.

      The current M665 setting calibrates to 0.016.

      Current Tests

      a) Hexagon with 100mm distance between outer edges

      I printed 4 of those, adjusting the diagonal rod length to get the actual distances close to 100mm. Final one measures
      X 99.90
      Y 100.30
      Z 99.66
      Convention: The Z distance is the one between the front and back of the print, normals of these sides intersect the Z tower. X and Y are "facing" their respective towers.

      b) Square with 100mm distance between outer edges

      I printed one of those, axes aligned along cartesian coords of the printer (X axis parallel to line through X and Y towers). The measurements vary at opposing sides of the square (near the corners but did not measure at the corners):

      X 100.47 (front) 100.27 (back)
      Y 99.67 (left) 99.87 (right)

      Where do I do from here?

      I can take care of the majority of the cartesian X and Y error via M579 but I wonder if I can do better? This is my first delta, so I don't have a feel for how accurate things should be…

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

        First make sure your slicer is set to print external perimeters first (outside-in). This gives more accurate dimensions than printing the outside perimeter at the end of printing the perimeters.

        The Z scaling depends only on the tower steps/mm. However, if your Z=0 height setting isn't exactly right, this will obviously give rise to a constant height error. So you should print a tall piece to measure it, to minimise that effect.

        If the product of steps/mm and diagonal rod length in config.g doesn't match your printer, then the scale won't be uniform across the build plate. So print a grid pattern on the bed, and check the grid lines for straightness and uniform spacing. Adjust the diagonal rod length until they are. Then use M579 to correct any scaling errors.

        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
        • zuspielundefined
          zuspiel
          last edited by

          Thank you!
          Sure had forgotten to change to perimeter first…
          The Z height is not an issue (didn't show any numbers above, only horizontal distances).
          Printing larger test pieces now and will let you know.
          My main concern is that the measurements across the sides of the hexagon print vary by 0.54 mm. Is this "normal" or an indication that my printer isn't straight?

          1 Reply Last reply Reply Quote 0
          • zuspielundefined
            zuspiel
            last edited by

            Belay that… There's something mechanical going on... I just ran a fine bed calibration since I was seeing Z height weirdness when printing the big grid:

            Here's the link since it doesn't seem to want to inline the pic (at least in the preview):
            https://www.dropbox.com/s/xsw1bujn390q49l/Screenshot%202018-01-02%2019.18.43.png?dl=0

            Looks like something mechanical. Very nice that one can get this info so easily in RRF!

            Will check whether there's any drag on the sides of the bed. If that's not it, I'll need to confer with Brad…

            1 Reply Last reply Reply Quote 0
            • JustDaveundefined
              JustDave
              last edited by

              M201 X3000 Y3000 Z1000 E800 ; Accelerations (mm/s^2)
              M203 X20000 Y20000 Z8000 E1500 ; Maximum speeds (mm/min)
              M566 X370 Y370 Z1200 E1000 ; Maximum instant speed changes mm/minute

              With a Delta printer, shouldn't the X, Y & Z values for the above be the same, since they are for the servos at the towers and not the cartesian coordinate system axes?

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

                @JustDave:

                M201 X3000 Y3000 Z1000 E800 ; Accelerations (mm/s^2)
                M203 X20000 Y20000 Z8000 E1500 ; Maximum speeds (mm/min)
                M566 X370 Y370 Z1200 E1000 ; Maximum instant speed changes mm/minute

                With a Delta printer, shouldn't the X, Y & Z values for the above be the same, since they are for the servos at the towers and not the cartesian coordinate system axes?

                No, they are for the Cartesian axes.

                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
                • JustDaveundefined
                  JustDave
                  last edited by

                  Glad I made that a question then! 😉

                  1 Reply Last reply Reply Quote 0
                  • zuspielundefined
                    zuspiel
                    last edited by

                    Oh, I had never even thought about that. Yes, good question and I‘m glad that I had (unwittingly) assumed the right thing 😉

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

                      I think some other delta printer firmwares do apply acceleration, jerk and speed limits to the carriages, not the Cartesian coordinates. It's not clear which is best, it depends on what you are trying to avoid by setting the limits. With the segmentation-free algorithm used in RRF, it's easier to apply them to Cartesian coordinates.

                      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
                      • First post
                        Last post
                      Unless otherwise noted, all forum content is licensed under CC-BY-SA