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

    Delta calibration

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    4
    16
    2.0k
    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.
    • denkeundefined
      denke
      last edited by

      @Danal

      ; bed.g
      ; called to perform automatic delta calibration via G32
      ;
      ; generated by RepRapFirmware Configuration Tool on Mon Apr 23 2018 21:09:51 GMT+0200 (CEST)
      M561 ; clear any bed transform
      G28  ; home all towers
      M106 P1 S0  ;Stop radiator cooling fan to reduce interference
      M106 P0 S0  ;Stop part cooling fan to reduce interference
      ;M144 ;Set bed heating to standby M558 B1 does this
      
      ; Probe the bed at 10 peripheral and 6 halfway points, and perform 7-factor auto compensation
      ; Before running this, you should have set up your Z-probe trigger height to suit your build, in the G31 command in config.g.
      G30 P0 X0 Y94.9 H0 Z-99999
      G30 P1 X55.78 Y76.78 H0 Z-99999
      G30 P2 X90.26 Y29.33 H0 Z-99999
      G30 P3 X90.26 Y-29.33 H0 Z-99999
      G30 P4 X55.78 Y-76.78 H0 Z-99999
      G30 P5 X0 Y-94.9 H0 Z-99999
      G30 P6 X-55.78 Y-76.78 H0 Z-99999
      G30 P7 X-90.26 Y-29.33 H0 Z-99999
      G30 P8 X-90.26 Y29.33 H0 Z-99999
      G30 P9 X-55.78 Y76.78 H0 Z-99999
      G30 P10 X0 Y47.4 H0 Z-99999
      G30 P11 X41.05 Y23.7 H0 Z-99999
      G30 P12 X41.05 Y-23.7 H0 Z-99999
      G30 P13 X0 Y-47.4 H0 Z-99999
      G30 P14 X-41.05 Y-23.7 H0 Z-99999
      G30 P15 X-41.05 Y23.7 H0 Z-99999
      G30 P16 X0 Y0 H0 Z-99999 S7
      ; Use S-1 for measurements only, without calculations. Use S4 for endstop heights and Z-height only. Use S6 for full 6 factors
      ; If your Z probe has significantly different trigger heights depending on XY position, adjust the H parameters in the G30 commands accordingly. The value of each H parameter should be (trigger height at that XY position) - (trigger height at centre of bed)
      
      M106 P1 S255  ;Set radiator cooling fan to 100%
      ;M144 S1 ;Resume bed heating M558 B1 does this
      

      @dc42
      Yes, sorry, confused the probe count with the factors (the code is the same as above but changed the last G30 S7 to S8 is that correct?)
      I ran it four times like that, this is the result from the last run:
      Calibrated 8 factors using 17 points, deviation before 0.113 after 0.113

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

        @denke, it looks like you have stable calibration now although the deviation is a little high. If you run G29 mesh bed probing and post a screen shot or two of the height map here, it may give us some clues about why that is.

        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
        • denkeundefined
          denke
          last edited by denke

          @dc42
          0_1560939621622_Screenshot from 2019-06-19 12-19-19.png G29

          69 points probed, min error -0.254, max error 0.246, mean 0.029, deviation 0.099
          Height map saved to file heightmap.csv

          1 Reply Last reply Reply Quote 0
          • denkeundefined
            denke
            last edited by

            @dc42 A bit of additional information, I tried setting the correct rod length length in config, removing the heightmap, removing the config override, rebooting, and checking movements, and in this case a pure Y movement caused the head height to change also (Y-100 caused the head to get closer to the bed).

            1 Reply Last reply Reply Quote 1
            • denkeundefined
              denke
              last edited by

              I also tried setting the steps/mm back to 100, and setting the microstepping from 16 to 8 on all three towers. The following delta calibration result is:

              ; config-override.g file generated in response to M500
              ; This is a system-generated file - do not edit
              ; Delta parameters
              M665 L360.230:360.230:360.230 R150.336 H246.133 B120.0 X1.515 Y0.616 Z0.000
              M666 X3.830 Y-6.058 Z2.228 A-4.27 B0.81
              

              0_1560948178517_Screenshot from 2019-06-19 14-42-20.png

              Which seems to be about correct

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

                @denke said in Delta calibration:

                I also tried setting the steps/mm back to 100, and setting the microstepping from 16 to 8 on all three towers.

                Please post your complete config.g file. The effect of those changes will depend on whether your M350 commands comes before or after your M92 command.

                Are you absolutely certain that the motors are 0.9deg? Do they have a part number label on them?

                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
                • denkeundefined
                  denke
                  last edited by

                  @dc42

                  ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
                  ; executed by the firmware on start-up
                  ;
                  ; generated by RepRapFirmware Configuration Tool on Mon Apr 23 2018 21:09:51 GMT+0200 (CEST)
                  
                  ; General preferences
                  G90                                       ; Send absolute coordinates...
                  M83                                       ; ...but relative extruder moves
                  M555 P1                                   ; Set firmware compatibility to look like RepRapFirmare
                  
                  ;*** The homed height is deliberately set too high in the following - you will adjust it during calibration.
                  M665 R149.129 L360.230 B120.0 H244.568    ; Set delta radius, diagonal rod length, printable radius and homed height
                  M666 X0 Y0 Z0                             ; Put your endstop adjustments here, or let auto calibration find them
                  
                  ; Network
                  M550 Pprinter                          ; Set machine name
                  M552 S1                                   ; Enable network
                  ;*** Access point is configured manually via M587
                  M586 P0 S1                                ; Enable HTTP
                  M586 P1 S1                                ; Enable FTP
                  M586 P2 S1                                ; Enable Telnet
                  
                  ; Drives
                  M569 P0 S0                                ; Drive 0 goes forward TODO reorient pulley to fix this
                  M569 P1 S1                                ; Drive 1 goes backwards
                  M569 P2 S1                                ; Drive 2 goes backwards
                  M569 P3 S1                                ; Drive 3 goes backwards
                  M350 X8 Y8 Z8 E16 I1                      ; Configure microstepping with interpolation
                  M92 X100 Y100 Z100 E140                   ; Set steps per mm
                  M566 X1200 Y1200 Z1200 E700               ; Set maximum instantaneous speed changes (mm/min)
                  M203 X22000 Y22000 Z22000 E30000          ; Set maximum speeds (mm/min)
                  M201 X2000 Y2000 Z2000 E3000              ; Set accelerations (mm/s^2)
                  M906 X1000 Y1000 Z1000 E1500 I3           ; Set motor currents (mA) and motor idle factor in per cent
                  M84 S3                                    ; Set idle timeout
                  
                  ; Axis Limits
                  M208 Z0 S1                                ; Set minimum Z
                  
                  ; Endstops
                  M574 X2 Y2 Z2 S1                          ; Set active high endstops
                  
                  ; Z-Probe
                  M558 P5 R0.4 H3 A8 B1 F1020 T15000        ; Set Z probe type to effector and the dive height + speeds
                  G31 P100 X0 Y0 Z-0.15                     ; Set Z probe trigger value, offset and trigger height
                  M557 R100 S20                             ; Define mesh grid
                  
                  ; Heaters
                  M301 H0 S0.80 P10 I0.1 D200 T0.4 W180 B30 ; Use PID on bed heater (may require further tuning)
                  M305 P0 T100000 B4388 C7.060000e-8 R4700  ; Set thermistor + ADC parameters for heater 0
                  M143 H0 S120                              ; Set temperature limit for heater 0 to 120C
                  M305 P1 T100000 B4388 C0 R4700            ; Set thermistor + ADC parameters for heater 1
                  M143 H1 S320                              ; Set temperature limit for heater 1 to 320C
                  
                  ; Fans
                  ;TODO M106 -> M950
                  M106 P0 S0 I0 F500 H-1                    ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
                  M106 P1 S1 I0 F500 H-1                    ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
                  M106 P2 S0 I0 F500 H-1                    ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off
                  
                  ; Tools
                  M563 P0 D0 H1                             ; Define tool 0
                  G10 P0 X0 Y0 Z0                           ; Set tool 0 axis offsets
                  G10 P0 R0 S0                              ; Set initial tool 0 active and standby temperatures to 0C
                  
                  ; Automatic saving after power loss is not enabled
                  
                  ; Custom settings
                  M915 X Y Z S17 F0 R2 H120                 ;Configure stall detection for all axis, sensitivity 10 no filter pause on fail min speed 100 step/sec
                  M207 S4 R0 F14400 T14400 Z0.3             ;Retraction - 4mm - 0mm added unretract - speed - speed - z-hop
                  
                  ; Miscellaneous
                  M501                                      ; Load saved parameters from non-volatile memory
                  T0                                        ; Select first tool
                  

                  The steppers are Sanyo - Denki 103-594-05XD04 (the original gears were pressed off and replaced with 16T pulleys)
                  They are 0.9 deg steppers for sure, this is boh on the label and they have a very different feel too.

                  Another interesting thing, is when I decreased the microstepping from 16 to 8 the motors went from completely silent to quite loud (interpolation was and is turned on)

                  dc42undefined 1 Reply Last reply Reply Quote 0
                  • robmundefined
                    robm
                    last edited by

                    Out of curiosity, what is your bed surface and height sensor type? I've also struggled with getting that heightmap as good on my delta as on cartesian.

                    denkeundefined 1 Reply Last reply Reply Quote 0
                    • denkeundefined
                      denke @robm
                      last edited by

                      @robm

                      I use a 32cm dia 12/24V heated bed which is quite thick, about 4mm, a lockbuild sticker surface, and smart effector set to quite sensitive (I cannot remember the actual number) and the magnetic ball joint arms. I usually get green across the entire heatmap

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

                        @denke said in Delta calibration:

                        M350 X8 Y8 Z8 E16 I1 ; Configure microstepping with interpolation
                        M92 X100 Y100 Z100 E140 ; Set steps per mm

                        You should get exactly the same calibration results with:

                        M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
                        M92 X200 Y200 Z200 E140 ; Set steps per mm

                        @denke said in Delta calibration:

                        Another interesting thing, is when I decreased the microstepping from 16 to 8 the motors went from completely silent to quite loud (interpolation was and is turned on)

                        On the TMC2660 drivers used on the Duet WiFi/Ethernet, interpolation only works at x16 microstepping.

                        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

                        denkeundefined 1 Reply Last reply Reply Quote 0
                        • denkeundefined
                          denke @dc42
                          last edited by

                          @dc42
                          I get the strangest things ...
                          0_1560969040773_201bba14-94e5-42ca-bbd0-b874b3689daa-image.png

                          I'll condinue to debug tomorrow or the day after that, and thanks for the help!

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

                            The "Target position not reachable" message on a delta usually means the effector is at/near the top of its travel (e.g. because you have just homed the printer) and you have tried to move it horizontally to a position that can't be reached at that height.

                            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

                            denkeundefined 1 Reply Last reply Reply Quote 0
                            • denkeundefined
                              denke @dc42
                              last edited by

                              @dc42
                              Yep, you are right, I increased the relative movement backing down from the endstops after homing, and it solved the issue.

                              Also, I found the issue with the original bad movement/calibration problem: The pulley on the X axis collided with the upper joint of the magball rod, causing it to be slightly displaced from the metal studs on far from center Y positions.

                              Fixed it, the result is the following:
                              0_1561047968621_b1806d31-1137-4fcc-b6e9-7e96aec73f17-image.png

                              Thank you for the lot of help you provided!!

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