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

    CoreXY Hevo Sensorless homing problem with Y.

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    3
    6
    1.3k
    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.
    • Maciekundefined
      Maciek
      last edited by

      Hello.

      All previous topics are closed thats why I make new one.
      Sometimes Y axis is not homing properly. After X homing, it moves a bit and finish homing in wrong posiotion.
      It happens when print finish and carriage go to parking position. After that, when I upload file to print homing Y axis will be like I said.
      If before print Ill manually use homeall scrips it will go OK.

      Here is my homeall.g
      0_1539634869422_homeall.g

      M400 ; make sure everything has stopped before we make changes
      M913 X40 Y40 ; XY motors to 65% current
      M915 H400 X Y S2 R0 F0 ; set X and Y to sensitivity 3, do nothing when stall, unfiltered
      M574 X1 Y1 S3 ; set endstops to use motor stall

      G91 ; use relative positioning
      G1 S2 Z10 F1200 ; lift Z

      G1 S1 X-300 F3000 ; move right/back 325mm, stopping at the endstop
      G4 P500 ; wait 500msec
      G1 X5 ; move away from home
      G4 P500 ; wait 500msec

      M913 X40 Y40 ; XY motors to 65% current
      M915 H400 X Y S2 R0 F0 ; set X and Y to sensitivity 3, do nothing when stall, unfiltered
      M574 X1 Y1 S3 ; set endstops to use motor stall

      G91 ; use relative positioning
      ; lift Z
      ; make sure everything has stopped before we make changes
      ; X is homed at this point, now home the other axis
      G1 S1 Y-300 F3000 ; move beyond axis minimum
      G4 P500 ; wait 500msec
      G1 Y5 ; move away from home

      ;G1 Z5 F6000 S2 ; lift Z relative to current position
      G1 S1 Z-255 F1800 ; move Z down until the endstop is triggered
      G92 Z0 ; set Z position to axis minimum (you may want to adjust this)

      G1 Z-10 F1200 ; lower Z
      M400 ; make sure everything has stopped
      M913 X100 Y100 ; XY motors to 100% current
      G90 ; back to absolute positioning
      M574 X1 Y1 S1 ; define active low microswitches

      Sorry for the mess, Im new with Duet 🙂
      cheers

      1 Reply Last reply Reply Quote 0
      • Maciekundefined
        Maciek
        last edited by

        I did some tests. I made very fast printable gcode (about 1sec print) just to make printer start and stop. I repeated it over and over. About 10% of homings before print was failure - after X was homed, Y wasnt.
        I tried higher value of sensivity - with no luck.
        I tried higher homing speed - same.
        Same with motor current.

        Any idea?

        Here is my config.g:
        0_1539641962022_config_backup.g

        Here is newly edited homeall.g:

        M400 ; make sure everything has stopped before we make changes
        M913 X40 Y40 ; XY motors to xx% current
        M915 H400 X Y S2 R0 F0 ; set X and Y to sensitivity 3, do nothing when stall, unfiltered
        M574 X1 Y1 S3 ; set endstops to use motor stall

        G91 ; use relative positioning
        G1 S2 Z10 F1200 ; lift Z

        G1 S1 X-300 F6000 ; move right/back 325mm, stopping at the endstop
        G4 P500 ; wait 500msec
        G1 X5 ; move away from home
        G4 P500 ; wait 500msec

        M913 X40 Y40 ; XY motors to xx% current
        M915 H400 X Y S2 R0 F0 ; set X and Y to sensitivity 3, do nothing when stall, unfiltered
        M574 X1 Y1 S3 ; set endstops to use motor stall

        G1 S1 Y-300 F6000 ; move beyond axis minimum
        G4 P500 ; wait 500msec
        G1 Y5 ; move away from home
        G4 P500

        G1 S1 Z-255 F1800 ; move Z down until the endstop is triggered
        G92 Z0 ; set Z position to axis minimum (you may want to adjust this)

        G1 Z-10 F1200 ; lower Z
        M400 ; make sure everything has stopped
        M913 X100 Y100 ; XY motors to 100% current
        G90 ; back to absolute positioning
        M574 X1 Y1 S1 ; define active low microswitches

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

          My best guess is that the motors are hotter at the end of the print, and this is increasing the stall sensitivity. So you could try the following:

          • Use a higher S number in the M915 command, to reduce the sensitivity;
          • Use a lower motor current during printing, so that the motors don't get as hot;
          • After printing, lift Z to move the nozzle away from the print, then reduce X and Y motor current (M913) or even turn them off completely, then pause for a while to let the motor windings cool a bit; then home the printer.

          I think stall-detect homing on CoreXY printers is more difficult than on other types due to the increased length (hence elasticity) of the belt, which makes it more difficult to get a hard stall.

          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
          • Maciekundefined
            Maciek
            last edited by

            Big thanks for reply David.

            I tried higher S in the M915 to reduce sensivity. '4' is limit for my ears. And even with that sometimes homing fails.
            Temperature in my opinion is not the issue. Both motors have same temperature and only Yaxis fails.
            Moreover, I tested it on cold motors. My test print gcode is so short that motors cannot get even warm.
            Im printing quite fast (100-150mm/s, 400mm/s travel, 5k acc), so current reduction is someting im afraid of.

            I start to think its something maybe with slicer start and end gcode.

            Starting:
            G28;
            G1 Z10;

            Ending:
            G4 ; wait
            M221 S100
            M104 S0 ; turn off temperature
            M140 S0 ; turn off heatbed
            M107 ; turn off fan
            {if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+20, max_print_height)}{endif} ; Move print head up
            G1 X0 Y200; home X axis
            M84 ; disable motors

            For now I just edited ending gcode to go to home position after print. It works, but its not how it should be.

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

              @maciek said in CoreXY Hevo Sensorless homing problem with Y.:

              so current reduction is someting im afraid of.

              You wouldn't have to reduce it during the print, just for the homing moves. It could then be increased again.

              Z-Bot CoreXY Build | Thingiverse Profile

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

                The G4 command in your end GCode should have a parameter to tell it how long to wait. Or you can use M400 instead to just wait for everything to stop moving.

                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