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

    Bed Leveling for Delta - Step by Step HowTo Needed

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    2
    7
    1.2k
    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.
    • SnowCrashundefined
      SnowCrash
      last edited by SnowCrash

      Hi all,

      Just finished totally destroying a £50-worth new BuildTak surface while attempting to perform auto-bed leveling for the umpteenth time... :-@

      I've been at it for 3 days now, and stopped counting hotend crashes after about 15.

      As you can imagine, it's been an extremely frustrating experience, so my sincere apologies in advance if anything I say in this thread might sound snappish.

      I've read the wiki's and a ton of forum threads. I've worked slowly and methodically, and yet I've seen the hotend crash time and again despite my best efforts and the machine refusing to calibrate properly. So I re-read the wiki's and a ton of other thread until my eyes bled. And still I can't get it to work.

      Guess it's time to ask for some help.

      One last point before going into the technical details. Please don't refer me to wiki's/other threads. Usually, I'm absolutely fine with that, but atm I'm completely fed up with trying make sense of things through other people's problems, and obviously the wiki is aimed at people who are way above my pay-grade.

      Ok, enough ranting and into the issue at hand:

      I've got a large delta (300mm print-bed) with a Duet Wifi (firmware 1.21).

      I'm using a detachable z-probe that fits on top of the nozzle and triggers when the probe presses against the bed.

      Here is my config.g:

      ; 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 30 2018 11:16:50 GMT+0100 (BST)
      
      ; General preferences
      G90                                                                     ; Send absolute coordinates...
      M83                                                                    ; ...but relative extruder moves
      M665 R145 L350 B140 H310                           ; 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 S0                                         ; Disable FTP
      M586 P2 S0                                         ; Disable Telnet
      
      ; Drives
      M569 P0 S1                                         ; Drive 0 goes forwards
      M569 P1 S1                                         ; Drive 1 goes forwards
      M569 P2 S1                                         ; Drive 2 goes forwards
      M569 P3 S1                                         ; Drive 3 goes forwards
      M350 X16 Y16 Z16 E16 I1                            ; Configure microstepping with interpolation
      M92 X256 Y256 Z256 E768                            ; Set steps per mm
      M566 X1200 Y1200 Z1200 E1200                       ; Set maximum instantaneous speed changes (mm/min)
      M203 X18000 Y18000 Z18000 E1200                    ; Set maximum speeds (mm/min)
      M201 X1000 Y1000 Z1000 E1000                       ; Set accelerations (mm/s^2)
      M906 X2000 Y2000 Z2000 E800 I20                    ; Set motor currents (mA) and motor idle factor in per cent
      M84 S10                                            ; Set idle timeout
      
      ; Axis Limits
      M208 Z0 S1                                         ; Set minimum Z
      
      ; Endstops
      M574 X2 Y2 Z2 S0                                   ; Set active low endstops
      
      ; Filament Sensor
      M591 D0 P2 C3				; Filament Sensor (Extruder0)
      
      ; Z-Probe
      M557 R140		          		        ; Define mesh grid
      M558 P5 I1 X0.0 Y0.0 Z0 H10 F300 T5000 R0		; Set Z probe type to modulated and the dive height + speeds
      
      G31 P500 X0 Y0 Z20   				; Set Z probe trigger value, offset and trigger height
      
      ; Heaters
      M140 H-1                                           ; Disable heated bed
      M305 P1 T100000 B3950 C0 R4700                     ; Set thermistor + ADC parameters for heater 1
      M143 H1 S245                                       ; Set temperature limit for heater 1 to 245C
      ;M307 H1 A1149.2 C154.6 D5.9 S1.00 V24.1 B0         ; Heater 1, A = Gain, C = Time Constant (Sec), D = Dead Time (Sec), S = %PWM (0.0-1.0)
      						   ; V = Voltage@Measurement, B0 = PID mode
      
      ; Fans
      M106 P0 S64 I0 B4 F25000 H-1 			   ; P0 = PWM Fan0, I0 = PWM Non-Inverted, B4 = Full Speed Startup Duration: 4 Sec
      						   ; F25000 = PWM Freq: 25KHz, H-1 = Thermostatic Control: Off
      M106 P1 S64 I0 B4 F25000 H-1 			   ; P1 = PWM Fan1, I0 = PWM Non-Inverted, B4 = Full Speed Startup Duration: 4 Sec
      						   ; F25000 = PWM Freq: 25KHz, H-1 = Thermostatic Control: Off
      M106 P2 S64 I0 B4 F25000 H-1 			   ; P2 = PWM Fan2, I0 = PWM Non-Inverted, B4 = Full Speed Startup Duration: 4 Sec
      						   ; F25000 = PWM Freq: 25KHz, H-1 = Thermostatic Control: 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 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
      
      ; Bed Compensation
      G29 S1					   ; Read bed compensation table
      

      And here's my bed.g:

      ; bed.g file for RepRapFirmware, generated by Escher3D calculator
      ; http://www.escher3d.com/pages/wizards/wizardbed.php
      ; 16 points, 6 factors, probing radius: 140, probe offset (0, 0)
      M561 ; clear any bed transform
      G28  ; home all axis
      G30 P0 X0.00 Y140.00 Z-99999 H0
      G30 P1 X70.00 Y121.24 Z-99999 H0
      G30 P2 X121.24 Y70.00 Z-99999 H0
      G30 P3 X140.00 Y0.00 Z-99999 H0
      G30 P4 X121.24 Y-70.00 Z-99999 H0
      G30 P5 X70.00 Y-121.24 Z-99999 H0
      G30 P6 X0.00 Y-140.00 Z-99999 H0
      G30 P7 X-70.00 Y-121.24 Z-99999 H0
      G30 P8 X-121.24 Y-70.00 Z-99999 H0
      G30 P9 X-140.00 Y-0.00 Z-99999 H0
      G30 P10 X-121.24 Y70.00 Z-99999 H0
      G30 P11 X-70.00 Y121.24 Z-99999 H0
      G30 P12 X0.00 Y70.00 Z-99999 H0
      G30 P13 X60.62 Y-35.00 Z-99999 H0
      G30 P14 X-60.62 Y-35.00 Z-99999 H0
      G30 P15 X0 Y0 Z-99999 S6
      G29 S1 ; Load the height map from file and activate bed compensation
      

      I've run auto calibration and it seems to have worked fine (all points were triggered and I got the following messages for M665 and M666:

      1:05:59 PMG32
      Calibrated 6 factors using 16 points, deviation before 9.854 after 0.099
      
      1:06:07 PMM665
      Diagonal 350.000, delta radius 166.907, homed height 325.688, bed radius 140.0, X -0.183°, Y -0.217°, Z 0.000°
      
      1:06:23 PMM666
      Endstop adjustments X-0.79 Y2.25 Z-1.45, tilt X0.00% Y0.00%
      

      I've entered these values into M665 & M666 in config.g, reset, and watched the hotend crash once more into the bed... (I get the feeling I'm not setting the z-height properly, but don't have a clue how to do that).

      Here's what I'd like to be able to do:

      (1) Attach the z-probe to the nozzle before each print.

      (2) click the button and preform auto calibration

      (3) Have the results 'stick' in the system without having to manually alter the config.g file or anything else.

      (4) Remove the z-probe from the nozzle.

      (5) Run a print (preferably without seeing the hotend crash into the bed).

      Could a merciful soul please guide me through the process of getting this setup configured?

      Many thanks in advance,
      SnowCrash

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

        Do you have a M501 command in config.g to invoke config-override.g? If so, you probably have M665 and M666 commands in config-override.g that are overriding the ones you edit into config.g.

        It's a good idea to reduce the motor currents until you know that auto calibration is working properly, that reduces damage if you get a head crash.

        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

        SnowCrashundefined 1 Reply Last reply Reply Quote 0
        • SnowCrashundefined
          SnowCrash @dc42
          last edited by

          @dc42 said in Bed Leveling for Delta - Step by Step HowTo Needed:

          Do you have a M501 command in config.g to invoke config-override.g? If so, you probably have M665 and M666 commands in config-override.g that are overriding the ones you edit into config.g.

          It's a good idea to reduce the motor currents until you know that auto calibration is working properly, that reduces damage if you get a head crash.

          Nope, don't have M501 in config.g (the complete file is included in the first post).

          And, nope, don't have a config-override.g in my SD folder.

          Thanks for the tip about lowering the motors' current.

          1 Reply Last reply Reply Quote 0
          • SnowCrashundefined
            SnowCrash
            last edited by

            Hi again,

            I've gone over my config.g file and discovered some suspicious commas in some of the commands which may have contributed to the dismal state of my print-bed.

            Cleaned everything up as best I could and below in the current config.g I'm using.

            ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
            
            ; General preferences
            G90                                                	; Send absolute coordinates...
            M83                                               	; ...but relative extruder moves
            
            M665 R145 L350 B140 H310                           	; 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 PNINJA                                        	; Set machine name
            M552 S1                                            	; Enable network
            ;*** Access point is configured manually via M587
            M586 P0 S1                                         	; Enable HTTP
            M586 P1 S0                                         	; Disable FTP
            M586 P2 S0                                         	; Disable Telnet
            
            ; Drives
            M569 P0 S1                                         	; Drive 0 goes forwards
            M569 P1 S1                                         	; Drive 1 goes forwards
            M569 P2 S1                                         	; Drive 2 goes forwards
            M569 P3 S1                                         	; Drive 3 goes forwards
            M350 X16 Y16 Z16 E16 I1                            	; Configure microstepping with interpolation
            M92 X256 Y256 Z256 E768                            	; Set steps per mm
            M566 X1200 Y1200 Z1200 E1200                       	; Set maximum instantaneous speed changes (mm/min)
            M203 X18000 Y18000 Z18000 E1200                    	; Set maximum speeds (mm/min)
            M201 X1000 Y1000 Z1000 E1000                      	; Set accelerations (mm/s^2)
            M906 X1200 Y1200 Z1200 E800 I20                   	; Set motor currents (mA) and motor idle factor in per cent
            M84 S10                                            	; Set idle timeout
            
            ; Axis Limits
            M208 Z0 S1                                         	; Set minimum Z
            
            ; Endstops
            M574 X2 Y2 Z2 S0                               		; Set active-low endstops
            
            ; Filament Sensor
            M591 D0 P2 C3						; Filament Sensor (Extruder0)
            
            ; Z-Probe
            M557 R140		          		        ; Define mesh grid
            M558 P5 I1 X0.0 Y0.0 Z0 H3 F200 T5000 R0		; Set Z probe type to modulated and the dive height + speeds
            ;M558 P0 I1 X0.0 Y0.0 Z0 H3 F200 T5000 R0		; Set Z probe type to manual
            G31 P500 X0 Y0 Z20   					; Set Z probe trigger value, offset and trigger height
            
            ; Heaters
            M140 H-1                                           	; Disable heated bed
            M305 P1 T100000 B3950 C0 R4700                    	; Set thermistor + ADC parameters for heater 1
            M143 H1 S245                                       	; Set temperature limit for heater 1 to 245C
            ;M307 H1 A1149.2 C154.6 D5.9 S1.00 V24.1 B0   	      	; Heater 1, A = Gain, C = Time Constant (Sec), D = Dead Time (Sec), 
            						   	; S = %PWM (0.0-1.0), V = Voltage@Measurement, B0 = PID mode
            ; Fans
            M106 P0 S64 I0 B4 F25000 H-1 			   	; P0 = PWM Fan0, I0 = PWM Non-Inverted, B4 = Full Speed Startup Duration: 4 Sec
            						   	; F25000 = PWM Freq: 25KHz, H-1 = Thermostatic Control: Off
            M106 P1 S64 I0 B4 F25000 H-1 			   	; P1 = PWM Fan1, I0 = PWM Non-Inverted, B4 = Full Speed Startup Duration: 4 Sec
            						   	; F25000 = PWM Freq: 25KHz, H-1 = Thermostatic Control: Off
            M106 P2 S64 I0 B4 F25000 H-1 			   	; P2 = PWM Fan2, I0 = PWM Non-Inverted, B4 = Full Speed Startup Duration: 4 Sec
            						   	; F25000 = PWM Freq: 25KHz, H-1 = Thermostatic Control: 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 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
            
            1 Reply Last reply Reply Quote 0
            • dc42undefined
              dc42 administrators
              last edited by

              @snowcrash said in Bed Leveling for Delta - Step by Step HowTo Needed:

              I've entered these values into M665 & M666 in config.g, reset, and watched the hotend crash once more into the bed...

              But I don't see those M665 and M666 values in either of the config.g files that you posted.

              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

              SnowCrashundefined 1 Reply Last reply Reply Quote 0
              • SnowCrashundefined
                SnowCrash @dc42
                last edited by

                @dc42 said in Bed Leveling for Delta - Step by Step HowTo Needed:

                @snowcrash said in Bed Leveling for Delta - Step by Step HowTo Needed:

                I've entered these values into M665 & M666 in config.g, reset, and watched the hotend crash once more into the bed...

                But I don't see those M665 and M666 values in either of the config.g files that you posted.

                But they're right there at the top of config.g (lines 5-6 in the latest config):

                M665 R145 L350 B140 H310                           	; 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
                
                1 Reply Last reply Reply Quote 0
                • dc42undefined
                  dc42 administrators
                  last edited by

                  Yes, but the values in them are not the ones you obtained from auto calibration. You said:

                  I've run auto calibration and it seems to have worked fine (all points were triggered and I got the following messages for M665 and M666:
                  1:05:59 PMG32
                  Calibrated 6 factors using 16 points, deviation before 9.854 after 0.099
                  1:06:07 PMM665
                  Diagonal 350.000, delta radius 166.907, homed height 325.688, bed radius 140.0, X -0.183°, Y -0.217°, Z 0.000°
                  1:06:23 PMM666
                  Endstop adjustments X-0.79 Y2.25 Z-1.45, tilt X0.00% Y0.00%
                  I've entered these values into M665 & M666 in config.g, reset, and watched the hotend crash once more into the bed... (I get the feeling I'm not setting the z-height properly, but don't have a clue how to do that).

                  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