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

    I could use some help

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    11
    682
    63.5k
    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.
    • alankilianundefined
      alankilian @A Former User
      last edited by

      @mac said in I could use some help:

      X-255? Y-255? my bed's 220 by 220! where is this coming from?

      It's -225 not -255

      Your bed is 220, so you need to move slightly MORE then 220 to make sure you've hit the endstop in case it's way at the other end of the travel.

      So your bed is 220, move -225 and you will always hit the home switch.

      SeemeCNC Rostock Max V3 converted to V3.2 with a Duet2 Ethernet Firmware 3.2 and SE300

      A Former User? 2 Replies Last reply Reply Quote 0
      • droftartsundefined
        droftarts administrators @A Former User
        last edited by droftarts

        @mac Assuming you don't want to rewire the machine, or turn it around, the first thing you need to do is define the endstops as 'high end' or 'maximum' endstops. Change the following two M574 lines from X1 to X2 and Y1 to Y2:

        ; Endstops
        M574 X1 S1 P"io5.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io5.in
        M574 Y1 S1 P"io6.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io6.in

        Now when the nozzle homes against the endstops, it will set X and Y to the maximum value set by M208, rather than the minimum:

        ; Axis Limits
        M208 X0 Y0 Z0 S1 ; set axis minima
        M208 X220 Y220 Z240 S0 ; set axis maxima

        But at the moment, your homing files will make the X and Y axis move towards the LOW end, rather than the HIGH end, so we need to flip these. In homex.g you currently have:

        G1 H1 X-225 F1800 ; move quickly to X axis endstop and stop there (first pass)
        G1 H2 X5 F3600 ; go back a few mm
        G1 H1 X-225 F360 ; move slowly to X axis endstop once more (second pass)

        These need to change to:

        G1 H1 X225 F1800 ; move quickly to X axis endstop and stop there (first pass)
        G1 H2 X-5 F3600    ; go back a few mm
        G1 H1 X225 F360  ; move slowly to X axis endstop once more (second pass)
        

        So that the X carriage goes to the maximum end of the axis, hits the X homing switch, backs off 5mm, then moves to touch it again.

        You need to make the same changes to homey.g and homeall.g.

        If you need to adjust where X0 Y0 is, you change the bed area in the M208 commands. Do the above first, and if you need more help with this part, let me know.

        Ian

        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

        A Former User? fcwiltundefined 5 Replies Last reply Reply Quote 0
        • A Former User?
          A Former User @droftarts
          last edited by droftarts

          @droftarts

          6/24/2022, 2:08:29 PM	M208 X-8;200 Y0;202 ; set axis limits
          Error: M208: X axis maximum must be greater than minimum
          
          droftartsundefined 1 Reply Last reply Reply Quote 0
          • droftartsundefined
            droftarts administrators @A Former User
            last edited by

            @mac it should be a colon : between values, not a semicolon ;

            Ian

            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

            1 Reply Last reply Reply Quote 0
            • A Former User?
              A Former User @alankilian
              last edited by

              @alankilian thanks, man, childhood dyslexia strikes again

              1 Reply Last reply Reply Quote 0
              • A Former User?
                A Former User @droftarts
                last edited by A Former User

                @droftarts okay, so, now we're talking hard-core editing of the actual config files, correct? Versus using RRF to "edit" them, correct?

                So I'm guessing I can just "look" at the files, and high light what I want to change, or delete, and hit ENTER, and that will make the change, then "SAVE" and that will save the whole file with the changes?

                And the changed file will become the instructions used? (There's no reloading that needs to happen?)

                A little confirmation (or correction), will go a long ways right about now.

                Mark

                droftartsundefined 1 Reply Last reply Reply Quote 0
                • droftartsundefined
                  droftarts administrators @A Former User
                  last edited by droftarts

                  @mac Yes, you can edit the files in DWC. Sorry, I should have made that clear. Make sure you make a backup, as any changes will only exist on the SD card.

                  Alternatively, now that you know you have maximum endstops on X and Y, you could go back to the Configuration tool and change it there.

                  Did you know you can load the config.json file from a previously created configuration back into the Configuration Tool, and all the settings you made previously will be applied? That can help if you have a lot of changes to do.

                  Ian

                  Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                  A Former User? 2 Replies Last reply Reply Quote 0
                  • A Former User?
                    A Former User @alankilian
                    last edited by

                    @alankilian nice clarification, Alan Killian

                    1 Reply Last reply Reply Quote 0
                    • A Former User?
                      A Former User @droftarts
                      last edited by

                      @droftarts I did not! but I think that's how i'll approach this humongous job-a-rooney.

                      Mark

                      A Former User? 1 Reply Last reply Reply Quote 0
                      • A Former User?
                        A Former User @A Former User
                        last edited by

                        @mac actually, that's what I've been doing all along (the line says / shows Square, config.json GRAPHIC with SQUARE with ARROW in it edit via config tool.

                        That's what I'm assuming your referring to.

                        Let's get started!

                        Mark

                        1 Reply Last reply Reply Quote 0
                        • A Former User?
                          A Former User @droftarts
                          last edited by

                          @droftarts so really, the only problem was the Endstop locations for x and y were low end when they should have been set to High end.

                          Once again, getting high wins the day!

                          Mark

                          1 Reply Last reply Reply Quote 0
                          • A Former User?
                            A Former User @droftarts
                            last edited by A Former User

                            @droftarts HERE'S AN UPDATE

                            X Y and Z performed MUCH BETTER. However, when I HOME ALL'd X hit the Endstop 3 or 4 times before stopping. Then the print head, accompanied by the BLTouch, qhich sensed the bed, and that was that.

                            So, should I post all of the config files again to see what's causing X to want to go further left than it should? What I'm seeing is the nozzle's pointed right at the very edge of the bed.

                            A Former User? 1 Reply Last reply Reply Quote 0
                            • A Former User?
                              A Former User @A Former User
                              last edited by

                              @drofarts Actually, I spoke too soon. I just tried to Home All again. The Print Head came to the X-endstop, and pounded on it until I turned the printer off.

                              Then, I turned the printer back on and Home All-d the printer to see what would happen. The Print Head came forwards, beyond the front edge of the bed, and then started to land in the empty space in front of the bed, where nothing would stop the BLTouch.

                              So, the Print Head is not honoring the X-endstop, and (it's possible) that the Y-axis is crushing the y-endstop at the rear of the machine.

                              (Actually, I have this extender on the Y-stop to move the bed FORWARDS. I think I'll remove that. It was put there to "correct" a problem with the original mystery firmware, which refused to take the bed all the way to the back."

                              Hmmmmm.

                              Mark

                              1 Reply Last reply Reply Quote 0
                              • A Former User?
                                A Former User @droftarts
                                last edited by A Former User

                                @droftarts

                                • list item
                                • ; Endstops
                                • M574 X2 S1 P"io5.in" ; configure switch-type (e.g. microswitch) endstop for high end on X via pin io5.in
                                • M574 Y2 S1 P"io6.in" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin io6.in
                                • M574 Z1 S2 ; configure Z-probe endstop for low end on Z
                                • list item
                                A Former User? 1 Reply Last reply Reply Quote 0
                                • A Former User?
                                  A Former User @A Former User
                                  last edited by A Former User

                                  @droftarts I'm posting what's above this because the language says the end stops are "high end," but the code ends with S1, not S2?

                                  A Former User? fcwiltundefined droftartsundefined 3 Replies Last reply Reply Quote 0
                                  • A Former User?
                                    A Former User @A Former User
                                    last edited by

                                    @mac here’s a picture that I think is where the print head thinks Home is?

                                    F1B9851A-D4E3-4923-94BA-2FBA3F3D1523.jpeg

                                    Mark

                                    1 Reply Last reply Reply Quote 0
                                    • fcwiltundefined
                                      fcwilt @A Former User
                                      last edited by

                                      @mac said in I could use some help:

                                      @droftarts I'm posting what's above this because the language says the end stops are "high end," but the code ends with S1, not S2?

                                      Hey mac,

                                      The number after the letter (X, Y or Z) specifies where the endstop is located - high end or low end of axis.

                                      The S parameter specifies the type of endstop. From the docs for M574:

                                      M574 Parameters

                                      Xnnn Position of X endstop: 0 = none, 1 = low end, 2 = high end.
                                      Ynnn Position of Y endstop: 0 = none, 1 = low end, 2 = high end.
                                      Znnn Position of Z endstop: 0 = none, 1 = low end, 2 = high end.

                                      P"pin_name" Defines the pin name(s) that the endstop(s) for the specified axis are connected to, see Pin Names. Needed when S=1. May need ! before pin name to invert signal, or ^ to enable the pullup resistor, for example on the Duex expansion board.

                                      Snnn 1 = switch-type, 2 = Z probe (when used to home an axis other than Z), 3 = single motor load detection, 4 = multiple motor load detection

                                      This command must be later in config.g than the M584 command that creates additional axes, or axes that have multiple motors and endstops.

                                      You may already know this but I will include just to be safe.

                                      When you execute a G1 H1 command it stops when it activates an endstop sensor.

                                      At that point the logical position of the axis is set to axis min or max (see M208) depending on the declared position of the endstop (high or low).

                                      There is nothing that insures that physical position at that point matches the logical position.

                                      If you have an endstop at the low end and the axis min is 0 but the endstop activates at 5 the logical position will be set to 0 but that physical position will be 5.

                                      To keep the logical and physical positions in sync you can:

                                      • insure the point at which the endstop activates matches the min/max for the axis (as appropriate)
                                      • adjust the logical position using a combination of G1 moves and G92 set logical position commands.

                                      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

                                      A Former User? 1 Reply Last reply Reply Quote 0
                                      • droftartsundefined
                                        droftarts administrators @A Former User
                                        last edited by

                                        @mac said in I could use some help:

                                        @droftarts I'm posting what's above this because the language says the end stops are "high end," but the code ends with S1, not S2?

                                        Yes, sorry, I was wrong (and have since edited it), it should be X2 and Y2, with S1. X1 is for low end, X2 for high end, and the S parameter is for the endstop type, where S1 is switch, which is what you have. See https://docs.duet3d.com/en/User_manual/Reference/Gcodes/M574

                                        To get the homing where you want it, it's a process of editing the M208 limits. So that when it's homed at the maximum, eg X210 might be the endstop and where it's on the edge of the bed on the right side, if you move it back to X0, it's on the edge of the bed on the left (or wherever you want it). Then the same with Y.

                                        Ian

                                        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                                        A Former User? 1 Reply Last reply Reply Quote 0
                                        • A Former User?
                                          A Former User @fcwilt
                                          last edited by

                                          @fcwilt I didn't know any of that, like, What language is this?

                                          But mostly I couldn't answer the questions at the end, as in, I can't even see what this is saying.

                                          But I have a feeling that I'm going to understand this, at some point. Hopefully I have enough time left to get there.

                                          1 Reply Last reply Reply Quote 0
                                          • A Former User?
                                            A Former User @droftarts
                                            last edited by

                                            @droftarts I'm going to have to read that a lot slower, I guess. I think you're suggesting that I have to enter some gcode via the console, and physically move the print head to, for instance, where I'd like it to be on each corner, I'll say, of the bed. Is that correct?

                                            I was under the impressive that this board, with this code on it, and the information it has about the size of the bed, would already know that. But now that I'm thinking really hard about it, sure, it knows the size of the bed, but the end-stops? Where they are, it don't know 'nuthin.'

                                            Great, just, amazingly, great.

                                            But I'll get there.

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