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

    Additional axis not homing after print finished

    Scheduled Pinned Locked Moved Unsolved
    General Discussion
    2
    8
    207
    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.
    • Sevimuelliundefined
      Sevimuelli
      last edited by

      Hi
      I have a delta printer with a Duet 3 Mini in a SBC setup together with a Raspberry Pi. There I have an additional axis for the extruder. Everything is configured correctly and moves as expected, for homing, printing and when moving manually. But when the print job is finished and I want to home the printer again, to bring the head out of the way, the additional axis doesn't move. The three main axis X, Y, Z home all as expected but the additional axis stays still, which is off course problematic as it will just rip off the cables and tubes. Good thing I added an emergency stop 😉

      When i started testing this new setup, I was running Firmware 3.4.4, upgraded later to 3.4.5 and am currently running 3.5.0-beta.3. Same versions for Duet Web Control and DSF. The issue existed from the beginning and nothing changed with any version. I also don't get any error messages or anything. The motor is not hot and moves normally without any issue. And it's not a thing that happens from time to time but every time and only after a job is finished and I want to home the printer.

      Here my config:
      config.g

      Here are some pictures of my setup, not the most recent ones but the basic principle is the same:
      IMG_1459 Large.jpeg
      IMG_1457 Large.jpeg

      Any ideas on why this is happening? Does anybody else experience this issue?

      Many thanks,
      Sevi

      gloomyandyundefined 1 Reply Last reply Reply Quote 0
      • gloomyandyundefined
        gloomyandy @Sevimuelli
        last edited by

        @Sevimuelli What are you actually doing to "home the printer again, to bring the head out of the way", is this via one of the home buttons in dwc, a macro, some command line code? I think we would also need to see the various homing files (homeall.g, plus any others that it may call). It would also probably help if you posted a minimal print gcode file so that we can see the start/end gcode being used.

        Sevimuelliundefined 1 Reply Last reply Reply Quote 0
        • Sevimuelliundefined
          Sevimuelli @gloomyandy
          last edited by

          @gloomyandy Thank you for your response. I only press the "Home all" button in the Dashboard, as i always do when homing. No automatic homing or anything for now. This always works except after the print is finished. I also think it happens if i cancel the print in between and want to home the printer. I use Simplify3D for slicing if that makes a difference.

          My homedelta.g file:

          ; homedelta.g
          ; called to home all towers on a delta printer
          ;
          ; generated by RepRapFirmware Configuration Tool v3.3.13 on Fri Sep 16 2022 22:17:44 GMT+0200 (Central European Summer Time)
          G91                        ; relative positioning
          G1 H1 X685 Y685 Z685 U630 F2000 ; move all towers to the high end stopping at the endstops (first pass)
          G1 H2 X-5 Y-5 Z-5 U-5 F400    ; go down a few mm
          G1 H1 X10 Y10 Z10 U10 F100     ; move all towers up once more (second pass)
          G1 Z-5 U-5 F300               ; move down a few mm so that the nozzle can be centred
          ;
          ;G1 H1 U500 F200 		       ;  move to the high end stopping at the endstops (first pass)
          ;G1 H2 U-5 F300 			       ; go down a few mm
          ;G1 H1 U10 F100      	     ; move up once more (second pass)
          ;G1 H2 U-5 F300 			       ; move down a few mm 
          ;
          G90                        ; absolute positioning
          G1 X0 Y0 F2000             ; move X+Y to the centre
          

          Begin of gcode file:

          G90           ; Set to absolute positioning
          M83          ; Set extruder to relative mode
          M106 S0 P0    ; Turn of fan
          M140 S50       ; Set bed temperature
          M190 S50       ; Wait for bed temperature
          M104 S210 T0   ; Set extruder temp
          M109 S210 T0   ; Wait for extruder temp
          ;G28 ; home all axes
          ; process Process 1
          ; layer 1, Z = 0.1600
          T0
          G1 E-2.0000 F3000
          ; feature skirt
          ; tool H0.1600 W0.504
          G1 Z0.5000 F1200
          G1 X90.031 Y61.756 F6000
          G1 Z0.1600 F1200
          G1 E2.0000 F3000
          G1 X-90.031 Y61.756 E5.9160 F1200
          G1 X-90.741 Y61.716 E0.0234
          

          End of a gcode file:

          G1 X94.734 Y55.497 E0.0197
          G1 X94.703 Y55.692 E0.0077
          G1 X94.703 Y-55.492 E4.3488
          G1 X94.703 Y-55.692 F1782
          G1 E-2.0000 F3000
          ; layer end
          M104 S0 ; turn off extruder
          M140 S0 ; turn off bed
          ;M84 ; disable motors
          G91;   Set to Relative Positioning 
          G1 Z20; Move Head 20mm up
          ; Build Summary
          ;   Build Time: 6 hours 48 minutes
          ;   Material Length: 39990.7 mm (39.99 m)
          ;   Material Volume: 96189.0 mm^3 (96.19 cc)
          ;   Material Weight: 120.24 g (0.27 lb)
          ;   Material Cost: 5.53
          

          I don't think i have anything else special about homing in my printer. When this error occurs, I push the emergency stop, which powers off the 24V part and also resets the board via a trigger configured as emergency stop. After that everything works again.

          gloomyandyundefined 1 Reply Last reply Reply Quote 0
          • gloomyandyundefined
            gloomyandy @Sevimuelli
            last edited by

            @Sevimuelli I'm not really familiar with a delta, but it looks like your U axis needs to move to keep the extruder in a fixed position relative to the main print head, how do you achieve that? Is U being linked to Z in some way?

            Sevimuelliundefined 1 Reply Last reply Reply Quote 0
            • Sevimuelliundefined
              Sevimuelli @gloomyandy
              last edited by Sevimuelli

              @gloomyandy Yes, it it linked.

              First, you define the drive for the new axis like any other:

              ; Drives
              M569 P0.2 S1                                          ; physical drive 0.2 goes forwards
              M569 P0.3 S1                                          ; physical drive 0.3 goes forwards
              M569 P0.4 S1                                          ; physical drive 0.4 goes forwards
              M569 P0.0 S0                                          ; physical drive 0.0 goes forwards
              M569 P0.1 S1                                          ; physical drive 0.1 goes forwards
              M584 X0.2 Y0.3 Z0.4 E0.1 U0.0                         ; set drive mapping
              M350 X16 Y16 Z16 E16 U16 I1                           ; configure microstepping with interpolation
              M92 X160.00 Y160.00 Z160.00 E391.388 U250.0           ; set steps per mm
              M566 X500.00 Y500.00 Z500.00 E600.00 U500             ; set maximum instantaneous speed changes (mm/min)
              M203 X18500.00 Y18500.00 Z18500.00 E10000 U6000       ; set maximum speeds (mm/min)
              M201 X5000.00 Y5000.00 Z5000.00 E5000.00 U2000        ; set accelerations (mm/s^2)
              M906 X1800 Y1800 Z1800 E1300 U1900 I30                ; set motor currents (mA) and motor idle factor in per cent
              M84 S30                                               ; Set idle timeout
              

              Then, you have the delta configuration, but instead of only setting the three rod lengths for delta, you also set a fourth value in the "L" parameter, the distance between the extruder output and the filament entry point on the hot end. So roughly the distance between the center of the head and the extruder.
              Then you set the X and Y offset of the extruder to the hotend. There isn't a correct value for this but rather a try and error between distance, offset, and homing height of the additional axis, until you found a satisfying solution. Then, the firmware will always keep the distance specified when moving around, all based on the head, No matter how you move the head around, manual, in print, the additional axis will always follow.

              ; Delta config
              M665 R243.301 L440.45:440.45:440.45:400 B145 H405     ; Set delta radius, diagonal rod length, printable radius and homed height
              M666 X0 Y0 Z0 U0                                      ; Put your endstop adjustments here, or let auto calibration find them
              ;M669 K3 X0 Y-150
              ;M669 X0 Y-150                                         ; Addidtional axis offset
              M669 X0 Y-50                                         ; Additional axis offset
              

              Small side question, in the Gcode M669, there are two parameters:
              Snnn Segments per second (RRF 3.3 and later)
              Tnnn Minimum segment length (mm) (RRF 3.3 and later)
              I'm not really sure how they work. I know that normally you don't need to use this. As far as I understand, they specify how fast and accurate the new axis follows, but I haven't found any explanation really. Do you happen to know what they are exactly?

              gloomyandyundefined 1 Reply Last reply Reply Quote 0
              • gloomyandyundefined
                gloomyandy @Sevimuelli
                last edited by

                @Sevimuelli I'm now well beyond my knowledge of deltas at this point so you may want to wait and see if anyone with a better understanding of them comes along. The only odd thing I noticed in the gcode is that in your end code you set relative mode using M91, but you never set it back to absolute mode (which is the mode it is left in after homing from what I can see). I'm not sure if that has anything to do with this issue but it may cause other problems.

                This document (https://docs.duet3d.com/User_manual/Machine_configuration/Configuration_linear_delta#adding-additional-towers-to-carry-flying-extruders) mentions that you can hide the extra axis, I'm not sure if that could be related to this problem or not. After a print are you able to jog the U axis using the jog controls in DWC (is U even visible)?

                The only other reason I can think of as to why the U motor does not home is that the endstop is already triggered. You might want to check that by issuing M574 in the console before you attempt to home after a print, I think that should report the current status.

                As to the segmentation options, they are typically used to allow long moves to be interrupted early (normally you will need to wait for a move to complete), but I'm not sure if they have any special usage for a delta.

                Sorry I can't be of any further help, hopefully someone with more delta knowledge than me will be along shortly, good luck!

                Sevimuelliundefined 1 Reply Last reply Reply Quote 0
                • Phaedruxundefined Phaedrux marked this topic as a question
                • Phaedruxundefined Phaedrux moved this topic from Firmware installation
                • Sevimuelliundefined
                  Sevimuelli @gloomyandy
                  last edited by

                  @gloomyandy Considering the relative mode, in the homedelta.g file, the mode is set to relative mode anyway, so it shouldn't make a difference. But I have to do some more testing on this. I'm actually not home now but will be back next week. I will write my findings here.

                  I don't think hiding the axis is a solution as this axis are always physically connected to each other and under normal conditions it works fine.

                  And no, the endstop can not be the problem. The endstop is on the top and the U axis is far down so it is not possible.

                  Anyway, I appreciate your help very much. Thank you. Hope I can figure this one out somehow.

                  gloomyandyundefined 1 Reply Last reply Reply Quote 0
                  • gloomyandyundefined
                    gloomyandy @Sevimuelli
                    last edited by

                    @Sevimuelli As I said I don't think leaving it in relative mode is likely to be the cause of this issue, however, having your printer in a different state after a print to after homing does not seem like a good idea.

                    I wasn't suggesting that you should hide the axis, I was asking if there is any chance that the axis has become hidden and that might be causing the homing problem.

                    Again I was suggesting that you check the state of the endstop (just in case there is some firmware, electrical or mechanical problem with it - it may have become stuck) as that would result in the behaviour you are seeing.

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