-
Thicker Brass
10/10/2023 at 00:26 • 0 comments
Brass. More than 5 mil thick.
If you squint, you might see a Jolly Wrencher in there. It didn't come out like I wanted, but the fault was mine.
---------- more ----------After changing from 0.020 in (0.5 mm) end mill down to 0.010 in (0.25 mm) for details I set Z too low (because reasons + failed attempt to adapt) so the tiny mill cut a lot more than intended, right up until it crashed in the last 0.001% of the cut, proving that it absolutely can do the job. So I'm fairly confident that the next try will go better.
...reflecty...
-
doors again: current and (maybe) future
10/08/2023 at 05:20 • 0 commentsIn the previous log page I walked through the history of the enclosure part of "frame+enclosure". This entry describes the latest iteration. It's all kinda deep weeds and I don't know if anyone will ever actually read it. I wrote a lot about this because it's been one of the more convoluted parts of working out something that might work well enough to call "done" for this project.
Many words and little proofreading follow, so I have no idea how this all differs from what I think I wrote...
In all previous flavors of storage/working enclosure, the doors fold 180° to collapse for storage, then close rather conventionally like doors. Another possibility was to have each door fold 90 deg then each door closes around the two open sides, one over the other. That would avoid having two edges meet at a corner -- which seemed like trouble before discovering that it worked quite well. Reasons I didn't do that in the first place included the hassle of making the hinges different between the two sides, and more significantly, with single-thickness door panels, that leaves no opportunity to attach anything to the inside of the outside door, I already wanted to avoid attaching anything to the outside. So that was going to complicate closure.
Then I looked for hinge options to get away from tape and decided to try these:
They multiply the panel thickness. Folding them double also adds the width of the web between the two panels, so the fold would be that much more than twice as thick. Quite counter to my earlier obsession with minimizing footprint @@@link.
That was a reason to reconsider wrapping the doors around the corner instead of folding double. Joining thin panels with thick hinges also relieved the problem being unable to attach anything to the inside of the outer door or outside of inner door (i.e. only to inside of inner door). So, giving that a try...
Those hinges fit between panels. Their thickness sets a "free" thickness for hinges at the frame. After looking at a lot of unsuitable hinges, I figured out that was enough to space for bespoke hinges.
The dark material in that pic is just tacked on to show where the solid side would end if it were cut for the thicker panels. The outside door edge should bear directly against the solid side panel.
"bespoke hinge" really means three different hinges -- just for that side.
On this side the hinges carry the inner door while the edge of the outer door should bear directly against the inside face of the solid side panel. For the inner door, the hinges also back up against the solid side panel, and clearance between the fixed half and the edge of the door goes to zero with the door closed. When pushed in from the corner, the inner door should bear directly against the fixed parts of the hinges which bear against the solid side panels. A few small plastic parts will be more squishable than the whole door edge meeting the side panel, but the hinge in the inner door will buckle and/or compress before sending much load into that door panel anyhow.
Then there are more different hinges on the other side to keep the hinges behind the plane of the outer panel.
Again for the hinged panel the clearance between the moving panel and fixed half of the hinge goes to zero with the door closed, to bear whatever load they get which will be moderated by the hinge between door panels on that side.
In that corner, the inner door panel bears against the thicker fixed parts of the hinges, which again bear against the frame side panel.
(This pic also shows how the enclosure panels extend below the hard box to the level of the bumper feet to sweep the work surface. That helps to contain the mess. And I think flat-ish smooth-ish surface is a reasonable requirement for what to have under this thing.)
That all adds a lot of bulk, especially where the folding hinges double up at the corner, kills the "snagless" smooth sides. At least the corner hinges keep flush.
Again the dark stuff at the frame corners shows what should be the extent of the solid side panels if that were cut with those hinges in mind.
Magnets hold the outer door panel inward to what would be flush with or just behind what would be the edge of a matching frame. That gives the edge of that panel some protection from getting knocked open.
Lots of magnets because the magnets aren't used very efficiently in this first try. On the left they are separated by the door panel thickness so they attract weakly. Doubling the inside magnet helps. However, the magnets won't much resist the panel sliding sideways instead of pulling away, and the great big hinge sticking out of the opposite corner wants to snag any passing hazard and pull the panel away sideways. Another set of magnets around the corner help resist that because they would have to be pulled straight apart instead of sliding. On the right the magnets get closer but still don't meet unless one side is doubled. While the photo shows only one set of each, there are more sets spread along each corner. So, lots of magnets. Not a big deal, but the number could be reduced by using them more effectively. I got magnets that are a little thinner than the door panels, so they could fit into a hole through the panel which would solve the separation on the left, some spacers could solve spacing and planar orientation on the right. Cup magnets and striker plates would hold more with fewer magnets. But just using lots of magnets is simple for now.
As a consolation prize for letting the doors get thick & snaggy, hinges made to suit solve the awkward door problem decisively.
And these projecting blocks secure the doors in place in blocking them from lifting up when closed.
The flex hinges are pretty stiff, so the enclosure wants to be a couple of arcs instead of a square. Besides looking inelegant, they threaten to encroach the clearance required for the X+Y stage to move around.
That kind of a variation on the "fourth panel" problem described earlier. So I dug up and adapted the slide-out side guards made for abandoned intent to shrink the frame footprint to help keep the enclosure panels adjacent to the frame out of way.
Then squaring the corner where to two sides of the enclosure meet helps to force the first flexures near the frame into a sharper angle and straighten the second flexures closer to flat to make the box.
The blue thing in the corner is attached to the left side and attaches to magnets on the front panel to lever the corner close enough to square. Since it's attached to the inner face of the inner panel when closed, it can be big and fit in free space inside the closed-up box. It's also too long. I had a shorter dimension in mind, then second-guessed myself by imagining a problem while doing CAD away from the physical object to look at. Meh.
But, hey, even if I'm not thrilled with all of it, that's the first enclosure for this thing that hits some main points:
- closes when closed (storage)
- closes when open (work)
- not awkward to work on (doors removable in this case)
- not made of packing tape
And it has a convenient carry handle. It's more comfortable than it looks but the comfy part is clear and just fits in my hand so the corner you can see is hard to see.
Future?
I've already whinged about the thickness of these flex hinges. While these clip on the edges and add some to both sides of the joined panels, I"ve also found some that bond to one side. But they all add a lot of thickness. Some were kinda flat-ish, but none were flat. Meh.
Recently, and long since ordering the flex hinges used here, I found some actually flat acrylic+"polyester thermoplastic hinge membrane" co-extruded flexures about the same thickness as the material i used here. Check this loveliness:
From Petro Extrusion Technologies, Inc. "DR" is a flavor of acrylic (TIL). And I've read that essentially perfect butt joints can be made between acrylic sheets. I don't know if that will be practical undertaking for me for this project, but it sure sounds like the closest thing I've found. The edge of a 180° fold will be more squishy than the earlier iterations with tape hinges, so maybe it wouldn't directly replicate this level of abusability...
... or maybe the flexy bit is tough enough to take that and add a little compliance to moderate shock. ?.
Or maybe UV resistant packing tape is the easy answer. ?.
-
feature creep vol. {n+=1}: doors
10/07/2023 at 05:34 • 0 commentsAnother log mostly about already-dead stuff that I took pictures of before breaking it down to make it different again.
I tried to make this vulnerable corner at least not super fragile. It turned out to be super not fragile.
It will take a much harder hit without damage. But the under-developed closure is just a short peg that sort of gets close enough to a small magnet to be weakly encouraged to not wander away, and hitting it much harder was bouncing the doors open, and that would confound the point of this visual demonstration. So just a tap for show.
I think I'm going to miss that clean, durable arrangement. The problem is that it was hinged with packing tape and that's not a long-term solution. I've been noodling ideas for making hinges that should age better with least loss of compactness or acute durability.
I've had another go at it, and maybe found a thing to try next. But first, a little about how we got here.
Starting with some history from the preceding laser-cut designs up to what I liked about the last iteration before breaking it.
Before beginning
Way back in pre-history, a piece of paper on each side of the frame did the job.
CDROM discards are a perilous gateway drug.
One thing lead to another and I got started into the laser-cut precursor to this project, retronamed "Minamil 2dc".
Zeroth: zeroA couple of 2-axis test ⋅ cuts with just the first XY table encouraged me to:
- keep going with the idea
- rig up some sort of debris containment ...
First: pepakura
... so before cutting anything, the first 3-axis frame had a 3+-sided paper shroud.
The "wings" projecting forward from the sides kept debris pretty well corralled to the tabletop. That actually got a little bit elaborate where it folded around and projected beyond the frame, and passed moving wires through without opening a big hole. (cable management has been a thing from the get go)
Aside: in this project I emphasize the distinction between the CNC mechanics and the fancy enclosure that you don't need to make the CNC part work. Here illustrated. You don't even need a road atlas if you don't mind a little mess.
Made from garbage-grade wood scraps, used uncut as found.
Second: win
This actually works really well.
Four-sided enclosure. That really helped to make table-top work more simply practical. Taking advantage of how the horizontal axes collapse to a footprint smaller than needed in operation, the walls of the debris corral fold in to make a smaller box that doesn't have to occupy a bunch of space that it's not using.
Having the front panels cut before I had any idea what to use for hinges, I just taped the panels together to visualize the basic idea while I figured out what to do for hinges. That worked well enough to become the answer for hinges.
Aside: the side panels were cut tall enough to be taller than the raised Z axis (sans tool) and protect it for mindless storage. Then the Z axis got longer and broke that feature. The counterweight and its mast and beam fit inside[a] the closed box for storage -- until the counterweight got killed off.
[a] Sub-aside: that vid emphasized need to have a vacuum handy. That was self-inflicted by opening the doors outward then getting clingy debris up to my elbows after reaching in there. Later I got the clue that pushing the doors in, like the one on the left in the right half of the pic above, allows reaching in and doing stuff with much less hassle.
Made from less crappy wood, HDF, and acrylic scraps, cut on a table saw.
A relevant feature of this version is that the attached doors fold back flat against the side panels.
That proved really helpful when flipping the box around to do stuff with the doors open, and when handling a removed side panel without either removing then re-taping the door panels, or dealing with an awkward big thing that's either awkwardly floppy or awkwardly levering excess load on hinges that aren't supposed hinge that way.
Then: another
I accidentally made another frame as a side-effect of working up a 3d-printed adaptation of the laser-cut machine -- which turned out different enough to become a new (this) project. Oops.
Still didn't know what to do with the door panels. Here tacked on with some blue tape:
That was worse than it looks because the tape strips on the inside are too close together in the middle to constrain the panels from twisting away from the outside-only strips at the top and bottom. Meh.
When I cut parts for that frame, I still hadn't really figured out what to do with the door panels. I already knew that the ability to wrap the doors around flat to the outside of the frame was useful. Also I wanted to move the hinges in from the extreme corners of the frame for durability. I didn't find a great way to have both so I gave up the fold-flat idea figuring that at some point I -- or anyone replicating the idea -- would be mostly done flopping the thing or its parts around to work on stuff.
I wrote up tearing down that iteration of this enclosure earlier -- and said little about the door panels because they weren't much improved over the gif above.
Indeed awkward. You couldn't even lay the thing down on either of its solid sides without one door doubling the surface area and the other door stuck off in space prying its hinge apart. Awkwardness and feeble hinges combined poorly.
Otherwise, that was working well enough to think of taking it to MRRF -- but with the doors done differently!
Fourth: fourth
The next idea was adding a fourth panel, and so a third joint, to each of the three-panel doors.
Just a little board-thickness strip, more "hinge" than "door".
In addition to allowing the doors to fold around, this also helped with better attachment. It wasn't done already because I had to disassemble the frame to tape the inside faces. That made the attachment semi-permanent. Making the awkward thing -- each side panel separately and the whole assembly together -- permanent wasn't attractive.
No such problem taping up the little stub panels. They could harmlessly become permanent(ish) appendages of the side panels. In fact, they're still there now because I left them as an undo option in case the next thing didn't work out.
That made it relatively simple to attach or remove the doors. I started with blue tape for simples, and that worked well enough for the duration. It would have been trivial to upgrade the tape if I thought I was done messing with that for a while. The blue tape re-sticks well to acrylic and I used the same four strips throughout. "Better" tape probably would have been a consumable at six feet per detach/reattach cycle.
So these were the doors that went to MRRF.
The metal clips on the tops of the doors were an interim fix for this problem:
(that wasn't necessarily bad but it was too easy for the unconstrained doors to collapse back into interference with the horizontal axes)
Like so:
I didn't like the loose (i.e. lost) parts but had a couple of ideas for solving that:
- (preferred) closure that forced the door edges to meet at a right angle, or
- (fall-back) pin-in-slot retainer for sliding clips; the front (bottom above) clips slides easily between working and storage positions and the left (top above) clip could be un-hindered to do the same)
I also added a couple of slide-out retainers to flatten back the stub panels like so (look close...):
But those were really a superfluous left-over from abandoned aspiration to shrink the footprint by moving the X+Y stage back into the corner where the axes could hit the un-flat door panels. (but we'll see them again...)
As mentioned up near the top of this log entry, the storage-closed closure was weak with just a little magnet weakly attracting a little peg (screw). But I like that the doors were content to stay closed and from the outside (laterally not above/below) nothing could get behind the doors to push them open.
The doors, each folded double on one side, met at a "T" in the corner.
The peg-in-hole closure positively retained the left side against any oblique contact (from the right in the photo), it the positively retained left side protected the magnetically retained front from any oblique contact.
In addition to not adding any bulk, the "weak" tape hinges contributed to the strength of the closed box by their being invulnerable to compression.
The overlapped front door positively supported the overlapping left side against inward pressure. The front was less positively supported by the corner piece attached to the left side, but any rigid flat thing pressing against the front would bear on the edge of the left door instead of pushing back the front door. As a benefit of moving the hinges in from the corners, the other edges of the solid panel in each folded door bear directly against the insides of the solid frame panels.
From all that comes the bashability demonstrated at the top of the page. The solid panels in the folded doors won't yield until they buckle.
A bit part of gaining durability from resistance to compression comes from avoiding anything but simple compression against edges by keeping the four sides entirely flat (depressions allowed but not projections).
I mis-cut the vertical piece in the corner where the doors meet. The idea was to extend from the hard deck up to ~exactly the plane of the top of the frame, which the doors should be slightly below. Done better, that would have helped make the top of the box more solidly load-bearing for things with rigid flat bottoms stacked on top of the closed-up enclosure.
My plan at the time was to replace that with a (correctly sized) sliding latch to positively lock the doors closed in addition to bearing top loads.
There's a lot that I liked about this arrangement, and I had plans (but not time at the time) to fill in the blanks. But the whole packing-tape-for-hinges idea was always a bit shaky beyond proof-of-concept. At MRRF, a couple of guys with responsible adult product development chops (naming feels too much like name-dropping in this instance) gave generous time to kick around some ideas, but we didn't come up with a clear winner that maintained all that I liked about this arrangement -- like bashability -- beyond affirming that tape wasn't really the answer. (Ever left a taped box near a window for a few years?)
But maybe UV-resistant packing tape?
Next: different
Anyhow, I looked again at more hinge ideas and found some "Clear PVC Piano Style Living Hinge" to try between the door panels. That's a big change because it gives up a lot of what I liked about all the above. But accepting a more generous minimum thickness opens up options for attaching doors to the frame. Log page coming..
-
about runout
10/02/2023 at 08:18 • 0 commentstl;dr: if you can see it you can tweak it
Some examples of work from this little CNC and its precursor demonstrate pretty small runout from a generic faux-Dremel rotary tool. Repeating that will be part of replicating this project for anyone so inclined. It also seems like it could be useful to anyone trying to do fine work with a not-so-fine tool.
The point, when I get to it, will be anticlimactic. It's pretty simple. But I haven't seen it elsewhere in my limited scope of reading. So: sharing. Akshully I've written this before but that was buried in another topic and without illustration. So: sharing with pictures this time.
To reduce runout when using a cheap generic rotary tool and maybe some other small-cutter tools:
- See the current runout using stable magnification that you're not trying to hold still in your hand
- Tweak the bit toward center
- Repeat until runout sufficiently reduced
That's all <yawn/>.
More verbosely, and with pictures...
See
The gif above shows a view through a microscope on a stand that can look sideways. But that's cheating. Here's a method more in line with the "low cost" theme here:
That's my daily driver phone in a little pocket tripod (which I've cropped :/ but you've seen a tripod before).
- that phone is not new but not too old to have a camera that can focus close enough to do this
- manual focus in "pro" mode helps; otherwise you'll probably need to put something right behind the bit to appease the autofocus
- the viewfinder grid provides a fixed reference to help perceive small deviations at the tool tip; otherwise put something with a vertical edge close behind the tool (which might also appease the autofocus if you're stuck with that)
That looks like this:
While less crisp than the gif above, you can see that you can visually resolve a small fraction of the bit diameter (0.5 mm in this case), which is the practical scale for runout.
TweakEstablished Brand general purpose rotary tool collets aren't fantasticly precise. Generic clone rotary tool collets are really poor (typically, in 2023Q4). They are basically poorly made ball joints. The good part of that is you can point the bit any direction you want.
I'm using very small cutters here, which don't generate very large radial forces. So firmly finger tight on the collet is tight enough. A very tight collet makes it hard to make small tweaks. If the collet is not tight enough, the bit will "walk" out and drive down into the workpiece. So there's an element of "just right", but for small cutters that seems to be a pretty wide range and easy to hit.
Very small cutters break easily at the tip, so take care to apply tweaking to the shank and not the thin end.
I think you should probably not do this: I started out tweaking by hand -- with a finger around the bit and thumb against the collet for good leverage. That sometimes meant pulling pretty far down the narrowing neck of a short bit and perilously close to the skinny end. Nothing bad happened, but that just seemed way too close to blood to expect that it would never go badly. So I printed a tool:
I've been using that, but It's just a first whack at the idea and not a great example. So I hope you'll make a better one.
Applying tweak without slashing a finger. In the photo my finger is behind the bit for contrast, which makes this a poor example of applying tweak without slashing a finger, but you can see the idea.
Repeat
While you probably won't get as close as you want on the first try, this method seems to converge much faster than "open loop" fiddling for that once-in-many low-runout chuck-up that teases you with knowledge that it's possible but only happens when you're not trying to make it happen rant rant.
And if you're still reading...
Rolling a stiff cylinder around the collet nut to make a slip-on anti-pointy guard has saved some bits and probably some blood. Especially useful when I want to leave a good set-up in the collet while not really paying attention anymore.
Coroplast (abundant free supply: election signs) flexes in one direction for easy wrapping (I probably cut some slits in one side, maybe, I think) while maintaining stiffness lengthwise.
-
to shrink, or not to shrink, that is the aggravation
09/26/2023 at 02:07 • 0 commentsThis is just a rant so I can stop thinking about it.
So I made another frame last year. The one on the left:
I made it a little big considering uncertainty about how big it needed to be.
Earlier this year, it looked like some of the packaging ideas were working and I got fired up about redoing pretty much everything less haphazardly and taking it to MRRF. Including shrinking the footprint to match shrinking uncertainty about how big it needs to be.
To start with, I cut the mounting tabs from the bottom of the X+Y stack and switched to screws up from below into the interior of the tabless bottom part. That reduced the lower bound on footprint. And also slightly confounded my first draft build doc.
But such a laundry list of things to (aspire to) do before the show, and finite time, and other life. And other aspirations on said laundry list -- mostly accomplishing or improving integrations of function into the frame and redoing the extra-janky first whack at the folding enclosure -- were bigger step changes than "see! it's a little smaller than that other one you won't ever see".
So, reluctantly, I abandoned the idea of making a new frame. That was hard to swallow because most of everything else I wanted to do would be made to fit the frame and everything made to fit the oversize frame was a nagging reminder that instead of shrinking the frame I was sinking more sunk cost into the oversize frame that I still hoped to shrink "later".
Later is now.
Cutting the simple excess while allowing for thicker hinges shaves the square from 191 mm sides to 182 mm. Not very exciting. So I've spent yet another chunk of time pouring over sketches and CAD looking at things that make the footprint bigger than the basic square dimension of the X+Y axes and what I can shuffle to debigger them. Getting down to 175 mm wouldn't be too hard. 170 mm if I do something different with the rather thick X motor connector that I've just spent time neatly securing at the back of the X+Y stack.
So I could shrink the footprint by 21 mm each side. Less than an inch but a little over 10% or a little over 20% area. That serves the objective of minimizing the footprint i.e. maximizing the brag. And I don't think any hard constraints prevent shrinking other stuff in the box to match. But then that's time spent to build a new frame, plus time to more significantly re-arrange (vs. incrementally improve) all the sunk cost other stuff in the frame.
To do, or to not do? To decide before sinking yet more time in the other integrated stuff. Aaaargh.
Ok. I'm going to not. But keep plugging with the frame in hand, with all it's surplus bigness.
BuT iT cOuLd Be SmAlLeR!
But it's not. Again. Sigh.
-
Z axis parts & assembly notes
09/25/2023 at 22:21 • 0 commentsI've just uploaded STLs for the Z axis to the files section.
This Z axis works. It's also pretty crude. Unlike the X+Y stage which I've worked through several revisions, I've sliced and printed exactly one set of Z parts[a} and they've worked well enough to let me do other stuff -- like spin revisions of the X+Y parts.
[a] except pulleys; I've printed more pulleys.
If you've built the X+Y axes, then I don't think there's much in the Z axis that won't be self-evident.
The major design deficiency relative to intent is that the tool clamp is not as quick and easy to use as I'd like -- to support the idea that you can use your everyday rotary tool instead of committing a unit to semi-permanent installation.
Oh yeah - it's modeled for 6" zip ties. Almost missed that. 4" ties will probably work.
About pulleys: I'm currently using one motor and running it too hot for PLA. Consequently, I've printed a pulley in PETG. It's working fine. I don't know if it's possible to run the motor cool enough to use PLA. Because I haven't tried. If not, then more likely it's possible to use two motors and run them cool enough for PLA.
The design provides for using two motors. Mainly because the earlier laser-cut version of this basic configuration was uncomfortably vulnerable to dropping the spindle without warning so the redundant motor/pulley/cord was cheap insurance. I think that's less of an issue here because the hoist cord(s) don't pass close by sharp stuff and do run in plain sight. So you have a better chance of seeing trouble before it happens and less chance of provoking trouble. Also, by choice not necessity, I'm using Spectra® cord (UHMWPE) which seems to be practically indestructible.
Non-printable parts:
- see also here
- 2 x rods: 6 mm x ≥165 mm (length not constrained)
- 4 x bearings (3 x would work and might work fine)
- 1 or 2 x 28BYJ-48 motors with
- 5V windings
- convert to bi-polar
- 6 x m3 screws
- 4 x 20 mm (15 ≤ l ≤ 25)
- 2 x 16 mm (14 ≤ l ≤ 18)
- so could be 6 x 15 ≤ l ≤ 18 mm
- 6 x m3 washers feel like a good idea but probably don't make any real difference
- (2 or 4) x m3 x 10-15 mm screws
- string -- notes in "Hoist" part of "Step 4" in this 'ible. Or TMI.
The "nose ring" part is threaded for common Dremel-like clones and might not fit real Dremel tools. It's not essential and I don't know how much difference it really makes.
Tie motor end of hoist cord(s) and install with pulley like steps 14 & 15 here.
Limit switch goes here:
(the turns of hoist cord around the pulley should all be adjacent starting from the flange -- this photo was taken with the axis detached and handled randomly)
Point of interest: the clamp parts & saddles are not circular but slightly "trilobular".
-
XY stage assembly
09/19/2023 at 03:11 • 0 comments<update today=2024Sep30: add more grbl config clues; note limit switches optional</update>
This is a draft in progress, but if you want an early start here's something to start with. There is a lot of me describing what I do rather than saying what you should do because this is just the beginning of letting daylight into the path-dependent evolution of how I've been doing this, and of the "this" that I thought I was doing. Some stuff may be mid-edit nonsense. Or pre-proofread nonsense. Public chat is open for the project -- big orange button on the project page. Also a Discord server. So far the Discord has more traffic.
Build yer X-Y table/stage/thing
print
part checks & cleanup
Check all the V-block surfaces -- the 45º flats within zip tie circuits. See bright blue highlights in the image below. Low spots are probably ok but high spots are trouble.
Check some of the vertical flat surfaces, and probably trim some edges. See the yellow highlights in the image below. They include the inboard ends of the bearing V-blocks and both ends of bearing clearances. The outboard ends of the bearing V-blocks need to be clean enough to allow the bearings to sit level in the blocks but are not dimensionally relevant. Also the perimeter end of the motor bay and the business end of the limit switch clearance. These surfaces should be flat and perpendicular to the top or bottom of the part. but likely have some distortion due to elephant's foot, top solid layer expansion or some such, and likely need a little trimming where the vertical meets the top/bottom face of the part.
Check the bridged areas in the bottom of the middle part. They won't be as flat as other horizontal surfaces, but they should be fairly uniform. Look for strands of filament that droop a little more than their neighbors and clip those out, if any.
The length of the spaces for the stepper motor assemblies should fit the length of the motor frame "exactly", i.e. with a little squeeze, which fixes their axial positions. Any slop in that fit increases backlash. Be sure you've cleaned up the not-motor end of that space as described above (TODO chamfer that) before trying to press a motor into a tight fit, to avoid breaking out the relatively fragile thin wall at the motor end. For the Y motor in the bottom of the middle part, the bridged surface should be flat enough for the motor frame to fit flat in place without rocking over any high spot.
note: the bottom part you printed from the STLs uploaded here will have three attachment tabs around the edge that are not shown in the photos here (and fewer holes on the bottom)
Here's what the bottom part uploaded here looks more like:
The low locating feature at the other end of the motor bay needs to be clean too, but it always has been in my experience.
Generally clean up stuff that doesn't look right.
You can validate bearing clearance cleanup by dropping in a bearing and measuring the remaining clearance. That will be the hard limit to range of motion.
With geometrically perfect parts, that would be 77.2 mm. If I continue assembly with that part as shown, and if that's the shortest clearance of the three in that axis, I'll end up with 0.6 mm less range of motion than the CAD model. That's still comfortably more than 75 mm, which I think is ok -- 3d printed PLA after all -- and is the reason why I say ">75 mm" instead of "77.2 mm".
Check that a zip tie fits through all the tie passages. It may not always be obvious which way a tie is supposed to go, so the next couple of photos try to show orientations for all the ties in the "middle" part.
I think that part includes examples of all the ways ties are used in the "top" and "bottom" parts, so you can check those parts too.
"Elephant's foot" or expanded top solid layers might constrict some of the tie head openings, so check that a tie head fits freely in any that look tight, or trim edges for a free fit if needed. It's unlikely that a head won't fit at all -- that would be really bad layer spread -- but any friction holding the head will make removal a little tedious.
Where tie heads should not stick up, like on the top surface of the top part, make sure the bottom of the head clearance recess printed cleanly so that the head sits all the way down. Especially where the recess is printed upside down; sometimes a slightly droopy bridge that looks harmless enough will prevent a tie head from sitting below the surrounding surface.
drill for limit switch screws
(optional)
See the parts page for info about limit switches, screws, cables & connectors for the switches.
The tops of the bottom & middle parts have single layer recesses & shallow pilot holes that simply serve to show where to put the limit switches and screws. Shown in the second image below. There is a little extra solid fill under the shallow pilot holes to give the screws something to bite; that needs to be drilled through.
Using a drill somewhat smaller than the minor diameter of your screws, drill through the two marked locations for each switch. Or a warm paperclip will likely get the job done.
Or, if life has been too simple lately...
In the latest round of CAD update, I found a small error that I think contributed to the limit switches being fiddly in unexpected ways. So for this build (photo model here) I'm extra interested in the actual vs. nominal range of motion. So I wanted to try to be somewhat precise about locating the limit switch. So I did it like this:
In addition to a drill bit "somewhat smaller than the minor diameter" of my screws, I also picked one to match the nominal 1.2 mm diameter of the printed pilot holes.
I used the ~1.2 mm bit to clean up the vaguely printed hole, and to cut a little center spot in the solid fill below. That helped with drilling the smaller through-hole in the center of the nominal locating feature.
With firm pressure for a clean start, drive a screw through each hole to form threads and make the holes easier to find blind when later installing the switches.
Re-engaging the pre-formed thread matters whenever re-installing screws in soft material. In case you didn't already know: you can do that by turning a screw slowly backward until you feel it "drop" into the thread.
Thinking: given that the screws do all the work here I can dump the rectangular depression which is vestigial.
This feels like a big nothingburger so far -- just looking & poking at printed parts. Good time to actually make ... anything? Even a little thing?
backlash adjuster lock springs
Find a couple of paperclips and make a pair of these:
Like this:
The little kick-up at the end in that pic is too tall. I think it's vestigial anyhow. Maybe reduce that to a minimal (~1 mm) turn-up at the end just enough to have a rounded end against the plastic, which will be able self-adjust position, instead of sharp end against the plastic which might ratchet the spring out of position.
Slide the bend-ends of the springs into the slots next to the drive tabs on the bottom and middle parts. The following image shows how the relief cut allows the moving arm of the spring to come away from the drive tab until the perpendicular end falls into its slot through the drive tab.
Here's another angle. The upper moving arm of the spring should allow the perpendicular end to move freely up and down in its slot.
And here's a look at the other spring installed in the "middle" part:
remove backlash adjuster lock springs
Now that you have the springs sorted, take them out and set them aside for now.
Remove a spring by lifting the 90º corner up so that the spring arm lifts up out of the narrow channel into the expanded part of the opening, then back to get the perpendicular part of its slot. "Lift" and "up" while working on upside down parts as in these photos.
Repeating this photo:
there are no springs
Believe that there are no springs in any of the following photos until they get reinstantiated in a text heading farther down.
motor prep
The two motor+screw units need some help to:
- trim the projecting tab from the slider (which is why the "type A" or "type B" slider difference doesn't matter)
- add a printed & tapped backlash adjuster to the leadscrew
This "Instructable" for a laser-cut version of the linear slide design used here describes how to do that. The link should drop you in at step 45 which includes the two points above:
Take care to cut only the extra tab away without taking any more material from the thin top of the slider over the internal captive nut.
Adding the backlash adjuster to the leadscrew requires [...continues...]
There are other details of that context which differ and which you can ignore because that's a different thing.
rod & bearing selection/matching
For the XY table you'll need six 120 mm rods and six bearings. If that's what you have and they're all ok, then you can skip on to the next heading.
Just ̶ ̶t̶o̶d̶a̶y̶ ̶ the day I wrote this part, a fellow HaDer reminded me that 3d printed bearings (i.e. bushings) are a thing. I think I need to look into that before I get too deep into writing this section.
In my experience of buying from low-cost suppliers, the rods and bearings I've received vary considerably in general quality and specific dimensions. It helps to have more than six of each because a few might be really bad. The rest are probably not all the same size. A little mix-and-match may help to the extent that e.g. three good rod/bearing fits may work better than one good, one great, and one poor fit.
zip tie tools
One short and one long. Probably already printed while printing parts.
And flush cutters. Please. If you have zip ties, please have flush cutters. If you're reading this you probably have a 3d printer, and if you have a 3d printer you probably have flush cutters. So, probably, everyone will be ok.
Pliers? Mmm... more about the pliers below.
With the printed tools, applied effort pushes the tie head away as much as it pulls on the tie tail to draw a tie tight.
The long tie tool can reach tie heads in deep recesses. And it's easier to use.
The short tie tool helps in a couple of spots where the tie isn't long enough to get a good hold on the tail if using the longer tool.
Secure and solid assembly depends on getting the ties tight. In part because the ratchet steps are actually fairly coarse. When wrapped around rigid stuff, getting to the ratchet step that isn't loose requires stretching the tie a bit. Then a little more stretch may get another click or three more tighter, which means more tension around parts that don't squish when squeezed. I set tie tension by pulling until the tail snaps off.
The tool has an orientation. There is a relief cut on one side of the tie at the nose that is meant to line up with the locking tab on the ratchety side of the tie.
That's there because I had a bout of trouble with the ratchet tabs failing -- even breaking off completely. That stopped when I started angling the tool (as it was then) to press on the non-tab side of the head. Hopefully this relief cut take care of that. I still try to bias pressure to the other side of the head tho, which is probably just my trauma.
For the actual pulling part, my method is pretty crude and ready to yield to better ideas.
I use needle-nose pliers with an oval shaped cross section through the closed jaws. This will be illustrated below: I grab just the tip of the tail then roll the pliers so the tie wraps around the oval section of the closed jaws which a) pulls the tail over a smooth curve instead of across a square edge where it would break too soon, and b) gives good leverage when the pliers are up against the back of a tie tool.
In that picture I'm pulling a tie with my right hand on the right side of the part so there is lots of room for my fingers to do stuff with the pliers. That matters in part because when the pliers are turned 90º from flat they have a lot more vertical depth. If working on a tie on the other/left edge of the part, my hand would be on top of the part. I've found that much more difficult. So I'll turn the part around so that I'm always working on the right edge. As a result I'm sometimes rolling the pliers away from myself as shown, or rolling in the opposite direction toward myself, depending on the orientation of the tie. The latter is a little harder but not awful. Maybe instead I could between right & left hands instead of switching roll direction in the same hand.
Anyhow... while maintaining a straight, even pull, keep cranking until the tie tail breaks.
And cut the remainder off flush. Or below flush for more deeply recessed ties.
That process may be no fun to pick up cold. It's the process I've developed over some time without any intentional deliberation. So it may reflect some awful local maximum that no one else would have blundered into in the first place.
A bona fide tie tensioning tool might work great in combination with these printed tools. I don't have one. None of the tensioners I.ve seen (picture of) have a narrow nose to press the tie head below surrounding surfaces, but any one of them might work well behind one of these printed tools.
After writing all this section, which makes me think about stuff, I've ordered a $12 tensioning tool that should be here tomorrow.
assembly order
Y/bottom then X/top.
(In theory it's possible to split and re-assemble Y after building X. There's an extra hole in the top to make that at least not impossible. It might require making another zip tie tool for a tie that will be at best awkward to reach. If this turns out to be not actually practically doable, then I should delete the extra hole in the top.)
install bearings
Yay - finally time to assemble something! [ ̶i̶n̶s̶e̶r̶t̶ imagine confetti gif here]
I install bearings first because they are least fragile, have no wires, you can install them all at once in any order or six at a time as you assemble each of the axes, and once in place they just become a part of the solid part.
In the pix below I build the Y axis completely before installing X bearings. You could also do all the bearings at once.
Anyhow... start by stabbing a couple of ties through the bottom part in the places and orientation shown below:
Turn each tie back down through the bottom part and through the tie head. Leave loose loops above. Like this:
Drop a bearing into the bearing-length V-block under each tie loop. Pull the ties firmly hand tight to hold the bearings.
As a minor optimization, I like to rotate the bearings to move the four ball races to the 45º positions because I have an unsupported conjecture that peak loads will be either vertical-ish or horizontal-ish more often than on diagonals.
Crank the ties down hard as described in the zip tie tools section just above.
The tie heads should be recessed to flush with or below the bottom flat surface.
The third Y axis bearing attaches to the bottom of the middle part. Insert the tie for it through the top of the middle part. (but not where shown in the photo below which is wrong - thanks for the catch emertonom)
Add that bearing and pull the tie hand tight. This time you'll notice, if your ties are like my ties, that the long tie tool leaves only the thin end of the tail to grab. This is where the short tool helps.
If you like your momentum, you can install the X axis bearings too,
install Y/bottom limit switch
(optional)
See the parts page for info about limit switches, screws, cables & connectors for the switches.
For the bottom part, use the switch prepared with the shorter wire.
(If you don't want to mess with specific wire lengths and/or DuPont-type connectors in the base, you can just use generously long wires lead out into free air. If you plan to use connectors that won't fit through a 0.1" x 0.2" hole, (or a 0.4" hole if you will have motor wires outside also) leave those off until later.)
Pass the wire tail through the bottom part and screw the switch in place. The orientation of the switch lever doesn't matter.
Use a tie from below to secure the wire for strain relief. Pull that tie tight enough to prevent the wire from slipping when moderately tugged, but also note it's pretty easy to overcook that.
Secure the connector in place with another tie and arrange the wire.
The connector housing should back up against the slight ridge behind it. The tie has to be fairly tight to prevent the connector from riding up over that ridge when pressed inward. (Maybe I can make the ridge a little higher -- but not by much. but maybe enough to make this less easy to miss)
Pull the wire back just enough to take up slack from the connector, then lay it into the serpentine strain relief, That is to hold the connector in place when pulling out a connected cable, but more kindly so than with a cable tie because this is actually intended to get pulled on. Lay excess wire around the pegs as needed to use up slack in the middle,
install X limit switch
(ok, ima lay off the picture tweaking for now... (later: up to 91 pix now - am I going to clean up 91 pix for this? :-/))
(optional)
Pass the X limit switch cable underneath the little bar across the opening behind the switch, then attach the switch in its place.
Pass the connector housing sideways under the ledge behind the switch, all the way down and back, and slide it into the opening to the left.
Continue to feed in the switch cable until you can grab it from the underside of the part. Then, taking care to keep it from twisting, continue to feed all the cable through until just a relaxed bend around the top-side corner remains.
I usually have to simultaneously pull and feed to get the cable to slide through without jamming.
The design idea behind not letting the cable twist is that the moving part should make a rolling bend like a flat flex cable. I don't know how important that is really. I find it easier to start flat and keep it from twisting than to untwist it, because where it passes through the middle piece that part of the cable is out of sight and hard to manipulate. All assuming flat side-by-side cable construction.
At this point I find it helpful to wrap the cable back up around to the top side again and tape it in place keep it flat
To secure the top end of the moving part of the cable, insert a tie through the space next to the top side opening. The tie should be directed around a tight bend and come straight back up.
Give the two ends a pull together to make sure the tie went around under the switch cable. The zip the tie into place and tighten it just enough to keep the cable from slipping when pulled moderately.
install Y motor
The Y motor fits in the big rectangle on the bottom side of the middle part. It should have clearance along the sides but fit tightly end-to-end. It will likely deform the small wall at the motor end a little but take care to avoid breaking that.
Spin the leadscrew and backlash adjuster to move the motor's slider to the motor end of the screw and move the backlash adjuster to the opposite end, as in the pics below.
Insert two ties for the motor through the middle part and also through the motor frame underneath the two fixed rods before completing the loop back to the tie heads.
(clearly I hadn't taped the switch wire back yet -- apparently it was behaving well)
Rotate the motor into place while drawing up the ties hand tight. Then check that the motor fits flat and tight into place at both ends while tightening the ties up hard. Also add the tie behind the motor to capture the motor wiring for strain relief.
pre-set Y lower rod
Insert two zip ties through the bottom part.
At the end between the switch and bearing, draw the tie down to a loop that is not too small nor too big but just right. An easy way to do that is to lay a rod diagonally across the top surface of the part and draw the tie down over that.
Close the tie around the other end, and pull that one firmly hand tight. You want it tight enough so that you can handle that part without dropping the rod out. Leave both tie tales.
(The part uploaded here actually looks more like:
)
pre-set Y upper rods
Insert four zip ties through the middle part.
(...now I have the X limit switch cable taped up)
Set the not-so-tight ties at the motor end by pulling them down over a rod laid diagonally across the surface of the part.
Pull the ties at the other end firmly hand tight, enough so that the rods don't fall out. The heads of ties on the left are slightly recessed, so you may need to use a tie tool to pull that one tight enough.
That's all the parts for the Y axis. This is a good place for a break if you need before getting into the next sequence.
heads up
You have no springs installed. You believe there are no springs in the following photos. RIght?
Y axis assembly
On the lead screw, check that the slider is against the motor (just in contact, not jammed) and the backlash adjuster wheel is at the opposite end against the bushing (just in contact, not jacking the screw of its bearing).
Pull the three rods half-way out.
Lay the two parts side by side as shown below. Bring the X switch cable (if installed) across and start the connector through the angled hole in the bottom part
This is easier to do than to describe: While folding the bottom over the middle like a book page, feed the switch cable through the bottom part -- which really means the switch cable doesn't move much while the bottom moves around it.
When the bottom part is "folded" over onto the middle, slide the bottom (which is on top) to the left. It should meet a hard stop where the bearings hit the end of their clearances.
Line up the end of a rod with its corresponding bearing and, carefully, work it through the bearing.
Beware: the rod and bearing aren't really aligned at this point and the end of the rod can do bad things like strip out bearing balls. Go slowly and carefully until the rod end clears through the bearing. Nice chamfer helps but I don't know how much is safe enough to not care.
After the rod is through the bearing, work the end into its V-block and under the now-buried tie that is not tight. You may have to lift a little, and not squeeze the two parts tight together, to get the end into the V. Then hold it down to get it under the tie. Make sure the rod end goes all the way to the hard stop. Leave the loose tie loose for now to allow a little float for fitting the remaining rods.
The rod in the photo is a little long: it is all the way in while also overhanging the visible end a bit.
Again with the remaining rods: carefully through the bearings...
... then fully into the V-blocks, under the loose ties, and all the way to the hard end of their clearance.
With the slide fully extended as shown, pull any slack out of the switch cable then let it relax and give back just a little slack. Hold the cable with a fingertip or some tape right where it comes through the bottom part.
Now you should be able to run the slide freely from end to end. It should stop sharply at both ends with hard contact. There should be visible separation between the drive tab and the lead screw slider at the hard limit of extension, and between the tab and backlash adjuster when hard closed.
Close up the slide to its hard limit, then push it hard against that limit to force the bearings to the limit of tolerance in their positions. You may feel one or more of them shift.
When the bearings are set against the surfaces that you checked and dressed way back at the beginning, the slide should overshoot "zero" closed alignment by about 1 mm.
From this point you want to avoid hard contact at the opposite limit, which will knock the bearings out of place. If you do hit the opposite stop, just repeat pressing hard against the closed stop. Hard contact at the limits will be easier to avoid after the slide gets coupled to the lead screw.
Check if you can hear the snap action in the limit switch (if installed). If not, use a meter to monitor continuity and verify that the switch works (which would be prudent even if you can hear it but that's not the point at this point).
Carefully find where the switch just snaps over open or closed. If the overshoot shown above is close to 1 mm, then the switch should toggle (mechanically close, electrically open) when the overshoot is about 2/3 mm, or just before hard contact. Carefully reversing back from that position, the switch should revert when the overlap is about 1/3 mm, or when about 1/3 mm back from where it toggled.
The main thing is that the switch (if installed) must toggle before contact with the hard limit. Secondary to that, it is meant to toggle between "just" and about 0.5 mm before hard contact because I like a short limit pull-off distance because the axes are short. If it toggles closer to 1 mm before hard contact, that's uncomfortably close to the switch body being the hard stop. So the main main thing was that the switch body wasn't ever the hard stop in the first place because if it was then it wasn't anymore after pressing to set the bearings.
For easier handling, secure the slide closed with a piece of tape across the two parts on the side parallel with the axis. Also wrapping the limit switch wire around to the top side and taping it there will help keep it flat from twisting.
Check that all three rods are pressed all the way to the hard end of their clearance, and fully tighten the six zip ties.
Use the short tool for this tie because the long tool leaves only the thin end to grab.
Yay. That was a bunch of tie-winding.
dress the X limit switch cable
(if installed)
Flip the Y assembly over. Pass the switch cable under the bar at the end of the opening as shown:
For convenience you may want some tape to hold the cable.
Note the slide will probably not run freely because it will probably push the cable up here approaching mid-travel, where it will jam instead of pulling back down. That's ok. It won't happen when the stack is attached to something else.
Fully extend the slide. You may have to hold the cable or help it feed back down while moving through mid-travel.
Insert a zip tie through the position exposed by fully extending the slide, turn it back up and through again, capturing the switch cable.
While holding the slide at full extension, re-adjust the position of the cable as before: pull out slack, then let it relax and take back a little slack. Tape over the opening to hold the cable in the position it will take when the unit is attached to another surface. Verify that the slide will rest against the end limit with no spring-back from the cable. Adjust if needed. Pull the tie tight enough to keep the cable from sliding without cutting the insulation.
Cut the tail off flush to let the slide move.
Repeating the process as with the Y switch cable, zip tie the connector housing in place against the ridge behind it, pull slack out of the cable and lay it into the serpentine path, and lead the rest of the cable around the pegs as needed to use up slack.
A nicer piece of tape over the cable opening will keep the slide easy to handle as a unit by itself and, in my experience, isn't too thick to leave in place when mounting the axes for use.
When it's all buttoned up and right-side-up, make sure the slide runs end-to-end and there is no spring-back at either end.
preview
While we're here: a preview of how the rest of this deck-level cable & connector dress will work when we get to it. That's the "wireguide" part on the left. This also shows design detail committed to the 300 mm x 0.1" cable type for the motors (when I started I think that was the only type available). If you have 200 mm motor wiring (do four loosely parallel wires count as a cable?) and you want to fit your motor wiring into this scheme, a short extension with a "DuPont"-like housing will fit where the white connector is but will probably need some filler under it to keep it in line with the constrained mating connector.
Either an option specifically for 200 mm x 2 mm motor wiring or a committed switch to that type might happen.
X axis
The X/top axis goes together pretty much the same way, but simpler because switch wiring is all done. In this part I'll list all the relevant headings from the Y axis, and insert some things that differ. Hopefully that will help track when to check back here while reading there.
like Y axis but...
install bearings
Maybe you already did.
The ties for the lower bearings enter from the sides like this.
install [X] motor
These two ties would have been easier to insert before I put the motor in. But I didn't do that. So I don't know whether or not that would have interfered with installing the motor. I think not but ?.
Secure the motor wires like this.
I've wrapped tape strips around the wires to protect the insulation where ties will land on them. That might be a good idea for the limit switch cables. However it may be hard to mark where the tape should go in some cases like the upper tie for the X cable.
pre-set [X] lower rod
Extend the Y axis for access to the zip tie locations. If they're hard to insert, it may help to bend some backward curl into the ends of the ties.
pre-set [X] upper rods
When inserting the tie under the arch brace, you may get it to follow the arch over and turn back down through the top part by itself. More often I find it helps to break that into two steps: first send the tie through out the inboard side of the arch, then turn the end down to send it back through again. It seems easier to get the loop back under the arch before fitting a rod but not impossible to do with a rod in place.[X] axis assembly
Pretty much same as the Y axis.
done with that part
Yay!
Now you have two unconstrained axes.From the laser-cut slide context, here are some comments about checking
and
off-axis stiffness (which directly follows the first but here's a label for clarity)
Th text includes some stuff specific to the laser-cut context so you'll have to filter that. The part about testing under load is a little complicated because you have a stack of two axes which makes it harder to support and load just one axis.
The "off-axis" discussion has less context-specific noise.
springs exist again
note: once the springs are in they are vulnerable until adjusted at least pretty close to right. I've made a mid-stream change here to delay installing the springs which I think helps to avoid complexity earlier in assembly, which means I've only tried installing springs after assembly once and didn't take pictures.
install Y spring
I suggest starting with Y because it's easier to see.
It's a little tricky to get the spring in with the screw in place, but doable. I don't have a repeatable method yet. Here's some points:
- there is a hazard of damaging the screw thread while crashing around it with tools. I'll suggest protecting it with e.g. a bit of tape.as well as just trying to not abuse it
- I made a 'recovery tool' from another paperclip by bending a small hook in the end - that helps to pull the spring back out after an unsuccessful attempt to install it
- I used fine needle nose pliers to hold the 90º bend at the end of the moving arm so that I could twist the end as well as move it around, then while holding by that corner put the spring in place with the moving arm lifted up into the wider clearance opening while torquing the perpendicular end down so that the end of the wire at least landed on the drive tab if not actually through the slot. once on the face of the tab it was easy enough to push it toward and into the slot
set initial Y backlash
This is just to get into the ballpark, not to fret minimizing backlash. This protects the spring by getting interacting parts into a "safe" configuration.
To begin with, the backlash adjustment is essentially set to backlash=range of motion. But it doesn't really count as an "adjuster" until it's adjusted down to much less lash.
You should be able to "roll" the leadscrew with your thumb. If the screw does not turn easily, a likely reason is that the backlash adjuster wheel is jammed against the frame at the non-motor end of the screw. Turn the adjuster toward the motor end until there is visible separation between the adjuster and the frame at the not-motor end of the screw.
Roll the screw to move the slider away from the motor a few cm. Expose enough screw between the motor and slider so that you can roll the screw from there.
Roll the adjuster wheel toward the motor to close up the space between the adjuster and the slider.
When the adjuster meets the drive tab, it will run into the side of the locking spring. Take care to avoid force on this contact which can bend the spring.
Put a bit of tape over the screw near the adjuster (suggested) and use a small screwdriver or such to compress the moving arm of the spring so that it clears the adjuster. Also keep the tool out of contact with the adjuster. As shown below, the small screwdriver compresses the spring while also avoiding contact with the adjuster.
Now you should be able to roll the screw, which will move the slider, without the adjuster moving on the screw. Roll the screw to move the slider up tight to the adjuster wheel, pinching the slide drive tab between. Release the spring.
(probably not that close to the motor)
If you have brought the slider and adjuster close enough together to keep the spring from slipping off the adjuster wheel, then the spring is protected from being bent. If there is enough slack to allow the spring to slip off the screw, then repeat compressing the spring to move the slider without moving the adjuster to close up the gap.
If you can also roll the leadscrew freely so that the slide moves, then you're done with this.
If the screw is jammed, then the adjuster is too tight. Using a small screwdriver or anything that can get traction on the edge of the adjuster wheel, turn it several notches ccw to liberally open up the adjustment to allow free motion.
However slowly, you should be able to move the Y axis by rolling the leadscrew. If you have a motor driver set up already, you should be able to operate the full range of the axis -- a little more than 75 mm -- and read the limit switch.
You might want to close up the slide for convenient handling -- although it is some inconvenience to do so without power.
set initial X backlash
Set an initial backlash adjustment for the X axis in the same way.
For the X axis, you will have to work closer to the not-motor end in order to keep enough screw exposed to be able to roll it manually.
Assembled!
That pretty much completes mechanical assembly of the X-Y stage.
If you have electronics ready, you should be able to operate the axes. The range of motion should be a smidge over 75 mm -- enough to safely use 75 mm.
If you installed limit switches, you should be able to read them. The homing cycle homes the Z axis first, so homing (and therefor soft limits) requires a built Z axis (or crafty application of a screwdriver between the Z limit input and adjacent ground).
Also, you'll need power to close up the last finger-width of the X axis.
electronics and Grbl config
TODO expand this -- and probably move it all to somewhere else.
info for Z axis included here for now
drivers
- motor current: ~300mA for X & Y (note for later: ~100mA for Z) -- check actual sense R value
- microsteps (currently running XY=8 & Z=2)
grbl
- timeout ($1=255 for none - because Z)
- motor step direction $3 if not solved in wiring
- steps/mm $10x = (40 x microsteps for XY) (~80 x microsteps for Z but measure (and consider reciprocal))
- max speed $11x (e.g. 1500 mm/s XY, 1000 mm/sec Z conservatively)
- accel $12x (e.g. 75 mm/s^2 XY, 50 mm/s^2 Z conservatively
grbl w/limit switches (optional)
- after Z axis working too (or practice faking /break/make/break/make timing for Z limit)
- $5=1 if switches wired NC (recommended by grbl wiki because switches usu fail open)
- max travel $13x= 75mm XY, ~50mm (check) Z
- homing locate feed ($24=50 e.g.)
- homing seek feed ($25=max -- ok to crash hard at limits)
- homing switch pull-off ($27=1 (mm) should work)
- homing enable ($22=1) & direction ($23=3 probably)
- soft limits enable ($20=1)
dress motor wiring
If managing the motor wiring, which moves, isn't a problem in your application, then you may have no need for fancy cable dressing. I wanted the wiring in close, snagless, tied down, disconnectable, and not using deck space around the back-left corner. The limit switch cables (if installed) are already internal. This part describes dressing the motor wiring.
The X motor will need an extension. The middle part has features specifically for securing that connection to the 300 mm x 0.1" type of motor wires. 200 mm wires connecting to a longer extension can follow the same path with improvised tie-down details.
If you have 200 mm x 2 mm motor wires, and haven't printed parts already, ping me for STLs with different features that might, or at least are intended to, work better for the 200 mm wires.
For 300 mm cables, make up an extension from 35 cm length of wire for a finished length around 33.5 cm between connector housings.
Note: as of 2023/2024 it appears that maybe all motors ship with 200mmx2mm (PH) wires & connector regardless of "type" description, so future revisions may assume that as default.
For 200 mm motor wires, you'll need a longer extension but I don't know how much longer. And a different connector on the motor end.
I've wrapped small bits of tape around the motor wires where they are held by zip ties to protect the wires. It seems like a good thing.
Anyhow... getting started:
Tie the X motor wire at the corner of the middle part so that it makes a relaxed 180º bend from horizontal at the upper level to horizontal at the middle level. It should look like this with the axis closed:
And the same bend upside down when the axis is fully extended:
Run the wires down the side of the middle part with enough tension to pull out slack, and wrap where they pass the zip tie cutout on that side.Uh, I didn't take a picture of this detail for attaching the connector.
Or a closeup of the connector...
The connector has a pair of "blade"-ish projections on one side. They fit in the highlighted depressions.
While holding the connector in that position, draw the wires toward the motor from there and wrap again where they pass the zip tie point.
Insert a tie (easiest to go in the bottom & out the top -- not super clear in the pic) and loop the wires to capture the two wrapped points.
Connect the X motor extension and secure both the motor wire connector and the extension with a tie. Ties fits in at the top and out the bottom.
Insert another tie at the corner (in at top out at bottom) and capture both the X extension and the Y motor wires so that they come out the tie together along the side of the middle part.
Fully extend the Y axis for access to the corner of the bottom part. Tape the "wireguide" part into position relative to the bottom part. Or, if you've already screwed down the axes, then go ahead and screw down the wireguide too.Run both motor cables under the parallel part of the wire guide and adjust so that they lay together and make a relaxed 180º bend from the middle part to the surface. Tape the wires together right at the edge of the wire guide to mark that position.
Free the wire guide and tape it to the motor wires in the same position that you just marked.
Bend the wires 90º and tape them into the perpendicular part of the wire guide.
Now lay the wires into the channel across the bottom of the bottom part with the wire guide in position and tape the wires in place there. Turn the wires up the channel.
The zip tie arrangement for the Y motor connector (the differently shaped cavity nearest the wire entry) is a little more obscure than others. It starts like this:
And closes up like this:
Anchor the connectors and dress the wires the same way as for the limit switches. The Y motor connector fits in the first space and a 4p DuPont-type connector the the X motor extension fits in the second space.
For convenient handling, a neatly placed piece of tape holds the wires in the channel. In this pic, I left a little extra tail on the Y connector zip tie which also helps to keep the wires up in the channel. Just opportunistic; not necessary.
Now you can screw down the bottom part of the X+Y stack and the wireguide. I've attached them to a intermediate deck that attaches to my machine frame, in part because I keep changing the mounting screw pattern and put lots of holes in the previous frame. You maybe won't have that problem.Again with Y axis closed up.
Installed and connected in the frame that is the other aspect of this project. Easy in & out without disturbing the wires lead up from below, and empty space that might turn into another frame shrink (or not considering other priorities for this project in finite time).
backlash tuning
Tighten until jammed, then back off 1 notch at a time until it moves. Might prefer another notch looser for less drag. Should be able to get unloaded lash under 0.025 mm / 0.001" without disabling drag.
disassembly
one axis at a time.
Before splitting the X axis, clip ties securing the X motor cable to the middle part of the axes and unplug the motor cable from its extension.
Before splitting the Y axis, cut the X axis limit switch connector loose and disengage the cable from the serpentine & peg field.
While splitting the Y axis, cut the tie securing the X axis limit switch cable in the bottom part and pull the cable out from the bottom part to separate the halves.
To split an axis: using something thin enough to fit between the two parts, push the interior rod ends outward until either they're pushed out from under the interior zip ties, or there is enough exposed rod out the other side to grip and pull.
Unless you are sure that you will not want to re-assemble the axis, pull rods out far enough to clear bearings without pulling them entirely free of the remaining tie. There is more margin if you can extend the slide and less margin if you are splitting a closed-up slide.
If you are sure that you will not want to re-assemble the axis, pull the rods out completely.
Separate the slide halves.
reassembly
run the sliders to the motor ends of the screws and backlash adjusters to the other ends.
cut and replace the interior rod end ties and pre-set them as above.
assemble as above.
to split and reassemble the X axis only, extend the Y axis for access to the lower X interior rod end tie.
to split and reassemble the Y axis only, extend the X axis for access to the interior end tie for the motor-side upper rod via hole through the top part (in theory; unproven)
-
Parts to get started
09/17/2023 at 02:45 • 0 comments[update 30 Sep 2024: clarify limit switches optional]
Thinking about making one of these things for yourself?
To get started with starting to get the getting started started to push out sufficient information to inform doing that...
...here's a rough rundown of parts to collect for the CNC mechanics. At this point I've iterated the XY stage design more than the Z axis so I can be a little more specific about that.
̶ ̶I̶'̶m̶ ̶w̶r̶i̶t̶i̶n̶g̶ ̶ I wrote about slicing and printing the printed parts separately. And the assembly process (forward-looking statement ahead...) as a richly illustrated and procedurally detailed Instructable -- which I expect will be not nearly as intricate as for the laser-cut version.
At this point, the scope of this info here includes the CNC mechanics (X+Y & Z axes), which will work in a very simple frame. Writing up stuff to stuff into the more fancy integrated desktop enclosure to follow.
Stuff
- PLA
- 250g for XY table
- haven't weighed Z axis or (optional) fancy enclosure accessories
- bearings
- 10 x LM6UU
- 6 for X+Y; 4 for Z axis
- generic "brands" appear to be all the same inconsistent quality; buy more and select
- MSM bearings appear to be a clear step up from generics for not so much more coin
- (2 x 8 pcs cost <$1 more than 3 x 4 pcs at 16 Sep 2023 pricing)
- "real" parts cost real money, like USD20 each
- rods
- 6mm "linear motion shaft" (typically ground, hardened, and plated carbon steel)
- 6 x 120 mm for X+Y stage
- buy pre-cut to length e.g. here (2x 4pcs shipped to US for $13.62 -- 16 Sep 2023)
- or buy/find longer, e.g. 2 x 400 mm. and cut to length
- tbd 2 x 165-200ish mm for Z
- XY Motor+leadscrew
- two; one each for X & Y axes
- nameless generic product, often including "80mm stroke" in description
- searching "stepper 80mm stroke -nema" seems effective: google, duckduckgo
- with white plastic slider not bra$$ $lider and linear bearings
- there are two plastic slider types; don't care
- there appear to be two wire types
- 300 mm wires with 2.54 mm pitch connector
- 200 mm wires with 2.0 mm pitch connector
- the v0.9.0 STLs have details that favor the 300 mm/2.54 mm wires/connector
- some sellers like this one show drawings of two types A & B
- but I've received a "type A" unit with type B wires/connector, so might have to ask if care
- printed backlash adjuster ("bladj" STL) to be installed like this (different details; same procedure)
- M3 tap
- for printed backlash adjusters ("bladj" STL) for X & Y motors
- paperclips
- aka backlash adjuster locking springs
- two
- or other springy bendable wire ~0.8 mm diameter
- Z motor(s)
- ye olde 28BYJ-48
- 5V
- one motor
- works
- but I'm running mine too hot for a PLA pulley (using PETG)
- possibly could reduce drive current enough for PLA but I haven't tried
- two motors
- cheap insurance against some free-fall failure modes
- more likely able to run cool enough to use PLA for pulleys
- zip ties
- 4in, 18lbs
- how does the rest of the world specify cable tie sizes?
- tie straps ~2.5mm wide, ~1mm thick, at least 100mm long
- stronger 4in ties exist but I think the straps will be too wide/thick
- square heads (no gussets between head and strap)
- many
- current count: 36
- get more for trial fits, waste, dis/reassembly, etc.
- 4in, 18lbs
- printed zip tie tools
- tool STLs to print
- "tietoolshort" -- short tool for short tie strap tails
- "tietooldeep" -- long tool for deeply recessed tie heads
- many of the tie heads are recessed below surrounding surface
- need a way to hold down tie heads while pulling tie straps tight
- my current practice is ... not refined
- better ideas welcome!
- cable tie tensioning tools exist but
- I don't have one
- all that I've seen pictures of assume free clearance around the tie head
- tool STLs to print
- limit switches (optional)
- limit switches enable homing and soft limits[*] which are convenience features and not required to build a useful machine
- [* assuming grbl controller - others probably similar]
- three (XYZ)
- search "KFC-V-307" or "Camera A15"
- example
- 6 x small screws
- I have some scavenged 1.6 mm x 4.8 mm x 0.5 mm pitch
- pitch is more coarse than coarse M1.6 and I haven't found a source for any similar
- 1.6 mm is just a hair big for a mild interference fit, which is fine, but suggests 1.5 mm would be more "correct"
- #0-40 x 3/16 in. thread-forming screws for plastic look like a good fit and are widely available from many vendors -- in lots of 10,000
- McMaster-Carr lists #0-42 x 3/16 in more accessible quantities, but still kinda spendy with shipping.
- #0 diameter is 0.060 in. which is 1.5 mm
- found a source? please say so.
- I have some scavenged 1.6 mm x 4.8 mm x 0.5 mm pitch
- wire e.g. 24AWG speaker wire, heatshrink, etc.
- X: 25 cm (10-ε in.) between switch body and connector housing
- Y: 13 cm (5+ε in.) between switch body and connector housing
- Z: tbd
- cables made to length because cable management designed into the XY stage assumes:
- wires routed internally to 2p "DuPont" connectors in the stage base
- 2p extension wires to the controller
- so the interconnect can disconnect at both ends -- for sanity in dense packaging
- gender reveal?
- I'm currently using female connectors on the switches because the Protoneer-designed CNC shield uses male headers and using connectors that could connect to the controller seemed like the thing to do -- plus M-F extensions where needed
- but might change to male pins on the switch side to avoid waving bare input pins (or motor power pins) around when unplugged -- then F-F interconnect required but nothing lost with connectors fixed in the mechanics that physically couldn't connect to the controller anyhow
- but the F 0.1in connector on 300 mm motor leads will still be F
- which is maybe another reason to design for the 200 mm / 2 mm leads instead
- and inline M connectors for the 2mm JST-PH F connectors exist (unofficially? i.e. appear to be not a JST product)
- and here's two PH-connected motors for <$17 (16 Sep 2023 pricing)
- mumble foo
- which is maybe another reason to design for the 200 mm / 2 mm leads instead
- but the F 0.1in connector on 300 mm motor leads will still be F
- limit switches enable homing and soft limits[*] which are convenience features and not required to build a useful machine
- electronics
- if you don't already know/have what you want to use:
- ~USD10 complete kits of (clones of) Arduino UNO + Protoneer CNC shield + Pololu A4988 stepper drivers exist
- example (whoa: $2-$5 "welcome deal"s for new AliExpress users; dunno if that's real or not)
- not DRV8825 for this low-current application
- but STSPIN220 drivers would rock for this low-current application... I think... maybe
- four motor drivers if you think you might want two Z motors
- i.e. not a Nano/v4 kit for three drivers only
- note all 0.1" male header pin connections, so plan for corresponding "DuPont"-type connectors
- wiring
- if you use a Protoneer-type CNC shield and get "type A"-wired motors then connections will be all M & F "DuPont" type wire terminations, which might be a welcome simplification, but...
- If you're aren't ready to make up "DuPont"-type terminations, then maybe get a bunch of M-F pre-crimped 30 cm & 50 cm wires like this and 4p & 2p housings, but...
- It looks like at least some sellers now (2023/2024) ship "type A" motors with "tybe B" wiring without comment or updating the type-A drawing or photographs
- "Type-B" motors (and now at least some if not all new type-A) use JST PH connectors with 2.0 mm pin pitch; JST designed PH for wire-to-board connections but someone has decided the world needs a mating inline connector should you want to keep and use the PH connector
- soldering wires to chunks of 40p header strip looks cheap and easy, but I haven't found a way that isn't fragile.
- PLA
-
STLs 4 XY & slicing
09/12/2023 at 14:35 • 4 commentsAt this time, this log page describes printable parts for the XY stage. Z axis and other accessory stuff to follow Real Soon Now. STLs today; I intend to share the CAD later after a think about how much clean-up it will get.
My 3d printing experience is narrow. PrusaSlicer 2.5.2 defaults for Ender 3 Pro w/0.4 mm nozzle define my normal for whatever I don't mention below.
<update>added PrusaSlicer version 2.5.2 because I just tried 2.6.1. While it looks smarter about bridging over infill under top layers and wall thickening, 2.6 apparently just generally fails at bridges over voids - has since alpha. Bummer.</update>
Briefly:
General
- if PrusaSlicer, then 2.5.2 not 2.6.n -- at least not until bridging gets fixed
- download minamil3dp-XY-STLs-v0.9.1.zip from Files section
- filenames: "minamil3dp-{part}-v0.9.[01].stl"
- Classic perimeter generator
- 0.2 mm layer height
- 0.45 mm shell thickness
- default changed from 0.45 to 0.44 mm at some point; I deferred thinking and changed it back to 0.45
- one perimeter
- fill gaps off
- detect thin walls off
- 10% gyroid infill
- check slicer output for sane bridging angles where crossing over voids
- PrusaSlicer sometimes fails sanity
- bridge from solid to solid -- no turns in free space
- bridge across long narrow voids -- not lengthwise
- fix fails e.g. by setting "bridging angle" in a heightrange modifier
- assuming I've successfully modeled bridgeable details...
- other hardware
- These STLs reflect conservative changes, presumably improvements, since the last versions that I've actually in fact printed for myself as of writing this.
Big parts
- XYbottom - "General" parameters
- XYmiddle - "General parameters
- XYtop - "General parameters, and:
- slice/print upside down
- optional to make stiffer:
- break into parts (not objects)
- inner part set perimeters=11 (whatever gets the slicer's attention) to generate internal structure
- I haven't assessed the practical benefit beyond making the part qualitatively less bendy
Small parts
- XYwireguide
- two perimeters
- XYtietoolshort, XYtietooldeep
- two tools; print one of each
- slice/print big end down
- fill gaps on
- 100% rectilinear infill
- XYbladj
- print two parts
- slice/print flat side flat
- Arachne perimeter generator
- 9 perimeters (big number = all perimeters)
- tap for M3 thread
Less Briefly:
Single perimeter
10% fill
Instead of printing lots of plastic to make parts strong, I started out printing as light as possible to expose weakness in hope of making parts stronger by design first before resorting to pouring in more plastic. So far, I'm still printing light. I think that's a feature. Mainly because printing less prints faster.
I'm using a 0.4 mm nozzle, 0.45 mm extrusion width, 0.2 mm layer thickness, 4 solid top & bottom layers, gyroid infill, and PrusaSlicer. I haven't messed with any of that so I don't know that they are "best" choices, only that they're working well enough to let other stuff draw more attention.
I'm using 10% infill because 5% was too sparse to support bridge areas under internal features -- and/or the slicer wasn't extending internal bridging areas far enough to span large gaps in 5% infill. I wish the slicer was smarter about bridging to something in the layer below instead of just spanning an arbitrary offset around the feature to be supported above. Or building an infill edge around the area it wants to bridge. PS is open source, but that's a rabbit hole I'd rather fall into. There are other slicers[a] and I haven't tried any adaptive infill.
PS adds material to thicken non-vertical shells. I get that, but in the interest of printing lighter to see where parts are weak (he says but really means printing faster) I would like to but have not discovered how to dial that back some. Not alone (ooh... "turn it off using Modifiers" in 2nd link).
In the image below:
- red marks a ~vertical cavity with a simple perimeter
- green marks a moderately sloped cavity with some added solid infill, which adds material (and time)
- yellow marks full 4-layer top surface under each rising step, which adds a lot of material (and time) -- I get that you have to do something under the non-overlapping perimeters but maybe not all of this
- magenta marks a patch of 4-layer top surface under the flat part -- not complaining about that
All that infill around slopey walls adds up to a significant fraction of the total material and time in the part. I expect that most of it wouldn't be missed if it went away. Refs linked above suggest this is specifically a PrusaSlicer thing. How many parts would I have to print to recoup time spent shopping slicers to avoid this?
[a] What about Kiri:Moto? I use K:M for CAM and very much appreciate the author's gift of effort to produce that. When I got my 3d printer I printed cubes with default slicer profiles in Kiri:Moto FDM and PrusaSlicer and the latter was the better. And I wanted to print stuff more than I wanted to learn slicer tuning. As a K:M CAM fanboi, I feel a little dissonant about ghosting K:M FDM for no good reason. I'll likely revisit that at some point.
Thin walls + specific reinforcement
The bottom doesn't have to be super stiff because it gets screwed down to something else that is, presumably, more stiff. The thicker middle part is a fairly stiff box structure by itself. The top part not so much. A robust spoil board well attached would stiffen that, but I haven't tried that yet. The "arch" part that projects down into the "middle" space (near corner in this pic) does a lot to help brace a hinge-like stripe of thinness that runs across the top there -- while keeping up the theme of strength from shape instead of density. If I'd thought of that first, I maybe wouldn't have bothered to try a few iterations of adding an internal shape to persuade the slicer to generate specific internal structural reinforcement instead of generally more perimeters or denser infill. But it's there so if you convince the slicer that it's a distinct part with a perimeter, which also implies another perimeter around it in the main part, you'll get some internal reinforcement stringers.
To the slicer, that's two adjacent objects and their perimeters don't overlap. The reinforcing shape is two overlaps thinner than a two-perimeter wall. With "thin wall detection" off, the slicer lays down two perimeters in there anyhow so the volume/density/adhesion of plastic in that space should be the same as in a four-perimeter wall. In theory.
Bridging
Lots of bridging. Over internal voids, mostly for zip ties and cable routing, and over all of the upside down features on the bottom of the middle part.
There are lots "upside down" features. The whole bottom surface of the middle piece is upside down and lots of internal features have upper surfaces. I can't use support in internal features or under surfaces that should be clean and "precise" (relatively for vanilla FDM). So, generally, I've tried to design for printing with no supports. That's been something of a learning curve. Fortunately, the parts that most need to be "precise" are V blocks to locate round things and upside down Vs are easy. In theory. Actually getting clean results has entailed lots of learning lots of ways to not succeed. And, initially, quite a lot of time sitting and staring at the printing printer to see what it was actually doing inside parts.
Slicing bridges
PrusaSlicer, at least, sometimes gets a bridge rwong. I don't know why. It seems quite arbitrary when it happens. A bad bridge might fix itself after seemingly unrelated changes. ?. So I've grown a habit of stepping up the layers in preview to look at every patch of bridge fill over empty space. Fortunately, the preview shows bridges in a contrasting color, which helps with flipping through a bunch of layers until a contrast patch catches the eye. About half-ish of those are bridge areas under voids as the first layer of a patch of "top layer" solid fill (or the actual top) -- a quick flip back confirms whether a bridge area spans open or filled space i.e. above or below a void.
Modeling for bridging...
...and clean corners whether upside down or right side up. In other words, clean details.
I started with some minimal parts just to see if the V-block and zip-tie idea would work at all, and work when printed upside down. It seemed possible in principle because Vs -- 45º slopes and short bridges -- should be easy to print upside down. In principle...
Solving that is how I got into using the Classic perimeter engine instead of Arachne, turning off gap filling, and modeling details around shell thickness, layer height, and overlap math in order to make geometry that would slice predictably where details get close to the dimensions of an extruded line of plastic. Also growing a better feel for geometry that doesn't work upside down and modeling details that are possible to bridge cleanly.
I've probably over-specified a lot of geometry just because I haven't tried to work out which details actually matter.
Alternatively, maybe I (you?) could learn more about what Arachne does and how to model Arachne-safe details, which would probably be more dimensionally flexible.