Duet3D Logo

    Duet3D

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

    Solved [3.3rc3] G28 inside bed.g blocks the macro

    Beta Firmware
    2
    5
    87
    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.
    • o_lampe
      o_lampe last edited by

      Hi Duet team and fellow readers,
      I've made a whole new setup with the config tool for my Delta printer.
      Something weird happens, when I want to calibrate the printer. 'bed.g' stops after 'G28' without any notification.
      I also ran it through M98 p"bed.g", but got no errors or warnings. It just stops...
      So I commented the line in the macro and send a G28 from console before G32 et voila it works?!

      My bed.g

      ; bed.g
      ; called to perform automatic delta calibration via G32
      
      M561 ; clear any bed transform
      ;G28  ; home all towers  <<<=== had to comment out to make it work
      G1 z10 f6000
      
      ; Probe the bed at 3 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 Y79.9 H0 Z-99999
      G30 P1 X69.2 Y-39.95 H0 Z-99999
      G30 P2 X-69.2 Y-39.95 H0 Z-99999
      G30 P3 X0 Y39.9 H0 Z-99999
      G30 P4 X34.55 Y-19.95 H0 Z-99999
      G30 P5 X-34.55 Y-19.95 H0 Z-99999
      G30 P6 X0 Y0 H0 Z-99999 S6
      

      ...and homedelta FWIW

      ; homedelta.g
      
      G91                        ; relative positioning
      G1 H1 X545 Y545 Z545 F6000 ; move all towers to the high end stopping at the endstops (first pass)
      G1 H2 X-5 Y-5 Z-5 F1800    ; go down a few mm
      G1 H1 X10 Y10 Z10 F500     ; move all towers up once more (second pass)
      G1 Z-10 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
      
      
      dc42 1 Reply Last reply Reply Quote 0
      • dc42
        dc42 administrators @o_lampe last edited by

        @o_lampe please try the firmware at https://www.dropbox.com/sh/nmpsl9a3jfsumm5/AAA6adSjEcd1AM_j5_tVberGa?dl=0. This firmware may provide an additional diagnostic.

        FWIW, homing in bed.g works for me. My bed.g file is this:

        ; Auto calibration routine for large delta printer
        M561                    ; clear any bed transform
        
        ; If the printer hasn't been homed, home it
        if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed
          G28
        
        ; Probe the bed and do auto calibration
        G1 X0 Y140 Z10 F12000        ; go to just above the first probe point
        while true
          if iterations = 5
            abort "too many auto calibration attempts"
          G30 P0 X0.00 Y140.00 Z-99999
          if result != 0
            continue
          G30 P1 X70.00 Y121.24 Z-99999
          if result != 0
            continue
          G30 P2 X121.24 Y70.00 Z-99999
          if result != 0
            continue
          G30 P3 X140.00 Y0.00 Z-99999
          if result != 0
            continue
          G30 P4 X121.24 Y-70.00 Z-99999
          if result != 0
            continue
          G30 P5 X70.00 Y-121.24 Z-99999
          if result != 0
            continue
          G30 P6 X0.00 Y-134.85 Z-99999
          if result != 0
            continue
          G30 P7 X-65.57 Y-113.57 Z-99999
          if result != 0
            continue
          G30 P8 X-112.29 Y-64.83 Z-99999
          if result != 0
            continue
          G30 P9 X-130.59 Y-0.00 Z-99999
          if result != 0
            continue
          G30 P10 X-115.90 Y66.91 Z-99999
          if result != 0
            continue
          G30 P11 X-69.45 Y120.29 Z-99999
          if result != 0
            continue
          G30 P12 X0.00 Y70.00 Z-99999
          if result != 0
            continue
          G30 P13 X60.62 Y-35.00 Z-99999
          if result != 0
            continue
          G30 P14 X-52.28 Y-30.19 Z-99999
          if result != 0
            continue
          G30 P15 X0 Y0 Z-99999 S8
          if result != 0
            continue
        
          if move.calibration.final.deviation <= 0.033
            break
          echo "Repeating calibration because deviation is too high (" ^ move.calibration.final.deviation ^ "mm)"
        ; end loop
        echo "Auto calibration successful, deviation", move.calibration.final.deviation ^ "mm"
        G1 X0 Y0 Z150 F10000                ; get the head out of the way
        

        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

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

          @dc42
          thanks for the cool macro.
          Do you think it would be useful to make it 'universal' by calculating the probe points, based on the "B" parameter in M665?

          dc42 1 Reply Last reply Reply Quote 0
          • o_lampe
            o_lampe last edited by

            The rc3+6 update made it!

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

              @o_lampe said in [3.3rc3] G28 inside bed.g blocks the macro:

              Do you think it would be useful to make it 'universal' by calculating the probe points, based on the "B" parameter in M665?

              Probably, assuming that the entire bed within the B radius is reachable by the nozzle, and that you don't want to probe outside it.

              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