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

    Mesh Bed Compensation on one plane for Belt 3D Printers

    Scheduled Pinned Locked Moved
    General Discussion
    2
    4
    243
    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.
    • semi55undefined
      semi55
      last edited by semi55

      Is it possible to only probe on one plane? In my case I want to probe only the Y-Axis with a BLTouch. I have a printer with a continuous belt as printing platform. The printhead is tilted 45degree which leads to the printing gantry being the X and Y axis, the belt is therefore the Z-axis.

      What I've tried so far:

      Setup for BLTouch on a SKR Pro V1.2 running RRF:

      M574 Y1 S2                                      ;Setup Y as probe
       
      ; Y-Probe
      M558 P9 H6 F120 T8000 X0 Y1 Z0 C"^probe"       ; enable Y probe, set dive height, probe speed and travel speed
      M557 X50:170 Y0:10 S20                       	; define mesh grid
      G31 X34.4 Z9 Y0					; BLtouch offset
      M950 S0 C"servo0"				; Setup servo 0 as servo port on SKR
      

      Homing Y is a workaround because probing does not work at the moment

      G91               		;relative positioning
      G1 H2 Y-15 X15 F50000           ;lift y relative to current position
      G1 H2 X50 Y50			;Move X
      M401 				;deploy probe
      G1 H1 Y-285 F2400 		;move Y down until BLTouch is triggered
      G90				;absolute positioning
      G1 Y4 F50000 			;Backoff 3mm
      G4 P500				;wait for 0,5s
      M401				;deploy probe
      G1 H1 Y-285 F200 		;move Y down slower until BLTouch is triggered
      M402				;retract probe
      G1 Y10	F50000			;lift y
      

      Using G29 and G30 moves the Z axis, which in my case is the belt, so probing can't finish as the Y axis rather than the Z axis has to be moved.

      I've tried a custom bed.g in combination with calling G32

      M561 ; clear any bed transform
      G90
      G1 X170 Y5
      G30 P0
      G1 X140
      G30 P1
      G1 X110
      G30 P2
      G1 X80
      G30 P3
      G1 X50
      G30 P4
      G1 X20
      G30 P5
      

      But that also doesn't work out unfortunately.

      Is it maybe possible to create a heightmap sort of manually?
      For instance using

      G1 H1 Y-285 F2400 ;move Y down until BLTouch is triggered
      

      saving the trigger height as point 1 and then move the the next point and do the same steps multiple times until you get a decent heightmap of the y axis (5 would probably be sufficient).

      chrishammundefined 1 Reply Last reply Reply Quote 0
      • chrishammundefined
        chrishamm administrators @semi55
        last edited by

        @semi55 Heightmaps for belt printers are not supported but you can use orthogonal axis compensation with some macro magic.

        AFAIK heightmaps support different axis pairs (instead of X and Y) as of v3.3 but I don't think that concept is applicable to belt axes because they are indefinitely long.

        Duet software engineer

        semi55undefined 1 Reply Last reply Reply Quote 0
        • semi55undefined
          semi55 @chrishamm
          last edited by

          @chrishamm so this would help if the printing angle is not exactly 45degree from the printbed or am I getting it wrong?

          Would for instance switching the kinematics to CoreXZ from CoreXY temporarily be and option? So switching to CoreXZ, running Mesh Bed Compensation, switching back to CoreXY and changing the coordinates of the created heightmap with some code magic?

          chrishammundefined 1 Reply Last reply Reply Quote 0
          • chrishammundefined
            chrishamm administrators @semi55
            last edited by

            @semi55 Orthogonal axis compensation helps with Y not being 100% perpendicular to the belt Z axis. Since the heightmap is intended to compensate the Z height depending on the X/Y (or other) axes, you'd have to replace Y with Z but I guess there isn't an easy way to change the slicer for this.

            Duet software engineer

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