Is dual gantry homing supported?

Home Forums TinyG TinyG Support Is dual gantry homing supported?

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #10025
    JuKu
    Member

    I’m building a machine with two motors on Y, and I’m worried about keeping the machine square. Obvious solution is to home both ends of the gantry independently. I found this: https://www.synthetos.com/topics/homing-dual-gantry/ and year 2012, it said not yet. I guess this is still the case, as I couldn’t find anything on the current documantation?

    #10026
    pca
    Member

    I don’t think it is yet. I have a large (1.5m x .6m) laser cutter using a similar design with 2 Y motors and I have found that once it is correctly set up, it stays square and true with no issues. Manually pulling both ends of the gantry to the end stops, then sending Gcode to move x and y out 10mm, before homing the axes, will leave it in a state that is completely reproducible.

    One only needs to do this once, as after that a normal homing procedure works every time.

    While having dual homing would be very nice and I’d like to see it added, so far my tests have shown me that it’s not essential for usable work.

    #10027
    cmcgrath5035
    Moderator

    This is the first I have seen of this idea, have to seriously doubt it is supported because there is nothing, as I see the system, to differentiate between Motors assigned to the Y axis.

    It probably could be supported in FW, buy it is unclear how one would properly zero Y1, then Y2. The whole idea behind using two Y motors is to minimize drag with only one side of the gantry being energized. The potential drag would be accentuated if one side of the gantry was connected to a motor that was de-energized but still parts of the mechanical ‘circuit’.

    IMHO, zeroing Y with both motors energized mechanically averages any differences between drives to Y1 and Y2.

    Just my thoughts, your thoughts welcome as well.

    #10028
    pca
    Member

    It doesn’t really need to be complicated, I think. The mechanical constraints of the gantry mechanism would prevent either side being more than a small amount out, but it’s certainly possible to have that happen especially on a very large system. Homing to only one switch if there IS a misalignment won’t correct that misalignment since both motors stop at that point.

    The obvious way to sort it out is to be able to define two switches as end-stops, then continue the initial homing process until both close/open. Since the misalignment is small, the fact that one motor is now slipping for a few steps shouldn’t an an issue.

    Once the initial homing is done like this, the final homing process of moving back out a little then slowly coming to rest at the final position could use either switch, since by then in theory everything is square again and both switches should operate simultaneously.

    In fact, now that I’m thinking about it a similar response might effectively be produced simply by wiring both switches in series, so they both have to close to register as active. I’ll have to try that. It’s not quite the same but it might work.

    #10029
    cmcgrath5035
    Moderator

    You present a different definition of the problem, one which I understand and find interesting.
    You idea of wiring the switches is an interesting one, you should try it.

    But, how do you ‘properly’ align the two limit switches to be perfectly square? It would seem that two switches could introduce misalignment if the gantry were ‘perfect’ but the switches were off a bit…..?

    #10030
    pca
    Member

    It would need careful setup, the switches would need to be adjustable and the whole thing would require alignment in the first place with a set square. But I don’t see it being particularly difficult.

    One thing to remember is that mechanically it would be constrained to be MOSTLY square right from the start or it wouldn’t run smoothly. Once initial alignment is achieved, this would allow it to be automatically reset every time to overcome some external force knocking things out of place. In some ways, I think it’s more important that everything is repeatable rather than perfectly square.

    For instance, with a laser cutter, once you’ve aligned the mirrors you can overcome small differences in beam path from perfect 90 degree turns, but it absolutely HAS to stay like that. Especially for a big one.

    In the case of my machine it was all carefully set up to be as close as possible to a perfect rectangle as I could make it, but because the y gantry is nearly one and a half meters long, it’s certainly possible to manage to get one end slightly advanced compared to the other one if something momentarily jams it. Or if it simply skips a step, although that’s never happened in practice. So the ability to reset everything to a known good position is important and doing this at both ends is better than doing it at one and hoping the other is all right.

    I’ll get around to trying the switch modification sometime soon, but I’m busy with another project right now so it might take a little while.

    #10031
    JuKu
    Member

    I think it would be easy to get the machine slightly out of square just by pushing it by hand with motors off. Even turning motors on and off move it a little due backslash (No idea if this makes it off-square, but I worry about it). Until this is supported, I think I need to devise a macro, so that first one side is homed, then machine is reconfigured so it homes the other side, then change configuration back. And yes, design an adjustable switch mount.

    #10032
    rickcaddell
    Member

    JuKu,

    As far as I know there is no good way to square the axis using TinyG. Even if you could there are other problems. The following is the method I use.

    Beware. Most homing switches are not very repeatable. I built my own CNC (designed and built the hardware, software, electronics, everything but the TinyG). The machine has gantries (two motors) on X and Y. If I put a dial indicator on an either axis, and home several times watching the gauge, the home position will vary by 5 to 10 thousands. And these are expensive limit switches (30 bucks a pop) that are supposed to be high precision. What I ended up doing was putting rings on the lead screw of each axis. The rings have a mark on them, and have a set screw that allows them to be rotated, and by tightening the set screw, put in a fixed position. The machine has a matching mark where the lead screw passes through the frame. I go through a procedure that squares the axes (another story) then loosen the set screws, set the rings so the marks line up and tighten the screws. Each time I home, the home switches gets the machine close (within a few thousandths), I disable the axes and turn the motors so that the marks on the rings line up with the marks on the frame. If I jog the machine, and command the machine back to the home position, the marks may not line up by one step of the motor. I am not sure why, but I think it is because of the micro stepping. The micro stepping may put the machine somewhere in between motor steps, and when I disable the motors and turn them by hand the micro step gets lost, but on my machine it will only be off by at most one motor step which is a thousandth of an inch.

    I tried several ways to get the axis square in the first place to set the rings, but nothing worked well. I finally ended up using a framing square and a spindle probe. I have the square on a mount that allows adjustment of the angle of the square in relationship to the machine. I run X against some hard stops and set the rings on each X axis lead screw. Then I probe each end of the square in the X direction and adjust the angle of the square until it is square with the machine (ie. the probe reading is the same at both ends of the square). I then probe each end of the square in the Y direction and turn one disabled Y axis motor until Y is square. When Y is square, I set the rings on the Y lead screws. A total pain in the ass, but once the rings are set, I do not have to go through this unless I physically change something on the machine (like taking the machine apart, or a crash that causes the motors to get out of sync). You do however have to disable the axes and line up the marks each time you home, but that only takes a few seconds. If you don’t have a spindle probe, you can use an edge finder, if you have a variable speed router and set it at the lowest speed. At high speeds it will ruin the edge finder. Another way would be to mount a dial indicator on the spindle and tram the square. The final test of the squaring procedure is to make two cuts (at a 90 degree angle to each other) on a large piece of material and measure with a square to confirm that they are indeed square.

    An edge finder is the best for this procedure or for finding a position (like where a part is to be mounted to determine offsets) because it finds the true position even if the spindle has runout. My router has a 1/2 collet, but a 1/2 inch edge finder has too much mass to work well, so I use a 3/8 inch shaft edge finder with a 0.200 tip (see link below). I use a 1/2 to 3/8 bushing to accommodate the 3/8 shaft of the edge finder (see link below). The bushing in the link is a 1/2 to 1/8 but you can search for the proper one. Note that the bushing in the link below has slots that come from both ends. This allows the collet to have a greater range. I have had troubles in the past with bushings with slots only on one end. These types of bushings do not always tighten up enough to hold the tool fast and during cutting it slips. A lot of tooling is not very precise as far as the shaft diameter is concerned, and I use a quick change collet which also adds a bit of error (google ‘quick change router collet’).

    I sense that you are a rookie at machine tools. Very glad to see youngsters getting interested in something besides cell phones and video games. As an old hand at this (45+ years) I would like to give you a bit of advice, use gauges to measure things. If you can’t measure it you can’t control it. I use digital ones. They are cheap and have very good repeatability and accuracy. See links below for a what we old farts used to call a dial indicator and Vernier caliper. I use these constantly.

    Digital Electronic Indicator:

    Digital Caliper:

    Edge Finder:

    Collet Bushing:
    http://www.ebay.com/itm/282244179108?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

    Google of ‘quick change router collet’
    https://www.google.com/search?q=quick+change+router+collet&ie=utf-8&oe=utf-8&client=firefox-b

    Hope this helps.

    If you want pictures of the squaring procedure e-mail me at rickcaddell@epbfi.com. I did not include them in this response because I did not know if they would pass through GitHub, or if you would be interested.

    Old Man

    #10036
    JuKu
    Member

    Thank you for the most informative post.

    > I sense that you are a rookie at machine tools. Very glad to see youngsters getting interested in something besides cell phones and video games.

    Yes, I’m a rookie, building my first CNC machine. But not exactly a youngster, I’m 57. 🙂

Viewing 9 posts - 1 through 9 (of 9 total)
  • You must be logged in to reply to this topic.