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

    Manual adjustment macro

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    3
    8
    380
    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.
    • Exerqtorundefined
      Exerqtor
      last edited by Exerqtor

      So i'm building a Voron 1.8 and doing the legwork with building up macros etc.

      I've got the automatic bed traming nailed down allready, and i'm now trying to construct a second macro for doing the manual adjustment of the front bed mount just like the Klipper "screws til adjustment".

      So i was woundering if this would work out the same way as Klippers solution?

      "tilt_adjustment.g"

      M671 X2:326:164 Y323:323:3 S1.0 P0.5
      
      G30 P0 X25 Y320 Z-99999
      G30 P1 X303 Y320 Z-99999
      G30 P2 X164 Y5 Z-99999 S3
      
      fcwiltundefined 1 Reply Last reply Reply Quote 0
      • fcwiltundefined
        fcwilt @Exerqtor
        last edited by

        @exerqtor

        Why would there be any need for adjustment if you have automatic leveling working?

        I think that to be able to use both manual and automatic leveling you would have to change the Z stepper assignments to be able to invoke manual mode.

        And you would still need three G30 statements (P0, P1, P2) with the last having the S3 parameter.

        Frederick

        Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

        Exerqtorundefined 1 Reply Last reply Reply Quote 0
        • Exerqtorundefined
          Exerqtor @fcwilt
          last edited by Exerqtor

          @fcwilt said in Manual adjustment macro:

          @exerqtor

          Why would there be any need for adjustment if you have automatic leveling working?

          I think that to be able to use both manual and automatic leveling you would have to change the Z stepper assignments to be able to invoke manual mode.

          And you would still need three G30 statements (P0, P1, P2) with the last having the S3 parameter.

          Frederick

          @fcwilt

          Because the Voron 1.8 only have to two z leadscrews, one each end of the X axis in Y center.

          The printbed is attached to the bed carriage on three points, two on the outer edges in the rear and one front center. The two rear ones are static non adjustable, but the front is adjustable to allow for adjustment of the bed in the Y plane where the machine can't adjust itself.

          It will ofc be done a mesh bed leveling, this macro is just to try ensuring the bed being as level as possible before probing the bed mesh.

          Regarding the three G30 statements it was a typo using two "P2"'s.

          cosmowaveundefined 1 Reply Last reply Reply Quote 1
          • Exerqtorundefined
            Exerqtor
            last edited by Exerqtor

            This post is deleted!
            1 Reply Last reply Reply Quote 0
            • cosmowaveundefined
              cosmowave @Exerqtor
              last edited by

              @exerqtor i have a macro for manually setting up the bed.
              The macro moves the nozzle to the 4 corners of the bed (20mm away from max. positions).
              You can adapt it to your needs...

              ; 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

              Exerqtorundefined 1 Reply Last reply Reply Quote 0
              • Exerqtorundefined
                Exerqtor @cosmowave
                last edited by Exerqtor

                @cosmowave

                Ah cool, i'll have a look at it! I srsly have to take the time to learn how to use conditional programing (if anyone got some good tutorials please throw in a link).

                I woke up to the announcement of "Voron Trident" with 3 leadscrews, so the manual leveling's going to be a thing of the past lol.

                cosmowaveundefined 1 Reply Last reply Reply Quote 0
                • cosmowaveundefined
                  cosmowave @Exerqtor
                  last edited by

                  @exerqtor It is not so hard to learn gcode with conditional code.
                  Many things are commented in my macro.

                  Mankati FSXT+, DeltaTowerV2, E3D MS/TC

                  Exerqtorundefined 1 Reply Last reply Reply Quote 0
                  • Exerqtorundefined
                    Exerqtor @cosmowave
                    last edited by Exerqtor

                    @cosmowave

                    Yeah i understand the construct and logic of it, but not what and when different variables and statements apply.

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