Duet3D Logo

    Duet3D

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

    DIY Delta Auto Calibration Problem

    General Discussion
    3
    4
    507
    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.
    • richardmckenna
      richardmckenna last edited by

      Hi,

      I've just built a large delta with the smart effector and I'm trying to run auto calibration but seem to be having an issue.

      I run G32 which then homes all 3 axis and then moves down to probe the bed which it seems to do fine. Once complete my XYZ coordinates all show as 9999.90 in DWC and Panel Due and I get

      G32
      Calibrated 6 factors using 10 points, deviation before 6.500 after nan
      

      Pretty sure "nan" is not supposed to be there. When I enter M665 and M666 I get the following.

      M665
      Diagonal 360.220, delta radius nan, homed height nan, bed radius 150.0, X nan°, Y nan°, Z 0.000°
      
      M666
      Endstop adjustments Xnan Ynan Znan, tilt X0.00% Y0.00%
      

      Any help would be great bed config and homedelta below

      ; Configuration file for Duet WiFi (firmware version 1.21)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v2 on Sun Dec 09 2018 15:07:18 GMT+0000 (Greenwich Mean Time)
      
      ; General preferences
      G90                                                ; Send absolute coordinates...
      M83                                                ; ...but relative extruder moves
      M665 R216 L360.22 B150 H457                        ; 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 P"Kossel MAX"                                 ; Set machine name
      M551 P"snakes:                                     ; Set password
      M552 S1                                            ; Enable network
      M587 S"TNCAPE212AD" P"98FEA769BB" I10.0.0.10 J10.0.0.1 K255.255.255.0 ; Configure access point and IP addresses. You can delete this line once connected
      M586 P0 S1                                         ; Enable HTTP
      M586 P1 S0                                         ; Disable FTP
      M586 P2 S0                                         ; Disable Telnet
      
      ; Drives
      M569 P0 S0                                         ; Drive 0 goes forwards
      M569 P1 S0                                         ; Drive 1 goes forwards
      M569 P2 S0                                         ; Drive 2 goes forwards
      M569 P3 S1                                         ; Drive 3 goes forwards
      M350 X16 Y16 Z16 E16 I1                            ; Configure microstepping with interpolation
      M92 X200.00 Y200.00 Z200.00 E817.14                ; Set steps per mm
      M566 X1200.00 Y1200.00 Z1200.00 E1200.00           ; Set maximum instantaneous speed changes (mm/min)
      M203 X18000.00 Y18000.00 Z18000.00 E1200.00        ; Set maximum speeds (mm/min)
      M201 X1000.00 Y1000.00 Z1000.00 E1000.00           ; Set accelerations (mm/s^2)
      M906 X1000.00 Y1000.00 Z1000.00 E800.00 I30        ; Set motor currents (mA) and motor idle factor in per cent
      M84 S30                                            ; 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 H5 F1200 T6000                        ; Set Z probe type to effector and the dive height + speeds
      M558 H30                                           ;*** Remove this line after delta calibration has been done and new delta parameters have been saved
      G31 P100 X0 Y0 Z-0.1                                ; Set Z probe trigger value, offset and trigger height
      M557 R150 S20                                      ; Define mesh grid
      
      ; Heaters
      M307 H0 B0 S1.00                                   ; Disable bang-bang mode for the bed heater and set PWM limit
      M305 P0 T100000 B3950 R4700                        ; Set thermistor + ADC parameters for heater 0
      M143 H0 S120                                       ; Set temperature limit for heater 0 to 120C
      M305 P1 T100000 B4388 C7.060000e-8 R4700           ; Set thermistor + ADC parameters for heater 1
      M143 H1 S280                                       ; Set temperature limit for heater 1 to 280C
      
      ; Fans
      M106 P0 S1 I0 F500 H T45                           ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on
      M106 P1 S1 I0 F500 H1 T45                          ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
      
      ; Tools
      M563 P0 S"E3D V6" 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 power saving
      M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss
      
      ; Custom settings are not configured
      
      ; Miscellaneous
      M501                                               ; Load saved parameters from non-volatile memory
      
      ; homedelta.g
      ; called to home all towers on a delta printer
      ;
      ; generated by RepRapFirmware Configuration Tool v2 on Sun Dec 09 2018 15:07:18 GMT+0000 (Greenwich Mean Time)
      G91                       ; relative positioning
      
      ;*** Slow homing has been configured. Change F180 to F1800 below when your configuration is working
      G1 S1 X365 Y365 Z365 F1800 ; move all towers to the high end stopping at the endstops (first pass)
      G1 X-5 Y-5 Z-5 F1800 S2   ; go down a few mm
      ;*** Slow homing has been configured. Change F180 to F360 below when your configuration is working
      G1 S1 X10 Y10 Z10 F180    ; move all towers up once more (second pass)
      G1 Z-5 F6000              ; move down a few mm so that the nozzle can be centred
      G90                       ; absolute positioning
      G1 X0 Y0 F6000            ; move X+Y to the centre
      
      ; bed.g
      ; called to perform automatic delta calibration via G32
      ;
      ; generated by RepRapFirmware Configuration Tool v2 on Tue Dec 11 2018 18:55:20 GMT+0000 (Greenwich Mean Time)
      M561 ; clear any bed transform
      G28  ; home all towers
      ; Probe the bed at 6 peripheral and 3 halfway points, and perform 6-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 Y149.9 H0 Z-99999
      G30 P1 X129.82 Y74.95 H0 Z-99999
      G30 P2 X129.82 Y-74.95 H0 Z-99999
      G30 P3 X0 Y-149.9 H0 Z-99999
      G30 P4 X-129.82 Y-74.95 H0 Z-99999
      G30 P5 X-129.82 Y74.95 H0 Z-99999
      G30 P6 X0 Y74.9 H0 Z-99999
      G30 P7 X64.87 Y-37.45 H0 Z-99999
      G30 P8 X-64.87 Y-37.45 H0 Z-99999
      G30 P9 X0 Y0 H0 Z-99999 S6
      ; 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)
      
      1 Reply Last reply Reply Quote 0
      • Danal
        Danal last edited by

        @richardmckenna said in DIY Delta Auto Calibration Problem:

        M665 R216 L360.22 B150 H457

        Your starting M665 is pretty close to physically impossible.

        B150 = Bed Radius 150mm.

        R216 = Delta Radius 215mm. This is the HORIZONTAL distance from rod-joint to rod-joint.

        It is almost impossible for R to be that much larger than B radius. The towers would have to be very distant from the edge of the bed. And if they were that distant, the effector wouldn't be able to reach all of the bed with the diagonal rod length specified. Etc, etc.

        Assuming your rod length and bed radius are correct, try starting with a delta radius of in the area of 155 to 165. Auto-cal will set the final accurate number of this for you. (Although I can't remember sitting here if a 6 factor sets R... it may take a 7 or 8 factor...)

        You may want to run auto-cal several times. If R is not changing, generate a 7 or 8 factor file. Once you've set that, you can run the 6 factor on a "before every print" basis.

        Delta / Kossel printer fanatic

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

          That's right, in the M665 command R plus B cannot exceed L. Typically, R is about half of L, and B is a little lower than R. So if L is the measured length of the rods between bearing centres, and the nozzle really can reach all points within distance B from the centre, you must have R set too high.

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

            Thanks both, yes I measured the delta radius from the center of the effector which obviously I now realise is wrong. Measuring from ball to ball centers I get a distance of 200mm which now meets the requirements of R+B <= L.

            I'm now able to calibrate and I'm pleasantly surprised how accurte my build seems to be. However it has highlighted a problem with my cariage design which pops the ball connection off slightly at the extreams of the bed radius. Reducing my bed radius slightly fixes that temporaraly, so they will be the first thing I re-print with more clearance when I've tuned the heaters.

            Very exciting, I've nearly finished my large delta build 🙂

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