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

    I could use some help

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    11
    682
    64.0k
    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.
    • 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 E3D MS/TC setup and a RatRig Hybrid. 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
                            • fcwiltundefined
                              fcwilt @A Former User
                              last edited by

                              @mac said in I could use some help:

                              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?

                              No, nothing like that.

                              Obviously the firmware only knows what you "tell" it about the limits of axis travel for X, Y and Z.

                              Unfortunately it currently assumes that the endstop for each axis activates at the min or max for that axis depending on the endstop being declared to be at the high or low end of the axis.

                              The size of the bed does not usually have any fixed relationship to the axis travel. The bed may be, say 300 x 300 but the X axis may be able to travel 350 and the Y axis 400. It depends on how the printer is designed.

                              And the endstop sensors may or may not be all the way at one end of the axis or the other. Again it depends on how the printer is designed.

                              One thing you generally do as you figure out the settings for the M208 and M574 commands is jog the axes back and forth and figure out things like the maximum travel for each axis and where the printable area of the bed falls in the space delimited by the max travel of each axis.

                              Example of how this might be done:

                              • execute a M564 H0 S0 - this allows jogging of the axes even if they are not homed and they can be jogged anywhere along the axis regardless of any limits set by M208
                              • jog the X axis all the way to the low end
                              • execute G92 X0 - this sets the logical position as X = 0
                              • jog the X axis all the way to the high end being carefully to not slam into the end the axis but just touch it gently
                              • read the X axis position off the DWC - you now know that maximum travel of the X axis

                              Then you do the same for the Y axis.

                              Now at this point you can edit your M208 command, in config.g, to specify the initial values of min/max for both the X and Y axis. Reboot/reset the printer and you will now not be able to travel beyond the limits of the X and Y axes, if the axis limits are enabled, which is typically the case. They would be enabled by M564 S1 which I believe is the default state after reboot/reset.

                              Does any of that make sense?

                              Once it does I can move on to the next steps.

                              Frederick

                              Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

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

                                @fcwilt yes, it does make sense, because to my way of communications, you, like myself, speak in moving pictures. Thank you for that.

                                I’m wondering how I will determine the range (from low to high) of Z given what you described, as I have removed the end stop for Z because of the BLTouch, which is working quite well, but is still not adjusted fully?

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

                                  @mac said in I could use some help:

                                  @fcwilt yes, it does make sense, because to my way of communications, you, like myself, speak in moving pictures. Thank you for that.

                                  I’m wondering how I will determine the range (from low to high) of Z given what you described, as I have removed the end stop for Z because of the BLTouch, which is working quite well, but is still not adjusted fully?

                                  Well, I equip all my printers with Z endstops as I find it homes quicker and the homing code for all axes can be simpler.

                                  I also have Z probes which I use for all the other Z probe purposes such as setting the Z=0 Datum, leveling the bed and creating the height map. I just don't use the Z probe for homing Z.

                                  Regardless you would determine the limits the same way as I described for X and Y. You would jog Z until it was just touching the nozzle. Execute a G92 Z0 to set the logical position. Jog all the way to the other end and read off the Z position.

                                  Frederick

                                  Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

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

                                    @fcwilt I’m getting what you’re saying.

                                    Here’s a snarly question that came to mind; all of this comes from that one page of RRF where you’ve already told it the size of your bed, and now you’re telling it what kind of endstops you have. Only there’s a trick to this, because the language, high and low, they’re a lot more critical and complex than the presentation suggests or describes. It seems to me that this is where the entire result went totally south because I didn’t understand the questions or the implications.

                                    Maybe that section could be expanded? It’s very important; isn’t that right? Maybe it would help to present a couple of pictures to kind of explain what’s what?

                                    I thought it was nothing but “is my endstop at the beginning on the travel, or at the end?” But it turns out there’s this whole language about endstops that casts them in a very different and significant light. I wish I’d known about that during that portion of the process so I could have made way better choices.

                                    I also wish I’d know almost two months ago that speaking fluent Goode is a requirement of installing this board.

                                    Oh, well, bitch bitch bitch. I’ll get there because Duet3D has Great people helping us morons fiddle our way through this so we can print stuff that doesn’t do nearly enough for the effort we out into it.

                                    Venting session over and done with.

                                    Mac

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

                                      @mac said in I could use some help:

                                      I thought it was nothing but “is my endstop at the beginning on the travel, or at the end?”

                                      Basically correct aside from needing to specify the type of endstop, which is often type 0, rarely type 1, sometimes type 3 or 4. I always use type 0.

                                      But it turns out there’s this whole language about endstops that casts them in a very different and significant light.

                                      That I don't understand. What "language" are you talking about?

                                      Frederick

                                      Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

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

                                        @fcwilt I'm done bitching . . . however, (and maybe this isn't true), X goes side to side, typically left to right, so, the x-endstop is on the left, versus high or low. Y typically goes forwards and backwards, with the stop typically being at the back, so back is how it's described. Z goes up and down, so that enstop is at the top or the bottom of the axis. Left, right, back, front, top, bottom, those are easier ways to describe and understand the position of endstops, I think.

                                        But that's the take of someone who doesn't know shite, so, The End, right?

                                        Today I'm going to use all of the wonderful, albeit incorrect at times, but edited to perfection information in this thread to get my printer more together than it's been in almost a month.

                                        Wish me luck!

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

                                          @mac said in I could use some help:

                                          X goes side to side, typically left to right, so, the x-endstop is on the left, versus high or low. Y typically goes forwards and backwards, with the stop typically being at the back, so back is how it's described. Z goes up and down, so that enstop is at the top or the bottom of the axis. Left, right, back, front, top, bottom, those are easier ways to describe and understand the position of endstops, I think.

                                          Got it.

                                          But consider this, every linear axis has two ends. The positions on the axis range from some minimum value to some maximum value. The endstop term "low" corresponds to the minimum end. The endstop term "high" corresponds to the maximum end.

                                          These terms apply regardless of the orientation of the axis (left and right, forward and back, up and down).

                                          They apply regardless of where the minimum and maximum ends of the axis are. If, for some strange reason, the left most X axis position was 500 and the right most X axis position was 0 the terms "low" and "high" still will be correct.

                                          Wish me luck!

                                          I hope all goes well.

                                          Don't hesitate to ask for help.

                                          Frederick

                                          Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

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

                                            @fcwilt 5E59E364-BB98-423E-8559-C3A68DBFCD6E.jpeg

                                            There’s a Blade Runner inside my printer now.

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