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

    Bed leveling by manual method like CR-10

    Scheduled Pinned Locked Moved
    General Discussion
    5
    10
    548
    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.
    • Handymanpa54undefined
      Handymanpa54
      last edited by

      Hello All,
      I have a CR-10s that I've highly modified. I've crossed over to Duet Wifi2 and have most things working. At this point I want to level the bed. I'm not understand how to set up coordinates of x and y so it will go to those points. If i can level the bed manually and print a Pinda holder then I can upgrade to automatic leveling.

      Mark

      jay_s_ukundefined dc42undefined cosmowaveundefined 3 Replies Last reply Reply Quote 0
      • jay_s_ukundefined
        jay_s_uk @Handymanpa54
        last edited by

        @handymanpa54 this is the macro I use for manually levelling my ender 3

        M671 x15:250:15:250 y25:25:260:260 P0.5                             ; The location of the four bed securing screws
        
        ; M558 P0												; Uncomment this if you don't have a Z Probe
        
        G28 Z                                                               ; Home Z
        
        G30 P0 X15 Y25 Z-99999 ; probe near an adjusting screw              ; Front left screw
        G30 P1 X240 Y25 Z-99999 ; probe near an adjusting screw             ; Front right screw
        G30 P2 X15 Y255 Z-99999 ; probe near an adjusting screw             ; Rear left screw
        G30 P3 X240 Y255 Z-99999 S4 ; probe near an adjusting screw         ; Rear right screw
        
        G28 Z                                                               ; Home Z
        

        I do use a z probe but if you don't have one, set M558 P0 and then RRF will walk you through it.
        You'll need to adjust the M671 values to suit the location of your screws and each G30 to match

        Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

        jay_s_ukundefined 1 Reply Last reply Reply Quote 0
        • jay_s_ukundefined
          jay_s_uk @jay_s_uk
          last edited by

          I should add I just have this as a macro in the macros folder

          Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

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

            @handymanpa54 have you read https://duet3d.dozuki.com/Wiki/Using_the_manual_bed_levelling_assistant ?

            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

            Handymanpa54undefined 1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator
              last edited by

              Or this? https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors

              Z-Bot CoreXY Build | Thingiverse Profile

              Handymanpa54undefined 2 Replies Last reply Reply Quote 0
              • cosmowaveundefined
                cosmowave @Handymanpa54
                last edited by

                @handymanpa54 I use a macro for manually leveling the bed.
                The macro moves to the 4 corners, 20mm away from max.

                ; LevelAssist macro
                ; this macro helps for manually leveling the bed, it moves the nozzle to 4 probing points (20mm away from min/max area)
                ; the macro will automatically aborted if no user action during 120s
                
                var EntryTime = state.upTime												; set start time
                var ReturnTime = 120														; set abort time
                
                if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed		; axles homed ?
                	M291 P"axles not homed! perform homing ?" R"LevelAssist" S3
                	G28																		; homing
                
                ; loop beginn 
                while state.upTime < {var.EntryTime + var.ReturnTime}								; loop until cancel or abort time
                	M291 P"move to Point1 ?" R"LevelAssist" S3								; message
                	
                	G0 Z4																	; Z +
                	G0 X{move.axes[0].min + 20} Y{move.axes[1].min + 20}					; move XY to Point1
                	G0 Z0																	; Z -
                	set var.EntryTime = state.upTime										; reset start time
                
                	M291 P"move to Point2 ?" R"LevelAssist" S3								; message
                	
                	G0 Z4																	; Z +
                	G0 X{move.axes[0].min + 20} Y{move.axes[1].max - 20}					; move XY to Point2
                	G0 Z0																	; Z -
                	set var.EntryTime = state.upTime										; reset start time
                	
                	M291 P"move to Point3 ?" R"LevelAssist" S3								; message
                	
                	G0 Z4																	; Z +
                	G0 X{move.axes[0].max - 20} Y{move.axes[1].max - 20}					; move XY to Point3
                	G0 Z0																	; Z -
                	set var.EntryTime = state.upTime										; reset start time
                	
                	M291 P"move to Point4 ?" R"LevelAssist" S3								; message
                	
                	G0 Z4																	; Z +
                	G0 X{move.axes[0].max - 20} Y{move.axes[1].min + 20}					; move XY to Point4
                	G0 Z0																	; Z -
                	set var.EntryTime = state.upTime										; reset start time
                	
                	M291 P"once again or cancel ?" R"LevelAssist" S3						; once again?
                

                Mankati FSXT+, DeltaTowerV2, E3D MS/TC

                1 Reply Last reply Reply Quote 1
                • Handymanpa54undefined
                  Handymanpa54 @dc42
                  last edited by

                  @dc42 Hi,
                  I checked the link earlier and again. I have questions where to modify the code? In conig.g or in bed.g
                  I'll be using paper feeler method.

                  1 Reply Last reply Reply Quote 0
                  • Handymanpa54undefined
                    Handymanpa54 @Phaedrux
                    last edited by

                    @phaedrux
                    I did check out that link earlier, but thought it no appropriate for me not having BL touch or Pinda or such. I was hoping to go to positionn1 and adjust thumb screw to bring the bed so there is friction on paper, then do the other corners like wise and last in the center. Pretty much like it's done on CR-10.

                    1 Reply Last reply Reply Quote 0
                    • Phaedruxundefined
                      Phaedrux Moderator
                      last edited by

                      Yes if you don't have a probe and independent Z motors that won't be the best option for you.

                      The macro that @cosmowave posted is an option. Here's another:

                      https://github.com/Duet3D/RRF-machine-config-files/blob/master/DBotCoreXY/x0r-wifi-RRF3/macros/Calibration/Bed Leveling/0_Auto Bed Level Assist.g

                      Modify to suit.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      1 Reply Last reply Reply Quote 0
                      • Handymanpa54undefined
                        Handymanpa54 @Phaedrux
                        last edited by

                        @phaedrux I wrote a little macro that works much like the CR-10 Bed leveling.

                        ; bed.g
                        ; called to perform automatic bed compensation via G32
                        ;
                        ; generated by RepRapFirmware Configuration Tool v3.2.3 on Fri Jun 18 2021 18:18:06 GMT-0400 (Eastern Daylight Time)
                        M561 ; clear any bed transform
                        ;G29  ; probe the bed and enable compensation
                        M671 x15:15:250:250 y25:250:250:25 P0.5 
                        G1 X25 Y25 Z0 						; probe near an adjusting screw              ; Front left screw
                        G4 S20
                        G1 Z5
                        G1 X25 Y250
                        G1 Z0
                        G4 S20
                        G1 Z5
                        G1 X250 Y250
                        G1 Z0
                        G4 S20
                        G1 Z5
                        G1 X250 Y25
                        G1 Z0
                        G4 S20
                        
                         G1 Z5
                        G1 X150 Y150
                        G1 Z0
                        G4 S20
                        G1 Z5
                        
                        
                        
                        undefined
                        
                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA